Contents
這是 Soft & Share 為訂閱會員所推出的服務,小編週一到週五會每天整理一篇開源專案的摘要說明整理 (早上 8 點前會發佈在 Soft & Share 網站 ) ,讓你可以利用上班前快速掌握目前開源專案的焦點。( 之前出版的開源報報 )
學習資源
Pandas 簡體中文教程
工具
OpenInTerminal – Finder 工具欄應用程式,用於 macOS 在終端機、 iTerm、 Hyper 或 Alacritty 中開啟工作目錄

Tip – 可程式設計的工具提示,可用於任何 Mac OS 應用程式
Tip (或其全名,通用 Tip)是一個可程式設計的工具提示,可以用於任何 Mac OS 應用程式。 你可以選擇文字並點選快捷鍵來啟用有用資訊( useful info )的工具提示。
“有用的資訊 useful info”是由你使用你最喜歡的程式語言程式設計。
對於我這樣一個容易發生重複性重複使力傷害的人來說,Tip減少了手的活動和受傷的風險。 這也讓我工作得更快。 我鼓勵你今天嘗試一下 Tip!
範例
將秒從紀元轉換為人類可以理解的時間,然後將其複製到剪貼板
Tip 在 Chrome 中使用
在所選文字上打開Github程式碼搜索
Tip 在 Sublime 中使用
在錯誤堆疊追蹤行中打開 Github 中的檔案
Tip 在終端機中使用
在選擇的文字打開 JIRA 的 ticket
Tip 在終端機中的使用
這個程式可以在 Mac App Store 中下載
點選特定的文字要做那些動作是可以客製化的,這功能稱之為 Provider ,是可以自己客製化的,請參考這個範例,是用 Ruby 寫的,應該也可以用其它的 script 語言寫
簡單的虛擬白板
Box Line Text (BLT)是一個簡單的虛擬白板工具。 它是簡約的,沒有可見的使用者介面。可以進入這個網站測試,直接用滑鼠就可以畫方框

Git-Extras – Git 實用程式—— repo 摘要、 repl、 changelog 數量、作者提交百分比等
操作示範- 包含 git-ignore, git-setup, git-changelog, git-release, git-effort 等
將文字轉換成手寫文字 – 你的老師讓你把作業上傳到 ERP 上? 討厭寫作約會? 這個工具可以幫助你將文字轉換為手寫
這位開發者討厭手寫作業,所以寫了這個程式,將文字轉換成像是手寫風格的作業

Web 應用程式開發
Brython – 可以在瀏覽器中執行 Python 3
Brython (Browser Python)是執行在瀏覽器中的 Python 3的一個實現,具有 DOM 元素和事件的介面。
下面是一個執行 Python 的 HTML 頁面的簡單例子:
<html>
<head>
<script type="text/javascript" src="/path/to/brython.js"></script>
</head>
<body onload="brython()">
<script type="text/python">
from browser import document, alert
def echo(event):
alert(document["zone"].value)
document["mybutton"].bind("click", echo)
</script>
<input id="zone"><button id="mybutton">click !</button>
</body>
</html>
要使用 Brython,你只需要
- 載入脚本brython.js.
- 在網頁載入的時候執行函数
brython()
就像<body onload="brython()">
. - 在標籤中編寫 Python 程式碼<script type=”text/python”>
一款 Chrome 擴充套件,為 instagram 頁面增加了3D 照片效果
一個 chrome 擴充套件,增加了來自 instagram 頁面圖片的深度視差(類似於 Facebook 的3D 照片)。
它使用在 Colab 執行的 3D 照片修補(免費 GPU)和 Cloud pubsub / storage 進行通訊。

要使用這個開源專案你必須在 GCP 上設定後端,請參考專案說明
Swim – 用於建構有狀態的大規模即時串流應用程式的分散式軟體平台
Swimos 是一個完整的、自包含的分散式軟體平台,用於建構有狀態的、大規模的即時串流應用程式。 實現了一個分散式微核心,叫做 Swim Kernel,它是沒有資料庫的永續化( persistent ),沒有訊息代理( message broker ) 的反應(reactive),沒有作業管理器的自治( autonomous),並且在沒有單獨的應用伺服器的情況下執行通用的有狀態應用程式。
架構
Swimos 和多路串流 ( multiplexed streaming ) WARP 協議使得全球資訊網(WWW)具有狀態性和大規模即時性。 大規模即時意味著 Web 應用程式的各個方面都可以即時高效地進行串流處理ーー保持整個 WARP Web 的持續同步。 Swim 核心通過執行通用的、有狀態的分散式行程(稱為 Web agent)來實現這一點,這些行程使用點對點多路串流( multiplexed streaming ) api 不斷地相互通訊,並與其他應用程式進行通訊。 Web Agents 還可以本地公開 HTTP、 WebSocket 和 MQTT 介面,使得將 Web Agents 整合到現有系統變得更加容易。
Swimos 的架構與傳統的分散式軟體平台有著根本的不同。 與依賴於堆疊的中介軟體不同,swimOS 的架構更像是一個高階的分散式作業系統。 Swim Kernel 全面分發和執行有狀態 Web Agent 應用程式的所有方面,提供內建的分散式永續化(persistent)、訊息傳遞、排程和多路串流 api。
垂直整合極大地簡化了應用程式的開發和操作,同時從根本上提高了效能。 CPU 比網路速度快100萬倍以上。 通過優化資料位置,從而消除大量多餘的網路往返,swimOS 將執行許多應用程式操作所需的時間從毫秒縮短到納秒。 這種效能提升並不會犧牲可擴展性: swimOS 是完全分散式的,並且具有線性可擴展性。
資料科學
一種從二進位影像中提取拓撲骨架為多邊形集的新演算法
傳統上,骨架化(細化)是一種形態學操作,以減少二進位影象的拓撲骨架,返回一個光柵影象的結果。 然而,有時更需要向量表示(例如折線)。 雖然輪廓發現可以用來進一步跟蹤結果,但它們通常給出封閉輪廓而不是單筆畫,並且容易由於輪廓化過程中的缺陷造成筆畫寬度的輕微變化。 在這個演示中,提出了一個基於並行分治的骨骼跟蹤演算法,該演算法實時地將二進位影象轉換為一組多邊形線,即沿著骨骼的(x,y)座標陣列。

基於第一性原理建構的六足機器人簡易瀏覽器模擬器
這個專案使用 Python + Plotly Dash 和 Numpy 開發
行動應用程式設計
採用乾淨架構 + TDD + GraphQL + flutter bloc + CodeCov + GitHub + GitHub Actions (CI/ CD) 製作的 Flutter 應用程式
使用 GraphQL 和 flutter_bloc 示範的乾淨架構 App
「營運等級」的實現
- 使用 GitHub Actions 做 CI/CD
- 使用 Githooks 確認乾淨的 commit 和 push
- 使用 flutter format 做事先 commit 格式檢查
- 使用 flutter analyze 和 flutter test 做事先 push 檢查程式碼
- 使用 Effective Dart 做程式風格檢查
- 使用 Codecov 做測試涵蓋率建查
- 使用 mockito 和 bloc_test 做測試

使用 Flutter 開發的工作計畫 App
工作規劃應用程式是使用 Flutter 建立。 應用程式設計是基於由 Purrweb UI 設計的工作規劃應用程式。 這個應用程式是靜態的。 我的意思是,這是一個使用者介面設計。 沒有後端。

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