charlax/professional-programming

GITHUB中文整理

主语言 Python · 51,662 星 · MIT · 创建于 2015-11-07

学习资源编程进阶系统设计架构书单
打开 GitHub 仓库

这是一个面向软件工程师的精选学习资源合集,收录文章、书籍、视频和演讲等,按部署、设计、系统架构等主题分类整理,供开发者查阅学习。

Stars 51,662 累计 star,越多说明被认可得越广
Watching 992 订阅该仓库变动的人数
Forks 4,033 被派生出去的仓库数
Issues 14 当前开放的 Issue 数
语言 Python GitHub 自动判定的主语言
许可证 MIT 开源协议,用之前先确认能不能商用
24h 增长 — 数据积累中
7 日增长 — 数据积累中
30 日增长 — 数据积累中

仓库健康度

5 个维度
只看客观信号,不构成安全性结论
维护活跃度 数据完整
2026-10-27 16:52 最近推送

最近推送 2026-10-27 16:52(1 天前),属于活跃维护

社区响应 数据完整
14 开放 Issue

开放 Issue 14 个 · Fork 4,033 个

增长趋势 证据不足
— 7 日新增

star 记录还不够天数,增量算不出来

项目规范 数据完整
MIT 许可证

许可证 MIT · 8 个 topics · 开了 Wiki

版本发布 证据不足
— 发布次数

这一项暂无数据,不代表项目没有发布

「证据不足」表示这项数据暂时没有取到,不能读成「项目有问题」;「部分数据」表示只拿到一部分信号。版本发布要额外调 Releases 接口,下一版补。

Star 趋势

6 天记录
最近 90 天站内记录的星数
51,662当前 Star +21首尾差值 2026-10-23最早记录 2026-10-28最近记录

横轴 2026-10-23 → 2026-10-28,纵轴按这段时间的最小/最大值拉伸。趋势来自站内每天记录一次的星数,页面打开时不会实时请求 GitHub。

它解决什么问题

据 README 归纳
没有它会怎样

开发者想系统提升专业能力时,面对海量资料难以判断哪些真正值得读。没有这份精选合集,就得自己筛选大量文章,容易浪费时间,也容易错过经典内容。

核心能力

6 条
归纳自 README,不是功能列表照抄
  1. 1按主题归类学习资源,涵盖发布部署、设计原则、系统架构等方向
  2. 2筛选并标注必读资源,帮助快速定位高价值内容
  3. 3收录经典书籍、技术文章、演讲视频和演示幻灯片等多种形式
  4. 4为部分资源补充简要说明,提示内容重点或适用背景
  5. 5保持列表精简克制,避免信息过载
  6. 6资源选择带有明确主观倾向,只保留启发性和经典内容

项目画像

6 个角度
决定要不要用之前,先看这六条

项目定位

这是一个面向软件工程师的精选学习资源合集,收录文章、书籍、视频和演讲等,按部署、设计、系统架构等主题分类整理,供开发者查阅学习。

适合谁

适合希望提升专业水平的软件工程师、技术负责人,以及准备系统设计面试的开发者,用于日常学习和知识查漏。

典型场景

开发者在规划学习路线时,按主题浏览合集,快速找到部署、架构设计等方面的经典资源。;准备系统设计面试的人,借助系统架构主题下的阅读清单制定复习计划。;技术团队负责人挑选团队共读书目或分享材料时,从精选列表中获取候选。;工程师遇到具体设计或部署问题时,按分类查阅相关文章和书籍章节。

部署难度

无需安装或部署,直接在线浏览即可,上手门槛极低。

风险限制

列表并非全面覆盖,选材带有主观性,作者不保证认同所有资源及作者的全部观点。

最近维护

最近一次推送是 2026-10-27 16:52。 实现方式:以人工筛选方式收集作者认为有启发性或已成为经典的资源,按主题分节列出,并用图标区分文章、视频、幻灯片和必读项,附简短评注帮助读者判断。

README 原文细节

4 个板块
项目自己写的功能与用法,原文照录

怎么安装从零跑起来的步骤

