Featured image of post 为什么切换分支一定要 git stash?Git Worktree 是什么?Git Worktree 与 Git Branch 有什么差别?如何用 Git Worktree 打造高效多线程开发流程?告别频繁切换与冲突!

为什么切换分支一定要 git stash?Git Worktree 是什么?Git Worktree 与 Git Branch 有什么差别?如何用 Git Worktree 打造高效多线程开发流程?告别频繁切换与冲突!

正在开发新功能却遇到紧急 Bug?别再用 git stash 藏代码了!介绍 Git Worktree 的核心概念、与 Git Branch 的差异、实战目录规划及 AI Agent 协作的最佳实践。

Featured image of post 删除 .zshrc 的环境变量为什么还是生效?为什么重新执行 source ~/.zshrc 无法清除旧的环境变量?为什么重开终端窗口环境变量依旧还在?IDE 内置终端与 Terminal 软件该如何彻底清除环境变量?

删除 .zshrc 的环境变量为什么还是生效?为什么重新执行 source ~/.zshrc 无法清除旧的环境变量?为什么重开终端窗口环境变量依旧还在?IDE 内置终端与 Terminal 软件该如何彻底清除环境变量?

当你从 .zshrc 删除环境变量却依然生效时,往往是内存残留或父进程继承作祟。本文介绍如何通过 unset 命令、重开 IDE 或 terminal 软件,以及检查 launchctl 来彻底清除顽固环境变量。

Featured image of post Manifest、Report、Finding 差在哪?软件架构中的数据层级名词是什么意思?为什么 API 设计要这样分层?Metadata、Artifact 与 Payload 又有什么不同!

Manifest、Report、Finding 差在哪?软件架构中的数据层级名词是什么意思?为什么 API 设计要这样分层?Metadata、Artifact 与 Payload 又有什么不同!

了解 Manifest、Report、Finding 与 Evidence 在软件架构与 API 设计中的阶层关系。透过健检比喻掌握数据层级的分层设计优势,并深入区分 Metadata、Artifact 与 Payload 的实际应用情境。

Featured image of post JSONL 格式是什么?JSONL 与 JSON 和 CSV 有什么不同?AI 模型微调为什么非用 JSONL 不可!

JSONL 格式是什么?JSONL 与 JSON 和 CSV 有什么不同?AI 模型微调为什么非用 JSONL 不可!

JSONL(JSON Lines)是一种一行一个 JSON 对象的数据格式。解析 JSONL 与传统 JSON、CSV 的核心差异,探讨其在 AI 模型微调与大数据流式处理的极速优势,并说明开发者必知的 5 大严格规范与防御性读取技巧。

Featured image of post 从 Vibe Coding 到「AI Agent 工程」的生存指南是什么?人类工程师不可被外包的「AI Agent 工程」与「理解」终极价值是什么!我们真正该投资的,是我们对「底层原理的理解力」 和「产品的品味」。

从 Vibe Coding 到「AI Agent 工程」的生存指南是什么?人类工程师不可被外包的「AI Agent 工程」与「理解」终极价值是什么!我们真正该投资的,是我们对「底层原理的理解力」 和「产品的品味」。

AI 大神 Andrej Karpathy 揭秘软件开发进入软件 3.0 时代。从氛围编码(Vibe Coding)走向代理工程(Agentic Engineering)的转移,人类工程师在思考外包时代不可替代的理解与品味价值。

Featured image of post 别被 SQLite 的随性骗了!动态类型陷阱是什么?为什么 ALTER TABLE 是半残的?如何在 Node.js 中做好防御性编程实现无痛数据表升级?

别被 SQLite 的随性骗了!动态类型陷阱是什么?为什么 ALTER TABLE 是半残的?如何在 Node.js 中做好防御性编程实现无痛数据表升级?

SQLite 采用动态弱类型系统,字符串塞进 INTEGER 字段竟然不会报错。了解 SQLite 的类型亲和性陷阱、缺乏原生 Boolean 与 Date 类型的影响,以及 ALTER TABLE 的限制与「重建搬移四步曲」的安全升级策略,搭配 TypeScript、Zod、Prisma 等工具建立防御性编程架构。

Featured image of post 不要什么都用 PostgreSQL!SQLite 的嵌入式架构与零配置优势是什么?SQLite 的极限在哪?什么时候该选 SQLite、什么时候该选 PostgreSQL?

不要什么都用 PostgreSQL!SQLite 的嵌入式架构与零配置优势是什么?SQLite 的极限在哪?什么时候该选 SQLite、什么时候该选 PostgreSQL?

SQLite 是世界上部署最广泛的嵌入式数据库引擎,单一文件、零配置、免安装服务器。了解 SQLite 与 PostgreSQL 的核心架构差异、各自适用情境、SQLite 的极限(并发写入锁定、无法跨服务器、缺乏权限管理)。

Featured image of post 商业软件该怎么选开源组件?从 MIT、BSD 到 Apache 2.0 的授权避险与架构指南

商业软件该怎么选开源组件?从 MIT、BSD 到 Apache 2.0 的授权避险与架构指南

开发商业软件时,如何选择开源授权?本文深入分析 MIT、BSD、Apache 2.0 与 GPL 的差异,特别是专利保护的重要性,并提供架构师级别的防御策略(如适配器模式),助你避开开源地雷。

Featured image of post 不同软件授权 MIT、ISC、Apache、GPL 到底差在哪?Vibe Coding 开发软件的防踩雷指南

不同软件授权 MIT、ISC、Apache、GPL 到底差在哪?Vibe Coding 开发软件的防踩雷指南

每次都在犹豫要选哪个开源授权吗?这篇防踩雷指南用最白话的方式,带你了解 MIT、ISC、Apache 2.0 到具传染性的 GPL、LGPL、AGPL 到底差在哪,以及如何避免授权冲突。