Learning Path

9 篇内容

个人心得知乎 - NGINX洪志道

AI 时代,给自己做一件作品

文章从作者与 NGINX 作者 Igor 的交流切入,强调“实践”是架构与复杂性驾驭能力的主要来源。作者结合参与 NGINX、Unit 及新开源项目 Worker 的经历,主张通过完整做一个工具、网站或服务来训练软件设计能力:从功能组织、数据保存、模块协作到动态配置等都要自行权衡。作者认为 AI 在局部实现上很强,会减少手写锻炼,但也能充当随时可用的反馈者,帮助检查设计复杂性、可修改性和替代方案。最后强调还要走完“最后一公里”,包括安装部署、文档表达、获取用户反馈并据此迭代。适用边界是偏个人学习与工程成长心得,不是具体技术教程或可复现实验。

推荐收录:文章以 Worker、NGINX Unit 等真实项目为证据,把“完整作品”如何训练复杂性驾驭、软件设计与反馈循环讲得具体,并指出 AI 可降低获取专业反馈的门槛。适合希望从局部功能走向独立负责系统的开发者、开源维护者参考;局限是经验性反思,缺少量化验证,需结合自身项目实践。

学习路线TiDB 社区博客 - 实践案例

TIDB考证过错

作者作为分布式数据库从业者,完整记录了通过 TiDB 官方 PCTA、PCTP、PCSD 三级认证的过程与备考策略。他将三个阶段分别类比为 AI 预训练、领域微调和推理增强:PCTA 覆盖集群架构、Region/Raft/TSO、部署与工具;PCTP 聚焦生产管理、备份恢复、迁移和高可用,并以首考 41 分(及格 42)失败后强化故障演练二战通过的经历说明实战的重要性;PCSD 则转向 SQL 开发侧,考察索引、执行计划、事务与在线 DDL 等细节。文章给出了各级别的知识点权重、官方课程和练习方法,对打算系统学习 TiDB 认证的人有路线图式的参考价值。其边界在于内容围绕官方认证展开,考试细节会随版本变化,未对底层原理展开深入讲解。

推荐收录。它提供了完整的 TiDB 认证路线和结合实际故障演练的备考方法,尤其记录了 PCTP 失败后的调整策略,对准备官方认证或学习 TiDB 运维/开发的读者有直接参考价值。虽然内容随版本可能时效受限,但作为入门路线图仍值得借鉴。

个人心得TiDB 社区博客 - 实践案例

从 MySQL 到 TiDB:三大认证考取后的回顾与思考

本文作者是一名数据库运维工程师,在一年多内先后考取 MySQL OCP、TiDB PCTA 和 PCTP 认证,并完整复盘了这段经历。文章先说明考证动机来自业务增长和团队引入 TiDB,随后分别回顾三场备考:MySQL OCP 补全了 MVCC、半同步复制等底层原理;PCTA 帮助建立对 TiDB 计算、存储、调度分离架构的认知,并记录了一次扩容磁盘告警的踩坑;PCTP 则深入分布式执行计划、TiKV 底层和集群调优。作者总结了认证是系统化学习的起点,MySQL 与 TiDB 互补而非替代,分布式数据库对 DBA 能力提出新要求,并强调动手实验的重要性。最后给出夯实 MySQL 基础、以认证为脚手架、多动手、关注社区等建议。文章适合数据库运维人员和计划学习分布式数据库的工程师参考,但属于个人经验分享,深度和通用性有限。

文章以真实考证经历为基础,具体描述了从单机数据库到分布式数据库的学习路径和常见陷阱,对数据库运维人员有直接参考价值。它强调了认证考试作为知识体系化工具的价值,并给出了可执行的实验和学习建议,可迁移到其他数据库技术栈的学习中。主要风险是个人经验成分较多,部分结论需结合实际场景验证。

学习路线Phil Eaton - distsys

What even is distributed systems

文章是 Phil Eaton 对分布式系统入门学习路径的简短总结。作者首先定义分布式系统为进程间交互的研究,强调其相对单进程系统在正确性、可靠性和性能上的新挑战。随后给出具体学习路线:精读《Designing Data Intensive Applications》并建议找同事或社群伙伴共读,同时跟进 MIT 6.824 分布式系统课程及其论文;实践方面推荐 Fly.io 分布式系统挑战,并列出从两阶段提交、三阶段提交到 Paxos、Raft、EPaxos 等由浅入深的实现项目。作者还分享了自己多次阅读 DDIA 的经验,指出无需等待多年经验即可开始学习,并强调掌握这些经典模块有助于避免开发中重复造轮子或实现有缺陷的自造方案。文章定位为入门指引,不涉及具体算法或协议细节,主要面向想系统学习分布式系统的初学者。

