七月新增開源項(xiàng)目:你學(xué)習(xí)的速度跟得上前端造輪子的速度嗎?

每月新增開源項(xiàng)目。顧名思義,每月更新一期。我們會從社區(qū)上個月新收錄的開源項(xiàng)目中,挑選出有價值的、有用的、優(yōu)秀的、或者好玩的開源項(xiàng)目來和大家分享。數(shù)量不多,但我們力求推薦的都是精品。目前這些開源項(xiàng)目主要來源于編輯們的搜集和用戶的投遞,所以如果你有更好的開源項(xiàng)目推薦,歡迎積極投遞。

戳這里查看投遞軟件的正確姿勢 >>>https://www.oschina.net/question/2918182_2266982

Web 開發(fā) — Web 不死!Web 永存!

fastpack/fastpackFastpack —— 輕松快速打包 JavaScript 應(yīng)用

如果你追前端輪子的速度足夠快,那么你的孤獨(dú)就追不上你。很遺憾,被巨大孤獨(dú)感包圍著的你,終究還是追不上前端造輪子的速度。

上個月,前端領(lǐng)域又誕生了一個新的“輪子” —— Fastpack,號稱可以輕松快速打包 JavaScript 應(yīng)用。它的目標(biāo)是做到對于中型應(yīng)用(約 1000 個模塊)的打包時間小于 1000ms,增量重新打包時間低于 100ms?;鶞?zhǔn)測試結(jié)果如下:

可以看到,與目前主流的打包工具 Webpack 和 Parcel 相比,F(xiàn)astpack 的時間打包時間具有不小的優(yōu)勢,有興趣的童鞋不妨嘗試一下。不過會不會有童鞋嘗試使用這個輪子之后,冒出“還不如我自己造個輪子”的念頭?叫?Veryfastpack?

tokio-rs/tokio?—— 使用 Rust 編寫的快速可靠異步編程框架

目前看來,Rust 依然還只是一門小眾的編程語言。不過 Rust 已經(jīng)表示他們將會在今年發(fā)布一個重大版本 ——Rust 2018。所以它依然值得我們關(guān)注。Rust 是由 Mozilla 主導(dǎo)開發(fā)的一門現(xiàn)代系統(tǒng)編程語言,現(xiàn)階段 Rust 定位的方向還是高性能服務(wù)器端程序開發(fā),非常適合對性能要求較高的系統(tǒng)編程領(lǐng)域。

這里推薦的?Tokio 是使用 Rust 編寫的異步編程框架,它將復(fù)雜的異步編程抽象為 Futures、Tasks 和 Executor,并提供了 Timer 等基礎(chǔ)設(shè)施。Tokio 快速、可靠,且可擴(kuò)展。

Tokio 是一個事件驅(qū)動的非阻塞 I/O 平臺,用于使用 Rust 編程語言編寫異步應(yīng)用。在高層設(shè)計上,它提供了一些主要組件:

多線程、工作竊?。╳ork-stealing)的 taskscheduler。

由操作系統(tǒng)的事件隊(duì)列(epoll,kqueue,IOCP 等)支撐的reactor

異步TCP 和 UDP套接字。

這些組件提供構(gòu)建異步應(yīng)用所需的運(yùn)行時組件。

hnes/libaco?——?一個極速的輕量級 C 非對稱協(xié)程庫

很少推薦關(guān)于 C 語言的開源項(xiàng)目,一是因?yàn)榕c其他語言相比,C 語言相關(guān)的開源項(xiàng)目比較少,再則就是優(yōu)秀的 C 語言開源項(xiàng)目也不多。本次推薦的?libaco 是一個高性能的網(wǎng)絡(luò)開發(fā)庫,質(zhì)量相當(dāng)高,7月份開源發(fā)布出來的時候,曾登上過 Github?Trending 排行榜。

作者對 libaco 的定義是一個極速的輕量級 C 非對稱協(xié)程庫(10 ns/ctxsw +一千萬協(xié)程并發(fā)僅耗內(nèi)存2.8GB),相當(dāng)耀眼的數(shù)據(jù)表現(xiàn)。下面簡要介紹一下這個項(xiàng)目:

