"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. 修改oracle实例名orcl为demo

    修改oracle实例名有六步: 1.sqlplus username/password as sysdba登陆,然后从spfile文件创建pfile文件 :create pfile from spfi ...

  2. 【python】Redis介绍及简单使用

    一.redis redis是一个key-value存储系统.和 Memcached类似,它支持存储的value类型相对更多,包括string(字符串). list(链表).set(集合).zset(s ...

  3. c# CLI托管工程开启调试c++库工程代码

    启动调试c#winform工程中,无法命中c++库工程中中的断点,在c#工程中更改调试设置: 勾选上Enable unmanaged code debuging

  4. multithreading - Reader/Writer Locks in C++

    You Only Need To Note This: only 1 single thread can acquire an upgrade_lock at one time. others are ...

  5. JQ轮播

    首先是html结构,一个简单的轮播,主要分为三大层:div>ul>li,li里面的img图片. 其次,css样式:div固定住宽高,overflow:hidden:ul的宽度建议是动态获取 ...

  6. SQL NOT EXISTS

    看了一篇文章,虽然知识点很简单,但是还是帮我理解了一些以前没想到的东西 一共三个表student,class,score create table student(sno varchar(50) no ...

  7. 迭代器模式(Iterator Pattern)

    迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示. 迭代器模式(Iterator)就是分离了聚合对象的遍历行为,抽象出一个迭代器来负责这样既可以 ...

  8. asp.net 自定义控件 嵌入资源文件 备忘

    要想在自定义用户控件中嵌入资源,从以下几个步骤入手: 1.在AssemblyInfo.cs中注册资源,文件夹层级用点隔开.例如: [assembly: System.Web.UI.WebResourc ...

  9. 使用异步I/O大大提高应用程序的性能

    转自:https://www.ibm.com/developerworks/cn/linux/l-async/ AIO简介 Linux中最常见的输入输出(I/O)模型是同步I/O.在这个模型中,当请求 ...

  10. 自己编写的一个有关安卓应用开发培训PPT

    这个是我自己编写的一个有关安卓应用开发培训PPT,适合新手. 在这里下载PPT