$ cat posts/*.md
-
调内核:/proc/sys、sysctl、cgroup 把小机器调出大性能
2026-07-06Linux 系列第 23 篇。"我这台 1G 机器并发上不去"——很多时候不是机器小,是默认内核参数太保守。这一篇拆 sysctl 怎么改、最常用的 10 个网络 / 内存 / fs 参数、cgroup v2 怎么限制单进程资源、最后给一份生产服务器的内核参数模板。
-
日志去哪了:journalctl / syslog / logrotate 一次说清
2026-07-05Linux 系列第 22 篇。"应用挂了——日志在哪?"——这个问题答案随系统版本和应用类型变化巨大。本篇拆开三条主线:systemd journal、传统 syslog、应用自己的日志文件,并给出 logrotate 配置防止磁盘被日志撑爆(这是雪崩第二大杀手)。
-
机器在干什么:top / vmstat / iostat / strace 的实战分工
2026-07-04Linux 系列第 21 篇。"服务器卡了"——你想 5 分钟内定位是 CPU / 内存 / 磁盘 / 网络 / 还是某个进程的锅。本篇按"4 个资源维度"拆开常用 10 个观测工具,给一份"USE 方法"清单,让你从慌乱排查变成系统化判断。
-
SSH 不只是登录:tunnel / agent / 跳板机 / config 模板
2026-07-03Linux 系列第 20 篇。SSH 不仅是"远程登录"——它能转发端口(本地 / 远程 / 动态 SOCKS)、托管密钥、跳板穿透多层内网、批量 push 文件。这一篇把这些高级用法拆开,最后给一份 `~/.ssh/config` 让你 5 倍效率地管理几十台机器。
-
Linux 防火墙全栈:iptables / nftables / ufw / firewalld 几层
2026-07-02Linux 系列第 19 篇。新手第一次看到 `iptables -nvL` 输出几百行就懵——而且还有 nftables / ufw / firewalld / Docker 加的规则一锅端。这一篇拆 netfilter 的核心 5 个钩子点、iptables → nftables 的迁移现状、ufw 和 firewalld 各自适用谁、Docker 怎么搅动这一锅。
-
现代 Linux 网络工具集:ip / ss / dig / curl / nc
2026-07-01Linux 系列第 18 篇。`ifconfig` / `netstat` / `route` / `nslookup` 这套上世纪的工具今天还能用,但已经被 `ip` / `ss` / `dig` 替代。这一篇拆 5 件现代工具的常用语法,并给一份"网络出问题怎么 5 分钟排查到根因"的清单。
-
systemd 全攻略:systemctl / journalctl / .service 文件
2026-06-30Linux 系列第 17 篇。开机自启服务、看日志、定时任务、依赖管理——这些以前要拼接 init 脚本 + crontab + rsyslog 的活,现代 Linux 都让 systemd 一个工具搞定。这一篇拆 systemctl 怎么用、写一个 .service 文件、看 journalctl、配 timer。
-
信号机制:Ctrl+C 按下去机器内部发生了什么
2026-06-29Linux 系列第 16 篇。信号(signal)是 Unix 进程间最古老的通信手段——内核能在不打扰进程"主线程"的情况下捅它一下,让它去做点别的。这一篇拆 SIGTERM / SIGKILL / SIGHUP / SIGCHLD 这些常见信号的用途、进程怎么 catch、为什么 SIGKILL 不能拦截、信号编号和发行版的关系。
-
进程怎么来的:fork / exec / wait 这套古老组合
2026-06-28Linux 系列第 15 篇。Unix 创造了一个特别"反直觉"的设计——新进程的产生分两步:先把自己复制一份(fork),再让副本变成想跑的程序(exec)。理解这一对古老 syscall,你才懂为什么 shell 是那样工作的、为什么 zombie 进程会出现、为什么容器 PID namespace 是这么设计的。
-
打包、压缩、同步:tar / gzip / zstd / rsync 实战
2026-06-27Linux 系列第 14 篇。备份、迁移、传文件——日常运维高频动作。这一篇把 tar 的常见 4 个 flag、gzip / zstd / xz 三大压缩格式的选择、rsync 增量同步的"为什么这么快"讲清楚,并给一份"30 秒搞定 1TB 数据从 A 机到 B 机"的模板。
-
挂载与文件系统:ext4 / btrfs / xfs / tmpfs 怎么挑、mount 在干啥
2026-06-26Linux 系列第 13 篇。"块设备—文件系统—挂载点"是 Linux 存储的三件套。理解 mount 命令背后是怎么把一堆字节变成你能 ls 的目录、/etc/fstab 怎么写、ext4 / btrfs / xfs / tmpfs 各自的甜点场景,你就能在任何机器上"加一块盘"或"找出哪块盘满了"。
-
硬链接、软链接、inode:为什么 rm 不一定释放磁盘
2026-06-25Linux 系列第 12 篇。"文件"在 Linux 里其实是两部分——存储数据的 inode,和指向 inode 的名字。理解了这一点,你就懂为什么硬链接的"两份"实际只占一份磁盘、为什么删进程在用的大文件磁盘不释放、为什么 ext4 偶尔"明明有空间但写不了"。
-
权限三段式:rwx / chmod / chown / suid 终极指南
2026-06-24Linux 系列第 11 篇。`-rw-r--r--`、`chmod 755`、`chown root:root`、setuid 这些权限相关的语法新手最容易死记硬背。这一篇把权限模型从底层拆开——为什么是三段、那 9 个 bit 怎么算成数字、suid/sgid/sticky 的用处、ACL 是什么——讲完你看到 `ls -l` 任何输出都能秒读。
-
把 shell 调成你的样子:.bashrc / .zshrc / PATH / alias / 函数
2026-06-23Linux 系列第 10 篇。同样是终端,老司机的 shell 看起来"懂他"——按 Tab 就补完路径、敲 `g` 就是 `git`、错命令有提示。这一篇拆开 shell 启动加载的文件链、PATH 是什么、怎么用 alias 和函数把你常用操作调成肌肉记忆。
-
进程管理:ps / top / kill / jobs / nohup 全套基本动作
2026-06-22Linux 系列第 9 篇。进程是 Linux 一切的基本单位——shell、网页、AI 推理、数据库都跑在进程里。这一篇拆"看进程、杀进程、把进程放后台、让进程脱离终端继续跑"四组日常动作,并把 SIGKILL / SIGTERM 这种信号术语彻底讲清。
-
重定向全解:>、>>、2>&1、<、<<<、|、tee
2026-06-21Linux 系列第 8 篇。stdout、stderr、stdin 这三个 file descriptor 是 shell 的"输入输出基础设施",但新手常被一堆符号绕晕——`> file`、`2>&1`、`&>`、`<<<` 到底各自什么含义。这一篇把它们拆开讲清楚,并给出最常碰到的 6 个组合写法。
-
文本流水线:cut / awk / sed / sort / uniq 全家桶
2026-06-20Linux 系列第 7 篇。日志、CSV、配置、API 输出——你处理的文本数据 95% 都是"按行 + 按列"组织的。掌握 cut / awk / sed / sort / uniq 这 5 个工具的组合,让你不用打开 Excel 也不用写脚本,一行命令解决统计、清洗、转换的活。
-
找东西的 5 件武器:find / fd / grep / rg / locate
2026-06-19Linux 系列第 6 篇。"我记得有个文件 / 这串字符在某个项目里出现过"——日常你要花一半时间在 Linux 上做的就是"找"。这篇拆 5 件主流武器:按名找(find / fd / locate)、按内容找(grep / rg),各自什么场景最快、参数怎么记。
-
5 分钟逛遍 Linux 根目录:每个文件夹在干什么
2026-06-18Linux 系列第 5 篇。新手登上一台 Linux 第一个困惑就是——`ls /` 看到 20 多个奇怪文件夹,名字全是缩写。这篇按 FHS 标准(Filesystem Hierarchy Standard)把每个目录的职责说清楚,并告诉你装一个新软件,它的文件会撒到哪几个地方。
-
Shell 不是编程语言,是一种"粘合剂
2026-06-17Linux 系列第 4 篇。新手最大的误会是把 shell 当成 Python 用,写完发现笨拙又难调试,然后认定"shell 难用"。其实 shell 的强项不在写算法,而在用一个字符 `|` 把一堆小工具串起来——这是 Unix 半个世纪沉淀下来最反直觉但最强大的设计。
-
一切皆文件:Linux 最经典的一句口号到底说了什么
2026-06-16Linux 系列第 3 篇。Unix/Linux 从第一天起就坚持一条哲学——"一切皆文件"。它把硬盘、键盘、网卡、声卡、进程信息、内核参数全部包装成"可以 read/write 的文件",让你只需要学一套接口就能操纵整台机器。本篇拆开这条哲学到底意味着什么、能让你解锁哪些操作。
-
内核与用户态:你的 `ls` 怎么走到硬盘上的
2026-06-15Linux 系列第 2 篇。操作系统不是"一坨"代码,而是分两层——内核(kernel)住 CPU 特权环 0,用户程序住环 3,中间靠 syscall 通信。理解这一刀划在哪,你后面所有的"权限""保护""容器""调优"都会变得直观。
-
自建大模型推理服务:PD 分离 / FP4 绑卡 / 合成压测,四个反直觉的坑
2026-06-14不是 Linux 系列。这半年我从「能把模型加载起来出字」起步,去回答一个朴素的问题:自建算力跑大模型推理对外服务,技术上行不行、经济上划不划算。下面是四个和直觉完全相反、每个都让我重写一遍认知的坑。技术细节已脱敏,只留可公开的机制。
-
为什么世界 95% 的服务器都是 Linux
2026-06-14Linux 系列第 1 篇。先不教命令——先想清楚一件事:你的 Mac / 手机 / 服务器 / 路由器背后那个一直没存在感的"操作系统",怎么就赢了所有竞争对手,统治了几乎整个互联网。理解 Linux 为什么是 Linux,比死记命令重要 10 倍。
-
开源生态与闭源前沿:2026 的牌面对比
2026-06-13AI 系列第 23 篇(终篇)。Llama / Qwen / DeepSeek vs. Anthropic / OpenAI / Google——开源派和闭源派今天的差距有多大?谁在哪个维度领先?这一篇做一次 birds-eye 对比,并展望 2026 后 12 个月最值得关注的几件事。
-
推理模型与 RL 的回归:o1 / R1 之后路通向哪
2026-06-12AI 系列第 22 篇。2024 年 o1 出现,标志着大模型从"快速反应"走向"慢思考"。2025 年 DeepSeek R1 开源了同等级的推理能力,让全行业震动。这一篇讲 reasoning model 是怎么训的、RL 为什么在 LLM 时代"回来了"、以及 test-time compute scaling 的新范式。
-
世界模型 & 视频生成:Sora / Genie / V-JEPA 在赌什么
2026-06-11AI 系列第 21 篇。Sora 看似在"画视频",背后真正的野心是建立 world model(世界模型)——一个能"理解物理"的 AI。这一篇讲 LeCun 的 V-JEPA、Sora 的扩散路线、DeepMind Genie 的生成式游戏世界,以及"世界模型"这个概念为什么是下一个十年的 AI 主战场。
-
多模态:图、音、视频是怎么挤进 token 空间的
2026-06-10AI 系列第 20 篇。LLM 只懂 token。怎么让它看图、听声、理解视频?答案是把所有模态都"翻译"进同一个 token 空间。这一篇讲 CLIP、Flamingo、GPT-4V、Whisper、Sora 是怎么把多种模态打通的,以及 2025-2026 年"原生多模态"为什么是新主流。
-
本地化部署:从 llama.cpp 到 vLLM,自己跑个推理服务
2026-06-09AI 系列第 19 篇。闭源 API 贵、有限制、需要联网。这一篇讲怎么在自己机器上跑 LLM——从 MacBook 跑 7B / 70B 模型的 llama.cpp,到生产服务器的 vLLM / SGLang / TGI,再到量化(GPTQ / AWQ / GGUF)让 70B 跑进 48GB 显存。
-
对齐与安全:有用、无害、诚实的工程化
2026-06-08AI 系列第 18 篇。"对齐"听起来很哲学,但它其实是一个工程问题——怎么让 LLM 在能力范围内做有用的事、拒绝有害的事、不撒谎。这一篇讲 HHH 原则、Constitutional AI、jailbreak 攻防、以及 2026 年 AI 安全的真实焦虑点。
-
Evals:怎么知道模型"真的变好了"而不是看起来变好了
2026-06-07AI 系列第 17 篇。"GPT-5 比 GPT-4 强"——你怎么验证?AI 工程里最被低估的一块是 evals(评估)。这一篇讲清楚 LLM benchmark 的局限、为什么 leaderboard 越来越没用、以及生产级 evals 应该怎么做。
-
MCP & Agent SDK:今天构建 agent 的事实标准
2026-06-06AI 系列第 16 篇。2024 年底 Anthropic 发布 MCP(Model Context Protocol),2025 年 Agent SDK 陆续出现。这一篇讲清楚 MCP 是什么、为什么有人喊它"AI 时代的 HTTP"、以及它和 OpenAI Function Calling 怎么共存。
-
Agent:从一次响应到一段"自主行动
2026-06-05AI 系列第 15 篇。tool use 让 LLM 能调一次工具。agent 让它能**自主规划 + 多步执行 + 自我纠正**。这一篇拆 ReAct、Plan-and-Execute、Tree of Thoughts、Reflexion 几个主流范式,并解释 2025-2026 年"agent"这个词为什么被严重滥用。
-
Tool Use / Function Calling:模型怎么学会"打电话给真实世界
2026-06-04AI 系列第 14 篇。RAG 让模型能查资料,tool use 让模型能**做事**——查天气、订机票、跑 SQL、发邮件。这一篇讲 function calling 的协议层、训练层、和工程层,并解释为什么 2024 之后 tool use 是从"玩具"变成"基础设施"的拐点。
-
RAG:给模型外挂一个"知识硬盘
2026-06-03AI 系列第 13 篇。LLM 的训练数据有截止日期,也装不下你公司 10 万份内部文档。RAG 是给它外挂"知识硬盘"的标准方案。这一篇讲清楚 RAG 的完整流水线、向量搜索的真实局限、以及为什么"hybrid + rerank"才是生产级 RAG 的标配。
-
Prompt Engineering 的本质:你不是在写咒语,你是在压缩上下文
2026-06-02AI 系列第 12 篇。"prompt engineering"听起来像玄学,但本质是一件非常工程的事——**给定有限的 token 预算,怎么塞进最高信息密度的上下文**。这一篇讲 prompt 是什么、不是什么,并给出几个真正有效的模板与反模式。
-
推理时优化:temperature、top-p、CoT、structured output
2026-06-01AI 系列第 11 篇。模型训完了,调用时还有一堆"旋钮"——temperature、top-p、思维链、structured output、reasoning effort。这一篇把这些参数怎么影响输出讲清楚,并对比 reasoning model (o1/Claude thinking) 和普通模型在用法上的本质区别。
-
Tokenizer 与 Context Window:模型眼里的世界
2026-05-31AI 系列第 10 篇。LLM 不读字符,它读 token。一篇文章在它眼里不是字符流,而是 token 流。这一篇讲 BPE 算法是怎么把文字切成 token 的、为什么 LLM 数不清 strawberry 的 r、以及 context window 从 2K 卷到 1M 的工程惊悚故事。
-
训练管线全景:pretrain → SFT → RLHF / DPO 每一步在塞什么
2026-05-30AI 系列第 9 篇。ChatGPT 不是一次训出来的。它要经过预训练 → 监督微调 → 奖励建模 → 强化学习四个阶段,每一阶段塞进去的"灵魂"完全不同。这一篇把完整管线拆开讲,最后聊聊 2024 之后 DPO 怎么把 RLHF 给简化掉了。
-
Scaling Laws & 涌现:为什么"大力出奇迹"真的成立
2026-05-29AI 系列第 8 篇。2020 OpenAI 的 Kaplan 团队和 2022 DeepMind 的 Chinchilla 论文揭示了一件不可思议的事:模型性能可以**用幂律预测**。这一篇讲清楚 scaling laws 是什么、为什么"涌现"现象让大家觉得 AI 突然变聪明、以及为什么 2024 之后这条曲线开始走平。
-
GPT 家族进化论:从 117M 到万亿参数都变了什么
2026-05-28AI 系列第 7 篇。GPT-1 / 2 / 3 / 3.5 / 4 / 4o / 4.5 一路看下来,你会发现一个反直觉的真相——架构几乎没变,**变的只是规模、数据、和一些工程小动作**。这一篇把每一代的关键变化拆开讲。
-
词向量小史:从 one-hot 到 embedding
2026-05-27AI 系列第 6 篇。机器只懂数字,怎么把"咖啡店"这三个字变成一个能算的向量?这一篇走完词向量 70 年——从 1957 的 one-hot,到 2013 那个让"国王 − 男人 + 女人 ≈ 女王"成立的 word2vec,再到今天 LLM 内部的 1.2 万维 embedding 空间。
-
从 RNN 到 Transformer:让机器读懂顺序
2026-05-26AI 系列第 5 篇。把"让机器理解一句话"的 31 年讲完——1986 年的 RNN、1997 年的 LSTM、2014 年的 seq2seq + attention,再到 2017 年那篇 8 页论文 *Attention is All You Need* 怎么把 RNN 一脚踢出主流。重点不是数学,是直觉:attention 到底是什么意思,它凭什么赢。
-
从感知机到 CNN:让机器看见
2026-05-25AI 系列第 4 篇。把"机器视觉" 70 年的故事讲完——从 1958 Rosenblatt 的感知机、1980 福岛邦彦那篇被冷落的 Neocognitron、1998 LeCun 的 LeNet 上美国邮局,到 2012 AlexNet 那场把 SVM 派踩进土里的 ImageNet 之战。最后回答:今天 ViT 打败 CNN 了吗?
-
神经网络是怎么"学"的:梯度下降与反向传播
2026-05-24AI 系列第 3 篇。把 1986 年那篇被冷落了 25 年的反向传播论文讲清楚。用"在高维大山上摸黑下山"的比喻,从损失函数 → 梯度 → 梯度下降 → 反向传播一路推到底,最后回答:"为什么同一篇论文 1986 没人用、2012 改变了世界?
-
三大流派世仇:符号主义、联结主义、统计学习
2026-05-23AI 系列第 2 篇。把 AI 圈三十年的派系斗争捋一遍——符号主义、联结主义、统计学习各自起源、各自高光、各自寒冬,再看为什么今天的 LLM 是"联结主义打地基 + 统计学习当骨架 + 一点点符号主义假装在推理"的杂交怪物。
-
AI 是什么?又是从哪冒出来的?
2026-05-22AI 系列第 1 篇。用一条 80 年的时间线,把"AI"这两个字从 1943 年的神经元模型,一路串到今天能跟你聊天的大模型——顺便把几个常被混淆的术语(AI / ML / DL / LLM)一次性厘清。
-
Harness Coding:与其调教模型,不如设计模型的工作环境
2026-05-21过去半年我换了三次 AI coding agent,从 Cursor 到 Claude Code 再到自己拼的;编排器。结论很反直觉——**真正影响产出质量的从来不是换更强的模型,而是模型;周围那一层我一开始压根没意识到存在的东西;这层东西有个名字:**Harness**
-
把某招聘网站"喂熟"了,我用了一台树莓派
2026-05-19HR 同事每天要在招聘网站做几小时重复点击:开候选人聊天 → 几步交互 → 下文件 → 切下一个。给她写了一台跑在树莓派上的"喂熟"机器人,常驻 24h,半天扫一遍变成喝杯咖啡的工夫。讲讲怎么把脚本从 mac 搬到树莓派、怎么处理反爬、以及踩过的几个坑。
-
16GB Mac 同时开 3 个 Cursor 拯救我的 mac
2026-05-0616GB MBA 同时跟三个项目、三个 Cursor 窗口,写着写着就卡到鼠标抖。记录我把内存压回去的几个改动:关闭哪些扩展、调哪些 setting、什么时候该走"一个项目一个 workspace",以及最后通过哪几条规则给自己定了"Cursor 用量上限"。
-
你需要的App内h5的调试方法
2019-09-05在工作中经常会遇到在原生app中嵌套h5,但是在某些需要在app里面调试的内容,却没有像chrome开发者工具这样的工具来帮助我们快速的定位问题,经过最近项目的开发,让我对app内h5开发有了些新的认识
-
小哪吒的风火轮来啦!!!(记 · Loading 组件)
2019-08-05一套小而美、纯 CSS + 无状态 React 的 Loading 组件集,可以直接抄进任何项目。文章解释每个动画的实现思路(关键帧、will-change、变形原点的选择),顺便聊一下什么时候用骨架屏、什么时候用旋转 loading 比较合适。
-
TradingView——最专业的走势图表,收下吧,也许你会用到
2019-07-09在交易所做 K 线图的过程中横评了一票图表库:基于 canvas 的 ECharts、基于 svg 的 Highcharts、专业方向的 TradingView,到底各自适合什么场景。包括 TradingView 接入要踩的几个坑、自定义 indicator 的边界、以及性能上的实测数字。
-
适合初学者的koa2+mongodb初体验
2019-06-27一个老前端第一次写 node 服务的全过程记录。koa2 的洋葱中间件怎么理解、mongodb 的基本 CRUD 怎么写、再到把它们串成一个最小可用的 API。文末附 demo 仓库,跟着 README 跑一遍就能上手。
-
记 · 滚动条滚动到指定位置(锚点)的不同实现方式
2019-05-08滚动到锚点这个老需求,其实有好几种写法:传统 <a name> 锚记、location.hash、scrollIntoView、window.scrollTo({behavior:'smooth'})、以及自己手写的缓动函数。挨个比较优劣,给出"什么场景用哪个"的速查表。