除了一個生產(chǎn)級別的 C 協(xié)程庫實(shí)現(xiàn),還包含了一個詳細(xì)的文檔描述了如何實(shí)現(xiàn)一個最快且正確的協(xié)程庫以及其嚴(yán)格的數(shù)學(xué)證明;

核心實(shí)現(xiàn)不超過700行代碼,包含了一個協(xié)程庫應(yīng)該有的全部功能;

在 AWS c5d.large 機(jī)器上的性能測試結(jié)果指出,一次協(xié)程間上下文切換僅耗時10 ns(獨(dú)立執(zhí)行棧);

用戶在創(chuàng)建新的協(xié)程時,可以選擇其擁有一個獨(dú)占的執(zhí)行棧,或者是與其它任意數(shù)量的協(xié)程一起共享一個執(zhí)行棧;

擁有極致的內(nèi)存使用效率:一千萬個協(xié)程并發(fā)執(zhí)行僅消耗2.8GB的物理內(nèi)存( tcmalloc, 每一個協(xié)程使用 120B 的復(fù)制棧)。

上文中的"最快"指的是在滿足 Sys V ABI Intel386 或者 AMD64 約束下最快的上下文切換實(shí)現(xiàn)。

Funny OSS — 有趣的開源軟件

browsh-org/browsh——?基于文本的現(xiàn)代 Web 瀏覽器

Browsh 是一個純文本瀏覽器,可以運(yùn)行在大多數(shù)的 TTY 終端環(huán)境和任何 Web 瀏覽器。它能渲染現(xiàn)代瀏覽器所能渲染的任何東西:HTML5、CSS3、JS、視頻甚至 WebGL。其主要目的是在遠(yuǎn)程服務(wù)器上運(yùn)行,并通過 SSH/Mosh 或?yàn)g覽器內(nèi)的 HTML 服務(wù)進(jìn)行訪問,以顯著降低帶寬,從而提高瀏覽速度并降低帶寬成本。

上:渲染為 TTY 模式;下:渲染為瀏覽器模式

有人不禁會問,為什么要用這么一個瀏覽器呢?須知道,世界上還有很多地方的網(wǎng)絡(luò)環(huán)境不是那么好,對于帶寬有限的他們,這類產(chǎn)品能很好地兼容內(nèi)容和體驗(yàn)之間的矛盾,讓互聯(lián)網(wǎng)的便利普及更多的用戶。

chubin/cheat.sh?——?一個只能在命令行訪問的文檔查詢網(wǎng)站

cheat.sh 是一個網(wǎng)站,更是一個實(shí)用的速查工具。通過使用命令行執(zhí)行 curl http://cheat.sh,便可快速查找任何編程語言的一些語法和關(guān)鍵字。

cheat.sh 具有以下這些功能特性:

簡潔的 curl/browser 界面

涵蓋 55 種編程語言,一些 DBMSes 和 1000 多個最重要的 UNIX/Linux 命令

無需安裝,隨處可用

超快,通常在 100 毫秒內(nèi)即可返回答案

可以直接在代碼編輯器中使用,無需打開瀏覽器

本期的推薦到此結(jié)束,更多有趣有料的開源軟件盡在開源中國社區(qū)等你來發(fā)現(xiàn)~!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,185評論 3 119
  • 第一步:找到KSImageNamed插件的路徑路徑1: 路徑2:KSImageNamed插件路徑比較特殊,有時候會...
    船長_閱讀 473評論 6 3
  • 1. 大二深秋,孔子廣場舉行換書活動。我在書攤角落瞥見《嫌疑人X的獻(xiàn)身》。初見東野圭吾,街道兩旁的銀杏颯颯飄落。肅...
    某人李下閱讀 16,541評論 70 299
  • 我覺得朋友圈是一個很有意思的東西。我可以把一些自己內(nèi)心的東西分享給我的朋友,我愛的人,他們可能離我很遠(yuǎn)很遠(yuǎn),但這這...
    鼗豸爻爻閱讀 235評論 0 0
  • 一部很好看的電影—《瘋狂動物城》,里邊的人物有小兔·朱迪、狐貍尼克·大花生、樹懶閃電…… 這部電影...
    William1011閱讀 322評論 0 0

友情鏈接更多精彩內(nèi)容