15款值得学习的小型开源项目,带你快速步入开源世界

jopen 9年前

  对于初学者来说,小型开源项目更容易理解和学习,那么目前有哪些值得学习的小型开源项目?本文收集整理了知乎上网友推荐的一些不错的小型项目,代码基本都在 5000 行以内,感兴趣的朋友可以研究下~ 

15款值得学习的小型开源项目,带你快速步入开源世界

  SeaJS 

  Sea.js 是一个遵循 CommonJS 规范的 JavaScript 模块加载框架,可以实现 JavaScript 的模块化开发及加载机制。Sea.js 追求简单、自然的代码书写和组织方式,代码非常精简。

  Koa 

  Koa 是下一代的 Node.js 的 Web 框架。由 Express 团队设计。旨在提供一个更小型、更富有表现力、更可靠的 Web 应用和 API 的开发基础。

  pssh 

  pssh 提供了并行版本的 OpenSSH 工具,特别适合用来控制有大量机器需要连接的情况,包括并行版本的 ssh、scp、rsync 和 kill 命令。该项目是 Python 写的,代码清晰而简短,数据结构定义的很清楚,看了之后你会称赞的。 

  grep-at-point  

  在写代码的时候,有时候会需要查看某个函数/类/变量在哪些地方被使用过。该项目用 emacs lisp 语言写成,可实现在项目目录下,所有指定扩展名的文件中,搜索当前光标所在的单词。

  compile-make   

  该项目可实现 emacs 中一键编译的需求。在项目目录下寻找 Makefile 文件,并执行 make 命令进行编译。 语言:emacs lisp ;代码行数:19。  

  sigslot 

  很精简的 signal slot 的实现,跨平台。这个源码有 2000 多行,但是一大半是为了模板适配不同个数的参数的代码,干货不足 1000 行。   

  UCOS 

  uC/OS II (Micro Control Operation System Two)是一个可以基于 ROM 运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统 (RTOS)。 

  SQLite 

  SQLite 是遵守 ACID 的关联式数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp 建立的公有领域项目。SQLite 亦可以作为桌面数据库使用。 

  thttpd 

  thttpd 是一个小型的、简单的、可移植的、快速以及安全的 HTTP 服务器。 

  Boa Webserver 

  boa 是一个小型的 web 服务器,可以用于多种平台,在嵌入式中比较常见。 

  C4 

  4 个函数实现的c编译器,大约 500 行。基本上已经比较完备了,可以自己编译自己。

  GLib 

  GLib 是一个包含很多有用的 C 程序的开发包,例如树、哈希、列表等。GLib 之前是属于 GTK 工具包的一部分,现在独立出来成为单独项目。

  tj/co  

  不到三百行,用于改善 node 异步回调语法。 

  shadowsocks 

  shadowsocks 是一个基于 python 的轻量级 socks 代理软件(谁用谁知道)。

  aosabook 

  这是一本牛书 aosabook 的续集,500 Lines or Less 的源码。里面每一章的代码不超过 500 行,实现了 web 服务器、爬虫、OCR 等等“大型系统”,每一章由不同领域的大牛完成。看看作者列表,可以说是软件领域的名人堂。 

来自: CSDN