fbpx

[Soft & Share 會員服務] 開源報報 292

Contents

這是 Soft & Share 為訂閱會員所推出的服務,小編週一到週五會每天整理一篇開源專案的摘要說明整理 (早上 8 點前會發佈在 Soft & Share 網站 ) ,讓你可以利用上班前快速掌握目前開源專案的焦點。( 之前出版的開源報報 )。想體驗開源報報,可先參考開放閱讀

🔥以主題方式整理出相關的開源專案 – 開源報報主題報導

為什麼需要 Soft & Share 開源報報?

每天快速瀏覽開源報報具備有什麼效益?

  1. 增加自己的學習動力,提升自己的視野
  2. 從開源專案中獲得 side project 靈感與想法
  3. 利用開源專案提升自己的生產力

每天使用 NT8.3 元,你可以使用 Soft & Share 開源報報省下掌握每天開源資訊焦點的時間,這是一個很划算的時間槓桿投資

訂閱網址

開源報報內容

工具

將瀏覽器分頁籤掛載為檔案系統

TabFS 是一個瀏覽器擴展外掛,可以將瀏覽器分頁作為檔案系統掛載在電腦上。

開箱即用,它支援MacOS和Linux上的Chrome和(較小程度上1)Firefox2。

每一個打開的分頁都會被映射到一個檔案夾中。

一個專注於單行程的 GNU/Linux 監控和剖析工具

Uroboros (發布時為uro) 是一個專注於單行程的 GNU/Linux 監控工具。

雖然像top、ps和htop這樣的實用工具提供了很好的整體細節,但它們往往缺乏對特定行程的有用的時間表示,這種對行程數據點的可視覺化表示可以用來剖析、偵錯和一般監控其健康狀況。有一些工具如 psrecord 可以記錄行程的部分活動,但需要一些圖形伺服器來渲染,而且既不完整也不即時。

Uroboros旨在填補這一空白,它提供了一個單一的工具,可以在終端即時記錄、重放和渲染行程運行資訊,而不像基於ptrace的解決方案那樣影響行程性能。

類似diff一樣,但是針對 PostgreSQL Schema

migra是一個PostgreSQL的 schema 差異工具,用Python編寫。在你的 python script 中使用它,或者像這樣從命令列中使用

$ migra postgresql:///a postgresql:///b 
alter table "public"."products" add column newcolumn text; alter table "public"."products" add constraint "x" CHECK ((price > (0)::numeric));

migra神奇地找出了從A到B所需的所有 statements

原生的、輕量級的 modal 程式碼編輯器

Onivim 2是對Oni編輯器的重新想象。Onivim 2旨在將 Sublime 的速度、VSCode的語言整合和 Vim 的 modal 編輯體驗整合到一個單一的套件中。

Onivim 2是使用revery框架使用  reason 建構的。

Onivim 2使用 libvim 來管理緩衝區,提供真實的 modal 編輯,並具有快速、原生的前端。此外,Onivim 2完整地利用了VSCode擴充套件主機流程( VSCode Extension Host process ) –這意味著,最終將完全支援VSCode擴充套件和配置。

目標

  • 現代使用者體驗–與 VSCode 和 Atom 等現代程式碼編輯器一樣的體驗。
  • VSCode 外掛支援–使用 VSCode 外掛的所有功能,包括語言伺服器和偵錯程式。
  • 跨平台–適用於Windows、OSX和Linux。
  • 包括電池 – 開箱即用
  • 效能–不折不扣:原生效能,最小的輸入延遲。
  • 簡單易學–Onivim 2對非 vim 使用者來說也應該是舒適的

雲端和網路管理

Elasticsearch缺失的Web使用者介面

dejavu 是 Elasticsearch 缺失的web UI。現有的 web 使用者介面有很多不足之處,或者是採用伺服器端的頁面渲染技術,使得它的響應速度更慢,執行起來更笨重。

程式設計語言/程式庫

使用 Rust 開發的 Ruby runtime

Artichoke 是一個用 Rust 和 Ruby 編寫的 Ruby 實現。Artichoke 打算 MRI-compatible ,目標是Ruby 2.6.3。Artichoke 提供了一個用 Rust 和 Ruby 實現的Ruby runtime

Java 程式庫,它實現並整合了 TCP 擁塞控制的概念,以自動檢測服務的併發( concurrency ) 限制,從而實現最佳吞吐量與最佳延遲。

當考慮服務可用性時,營運商傳統上以RPS(每秒請求數)來考慮。通常會進行壓力測試,以確定RPS,當RPS達到一定程度時,服務就會超過。然後將RPS限制設定在低於該臨界點的某個位置(例如該值的75%),並通過 token bucket 強制執行。然而,在自動擴充的大型分散式系統中,這個值很快就會過時,服務會因無法優雅地減去多餘的負載而變得無響應。與其用RPS來思考,我們應該用併發( concurrency ) 請求來思考,我們應用佇列理論來確定一個服務在佇列開始建立、延遲增加和服務最終耗盡一個硬限制(如CPU、記憶體、磁碟或網路)之前可以處理的併發請求數量。這個關係用Little’s Law很好的覆蓋了,其中Limit = Average RPS * Average Latency。

併發限制非常容易執行,但很難確定,因為它們需要營運商充分了解服務執行的硬體,並協調它們如何擴充。相反,我們更願意測量或估計網路中每個點的併發限制。隨著系統的擴充和達到極限,每個節點將調整並執行其本地的極限觀點。為了估計極限,我們借鑑常見的 TCP 擁塞控制演算法,將系統的併發極限等同於TCP擁塞視窗。

在應用該演算法之前,我們需要設定一些基本規則。

  • 我們接受每個系統都有一個固有的併發限制,這個限制是由硬體資源決定的,比如CPU核數
  • 我們接受這個限制會隨著系統的自動伸縮而改變
  • 對於大型複雜的分散式系統,不可能知道所有的硬體資源
  • 我們可以使用延遲測量來確定排隊發生的時間
  • 我們可以使用超時和被拒絕的請求來積極地後退

正規表示式匹配引擎在C語言中的一個小實現

cregex是一個緊湊的C語言正規表示式(regex)匹配引擎的實現,它的設計靈感來自於Rob Pike在 “Beautiful Code “一書中的regex-code,可以在這裡找到。它的基礎是Russ Cox的兩篇論文

cregex 支持POSIX 基本正規表示式的語法和語義的一個子集。cregex的主要設計目標是小巧、正確、自包含、使用少量資源,同時保留可接受的性能和功能的完整性。

區塊鏈

Monero:安全、私密、不可追蹤的加密貨幣

Monero是網際網路世界的現金。它快速、私密、安全。有了Monero,你就是你自己的銀行。你可以安全地消費,知道其他人無法看到你的餘額或追蹤你的活動。

嵌入式系統

為你的Raspberry Pi 3或4設備提供一個純粹的Go用戶區

gokrazy 將你的 Go 應用程式打包到Raspberry Pi 3或4的SD卡鏡像中,除了Linux內核和專有的Raspberry Pi 開機程式外,它只包含 Go 程式。

Soft & Share 網站加值服務

找線上課程?試看看 Soft & Share 網站搜尋引擎

✍ 搜尋結果太多?可參考 Soft & Share 搜尋引擎使用技巧


幫我們個小忙!

使用 e-mail 追蹤 Soft & Share

Image by Franz Bachinger from Pixabay

Comments are closed.

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: