Coming soon

Share
Coming soon

This is Zack's Tech, a brand new site by 樊泽豪 that's just getting started. Things will be up and running here shortly, but you can subscribe in the meantime if you'd like to stay up to date and receive emails when new content is published!

Read more

【避坑指南】从 TinyDB 文件损坏,聊聊文件截断与磁盘刷盘的底层原理

【避坑指南】从 TinyDB 文件损坏,聊聊文件截断与磁盘刷盘的底层原理

在 Python 轻量级开发中,TinyDB 因其“零部署、文件即数据库、支持对象化查询”的特性,成为了存储配置信息、多租户元数据的神器。 但在高频写入或异常崩溃的场景下,你是否遇到过这样的诡异现象:导出的 JSON 文件末尾莫名其妙多出了几个 NULNUL(\x00)空字节,导致整个数据库报 JSON 无法解析的错误? 本文将带你还原这个经典的“文件空洞”Bug,并分享如何通过自定义存储类 MyJSONStorage 彻底解决它。 一、 现象还原:消失的尾巴与诡异的 NUL 在默认情况下,TinyDB 的 JSONStorage 是这样写入文件的: 1. seek(0) 指针回到文件开头。 2. write(json_data) 写入序列化后的 JSON 字符串。 3. truncate(

By 樊泽豪
搭建K3s集群

搭建K3s集群

K8s环境部署 简介 搭建 K3s + Rancher + Longhorn + MetalLB环境 K3s K3s是一款轻量级Kubernetes发行版,其核心优势在于: * 极致轻量:单个二进制文件不到100MB,仅需512MB内存即可运行,启动和资源消耗远低于标准集群。 * 功能齐全:通过CNCF认证,100%兼容标准Kubernetes API,并内置了常用组件,开箱即用。 * 灵活的数据存储:可以使用外部数据库(mariadb)替代etcd,降低初始资源。 Rancher Rancher是一个开源容器管理平台,核心能力包括: * 统一纳管:可集中管理任意K8s集群(包括K3s/RKE2、云厂商托管集群及已有集群)。 * 降低门槛:提供直观图形界面及开箱即用的CI/CD、监控、服务网格等工具链。 * 安全合规:支持AD/LDAP对接及精细化RBAC,实现跨集群统一安全策略。 Longhorn Longhorn 是一款专为 Kubernetes 设计的轻量级、可靠且易用的分布式块存储系统,它通过容器和微服务将现有存储资源转化为持久卷,

By 樊泽豪
Docker常用操作

Docker常用操作

安装 Windows安装Docker到F盘(非系统盘) Start-Process -FilePath 'Docker_Desktop_Installer.exe' -Wait -ArgumentList "install --installation-dir=F:\DockerDesktop" 改变容器、镜像文件位置 以管理员权限启动Docker Desktop,Settings-Resources-Disk iamge location 配置dockerhub国内源 阿里云:容器镜像服务 (aliyun.com) 其他源 more /etc/docker/daemon.json 输入以下文件: { "registry-mirrors": [ "https://kk8u6omk.mirror.aliyuncs.com", "https:

By 樊泽豪
如何在 Ghost 博客中添加类似 Word 的左侧固定目录(纯干货)

如何在 Ghost 博客中添加类似 Word 的左侧固定目录(纯干货)

当我们在 Ghost 博客中撰写长文时,一个类似 Word 导航窗格的目录能极大提升读者的阅读体验。本文将分享如何通过 Code Injection(代码注入) 快速实现一个完全静止、不随点击乱跳、长标题自动换行的优雅左侧悬浮目录。 实现效果 * 完全固定: 目录稳居文章左侧,只有正文跟随鼠标滚动。 * 绝对静止: 修复了常见插件点击目录项时,目录自身会产生二次跳动的痛点。 * 清晰完整: 长标题自动换行显示,绝不裁剪文字。 * 移动端友好: 在手机或平板等小屏幕上自动隐藏,防止遮挡正文。 部署步骤 无需修改任何主题源文件,只需登录 Ghost 后台,进入 Settings -> Code Injection(代码注入),将以下两段代码全选覆盖粘贴即可。 1. 注入到 【Site Header】 在 Site Header 框中复制并完全粘贴以下代码(包含 Tocbot 官方样式与自定义微调

By 樊泽豪