{"id":13617923,"url":"https://github.com/oldratlee/software-practice-thoughts","last_synced_at":"2025-07-10T19:33:35.111Z","repository":{"id":24671639,"uuid":"28082145","full_name":"oldratlee/software-practice-thoughts","owner":"oldratlee","description":"📚 🐣 软件实践文集。主题不限，思考讨论有趣有料就好，包含如 系统的模型分析/量化分析、开源漫游者指南、软件可靠性设计实践、平台产品的逻辑与执行… 🥤","archived":false,"fork":false,"pushed_at":"2023-10-11T09:15:16.000Z","size":39746,"stargazers_count":223,"open_issues_count":1,"forks_count":42,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-07-08T02:51:40.948Z","etag":null,"topics":["best-practices","code-review","git","miscellaneous","model-analysis","open-source-practice","product","quantitative-analysis","reliability","software-practice"],"latest_commit_sha":null,"homepage":"https://github.com/oldratlee/software-practice-thoughts","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oldratlee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-12-16T10:32:26.000Z","updated_at":"2025-06-21T14:32:35.000Z","dependencies_parsed_at":"2023-01-16T22:02:38.435Z","dependency_job_id":"b8b4a05e-a40d-488e-bd9c-be7046e71f18","html_url":"https://github.com/oldratlee/software-practice-thoughts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oldratlee/software-practice-thoughts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldratlee%2Fsoftware-practice-thoughts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldratlee%2Fsoftware-practice-thoughts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldratlee%2Fsoftware-practice-thoughts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldratlee%2Fsoftware-practice-thoughts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oldratlee","download_url":"https://codeload.github.com/oldratlee/software-practice-thoughts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldratlee%2Fsoftware-practice-thoughts/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264639923,"owners_count":23642319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["best-practices","code-review","git","miscellaneous","model-analysis","open-source-practice","product","quantitative-analysis","reliability","software-practice"],"created_at":"2024-08-01T20:01:50.738Z","updated_at":"2025-07-10T19:33:35.073Z","avatar_url":"https://github.com/oldratlee.png","language":"Jupyter Notebook","readme":"# 📚 🐣 软件实践文集\n\n\u003ca href=\"##\"\u003e\u003cimg src=\"images/miscellany-icon.png\" width=\"15%\" align=\"right\" /\u003e\u003c/a\u003e\n\n[![知识共享协议（CC协议）](https://img.shields.io/badge/License-Creative%20Commons-FE6B3A.svg?logo=apache) ![Licence: CC BY-NC-SA 4.0](images/LICENSE.png)](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)  \n[![GitHub stars](https://img.shields.io/github/stars/oldratlee/software-practice-miscellany.svg?style=social\u0026label=Star)](https://github.com/oldratlee/software-practice-miscellany/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/oldratlee/software-practice-miscellany.svg?style=social\u0026label=Fork)](https://github.com/software-practice-miscellany/software-practice-miscellany/fork)\n\n记录与整理平时自己的\n\n- 软件实践的讨论\n- 软件实践主题的思考\n\n主题不限，有趣有料就好～ 🥤\n\n\u003e PS：比起写博客，直接用`github`仓库的`Markdown`来记录真是简单省事！ 😂\n\n- 🙈 [自己](http://weibo.com/oldratlee)写的这些内容难免有不足和不对之处，欢迎 👏\n    - 建议，[提交`Issue`](https://github.com/oldratlee/software-practice-miscellany/issues/new)\n    - 指正，[`Fork`后提通过`Pull Request`贡献修改](https://github.com/oldratlee/software-practice-miscellany/fork)\n- 如果理解上有疑问 或是 应用过程中碰到疑惑，请[提交 🙌 `Issue`](https://github.com/oldratlee/software-practice-miscellany/issues/new) ，一起学习交流讨论！\n\n----------------------------------------\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [⏳ 按内容时间排序](#-%E6%8C%89%E5%86%85%E5%AE%B9%E6%97%B6%E9%97%B4%E6%8E%92%E5%BA%8F)\n- [🎵 按内容主题分类](#-%E6%8C%89%E5%86%85%E5%AE%B9%E4%B8%BB%E9%A2%98%E5%88%86%E7%B1%BB)\n    - [实践讨论](#%E5%AE%9E%E8%B7%B5%E8%AE%A8%E8%AE%BA)\n    - [如何做开源项目](#%E5%A6%82%E4%BD%95%E5%81%9A%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE)\n    - [系统设计与分析](#%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90)\n    - [`SCM`](#scm)\n    - [软件文档](#%E8%BD%AF%E4%BB%B6%E6%96%87%E6%A1%A3)\n    - [编程语言](#%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n----------------------------------------\n\n# ⏳ 按内容时间排序\n\n\u003ca href=\"##\"\u003e\u003cimg src=\"images/miscellany-icon.png\" width=\"15%\" align=\"right\" /\u003e\u003c/a\u003e\n\n\u003e 下一节是 [⬇️ **按内容主题分类** ⬇️](#-%E6%8C%89%E5%86%85%E5%AE%B9%E4%B8%BB%E9%A2%98%E5%88%86%E7%B1%BB)\n\n- **2021年** [软件实践碎碎念](broken-thoughts/README.md)\n- **2021-06** [平台产品逻辑与执行](product-logic-for-platform-product/README.md)\n    - **全接管业务的功能** 是平台的目标，直接体现了平台的核心竞争力。  \n      全接管业务的平台功能的多少/比例 可以用来度量 平台的成熟程度。\n    - 在平台产品功能中，要区分 哪些是接管的功能，哪些是整合的功能。\n    - **不要用美好正义的愿望 来替代 残酷务实的逻辑。**  \n      即产品逻辑 推演要包含给出 如何『做成』一个产品（可行性），而不仅是给出 为什么要『要做』一个产品（有需求）。\n    - 排除法 对于不确定的规划的事 是不适用的；因为 事情是不是有解/整体组合功能是不是能发展出来 还是未知的。\n- **2021-04** [多响应异步请求模式下需求满足的分析模型](multi-response-async-request-pattern-analysis-model/README.md)\n    - 请求的3个关注维度`CRC`：**完整性**（`Completeness`）、**响应性**（`Responsiveness`）与**正确性**（`Correctness`）。\n    - `CRC`也是请求的平衡维度，所谓平衡是指：当不可兼得时，可互相置换。\n    - **请求所关注与平衡的CRC维度模型 也一样适用于 同步请求模式，并不耦合 多响应异步请求模式。**  \n      只是多响应异步请求模式下的复杂性，在分析上对请求维度模型的需要变得迫切了。  \n      我们可以用请求维度`CRC`模型作为 引入多响应异步请求模式后对产品/用户体验的优化程度 的一种度量方式。\n    - 多响应/异步的模式下，相对于传统的同步模式，可以为业务提供了更灵活方便的策略。\n- **2020年** [软件实践碎碎念](broken-thoughts/2020.md)\n- **2020-08** [`compileflow`开源项目的Code Review](compiler-flow-code-review/README.md)\n    - Review与交流讨论的过程 是自己整理学习的过程。大部分的整理内容 其实是独立于具体的一个开源项目。\n    - 涉及如 代码实现（文档、可靠性、专业性）、系统设计（领域/模型拆分的原则与实践、扩展设计）、工程实践（版本管理、构建、测试）。\n- **2020-08** | 2017-08 … 2014 分享PPT [软件可靠性设计的实践](practice-of-software-reliability-design/软件可靠性设计的实践-v0.9.2.pptx)\n- **2020-07** 分享PPT [Git/VCS的使用与原则 简介](git/git-usage-and-principle-v0.3.1.pptx)\n- **2020-03** [系统`Load`的样子与计算方式](system-load-calculation-and-looks/README.md)  \n  你常常看的`Load 1/5/15`是怎么回事？\n- **2020-02** 分享PPT [开源漫游者指南：开源的工作内容与要点](hitchhikers-guide-to-open-source/开源漫游者指南-v0.9.1.pptx)\n    - 开源是一个充分竞争的环境，不能没有差异化或有明显缺陷，有问题无法隐藏。竞争三要素：1) 成本 2) 差异化 3) 专业化\n        - 产品有明确的独特性、差异化（性能/功能） =\u003e 拉新/启动\n        - 产品界面的部分 重要 =\u003e 留存\n        - 持续发版/用户(大)Case收集透出（活跃、质量） =\u003e 流失 vs. 口碑传播\n    - 伸手当是主流；一般用户成为贡献者都是小提交贡献；核心贡献者 肯定会是大厂公司的人，注重形成公司间团队的合作联盟。\n- **2019-10** [任务分发均匀性的模型量化分析](lb-distribution-uniformity-analysis/README.md)  \n    - 任务分发在软件系统的很多地方会出现。\n    - 任务分发/`LB`的均匀性是一个需要考虑的问题，会导致不必要的过载甚至宕机。\n- **2017-03** [`Cache`实践](cache-practice/README.md)\n    - 应用开发中，`Cache`毫无疑问是很重要的一块：提升应用性能的关键，降低像`DB`这样关键资源的负荷；\n    - 但`Cache`的使用有很多要注意的问题与陷阱。\n- **2015-06** 分享PPT [Git/GitLab(Github)使用](git/git-gitlab-usage.pptx)\n- **2015-06** 软件文档 [如何写一个`issue`](how-to-write-a-issue.md)\n- **2014-12** [Git学习资料](git/study-material.md)\n- **2014-09** [Why Git](git/README.md)\n- **2014-09** 编程语言 [`Lisp` Practice](lisp-practice/README.md)  \n      对于大多数程序员来说，`Lisp`是编程语言中的一个神。\n\n# 🎵 按内容主题分类\n\n\u003ca href=\"##\"\u003e\u003cimg src=\"images/miscellany-icon.png\" width=\"15%\" align=\"right\" /\u003e\u003c/a\u003e\n\n\u003e 上一节是 [⬆️ **按内容时间排序** ⬆️](#-%E6%8C%89%E5%86%85%E5%AE%B9%E6%97%B6%E9%97%B4%E6%8E%92%E5%BA%8F)\n\n## 实践讨论\n\n- 软件实践碎碎念\n    - [2021年](broken-thoughts/README.md)\n    - [2020年](broken-thoughts/2020.md)\n- Code Review\n    - [`compileflow`开源项目的Code Review](compiler-flow-code-review/README.md)\n        - Review与交流讨论的过程 是自己整理学习的过程。大部分的整理内容 其实是独立于具体的一个开源项目。\n        - 涉及如 代码实现（文档、可靠性、专业性）、系统设计（领域/模型拆分的原则与实践、扩展设计）、工程实践（版本管理、构建、测试）。\n\n## 如何做开源项目\n\n- 分享PPT [开源漫游者指南：开源的工作内容与要点](hitchhikers-guide-to-open-source/开源漫游者指南-v0.9.1.pptx)\n    - 开源是一个充分竞争的环境，不能没有差异化或有明显缺陷，有问题无法隐藏。竞争三要素：1) 成本 2) 差异化 3) 专业化\n        - 产品有明确的独特性、差异化（性能/功能） =\u003e 拉新/启动\n        - 产品界面的部分 重要 =\u003e 留存\n        - 持续发版/用户(大)Case收集透出（活跃、质量） =\u003e 流失 vs. 口碑传播\n    - 伸手当是主流；一般用户成为贡献者都是小提交贡献；核心贡献者 肯定会是大厂公司的人，注重形成公司间团队的合作联盟。\n\n## 系统设计与分析\n\n- 分享PPT [软件可靠性设计的实践](practice-of-software-reliability-design/软件可靠性设计的实践-v0.9.2.pptx)\n- [平台产品逻辑与执行](product-logic-for-platform-product/README.md)\n    - **全接管业务的功能** 是平台的目标，直接体现了平台的核心竞争力。  \n      全接管业务的平台功能的多少/比例 可以用来度量 平台的成熟程度。\n    - 在平台产品功能中，要区分 哪些是接管的功能，哪些是整合的功能。\n    - **不要用美好正义的愿望 来替代 残酷务实的逻辑。**  \n      即产品逻辑 推演要包含给出 如何『做成』一个产品（可行性），而不仅是给出 为什么要『要做』一个产品（有需求）。\n    - 排除法 对于不确定的规划的事 是不适用的；因为 事情是不是有解/整体组合功能是不是能发展出来 还是未知的。\n- [多响应异步请求模式下需求满足的分析模型](multi-response-async-request-pattern-analysis-model/README.md)\n    - 请求的3个关注维度`CRC`：**完整性**（`Completeness`）、**响应性**（`Responsiveness`）与**正确性**（`Correctness`）。\n    - `CRC`也是请求的平衡维度，所谓平衡是指：当不可兼得时，可互相置换。\n    - **请求所关注与平衡的CRC维度模型 也一样适用于 同步请求模式，并不耦合 多响应异步请求模式。**  \n      只是多响应异步请求模式下的复杂性，在分析上对请求维度模型的需要变得迫切了。  \n      我们可以用请求维度`CRC`模型作为 引入多响应异步请求模式后对产品/用户体验的优化程度 的一种度量方式。\n    - 多响应/异步的模式下，相对于传统的同步模式，可以为业务提供了更灵活方便的策略。\n- [任务分发均匀性的模型量化分析](lb-distribution-uniformity-analysis/README.md)\n    - 任务分发在软件系统的很多地方会出现。\n    - 任务分发/`LB`的均匀性是一个需要考虑的问题，会导致不必要的过载甚至宕机。\n- [`Cache`实践](cache-practice/README.md)\n    - 应用开发中，`Cache`毫无疑问是很重要的一块：提升应用性能的关键，降低像`DB`这样关键资源的负荷；\n    - 但`Cache`的使用有很多要注意的问题与陷阱。\n- [系统`Load`的样子与计算方式](system-load-calculation-and-looks/README.md)  \n  你常常看的`Load 1/5/15`是怎么回事？\n\n## `SCM`\n\n- [Why Git](git/README.md)\n- [Git学习资料](git/study-material.md)\n- 分享PPT\n    - [Git/VCS的使用与原则 简介](git/git-usage-and-principle-v0.3.1.pptx)\n    - [Git/GitLab(Github)使用](git/git-gitlab-usage.pptx)\n\n## 软件文档\n\n- [如何写一个`issue`](how-to-write-a-issue.md)\n\n## 编程语言\n\n- [`Lisp` Practice](lisp-practice/README.md)  \n  对于大多数程序员来说，`Lisp`是编程语言中的一个神。\n","funding_links":[],"categories":["Jupyter Notebook"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foldratlee%2Fsoftware-practice-thoughts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foldratlee%2Fsoftware-practice-thoughts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foldratlee%2Fsoftware-practice-thoughts/lists"}