推荐收录,因为它为分布式系统初学者提供了具体、可执行的学习路线:经典书籍、公开课程和递进式实践项目组合清晰,并结合作者个人阅读经验与社群共读建议。适合希望建立分布式系统基础知识框架的开发者,可迁移价值在于帮助读者规避盲目学习或过早陷入复杂论文,直接获得经过验证的资源与项目顺序。

学习路线知乎 - NGINX洪志道

04-聊聊各主流编程语言还有软件工程

文章围绕“主流编程语言该怎么选”展开,但核心并不是语言排行榜,而是帮助读者建立对语言、运行时和软件工程之间关系的整体认知。作者用 C、JavaScript、PHP、Python、Go、Java、Rust 等语言为例,解释了编译与解释的直观差异、脚本引擎与宿主程序的关系,以及不同语言分别解决的工程问题和代价。文章最后强调:语言只是入门工具,真正决定长期成长的是对系统运行、架构边界、复杂度控制和性能问题的软件工程能力。

推荐收录,因为它不是单纯的语言推荐帖,而是把语言选择、工作场景、长期成长和软件工程素养放在同一框架里讨论,适合刚入行和正在转方向的读者参考。文章对“工作语言”和“个人成长语言”的区分、以及从语法走向运行时和系统理解的路径,具有较强的迁移价值。

学习路线知乎 - NGINX洪志道

03-应该自学什么

这篇文章讨论的是完成编程入门后的下一步该如何自学,核心建议是先继续巩固数组等基础数据结构,再通过经典书籍建立更长期的代码质量与软件设计意识。作者强调自学在编程中的重要性,并建议优先阅读《重构与模式》《敏捷软件开发》《领域驱动设计》,《深入理解计算机系统》可作为能力提升但非必读的补充。文章的边界也比较明确:它不是系统课程表,而是面向初学者的阶段性选书与学习方向建议。

推荐收录,因为它给出了入门之后很实用的自学顺序和阅读取舍,适合刚接触编程、正在从“会写语句”过渡到“会组织代码”的学习者。文章虽然简短,但对基础巩固、代码重构意识和长期自学心态的建议具有可迁移价值。

学习路线知乎 - NGINX洪志道

01-完全没基础,怎么开始学编程

这篇文章面向完全零基础的人,提出一条“先建立编程感觉、再补语言体系”的入门路径。作者主张用 JavaScript 和浏览器 Console 作为第一门工具,只学习顺序、条件、循环、变量、值与表达式、函数这六个最基础概念,并用“手机电量”这一单一主线把知识点串起来。文章还强调必须通过复制、修改、运行、观察结果的循环来学习,并把“能独立写出类似小程序”作为真正学会的标准。

推荐收录,因为它不是泛泛而谈“如何学编程”,而是给出了面向零基础学习者的具体起点、知识范围和练习方式,具备明确的可执行性。其价值在于帮助初学者避开环境配置、框架和概念堆砌带来的挫败感,适合作为编程启蒙的长期参考。

学习路线知乎 - NGINX洪志道

零基础编程入门

这篇文章是一套面向零基础读者的编程入门课程设计,主张先用 Chrome Console 和 JavaScript 建立“代码会执行”的直觉,再围绕一个手机电量模拟案例,按顺序讲解语句、条件、循环、变量、表达式和函数六个最基础概念。作者特别强调以实践驱动学习:先跑代码、再改参数、再回看结果,并把“能自己写出类似小程序”作为真正学会的标准,而不是停留在概念背诵。

推荐收录,因为它不是泛泛谈“如何学编程”,而是给出了清晰的入门顺序、最小工具链和可执行的练习方法,适合真正从零开始的人建立第一层编程感知。它的可迁移价值在于把“先跑起来、再理解”的方法论抽象得很清楚,对其他语言和初学课程设计也有参考意义。

学习路线matklad

Learning Software Architecture

这篇文章讨论“如何学习软件架构/软件设计”,核心观点是:设计能力主要来自真实项目中的约束、反馈和责任,而不是课堂上抽象的“架构课”。作者结合自己在 IntelliJ Rust、rust-analyzer 等项目中的经历,强调软件架构往往受组织激励、Conway 定律和团队结构影响,很多时候要先适应约束,再寻找局部可控的设计空间。文章还给出了一组可参考的阅读与观察清单,如 Boundaries、How to Test、∅MQ 相关写作、Ted Kaminski 的文章以及 Google 的软件工程书籍,但明确指出没有哪本书能替代实践。

推荐收录,因为它不是泛泛谈“架构很重要”,而是把软件设计学习拆解为可迁移的认知框架:从项目实践中学习、理解激励结构、在约束中做设计取舍。对研究者、初级工程师或正在承担模块设计责任的人,都能提供比教材更贴近真实开发环境的方法论。