"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. iOS_Quartz2D之涂鸦板

    响应者对象:继承了UIResponder的对象 触摸事件:一根或多根手指: 开始触摸: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent ...

  2. 新手之自动转存DLL——20150626星期五

    -------------------菜鸟错例一:--------------------------------------------- int a=0; if() { int a = GetTy ...

  3. (转) WTF is computer vision?

        WTF is computer vision? Posted Nov 13, 2016 by Devin Coldewey, Contributor   Next Story   Someon ...

  4. unity panel删除drawcall失败导致的残留影像

    ngui panel 被隐藏或者删除的时候调用ondisable,清空drawcall,如果这个操作是在ontriggerenter等物理操作中就会删除不掉导致留下残影 解决方式 : 讲这些操转移到协 ...

  5. 关于post请求超出最大长度

    这是因为asp.net默认限制最大上传文件大小为4096kb,而我上传了6000kb+所以超出了限制,需要修改项目的web.config文件即可解决,可以将最大文件长度设置为你需要的长度,我这里设置为 ...

  6. Servlet访问第一次500,刷新后404的解决办法

    第一次运行错误:HTTP Status 500 -  --------------------------------------------type Exception reportmessage  ...

  7. Maven最佳实践:Maven仓库(转)

    转自:http://juvenshun.iteye.com/blog/359256 什么是Maven仓库 在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/li ...

  8. php mysql 一个查询优化的简单例子

    PHP+Mysql是一个最经常使用的黄金搭档,它们俩配合使用,能够发挥出最佳性能,当然,如果配合Apache使用,就更加Perfect了. 因此,需要做好对mysql的查询优化.下面通过一个简单的例子 ...

  9. asp.net4.0在Global中的Application_Start 中直接或间接使用 HttpUtility.UrlEncode等出现异常Response is not available in this context的解决方法

    HttpUtility.HtmlEncode HttpUtility.HtmlDecode HttpUtility.UrlEncode HttpUtility.UrlDecode 也会出现此异常. 这 ...

  10. 为没有源码的DLL文件添加强名称

    为没有源码的DLL文件添加强名称 如果项目中引用了其他没有源码的dll文件,并且此dll文件是没有强名称的程序集,则编译时会出现类似 "Assembly generation failed ...