500lines项目简介
"500行或更少"
"What I cannot create, I do not understand."
-- Richard Feynman
《500行或更少》--开源应用架构系列第四版的源码。
项目的目的在于给阅读者更广的视野,让阅读者理解软件设计者的想法。
项目地址: https://github.com/aosabook/500lines
这个项目里的每个文件夹基本都是一个独立的项目。试图用500行左右或者更少的代码完成某种特定的需求。在阅读时不应该过分关注某种语言的特性或某个算法的细节,而应该揣摩软件架构师们在设计软件时如何决定和权衡。
| 工程名称 | 作者 | 从属机构 | 简要描述 | 实现环境与语言 | 行数 |
| blockcode | Dethe Elza | Mozilla | 简单的可视化编程工具包 | JS,Html,CSS | 551 |
| catechism | Sarah Mei | Sarah Mei | 小型Ruby测试框架 | Ruby | 459 |
| ci | Malini Das | Mozilla | 简化的分布式持续集成系统 | Posix,Python2.7+,Git | 627 |
| cluster | Dustin J. Mitchell | Mozilla | 简单的复制状态机的实现,基于Paxos算法 | Python | 1254 |
| crawler | Guido van Rossum | Dropbox | 爬虫 | Python 3.4, or 3.3 + asyncio | 731 |
| data-store | Taavi Burns | Points.com | (DogBed DataBase)类BDB或SQLite的键值对存储 | Python | 778 |
| flow-shop | Christian Muise | University of Melbourne | 流水作业调度问题的基本实现 | Python | 423 |
| functionalDB | Yoav Rubin | Microsoft | 基于内存的nosql功能性数据库 | Clojure | 576 |
| graph-layout | Julia Evans | 图表样式引擎,还没做 | |||
| image-filters | Cate Huston | 图片过滤器 | Java1.6+ | 846 | |
| modeller | Erick Dransch | Upverter | 极小3D建模工具 | Python 2.7,Unix | 1083 |
| objmodel | Carl Friedrich Bolz | 简单的面向对象的对象模型实现 | Python 2.7 or 3.3 | 2292 | |
| ocr | Marina Samuel | Mozilla | 图片识别 | Python,html,js | 394 |
| pedometer | Dessy Daskalov | Nudge Rewards | 计步器 | Ruby | 1417 |
| rasterizer | 把任意形状转换为光栅(就是矩形像素表) | Python | 685 | ||
| sampler | Jessica B. Hamrick | UC Berkeley | 抽样方法 | Python | 307 |
| spreadsheet | Audrey Tang | g0v.tw, Socialtext, Apple | 在线电子表格 | JS(ES6),HTML5,CSS3,AngularJS | 1265 |
| TypeCheck | Leah Hanson | Julia语言的类型静态分析 | Julia | 590 | |
| template-engine | Ned Batchelder | edX | 简单模板引擎 | Python | 574 |
| torrent_client | Kresten Krab Thorup | Trifork | 简单的torrent客户端 | Erlang | 1731 |
| web-server | Greg Wilson | Mozilla | 简单的web服务器 | Python | 954 |
注:行数统计只作为参考,和真实情况会有出入
500lines项目简介的更多相关文章
- 【转】GitHub 排名前 100 的安卓、iOS项目简介
GitHub Android Libraries Top 100 简介 排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不 ...
- 2016年GitHub 排名前 100 的安卓、iOS项目简介(收藏)
排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不相关的项目, 所以排名并不具备任何官方效力, 仅供参考学习, 方便初学者 ...
- 64.GitHub 排名前100的android项目简介
GitHub Android Libraries Top 100 简介 排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不 ...
- Android小项目练习之一 项目简介
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- apache基金会开源项目简介
apache基金会开源项目简介 项目名称 描述 HTTP Server 互联网上首屈一指的HTTP服务器 Abdera Apache Abdera项目的目标是建立一个功能完备,高效能的IETF ...
- Faces人脸识别项目简介
Faces人脸识别 分为两个模块,Faces文件夹下存放人脸识别算法的代码,Web文件夹下存放网站搭建的代码 详情请查看各个模块下的readme文档 项目简介 核心算法 一款基于Dlib.opencv ...
- 前端开发工程师 - 06.Mini项目实战 - 项目简介
第6章--Mini项目实战 项目简介 Mini项目简介-Ego社区开发 回顾: 页面制作 页面架构 JavaScript程序设计 DOM编程艺术 产品前端架构 实践课Mini项目--Ego: 主题:漫 ...
- OpenStack Magnum项目简介
1 项目简介 Magnum是OpenStack中一个提供容器集群部署的服务. Magnum是一个Pass层的OpenStack项目. Magnum使用Heat部署一个包含Docker和Kubernet ...
- OpenStack Smaug项目简介
1 项目简介 Smaug是一个OpenStack中提供应用数据保护服务的项目. 2 项目使命 在OpenStack中建立应用数据保护的标准和规范. 保护OpenStack中的任何资源以及资源的依赖项. ...
随机推荐
- 【转载】App.config/Web.config 中特殊字符的处理
写一个网站,遇到一个问题,发布以后,提示错误,但是即使打开错误提示(在web.config中打开),还是只提示错误,没提示什么地方错误,这让我知道了:是webconfig本身的错误,经过排除,是链接字 ...
- mysql 与 mycat集成读写分离
1,先说下同步数据库原理,其实很简单.就是在主库做数据库操作的时候,会生成一个本地日志,日志会在my.ini当中配置看图一,读库会实时去扫描日志,如果有更新就直接在读库执行. 这个是主库my.ini配 ...
- HTML5学堂,感谢您一年的陪伴(上)
在HTML学堂将满一周岁之际,感谢再过去的一年里支持和关注它的每一个小伙伴.有了你们的支持,HTML5学堂才能更好的走下去.我们将会把这一年的积累重新体现在HTML5学堂的官网上.HTML5学堂将会全 ...
- shh简化
对于SSH框架中部分的操作简化我分为两大类: 一:操作 1. 在SSH的struts.xml里 name="Action类_*" class="注入的实例"(同 ...
- python 3 学习笔记(二)
1.python中的数据类型 python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是在初始化生成一个对象,即所有数据都是对象对象三个特性 身份:内存地址,可以用i ...
- redis主从配置
首先安装redis 我的redis安装在/app/redis/文件夹下 第二步,写两个redis实例的配置文件,一主一从.我的设计如下,6379端口为主,6380端口为从. 6379:redis_ma ...
- 【OPENGL】第三篇 着色器基础(一)
在这一章,我们会学习什么是着色器(Shader),什么是着色器语言(OpenGL Shading Language-GLSL),以及着色器怎么和OpenGL程序交互. 首先我们先来看看什么叫着色器. ...
- Ext GridPanel
Extjs GridPanel用法详解 创建GridPanel 要使用GridPanel,首先要定义Store,而在创建Store的时候必须要有Model,因此我们首先来定义Model: //1.定义 ...
- SQL语句order by两个字段同时排序
ORDER BY 后可加2个字段,用英文逗号隔开. f1用升序, f2降序,sql该这样写 ORDER BY f1, f2 DESC 也可以这样写,更清楚: ORDER BY f1 ASC, ...
- jq 获取元素的宽度时,如何取得小数部分
<!DOCTYPE html> <html> <head> <title></title> <meta name="arti ...