Soft & Share 開源報報 059

這是 Soft & Share 為訂閱會員所推出的服務,小編週一到週五會每天整理一篇開源專案的摘要說明整理 (中午 12 點前會發佈在 Soft & Share 網站 ) ,讓你可以利用中午休息時間快速掌握目前開源專案的焦點。( 之前出版的開源報報 )

學習資源

31 天的 API 安全性設計挑戰

這是一位開發者 Inon Shkedy 列出來的 31 天 API 安全設計挑戰,從這些問題中可以學到設計 API 要注意哪些事項會關係到系統的網路安全


面試 – 你要找到一份軟體工程師工作所需要的一切知識

收集許多軟體工程師面試的資源,也有 youtube channel

工具

使用 GitHub 資訊來產生你的履歷表

這是一個 web service 可以根據你的 GiHub repository/activity 來產生你的履歷,可以到這個網頁測試看看 http://resume.github.io/ ,也可以看到一些範例


Svgbob – 把你的 ascii 圖轉換成 SVG

這個工具使用 Rust 開發,在 PPT 上可以看到用 ascii 組出來的圖,用這個工具可以將那些 ascii 圖轉換成 SVG 格式


tokei – 快速計算你的程式碼行數

Tokei 是一個程式,顯示有關你的程式碼的統計資料。

Web 應用程式開發

DarkModeJS – 偵測使用者目前的時間,然後自動切換到 Dark Mode

輕量級和跨瀏覽器的 DarkModeJS 可以幫助你自動檢測使用者的時間和切換到Dark Mode的主題。 此外,它的大小只有2.5 kb,純 Javascript 編寫,沒有任何外掛和 jQuery!


octomments – 將你的網站/blog 的評論整合到 Github issue的程式庫

使用這個 Javascript 程式庫可以將你的網站評論功能串連到 Github issue ,也就是使用者在你的網頁下方留言時會變成一個 github issue


React Rainbow – 一些 React 元件組合,可用來快速建立 web 應用程式

React Rainbow 是一組元件的集合( 包含有 60 個以上的元件 ) ,可以可靠地幫助你迅速建構應用程式


KeyDB – 支援多執行緒的 Redis 分支

KeyDB 是 Redis 的一個高效能分支,主要關注多執行緒、記憶體效率和高吞吐量。 除了多執行緒外,KeyDB 還具有只能在 Redis Enterprise 中使用的功能,如 Active Replication、 FLASH 儲存支援,以及一些 Redis 沒有支援的功能,例如直接備份到 AWS S3。

KeyDB 保持與 Redis 通訊協定、模組和指令碼的完全相容性。 這包括 scripts 和 transactions 的原子性保證。 因為 KeyDB 與 Redis 開發 KeyDB 保持同步,所以 KeyDB 是 Redis 功能的超集,使得 KeyDB 成為現有 Redis 部署的替代品。

資料科學

ai-lab – 用來快速做原型的 All-in-one 人工智慧容器

一體化的人工智慧開發容器,相容 nvidia-docker gpu 加速的容器執行時和 JupyterHub 快速製作原型( Prototype )。 它被設計成一種更輕便、更便攜的雲端供應商“深度學習虛擬機器”的替代品。 透過在你的工作站、雲端或 JupyterHub 中拉入並執行容器,啟動並執行範圍廣泛的機器學習和深度學習任務。

這個容器包含

基於網頁式的開發環境

雲端和網路管理

PayloadsAllTheThings – Web 應用程式安全的有用有效負載( payloads ) 和繞過( bypasses ) 列表

這些 Payload 和 bypasses 可用用來做網路應用程式的資安測試 ( Pentest )

行動應用程式設計

StreetComplete – 易於使用的 Android 開放街道地圖編輯器

StreetComplete 是一個易於使用針對 Android 系統的開放式街道地圖資料編輯器。 它可以在沒有任何 openstreetmap 特定知識的情況下使用。 它提出簡單的問題,直接用於編輯和改進 OpenStreetMap 資料的答案。 這個應用程式的目標使用者是那些對 OSM 標籤方案一無所知但仍然想為 OpenStreetMap 做貢獻的使用者。

StreetComplete 自動尋找附近需要調查的地方,並將它們顯示為地圖上的任務標記。 每個任務都可以在現場通過回答一個簡單的問題來解決。 例如,點選標記可能會顯示一個問題“這條路的名字是什麼? ” ,用一個文字欄位來回答它。 下面的截圖顯示了更多的例子。

使用者的答案將被自動處理並直接上傳到 OSM 資料庫中。 使用使用者的 OSM 帳戶在有意義的變更集中進行編輯。 因為這個應用程式是用來做調查的,所以它可以離線使用,而且在資料使用方面很經濟。

程式設計語言/程式庫

jc – 此工具將流行的 gnu linux 命令列工具的輸出和檔案類型序列化為結構化的 JSON 輸出。 這允許將輸出管道輸送到像 jq 這樣的工具

jc 這個程式是使用 python 開發,jc 解析器也可以用作 python 模組。

jc 用於將許多標準 linux cli 工具和檔案類型的輸出變成 JSON 結構資料,以便更容易地在指令碼中進行解析。這允許使用諸如 jq 之類的工具通過管道命令進行進一步的命令列處理

這位開發者還寫了一篇 blog 描述他的開發動機 – https://blog.kellybrazil.com/2019/11/26/bringing-the-unix-philosophy-to-the-21st-century/.

所以這個程式可以用在後端,將 Linux 的指令變成 Restful API ,但是要注意系統的安全性


hydra – 一個優雅配置複雜應用程式的框架

這是 Facebook 支援的開源專案, Facebook 已經用 hydra 來製作複雜研究專案的原型

Hydra 是一個輕量級框架,透過引入組合( compose ) 和複寫( override ) 配置的能力,簡化了 Python 應用程式的開發,尤其是複雜的應用程式。 Hydra 使得向專案新增功能以適應新的用例和需求變得更加容易,而無需重寫大量的程式碼。 Hydra 還大大減少了對複雜應用程式中常見的某些形式的樣板程式碼的需求,比如定義命令列標誌 ( flags )、操作配置檔案和配置日誌。 Hydra 開發、建立和維護程式碼和配置的靈活方法可以幫助加速各個領域複雜應用程式的開發,包括機器學習研究。

這個框架功能包含

  • 動態命令列 tab completion ( 使用 tab 鍵自動完成命令列參數設定 ) ,它有助於複雜配置的可發現性,並減少使用者錯誤
  • 本地或遠端啟動應用程式的能力,允許使用者利用比本地端可用資源更多的資源
  • 使用一個命令執行具有不同參數的多作業的能力,從而消除了對相關支援指令碼的需求

更多說明請參考 https://engineering.fb.com/open-source/hydra/


NodeGui – 使用 Node.js 和 CSS 來建立跨平台的原生桌面應用程式

這個專案的前端也可以用 React ,有另一個版本 React NodeGUI

由 Qt5驅動,與其他基於 chromium 的解決方案如 electron 相比,它的 CPU 和記憶體效率更高。

喜歡今天小編整理的開源報報嗎?歡迎給小編意見與回饋

Comments are closed.

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: