Every Programmer Should Know 程序员必知清单
一份面向所有软件开发者的技术知识资源合集,涵盖算法、数据结构、浮点数、Unicode、时区、内存、分布式系统、安全、架构等主题,以精选链接与书单形式组织,不绑定具体技术栈。
过去 7 天收获 1 颗 Star
爱鲜报评分
0.0
0 人评分
开源 · CC-BY-4.0
#计算机科学
#学习资源
#awesome-list
#编程基础
#开发者成长
101k
星数
否
中文
—
主语言
是
活跃
99
贡献者
人工分析
EDITORIAL推荐理由
项目以极高星数证明了它的参考价值:它不教你写某门语言的代码,而是帮你补齐计算机基础与工程常识的短板。内容按主题分类、附有高质量外链和经典书目,适合当作长期查阅的知识地图。对中文开发者而言,部分推荐资源有中文版本,但整体以英文材料为主,需要一定英文阅读能力。
适用场景
- 计算机基础查漏补缺
- 面试前系统复习知识体系
- 团队新人学习路线参考
- 技术选型与架构讨论的背景阅读
- 个人长期学习清单整理
优点
- 主题覆盖面广,从算法到安全、架构一应俱全
- 资源经过筛选,多为经典文章、书籍与课程
- 不绑定语言和框架,任何技术栈的开发者都能用
- 社区活跃、星数高,持续有贡献者补充内容
- 采用 CC-BY-4.0 许可,便于引用与二次整理
缺点
- 以英文资源为主,中文材料占比有限
- 内容高度主观,并非系统化课程,缺少学习路径编排
- 部分外链可能随时间失效或过时
- 只提供索引,不深入讲解具体知识点
上手难度
入门
项目简介
Every Programmer Should Know 是一份由社区维护的技术知识资源合集,目标是把「每个软件开发者都该了解的东西」集中到一处。它不针对某门语言或某个框架,而是围绕计算机基础与工程常识,给出经过筛选的文章、书籍、课程与视频链接。
作者在 README 中明确表示:这是一份高度主观的清单,不保证科学严谨,也不要求你全部背下来——但了解这些内容会让你成为更好的开发者。
内容组织方式
清单按主题分节,每节列出若干推荐资源,并用图标标注资源类型(文章、书籍、视频、课程等)。主要主题包括:
- 入门与路线图:计算机科学地图、CS 学习路线、开发者路线图
- 常见谬误:程序员对字符串、地址、姓名、数字、邮箱、时区等的错误假设
- 算法与数据结构:Big O 速查表、算法可视化、经典教材
- 数字与字符串:浮点数指南、Unicode 与字符集、UTF-8、同形异义字符
- 延迟与时间:延迟数字速查、时区问题
- 内存:程序员的 memory 必读文章
- 分布式系统:DDIA、Lamport 时钟论文、Jepsen 测试等
- 机器学习:Andrew Ng 的入门课程
- 正则表达式:学习资源与练习游戏
- 安全:OWASP Top 10、密码学常识、Web 漏洞实验
- UX / SEO:可用性经典书目、SEO 常识
- 架构:领域指南、CQRS 与事件溯源、演进式架构等
使用建议
这份清单更适合当作「知识地图」而非「教程」:
- 先通读目录,标记自己完全没接触过的主题;
- 每个主题挑 1–2 个短文章或视频快速建立概念;
- 对感兴趣的方向再深入阅读书籍或课程;
- 定期回看,随着工作经验增长会有新的理解。
作者原话大意:你不需要记住全部内容才能成为程序员,但知道这些会帮助你变得更强。
参与贡献
项目采用 CC-BY-4.0 许可,欢迎通过 Issue 和 Pull Request 补充资源。贡献前建议先阅读仓库中的 CONTRIBUTING.md,保持清单的质量与主题一致性。
评论
- 暂无评论,来写第一条吧。