Releasing & deploying

  • How to deploy software, Zach Holman
  • BlueGreenDeployment, Martin Fowler
  • Move fast and break nothing, Zach Holman
  • 🏙 Move fast and don't break things, Google
  • Shipping to Production, The Pragmatic Programmer
  • SemVer - Semantic Versioning
  • CalVer - Calendar Versioning
  • Semantic Versioning Will Not Save You
  • Version numbers: how to use them?
  • Production Readiness Checklist, Gruntwork
  • Checklist: what had to be done before deploying microservices to production
  • Things end users care about but programmers don't: includes colors, formatting, themes, integrations, UX, compatibility, operations.
  • Flipping out, Flickr. One of the first articles about feature flags.
  • Feature Flags, Toggles, Controls, a website documenting feature flags, from Launch Darkly.

实现原理它内部是怎么做的

Principles

  • This page is not meant to be comprehensive. I am trying to keep it light and not too overwhelming.
  • The selection of articles is opinionated.
  • I don't necessarily agree with or endorse every single line that is written in every single one of those resources. The same applies to their authors: I don't endorse everything each of those authors
  • 🧰 : list of resources
  • 🎞 : video/movie extract/movie/talk
  • 🏙 : slides/presentation
  • ⭐️ : must-read

Design (OO modeling, architecture, patterns, anti-patterns, etc.)

