"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 Google 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项目简介的更多相关文章

  1. 【转】GitHub 排名前 100 的安卓、iOS项目简介

    GitHub Android Libraries Top 100 简介 排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不 ...

  2. 2016年GitHub 排名前 100 的安卓、iOS项目简介(收藏)

    排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不相关的项目, 所以排名并不具备任何官方效力, 仅供参考学习, 方便初学者 ...

  3. 64.GitHub 排名前100的android项目简介

    GitHub Android Libraries Top 100 简介 排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果, 然后过滤了跟 Android 不 ...

  4. Android小项目练习之一 项目简介

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  5. apache基金会开源项目简介

    apache基金会开源项目简介   项目名称 描述 HTTP Server 互联网上首屈一指的HTTP服务器 Abdera Apache  Abdera项目的目标是建立一个功能完备,高效能的IETF ...

  6. Faces人脸识别项目简介

    Faces人脸识别 分为两个模块,Faces文件夹下存放人脸识别算法的代码,Web文件夹下存放网站搭建的代码 详情请查看各个模块下的readme文档 项目简介 核心算法 一款基于Dlib.opencv ...

  7. 前端开发工程师 - 06.Mini项目实战 - 项目简介

    第6章--Mini项目实战 项目简介 Mini项目简介-Ego社区开发 回顾: 页面制作 页面架构 JavaScript程序设计 DOM编程艺术 产品前端架构 实践课Mini项目--Ego: 主题:漫 ...

  8. OpenStack Magnum项目简介

    1 项目简介 Magnum是OpenStack中一个提供容器集群部署的服务. Magnum是一个Pass层的OpenStack项目. Magnum使用Heat部署一个包含Docker和Kubernet ...

  9. OpenStack Smaug项目简介

    1 项目简介 Smaug是一个OpenStack中提供应用数据保护服务的项目. 2 项目使命 在OpenStack中建立应用数据保护的标准和规范. 保护OpenStack中的任何资源以及资源的依赖项. ...

随机推荐

  1. jekins构建自动化项目的步骤

    填入项目名字 源码管理从git自动拉取代码到工作目录 jenkins拉取代码会到工作空间linux下安装完目录是/var/lib/jenkins/workspace/jeekins-test(可以根据 ...

  2. 缓存,socket乱码等

    在服务端默认的编码情况下,JAVA的SOCKET接收需要GBK编码,而C#的接收需要UTF-8编码

  3. jQuery高级编程

    jquery高级编程1.jquery入门2.Javascript基础3.jQuery核心技术 3.1 jQuery脚本的结构 3.2 非侵扰事JavaScript 3.3 jQuery框架的结构 3. ...

  4. Javascript 中的神器——Promise

    Promise in js 回调函数真正的问题在于他剥夺了我们使用 return 和 throw 这些关键字的能力.而 Promise 很好地解决了这一切. 2015 年 6 月,ECMAScript ...

  5. phpstorm 配置 babel 支持EcmaScript6

    1.安装nodejs 2.npm install --save-dev babel-cli 3.npm install babel-preset-es2015 --save-dev 4.phpstor ...

  6. JavaScript数据类型之隐式类型转换

    JavaScript的数据类型分为七种,分别为null,undefined,boolean,string,number,object,symbol ( ECMAScript 2015新增).objec ...

  7. int.Parse()、int.TryParse()和Convert.ToInt32()的区别

    1:int.Parse(一个参数)        此参数必须满足: 1 只能是字符串: 2 只能是 “整型” 字符串,即各种整型ToString()之后的形式,也不能为浮点型. 2:int.TryPa ...

  8. iScroll知识点

    1.如果你有一个复杂的DOM结构,最好在onload事件之后适当的延迟,再去初始化iScroll.最好给浏览器100或者200毫秒的间隙再去初始化iScroll. 2.iScroll作用于滚动区域的外 ...

  9. Registry values for ProductID and LocaleID for AutoCAD and the vertical products

    原文地址:http://adndevblog.typepad.com/autocad/2013/08/registry-values-for-productid-and-localeid-for-au ...

  10. WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED解决方法

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    WARNING: REMOTE HOST IDENTIFICATION ...