NAS 设置前置代理后,DDNS 的 IP 会变成代理服务器的 IP 地址,之前参考
NAS 小技巧:一个设置让 NAS 的 DDNS 服务更准确 将 edge.api.myqnapcloud.com
放入直连列表中后,DDNS 一直很稳定。最近 QTS 更新之后发现 VPN 无法连接,DDNS 又指向了代理服务器的 IP。经过抓包后发现,原来是因为获取 NAS IP
的接口地址已经变成了 edge.myqnapcloud.io
。
使用 Live CD 安装其他发行版
之前安装 Linux 都是将 ISO 镜像烧写至 U 盘里,然后通过 U 盘进行安装。这样安装更换系统或者升级版本之后都要重新制作启动 U 盘,现在 U 盘容量都很大,每次只能供一个系统安装镜像使用空间都浪费了。而且每次换镜像都要清除掉 U 盘上所有内容,也很不方便。最近一直在用 Kali everything 版本的 Live Boot ,工具很全,还能持久化。这次又需要给新硬盘安装系统,想到之前机器本身就是 Ubuntu 的时候,可以直接在 Grub 中添加安装菜单项,就能安装硬盘上的 ISO 文件,完全不需要 U 盘,那通过 Live CD 启动到 Grub 菜单,直接去安装硬盘或者 U 盘上的镜像不就可以一个 U 盘安装多个系统了。经过尝试,发现这种方式完全可行,而且非常灵活。
什么情况下应该使用 Java 的内部类
内部类实际是嵌套类的一种,指非静态嵌套类,另一种是静态嵌套类。最近想用一用,但是在使用了内部类之后 IDEA 总是提示可以改成静态嵌套类,非常好奇这两种类到底应该分别在什么场景下使用。参考了官方文档、 Nested Classes in Java 和一些问答,总结了一套暂时能说服自己判断。
MyBatis 处理 PostgreSQL 数组
上回书说到,我们把数据库存储数组的字符串转为了原生数组 bigint[]
类型,SQL
写起来是方便了,在 Java 代码里查询插入都会报错,要怎么使用呢?这里使用的是 MyBatis,所以就要扩展 MyBatis 的
typeHandler 了,具体内容如下,原理我也不清楚,因为都是
Copilot 帮我写的😁
PostgreSQL 将字符串类型的列转为数组
在学习 PostgreSQL 的时候,对于数组类型,之前是直接用了 varchar(2550) 来存储,想将其转换成 bigint[],期间遇见了 DDL 语句处理已存在的数据无法使用 SELECT 和转换过程中遇见不符合规范的数据会报错之类的一些问题,这里是一些问题解决的方案,和更改类型前后的对比。
仅修改字段类型的语句
如果只是修改字段类型的话很简单,使用普通的 DDL 就行。参考 ALTER TABLE
1 | ALTER TABLE <table> |