序言

2022年3月15日,争议非常大但同时也备受期待的泛型终于伴随着Go1.18发布了。

可是因为Go对泛型的支持时间跨度太大,有非常多的以“泛型”为关键字的文章都是在介绍Go1.18之前的旧泛型提案或者设计,而很多设计最终在Go1.18中被废弃或发生了更改。并且很多介绍Go1.18泛型的文章(包括官方的)都过于简单,并没对Go的泛型做完整的介绍,也没让大家意识到这次Go引入泛型给语言增加了[……]

阅读全文

环境要求

系统版本

Debian 11 或者 Ubuntu LTS,本次编译使用的是 Ubuntu20 LTS

网络要求

最好是境外主机或者能够访问国际网络,大陆网络环境编译失败率较高

编译依赖
sudo apt update
sudo apt install build-essential clang flex bison g++ gawk \
gcc-multilib g++-mu[......]

阅读全文

OpenWRT 的安装过程本质上来说就是将 OpenWRT 系统镜像写入软路由的硬盘里。这里使用 Finnix 系统来将 OpenWRT 安装进 X86-64 的设备中,要使用到的一些设备:

  • 安装了 Finnix 系统的 U 盘 1 个。
  • 网线 2 根。
  • 1 个能插网线上网的环境。
  • 显示器 1 台。
  • HDMI 线 1 根(取决于软路由提供的视频输出接口)。
  • PC 1 台。

这里假设软路由设[……]

阅读全文

目标:解决大量Log写入占用大量的File Cache,内容利用不充分导致swap

基本原则:尽量使用内存,减少swap,同时,尽早flush到外存,早点释放内存给写cache使用。—特别在持续的写入操作中,此优化非常有效。

调优措施:

vm.swapiness :60 改成 10

vm.dirty_ratio:90 改成 10

vm.dirty_background_ratio:6[……]

阅读全文

简单介绍 openwrt x86 平台各个版本的区别

1. ext4-combined-efi.img.gz

  • 使用可读写的ext4分区,没有squashfs的只读文件系统
  • 根分区可以使用更大的驱动器(e.g. SSD/SATA/mSATA/SATA DOM/NVMe/etc)进行扩展
  • 没有故障安全模式和出厂重置等功能,这些功能需要squashfs的支持
  • 自带引导分区和根分区以及主引导记录 ([……]

    阅读全文

WSL Ubuntu是默认无法使用标准的命令来开启sshd开机自启动的,使用标准的ubuntu命令,会报如下错误:

sudo systemctl start sshd
System has not been booted with systemd as init system (PID 1). Can't operate.

编辑wsl ubuntu的wsl.conf文件,如果不存在则创建一个[……]

阅读全文

介绍

根据自己的实际需求,在mybatis-generator-core基础上作了小小的功能改进。

增加了对Lombok插件的支持(generatorConfig.xml)

取消了生成的实体类中属性的get/set方法,增加了Lombok插件的@Data注解;

<!-- 增加对Lombok插件的支持   -->
<plugin type="org.mybatis.gene[......]

阅读全文