
pixel手机开启VoLTE和5G
1. root root不赘述了,只要手机支持开启OEM。剩下的步骤很容易,先解锁bootloader,刷工厂包,再用magisk修改root权限。 2. 开启VoLTE VoLTE是让电话语音能够基于LTE网络,否则默认是2G网络。 方法就是修改文件:/data/user_de/0/com.and

配置sing-box对接shadowsocks服务
1. 目标 客户端采用sing-box 服务器端采用shadowsocks 客户端采用tun模式 自动识别中国域名和IP 2. sing-box安装 官方网站:https://sing-box.sagernet.org/ android版可以通过F-Droid或者APKCombo获取 <

NiceXWPFDocument与XWPFDocument混用导致NullPointerException
1. 问题现象 为了操作office文档,程序中使用了poi工具库。为了实现某些特殊需求(如文档合并),又引入了poi-tl库。poi-tl库是对poi的增强,起初认为它们不应该有什么冲突,所以程序中有的地方直接使用poi的XWPFDocument,有的地方使用了poi-tl的NiceXWPFDoc

程序设计原则
1. 面向对象的设计模式有七大基本原则 开闭原则(Open Closed Principle,OCP) 单一职责原则(Single Responsibility Principle, SRP) 里氏代换原则(Liskov Substitution Principle,LSP) 依赖倒置原则(Depe

麒麟版微信迁移到Ubuntu或Debian
1. 麒麟版微信下载地址 https://archive2.kylinos.cn/DEB/KYLIN_DEB/pool/all/ 下面以1.0.0.241_amd64版为例。 2. 解包 # 提取程序文件 dpkg -X wechat-beta_1.0.0.241_amd64.deb extract

为openEuler添加wireguard模块
1. 问题 Linux内核从5.6版开始内嵌了wireguard模块,但是openEuler却从内核中删除了wireguard。 wireguard官方提供了通过源码编译安装wireguard模块的方法,但是只针对5.6版之前的Linux内核,因此在openEuler系统上通过wireguard官方

基于Kubernetes环境的minIO热备方案
1. 应用场景 该方案针对单节点minIO服务,如果已经部署了集群,已经实现了高可用和多副本,那么不需要该方案。 2. 方案原理 核心原理就是利用minIO客户端mc mirror命令把主节点的数据同步到备份节点。 大概有下面几个步骤: 2.1. 准备存储目录 在备份服务器上创建一个文件目录,用于存

采用Wireguard连接k8s集群内网
1. 背景 Kubernetes虚拟集群的私有网络在开发客户端无法直接访问。 其它方案,如sshuttle方案,存在缺点: 效率较低。 windows下需要借助wsl才能使用,安装复杂且进一步拉低效率。 Wireguard是一个非常简洁的建立vpn隧道的软件 本文尝试采用wireguard连接开发终

新版Maven阻断http资源库问题
1. 现象 当maven资源库采用http协议时,最新版(3.8以上)maven客户端会自动阻断,报错: Blocked mirror for repositories 2. 解决方案 最好的解决方案当然是升级资源库,采用https协议,以保证安全。 如上面的方案没有可行性,可以通过下面的方案解决:

kubernetes中如何重用Released状态的pv
kubectl patch pv xxxx-pv -p '{"spec":{"claimRef": null}}'