学习 Python 需要找找小的项目练练手
这个项目是
「500 Lines or Less」
,这不仅是一个项目,它也是一本书,不仅有源码,也有文字介绍。这个项目由18
个独立的章节组成,每个章节都是由该领域的大牛完成,每个章节都试图用500
行或者更少(500 or less
)的代码,让读者了解一个功能或需求的简单实现。这些功能或者需求可能不是最完美的,所以我们在阅读时不需要过分关注某种细节,而我们应该揣摩软件架构师们在设计软件时如何决定和权衡,学会透过这些表面的现象去更透彻地明白作为一个软件架构师或开发者应该有的设计思维。
编号 | 项目名称 | 中文名称 | 功能说明 |
---|---|---|---|
1 | ci |
持续集成系统 | 用于测试新代码的专用系统,包含获取更改后代码、自动测试代码、生成测试报告功能 |
2 | cluster |
分布式系统 | 分布式系统 paxos 的原理与实现,并采用一些技巧帮助你尽可能的减少和查找、修复漏洞 |
3 | contingent |
文档系统 | 使用 python 构建一个文档系统 |
4 | crawler |
高效爬虫 | 几百行代码实现一个简单的 Web 爬虫程序 |
5 | data-store |
key-value 的非关系型数据库 | 旨在保护计算机出现崩溃或者报错时的数据 |
6 | flow-shop |
Flow Shop 调度 | - |
7 | incomplete |
多个小项目组成的 | - |
8 | interpreter |
Python 解释器 | 用 Python 实现的 Python 解释器 |
9 | modeller |
3D 建模 | 这是一个非常小而有限的 3D 建模项目 |
10 | objmodel |
对象模型 | 探讨了一系列非常简单的对象模型的实现 |
11 | ocr |
光学字符识别 | 该项目将使用神经网络(ANN)搭建一个 OCR 系统 |
12 | pedometer |
计步器 | 使用 Ruby 建立一个基本的计步器,并用户提供一个友好 UI 界面 |
13 | sampler |
决策取样器 | 该项目将对采样、多项分布、随机分布等名词 |
14 | template-engine |
模板引擎 | 任何 Web 应用程序中的一个重要阶段是生成要提供给浏览器的 HTML |
15 | web-server |
Web 服务器 | 利用 Python 搭建一个简单的 Web 服务器 |