這是 Soft & Share 為訂閱會員所推出的服務,小編週一到週五會每天整理一篇開源專案的摘要說明整理 (早上 8 點前會發佈在 Soft & Share 網站 ) ,讓你可以利用上班前快速掌握目前開源專案的焦點。( 之前出版的開源報報 )
為什麼需要 Soft & Share 開源報報?
每天快速瀏覽開源報報具備有什麼效益?
- 增加自己的學習動力,提升自己的視野
- 從開源專案中獲得 side project 靈感與想法
- 利用開源專案提升自己的生產力
每天使用 NT8.3 元,你可以使用 Soft & Share 開源報報省下掌握每天開源資訊焦點的時間,這是一個很划算的時間槓桿投資
今日內容摘要
✅ 程式設計師的計算線性代數
✅ 透過命令列工具取得程式設計問題解決方法
✅ 使用 Markdown 建立漂亮的線上電子書
✅ 將 SSH 金鑰存放在 Secure Enclave
✅ 使用紐約時報的風格來閱讀 Reddit
✅ 在 React 中建立表單(Forms)不需要掉眼淚
✅ 資料科學 Python 筆記本
✅ 開源機器學習框架自動化用於文字和語音的對話
✅ 在 Bash 中最小化的分散式組態管理
✅ 學習從命令列管理遠端 Linux 伺服器所需的技能
✅ 使用 Flutter 開發基於真實生活場景設計的食品訂購和外賣應用程式
✅ 虛擬機翻譯中介語言
✅ 用於分析和總結 Go 測試輸出的 CLI 工具
✅ 使用 Rust 和 WebAssembly 開發的線上桌遊
開源報報內容
學習資源
程式設計師的計算線性代數
本課程的重點是: 我們如何以可接受的速度和準確度進行矩陣計算?
這門課程在2017年夏天舊金山大學的資料分析學碩士專案中開設(供研究生學習成為資料科學家)。 該課程使用 Python 語言透過 Jupyter Notebooks 進行教學,大多數課程使用 Scikit-Learn 和 Numpy 等程式庫,少數課程使用 Numba (一個將 Python 編譯為 C 以提高效能的程式庫)和 PyTorch (GPU 的 Numpy 替代品)。
與這些筆記本一起出現的還有 YouTube 上的演講影片播放列表。
工具
透過命令列工具取得程式設計問題解決方法
你是一個程式設計師嗎? 你是否發現自己經常用 Google 搜尋如何做基本的程式設計任務?
假設你想知道如何在 bash 中設定日期的格式。 為什麼要開啟瀏覽器瀏覽部落格(冒著分散注意力的風險) ,而你只需要待在 console 中,問問怎麼做:
$ howdoi format date bash
> DATE=`date +%Y-%m-%d`
howdoi 會回答各種問題:
$ howdoi print stack trace python
> import traceback
>
> try:
> 1/0
> except:
> print '>>> traceback <<<'
> traceback.print_exc()
> print '>>> end of traceback <<<'
> traceback.print_exc()
$ howdoi convert mp4 to animated gif
> video=/path/to/video.avi
> outdir=/path/to/output.gif
> mplayer "$video" \
> -ao null \
> -ss "00:01:00" \ # starting point
> -endpos 10 \ # duration in second
> -vo gif89a:fps=13:output=$outdir \
> -vf scale=240:180
$ howdoi create tar archive
> tar -cf backup.tar --exclude "www/subf3" www
使用 Markdown 建立漂亮的線上電子書
從 Gitbook fork ,使用 Github/Git Markdown 建立線上電子書

將 SSH 金鑰存放在 Secure Enclave
Secretive 是用於在 Secure Enclave 中儲存和管理 SSH 金鑰的應用程式。 它受到 sekey 專案的啟發,但是用 Swift 重寫,沒有外部相依套件,並且有一個方便的原生管理應用程式。
為什麼使用這個程式?
更安全的儲存
SSH 金鑰最常見的設定是將它們儲存在磁碟上,並由適當的許可權保護。 這在大多數情況下是可以的,但是對於惡意使用者或者惡意軟體來說拷貝你的金鑰並不是很難。 如果你將金鑰儲存在 Secure Enclave 中,那麼根據設計是不可能匯出它們的。

使用紐約時報的風格來閱讀 Reddit
Unim. Press 是一個類似於《紐約時報》風格的 Reddit 前端網頁閱讀器。

Web 應用程式開發
在 React 中建立表單(Forms)不需要掉眼淚
Formik 是一個小型的程式庫,它可以幫助你處理3個最煩人的部分:
- 獲取輸入和輸出 Forms 狀態的值
- 驗證和錯誤訊息
- 處理提交 Forms 的事宜
資料科學
資料科學 Python 筆記本
包含有深度學習 (TensorFlow,Theano,Caffe,Keras) ,scikit-learn,Kaggle,大數據 (Spark,Hadoop MapReduce,HDFS) ,matplotlib,pandas,NumPy,SciPy,Python essentials,AWS,以及各種命令列。
開源機器學習框架自動化用於文字和語音的對話
Rasa 是一個開源的機器學習框架,用於自動化基於文字和語音的對話。 使用 Rasa,你可以在以下服務建立情境助理:
- Facebook Messenger
- Slack
- Google Hangouts
- Webex Teams
- Microsoft Bot Framework
- Rocket.Chat
- Mattermost
- Telegram
- Twilio
- 你自己客製化的對話通道
或者配音助手:
- Alexa Skills
- Google Home Actions
Rasa 幫助你建情境(contextual)助理能夠有很多來回分層對話。 為了讓人類與情境助手進行有意義的交流,助手需要能夠使用上下文來構建之前討論過的內容—— Rasa 使你能夠構建能夠以可擴展的方式完成這項工作的助手。
在這篇部落格文章中有更多的背景資訊。
雲端和網路管理
在 Bash 中最小化的分散式組態管理
很小的替代品,可以替代 anable / chef / puppet / 等等。

學習從命令列管理遠端 Linux 伺服器所需的技能
以前的商業線上 Linux 伺服器管理課程的20個經驗教訓-現在免費讓你學習!
行動應用程式設計
使用 Flutter 開發基於真實生活場景設計的食品訂購和外賣應用程式。

程式設計語言/程式庫
虛擬機翻譯中介語言
VTIL 專案,代表虛擬機器翻譯中間語言,是一套圍繞編譯器最佳化設計的工具,用於二進位檔去模糊化和去虛擬化。
VTIL 和其他優化編譯器(如 LLVM)之間的主要區別在於,它有一個非常通用的 IL( 中介語言),可以從包括堆疊機(stack machines)在內的任何架構中提取。 由於 VTIL 是為翻譯而構建的,因此它不會抽象原生的 ISA,而是保留通用 CPU 的堆疊、實體暫存器和非 SSA 架構的概念。 原生指令可以在 IL 串流的中間發出,實體暫存器可以自由地從 VTIL 指令定址。
VTIL 還可以在請求的任何虛擬地址上將程式碼發回原生格式,而不受特定檔案格式的約束。
用於分析和總結 Go 測試輸出的 CLI 工具
通過測試
測試失敗
遊戲
使用 Rust 和 WebAssembly 開發的線上桌遊
Pont 是一款基於 Qwirkle (由 Mindware Games 開發)的線上遊戲
值得注意的是,客戶端和伺服器都是用 Rust 編寫的; 惟一的 Javascript 是載入 WebAssembly 模組的 shim。
架構
喜歡今天小編整理的開源報報嗎?歡迎給小編意見與回饋
發表迴響