Soft & Share 開源報報 043 – 混亂的 CSV 檔案該如何處理?

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

學習資源

針對駭客的機率程式設計和貝葉斯方法

這是一本免費的線上電子書,教你使用 Python 和 PyMC 做機率主題的程式設計

這本書在 Amazon 也有印刷版本

相關線上課程 – Python中的貝葉斯機器學習:A / B測試


DevOps 問題練習

總共有 834 個問題,涵蓋了 Linux, Jenkins, AWS, SRE, Prometheus, Docker, Python, Ansible, Git, Kubernetes, Terraform, OpenStack, SQL, NoSQL, Azure, GCP, DNS, Elastic, Network, Virtualization 

之前寫過一篇 blog 介紹過,請參考 DevOps 工程師面試問題集錦 ,今天重新看了一次專案說明,作者澄清了說他準備這些問題不是用來做面試準備,但是如果你要準備 DevOps 工程師面試,作者有給一些建議

工具

pxi – 一個小型、快速、神奇的命令列資料處理器,類似於 jq、 mir 和 awk

這個命令列工具使用 Javascript 開發 ,讓你方便處理龐大結構性的檔案,並可以做 CSV, JSON 格式的轉換

這位開發者還寫了一篇 blog 介紹這個工具的用法


最快速的 WebAssembly 直譯器

使用 C 語言寫的 WebAssembly 直譯器,這個直譯器可以在多種平台上執行 ( Linux、Windows、Mac、Android、iOS ..

這個專案的開發動機

為何使用 “slow interpreter” 來取代 “fast JIT”?

在許多情況下,速度不是主要問題。 執行時可執行檔案的大小,程式碼密度,記憶體使用,啟動延遲都可以透過直譯器的方法得到改善。 可移植性和安全性更容易實現和維護。 還有一些平台(比如 iOS 和 WebAssembly 本身)無法在執行時生成可執行內碼表,因此 JIT 不可用。

為什麼要在微處理器上執行 WASM?

Wasm3 是作為一個研究專案開始的,並且透過許多方式保持了下來。 評估在不同的環境中的引擎是研究的一部分。 考慮到我們已經在 mcu 上運行了 Lua、 JS、 Python、 Lisp (…) ,WebAssembly 實際上是一個很有前途的選擇。 它提供了一個完全沙盒化、定義良好且可預測的環境。 在實際的用例中,我們可以列出邊緣運算、scripting、執行物聯網規則、區塊鏈契約等等。


GoatCounter – 簡單的網頁統計,不追蹤個人資料

這是一個網路分析平台,使用 Go 語言開發,大致類似於 Google Analytics 或 Matomo。 它旨在為商業目的提供有意義的、對隱私友好的網路分析,同時仍然可以為非技術使用者在個人網站上使用。 目前存在的選擇是免費託管但有問題的隱私(例如谷歌分析)、託管自己的複雜軟體或每月支付19美元(例如 Matomo)

這個開源專案也有提供付費的線上服務

桌面應用程式開發

建立 Electron 應用程式的最好方法是考慮到安全性

這是一個 Electron 開發樣板,以安全性為考量前提,裡面有不少關於安全性考量的開發實踐

資料科學

將 PDF、檔案和圖像轉換爲豐富的結構化資料

Parsr 是一個小巧實用的檔案(圖片,pdf) ,清理、解析和提取工具套件,爲資料科學家和開發人員生成隨時可用、有組織和可用的資料。


為研究和營運最佳化的快速最先進的標記器( Tokenizers )

使用 Rust 開發,有支援 Python 和 Node.js binding

Tokenizers 是自然語言處理 ( NLP ) 訓練模型中的一個流程 ,這邊有一篇文章就是在比較 Tokenizer 的性能 https://towardsdatascience.com/benchmarking-python-nlp-tokenizers-3ac4735100c5,但是裡面沒有提到這個開源專案

這個程式庫有以下的特色

  • 訓練新詞彙並使用當今最常用的標記器( Tokenizers )
  • 由於使用 Rust 實現,極其快速(既訓練和標記) 。 在伺服器的 CPU 上標記 GB 的文字只需不到20秒
  • 易於使用,但也非常多才多藝
  • 設計用於研究和營運
  • 正常化( Normalization )伴隨著比對追蹤。 總是有可能得到原句中與給定標記相對應的部分
  • 完成所有的預處理:新增模型需要的特殊標記

Wav2letter – Facebook 人工智慧研究中心支援的自動語音辨識工具套件

Wav2letter++ 是 Facebook 人工智慧研究中心語音團隊開發的一個快速開源語音處理工具套件,旨在促進語音辨識端到端模型的研究。 它完全是用 C++ 編寫的,使用了 ArrayFire 張量程式庫和 flashlight 機器學習庫以獲得最大的效率。 這個套件使用的方法在這篇 arXiv 論文中有詳細介紹。

這個專案還包含了各種 ASR 結果的預先訓練的模型和實現


CleverCSV – 是一個用於處理凌亂 CSV 檔案的 Python 套件

Clevercsv 可替代 pythoncsv 套件,改進了對凌亂的 CSV 檔案方言( dialect )檢測。 它還提供了一個方便的命令列工具,可以將混亂的檔案標準化或生成 Python 程式碼來匯入它。

開發者也寫了一篇 blog 關於處理凌亂的 CSV 檔案

行動應用程式設計

快速且簡單的日期選擇器 ( iOS )

程式設計語言

Cob – Go 專案的持續效能評估工具

可以跟各種 CI 工具整合 ( Github Actions ,Travis CI ,CircleCI )


hopa – 不需要額外的設置就可以執行 Javascript/TypeScript 的命令列工具

hopa 有以下功能

  • 讀取工作目錄檔案並讓你選擇一個檔案
  • 將 JS 檔案轉譯成一個有效的 Javascript bundle
  • 使用 node 來執行 javascript bundle 並顯示結果
  • 還會啟動一個 watcher 來監控修改的程式碼 ,並重新編譯

這位開發者會做這個工具主要是他厭倦了為了要執行一個 “modern” 的 Javascript 他必須要建立一個 dummy repository ,複製 webpack 檔案,在終端機和瀏覽器之間切換,他知道有 CodeSandbox 和 CodePen 這種線上工具可以使用,但是他只想在終端機中練習

這位開發者也寫了一篇 blog 介紹這個工具 https://krasimirtsonev.com/blog/article/hopa-javascript-typescript-runner

遊戲

世紀帝國 II 逆向工程

使用 C99 和 SDL2 建立的世紀帝國 II 遊戲引擎,支援網路對戰

不過這個開源專案不提供資料/聲音/Art 檔案,他是使用原本世紀帝國遊戲軟體中的檔案

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

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

Powered by WordPress.com.

Up ↑

探索更多來自 Soft & Share 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading