Soft & Share 開源報報 186 – C++11 和 Python 之間的無縫可操作性

這是 Soft & Share 為訂閱會員所推出的服務,小編週一到週五會每天整理一篇開源專案的摘要說明整理 (早上 8 點前會發佈在 Soft & Share 網站 ) ,讓你可以利用上班前快速掌握目前開源專案的焦點。( 之前出版的開源報報 )。想體驗開源報報,可先參考每週五有開放閱讀

🔥以主題方式整理出相關的開源專案 – 開源報報主題報導

為什麼需要 Soft & Share 開源報報?

每天快速瀏覽開源報報具備有什麼效益?

  1. 增加自己的學習動力,提升自己的視野
  2. 從開源專案中獲得 side project 靈感與想法
  3. 利用開源專案提升自己的生產力

每天使用 NT8.3 元,你可以使用 Soft & Share 開源報報省下掌握每天開源資訊焦點的時間,這是一個很划算的時間槓桿投資

訂閱網址

開源報報內容

工具

讓 Git hooks 變得容易

這個套件提供了許多 git hooks 的樣板,可以讓你快速使用 git hooks ,這篇文章 – 維持團隊開發程式碼品質的好工具 — Git Hooks & Husky 有分享 husky 的使用經驗

透過 OpenAPI Spec (v2,v3)自動生成 API 客戶端程式庫(SDK 生成)、伺服器存端程式碼片段、文件和配置

根據 OpenAPI 規範,你可以為超過 50 種語言生成客戶端原始碼。 你可以為超過 40 種不同的語言生成伺服器端程式碼。

想要了解更多這個開源工具的使用,裡面有推薦一本書 –  A Beginner’s Guide to Code Generation for REST APIs 

Python 程式碼靜態分析工具

Pyre 是 Python 與 PEP 484 相容的效能型別檢查器。Pyre 可以增量地分析數百萬行程式碼——在開發人員編寫程式碼時向他們提供即時回饋。

Pyre 附帶 Pysa,這是一個專注於安全的靜態分析工具,我們在 Pyre 的基礎上建構了它,用於推理 Python 應用程式中的資料流。

Pysa: An open source static analysis tool to detect and prevent security issues in Python code

Web 應用程式開發

用於 UI 開發的一組免費的 MIT 授權的高品質 SVG 圖示。

資料科學

基於擺放影像的端到端 3D 場景重建

我們透過從一組擺好位置的 RGB 影像,使用直接回歸( regression )一個 truncated signed distance function(TSDF)方法,提出了一種端到端的場景3D重建方法。傳統的3D重建方法在估計場景的完整3D模型之前依賴於深度地圖( depth map ) 的中間表示。我們假設直接回歸到3D更有效。 2D CNN獨立地從每個影像中提取特徵,然後將其反投影並使用相機的本質( intrinsics )和非本質將其累積到體素體積中。累積後,3D CNN會細化累積的特徵並預測TSDF值。此外,無需大量運算即可獲得3D模型的語義分割。在Scannet資料集上對這種方法進行了評估,我們在數量和品質上均顯著優於最新的基線(deep multiview stereo,然後是傳統TSDF融合)。我們將3D語義分割與使用深度感測器的現有方法進行了比較,因為以前沒有工作嘗試僅使用RGB輸入來解決該問題。

交易中的機器學習

這本書旨在展示機器學習如何以一種實用而全面的方式為演算法交易策略增值。它涵蓋了從線性迴歸到深度強化學習的廣泛機器學習技術,並展示如何建立,回溯測試和評估由模型預測驅動的交易策略。

本書分為四個部分,共有23章加上附錄,包括以下內容:

  • 資料來源、財務特徵工程和投資組合管理的重要觀點,
  • 基於基本的監督式和非監督的 ML 演算法的長短策略的設計和評估
  • 從美國證券交易委員會備案檔案、盈利通話記錄或財經新聞等財務文字資料中提取可交易訊號
  • 使用像 CNN 和 RNN 這樣的深度學習模型來獲取金融資料和可選資料,利用生成性對抗性網路來生成合成資料,並使用深度強化學習來培訓交易代理人

這個 repository 包含超過150個筆記本,將書中討論的概念、演算法和用例付諸行動。它們包含了大量的範例

  • 如何處理和提取市場訊號,fundamental和替代文字和影象資料,
  • 如何培訓和調整預測不同資產類別和投資視野回報率的模型,包括如何複製最近發表的研究成果,以及
  • 如何設計,回溯和評估交易策略

