15款值得學習的小型開源專案 帶你快速步入開源世界

csdn發表於2014-11-13

  對於初學者來說,小型開源專案更容易理解和學習,那麼目前有哪些值得學習的小型開源專案?本文收集整理了知乎上網友推薦的一些不錯的小型專案,程式碼基本都在5000行以內,感興趣的朋友可以研究下~ 

  

  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行。   Gtalk原始碼剖析之:sigslot介紹

  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 非同步回撥語法。 

  aosabook
  這是一本牛書aosabook的續集,500 Lines or Less的原始碼。裡面每一章的程式碼不超過500行,實現了web伺服器、爬蟲、OCR等等“大型系統”,每一章由不同領域的大牛完成。看看作者列表,可以說是軟體領域的名人堂。 

相關文章