One of the absolute references on architecture is Martin Fowler: checkout his Software Architecture Guide.

  • 📖 Design Patterns: Elements of Reusable Object-Oriented Software: dubbed "the gang of four", this is almost a required reading for any developer. A lot of those are a bit overkill for Python (because
  • And their nefarious nemesis Resign Patterns
  • 📖 Patterns of Enterprise Application Architecture: learn about how database are used in real world applications. Mike Bayer's SQLAlchemy has been heavily influenced by this book.
  • 📖 Domain-Driven Design: Tackling Complexity in the Heart of Software, Eric Evans
  • 📖 Clean Architecture, Robert C. Martin. Uncle Bob proposes an architecture that leverages the Single Responsibility Principle to its fullest. A great way to start a new codebase. Also checkout the cle
  • 📖 Game Programming Patterns: a book about design, sequencing, behavioral patterns and much more by Robert Nystrom explained through the medium of game programming. The book is also free to read online
  • O'Reilly's How to make mistakes in Python
  • Education of a Programmer: a developer's thoughts after 35 years in the industry. There's a particularly good section about design & complexity (see "the end to end argument", "layering and componenti
  • Domain-driven design, Wikipedia.
  • On the Spectrum of Abstraction 🎞, Cheng Lou
  • The “Bug-O” Notation, Dan Abramov
  • Antipatterns
  • Inheritance vs. composition: a concrete example in Python. Another slightly longer one here. One last one, in Python 3.
  • Composition Instead Of Inheritance

System architecture

  • 🧰 ⭐️ donnemartin/system-design-primer: learn how to design large scale systems. Prep for the system design interview.
  • 🧰 A Distributed Systems Reading List
  • 🧰 Foundational distributed systems papers
  • 🧰 Services Engineering Reading List
  • 🧰 System Design Cheatsheet
  • ⭐️ karanpratapsingh/system-design: learn how to design systems at scale and prepare for system design interviews
  • A Distributed Systems Reading List
  • Distributed Systems Classics
  • High Scalability: great blog about system architecture, its weekly review article are packed with numerous insights and interesting technology reviews. Checkout the all-times favorites.
  • 📖 Building Microservices, Sam Newman (quite complete discussion of microservices)
  • 📖 Designing Data-Intensive Applications
  • 📖 Building Secure and Reliable Systems, Google, (free online). Very complete book.
  • Design for security & reliability
  • Design tradeoffs

配置项能调整哪些参数

Configuration

  • The downsides of JSON for config files, Martin Tournoij.
  • Can't add comments
  • Excessive quotation and syntax noise
  • Using DC (declarative configuration) to control logic is often not a good idea.
  • Your configs suck? Try a real programming language
  • Most modern config formats suck
  • Use a real programming language
  • Code rant: The Configuration Complexity Clock
  • I’m not saying that it’s never appropriate to implement complex configuration, a rules-engine or a DSL, Indeed I would jump at the chance of building a DSL given the right requirements, but I am sayin
  • Initially there was hope that non-technical business users would be able to use the GUI to configure the application, but that turned out to be a false hope; the mapping of business rules into the eng

其它说明README 里剩下的内容

Table of Contents

  • Professional Programming - about this list
  • Principles
  • Contributing to this list
  • Must-read books
  • Must-read articles
  • Other general material and list of resources
  • Other lists
  • Accounting
  • Agentic coding
  • Algorithm and data structures
  • API design & development
  • Attitude, habits, mindset
  • Procrastination
  • Authentication/authorization

Must-read books

  • 📖 The Pragmatic Programmer: From Journeyman to Master: hands-on the most inspiring and useful book I've read about programming.
  • 📖 Code Complete: A Practical Handbook of Software Construction: a nice addition to The Pragmatic Programmer, gives you the necessary framework to talk about code.
  • 📖 Release It!: this books goes beyond code and gives you best practices for building production-ready software. It will give you about 3 years worth of real-world experience.
  • 📖 Scalability Rules: 50 Principles for Scaling Web Sites
  • 📖 The Linux Programming Interface: A Linux and UNIX System Programming Handbook: outside of teaching you almost everything you need to know about Linux, this book will give you insights into how softw
  • 📖 Structure and interpretation of Computer Programs (free): One of the most influential textbooks in Computer Science (written and used at MIT), SICP has been influential in CS education. Byte recomme
  • 📖 Professional software development: pretty complete and a good companion to this page. The free chapters are mostly focused on software development processes: design, testing, code writing, etc. - an
  • 🧰 vhf/free-programming-books
  • 🧰 EbookFoundation/free-programming-books

Must-read articles

  • Practical Advice for New Software Engineers
  • On Being A Senior Engineer
  • Lessons Learned in Software Development: one of those articles that give you years of hard-earned lessons, all in one short article. Must read.
  • Things I Learnt The Hard Way
  • Spec first, then code
  • Tests make better APIs
  • Future thinking is future trashing
  • Documentation is a love letter to your future self
  • Sometimes, it's better to let the application crash than do nothing
  • Understand and stay away of cargo cult
  • "Right tool for the job" is just to push an agenda
  • Learn the basics functional programming
  • ALWAYS use timezones with your dates
  • ALWAYS use UTF-8

关于 professional-programming 的常见问题

7 个问题
答案来自 README 归纳与 GitHub 实时数据
professional-programming 是做什么的?

这是一个面向软件工程师的精选学习资源合集,收录文章、书籍、视频和演讲等,按部署、设计、系统架构等主题分类整理,供开发者查阅学习。 开发者想系统提升专业能力时,面对海量资料难以判断哪些真正值得读。没有这份精选合集,就得自己筛选大量文章,容易浪费时间,也容易错过经典内容。

professional-programming 有哪些功能?

核心能力:按主题归类学习资源,涵盖发布部署、设计原则、系统架构等方向;筛选并标注必读资源,帮助快速定位高价值内容;收录经典书籍、技术文章、演讲视频和演示幻灯片等多种形式;为部分资源补充简要说明,提示内容重点或适用背景;保持列表精简克制,避免信息过载;资源选择带有明确主观倾向,只保留启发性和经典内容。

professional-programming 适合谁用?

适合希望提升专业水平的软件工程师、技术负责人,以及准备系统设计面试的开发者,用于日常学习和知识查漏。

professional-programming 是怎么工作的?

以人工筛选方式收集作者认为有启发性或已成为经典的资源,按主题分节列出,并用图标区分文章、视频、幻灯片和必读项,附简短评注帮助读者判断。

怎么安装 professional-programming?

按项目 README 的说明:How to deploy software, Zach Holman;BlueGreenDeployment, Martin Fowler;Move fast and break nothing, Zach Holman;🏙 Move fast and don't break things, Google。完整命令见下方「怎么安装」一节或 GitHub 仓库的 README。

用 professional-programming 有什么门槛或限制?

列表并非全面覆盖,选材带有主观性,作者不保证认同所有资源及作者的全部观点。

professional-programming 现在还在维护吗?数据怎么样?

目前 51,662 星,4,033 个 Fork,主语言 Python,创建于 2015-11-07,最近一次推送 2026-10-27 16:52,许可证 MIT。星数、Fork、推送时间都是 GitHub 返回的实时数据,「最近推送」离现在越近说明越活跃;长期不动要留意是否已停止维护。

这些内容来自哪

读法说明
中文整理据 README 归纳,数据取自 GitHub
中文说明据项目 README 归纳只写 README 能确认的内容,不替作者补功能与数字
关键数据与 GitHub 页面一致星数、Fork、语言与时间都不做二次加工
数据日期2026-10-23 17:56星数与介绍这份数据是哪一天的

项目数据取自 GitHub 官方接口与项目 README;星数、Fork、语言与时间以 GitHub 页面为准,档案更新于 2026-10-23 17:56。