雲端和網路管理

是一個分散式、高可用性和資料中心感知的解決方案,用於跨動態、分散式基礎設施連線和配置應用程式。

幾個關鍵特性:

  • 多資料中心- Consul 建成資料中心感知,可以支援任何數量的區域,而不需要複雜的配置。
  • 服務網格(Service Mesh)/服務分割( Service Segmentation )-使用自動 TLS 加密和基於身份的授權實現安全的服務對服務通訊。應用程式可以在服務網格配置中使用 sidecar 代理為入站和出站連線建立 TLS 連線,而完全不知道 Connect。
  • 服務發現- Consul 使服務註冊自己並透過 DNS 或 HTTP 介面發現其他服務變得簡單。 諸如 SaaS 提供者之類的外部服務也可以註冊。
  • 健康檢查——健康檢查使 Consul 能夠快速向操作員通報叢集中的任何問題。與服務發現的整合可以防止將流量路由到不健康的主機,並啟用服務級斷路器。
  • Key/ Value 儲存-一個靈活的 Key/Value 儲存允許儲存動態配置,特徵標記,協調,領導選舉等。簡單的 HTTP API 使得在任何地方都可以輕鬆使用。

Consul 執行在 Linux、 Mac OS x、 FreeBSD、 Solaris 和 Windows 上。

開放服務網格(Open Service Mesh,OSM)是一個輕量級、可擴充的 Cloud Native 服務網格

它允許使用者對高動態微服務環境進行統一的管理、安全和開箱即用的功能

OSM 專案建立在許多 Cloud Native 生態系統專案的想法和實現之上,包括  LinkerdIstioConsulEnvoyKumaHelm 和  SMI 規範。

概覽

OSM 在 Kubernetes 上執行一個基於特使( Envoy ) 的控制平面,可以配置 SMI api,並透過在應用程式的每個實例旁邊注入一個特使代理作為一個 sidecar 容器來工作。代理包含並執行有關訪問控制策略的規則,實現路由配置,並捕獲指標。控制平面不斷地配置代理,以確保策略和路由規則是最新的,並確保代理是健康的。

行動應用程式設計

受到 Leaflet 啟發的 Flutter map widget

給 Flutter app 使用的 Dart 實現 Leaflet 元件

一個用於渲染靜態 html 的 Flutter widget (將渲染超過80個不同的 html 標記!)

程式設計語言/程式庫

用於 .NET 應用程式的基於 Console 的使用者介面工具套件

一個簡單的工具套件來建立 .Net/.Net Core Console GUI 應用程式,以及在 Windows、 Mac 和 Linux/Unix 上執行的 Mono。

C++11 和 Python 之間的無縫可操作性

Pybind11是一個輕量級 header-only 程式庫,它公開 Python 中的 C++ 型別,反之亦然,主要用於建立現有 C++ 程式碼的 Python 繫結。它的目標和語法類似於優秀的 Boost.Python 程式庫: 透過使用編譯時自省推斷型別資訊,最小化傳統擴充模組中的樣板程式碼。

Boost.Python 的主要問題以及為何要建立這樣一個類似專案的原因 – Boost 是一個龐大而複雜的實用程式庫套件,幾乎可以與現有的所有 C++ 編譯器一起工作。這種相容性是有代價的: 為了支援最古老和錯誤最多的編譯器版本,有必要使用晦澀難懂的模板技巧和變通方法。既然 C++ 11相容的編譯器已經廣泛可用,這種繁重的機制已經成為一種過於龐大和不必要的依賴。

可以將這個程式庫看作是 Boost.Python 的一個微小的自包含版本。去掉了與繫結生成無關的所有東西。如果沒有註釋,核心標頭檔案只需要4 k 行程式碼,並且依賴於 Python (2.7或3. x,或者 PyPy2.7 > = 5.7)和 C++標準程式庫。這種緊湊的實現得益於一些新的 C++ 11語言特性(特別是: tuples, lambda functions 和 variadic templates)。自建立以來,這個程式庫已經超越了 Boost.Python。透過多種方式使用 Python,從而在許多常見情況下極大地簡化了繫結程式碼。

訂閱網址

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

Comments are closed.

Powered by WordPress.com.

Up ↑

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

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

Continue reading