Soft & Share 開源報報 108

這是 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,你只需要

  1. 載入脚本brython.js.
  2. 在網頁載入的時候執行函数brython() 就像<body onload="brython()">.
  3. 在標籤中編寫 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 設計的工作規劃應用程式。 這個應用程式是靜態的。 我的意思是,這是一個使用者介面設計。 沒有後端。

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

Comments are closed.

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: