最近推送 2026-10-27 16:52(1 天前),属于活跃维护
charlax/professional-programming
GITHUB中文整理主语言 Python · 51,662 星 · MIT · 创建于 2015-11-07
这是一个面向软件工程师的精选学习资源合集,收录文章、书籍、视频和演讲等,按部署、设计、系统架构等主题分类整理,供开发者查阅学习。
仓库健康度
5 个维度开放 Issue 14 个 · Fork 4,033 个
star 记录还不够天数,增量算不出来
许可证 MIT · 8 个 topics · 开了 Wiki
这一项暂无数据,不代表项目没有发布
「证据不足」表示这项数据暂时没有取到,不能读成「项目有问题」;「部分数据」表示只拿到一部分信号。版本发布要额外调 Releases 接口,下一版补。
Star 趋势
6 天记录横轴 2026-10-23 → 2026-10-28,纵轴按这段时间的最小/最大值拉伸。趋势来自站内每天记录一次的星数,页面打开时不会实时请求 GitHub。
它解决什么问题
据 README 归纳开发者想系统提升专业能力时,面对海量资料难以判断哪些真正值得读。没有这份精选合集,就得自己筛选大量文章,容易浪费时间,也容易错过经典内容。
核心能力
6 条- 1按主题归类学习资源,涵盖发布部署、设计原则、系统架构等方向
- 2筛选并标注必读资源,帮助快速定位高价值内容
- 3收录经典书籍、技术文章、演讲视频和演示幻灯片等多种形式
- 4为部分资源补充简要说明,提示内容重点或适用背景
- 5保持列表精简克制,避免信息过载
- 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 个问题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 返回的实时数据,「最近推送」离现在越近说明越活跃;长期不动要留意是否已停止维护。
这些内容来自哪
读法说明项目数据取自 GitHub 官方接口与项目 README;星数、Fork、语言与时间以 GitHub 页面为准,档案更新于 2026-10-23 17:56。
