Soft & Share 開源報報 220 – 使用 Kotlin 用最少的努力快速建立 web 應用程式的框架

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

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

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

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

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

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

訂閱網址

開源報報內容

學習資源

Linux命令大全搜尋工具,內容包含Linux命令手冊、詳解、學習、蒐集。

當前蒐集了 570 多個 Linux 命令,是一個非盈利性的倉庫,生成了一個 web 網站方便使用,目前網站沒有任何廣告,內容包含 Linux 命令手冊、詳解、學習,內容來自網路和網友的補充,非常值得收藏的 Linux 命令速查手冊。

工具

一個實驗 Windows 安全的小工具

mimikatz 用來學習 C 語言和用 Windows 安全性做一些實驗的工具。

現在人們都知道從記憶體中提取純文字密碼、雜湊、 PIN 碼和 kerberos tickets。Mimikatz 還可以執行 pass-the-hash、 pass-the-ticket 或 build Golden tickets。

但這還不是全部!加密,終端伺服器,事件,… 許多資訊在 GitHub Wiki https://github.com/gentilkiwi/mimikatz/wiki 或者 https://blog.gentilkiwi.com 上(內容為法語)。

Web 應用程式開發

Redis 的全文檢索和輔助索引模組

RediSearch 在 Redis 之上實現了一個搜尋引擎,但與其他 Redis 搜尋庫不同的是,它不使用像 Sorted Sets 這樣的內部資料結構。

反向索引(Inverted indexes)是作為一種特殊的壓縮資料型別儲存的,它允許快速索引和搜尋速度,以及低記憶體佔用。

這還支援更高階的特性,比如文字查詢的精確短語(phrase)匹配和數字過濾,而這些特性在傳統的 Redis 搜尋方法中是不可能或不高效的。

一個規格相容,預設安全的 PHP OAuth 2.0伺服器

league/oauth2-server 是用 PHP 編寫的 OAuth 2.0 授權伺服器的標準相容實現,這使得使用 OAuth 2.0變得非常簡單。你可以輕鬆地配置 OAuth 2.0 伺服器,以使用 access tokens 保護你的 API,或允許 clients 請求新的訪問 tokens 並重新整理它們。

一個使用 Kotlin 用最少的努力快速建立 web 應用程式的框架。

這個框架的原則

Unopinionated ( 不堅持己見 )

Ktor 框架對於一個專案將要使用的技術並沒有強加太多的限制——日誌記錄、模板化、訊息傳遞、永續化、序列化、依賴注入/服務等等。有時可能需要實現一個簡單的介面,但通常是編寫一個轉換或攔截函式。應用程式使用統一的攔截機制安裝特性,允許建立任意的管道( pipelines )。

Ktor 應用程式可以託管在任何支援 Servlet 3.0 + API 的 Servlet 容器中,比如 Tomcat,或者使用 Netty 或 Jetty 獨立執行。可以透過統一的主機 API 新增對其他主機的支援。

Ktor api 主要是使用 lambdas 的函式呼叫。多虧了 Kotlin 的 DSL 功能,程式碼看起來像是宣告性的。應用程式的組成完全取決於開發者的選擇——函式或類別、使用依賴注入框架或在主函式中手動完成。

非同步

Ktor 管道(pipeline)機制和 API 利用 Kotlin coroutines 來提供易於使用的非同步程式設計模型,而不會使其過於繁瑣。所有的主機(host)實現都使用非同步I/O工具來避免執行緒阻塞。

可測試的

Ktor 應用程式可以託管在一個特殊的測試環境中,這個環境在一定程度上模擬了 web 伺服器,而實際上並沒有進行任何網路操作。它提供了簡單的方法來測試應用程式,而不需要模擬太多的內容,並且在驗證應用程式呼叫時仍然可以獲得良好的效能。使用真正的嵌入式 web 伺服器執行整合測試當然也是可能的。

資料科學

求解最佳化問題的 real-coded  遺傳演算法的 Rust 實現及神經網路的訓練

求解最佳化問題的 real-coded 遺傳演算法的 Rust 實現及神經網路的訓練。後者也被稱為神經進化。

功能

  • real-coded 進化演算法
  • 固定結構神經網路權值的神經進化調整
  • 支援多種前饋(feed-forward)結構
  • 為 EA 和 NE 自動計算單次和多次執行的統計資料
  • EA 設定和結果可以儲存到 json 中
  • 允許為 EA 和 NE 定義使用者指定的目標函式(見專案中的範例)

AWS上的Pandas ( AWS Data Wrangler )

一個 AWS 專業服務開源 python 專案,將 Pandas 程式庫的功能擴充到 AWS,將DataFrames 和 AWS 資料相關服務(Amazon Redshift,AWS Glue,Amazon,Amazon EMR,Amazon QuickSight,等等)連線起來。

它建構在其他開源專案(如 Pandas、 Apache Arrow、 Boto3、 SQLAlchemy、 Psycopg2 和 PyMySQL)之上,提供了抽象的函式來執行常見的 ETL 任務,如從 Data Lakes、 Data warehouse 和 Databases 載入/解除安裝資料。

雲端和網路管理

備份和遷移 Kubernetes 應用程式及其永續儲存空間

Velero (原 Heptio Ark)提供了備份和恢復 Kubernetes 叢集資源和永續儲存空間的工具。你可以使用公共雲端平台或 on-premises 執行 Velero。Velero 可以讓你:

  • 對叢集進行備份,並在發生丟失時進行恢復
  • 將叢集資源遷移到其他叢集
  • 將營運叢集複製到開發和測試叢集

Velero 包含

  • 在叢集上執行的伺服器
  • 在本地端執行的命令列客戶端

行動應用程式設計

Android 架構元件範例。

使用架構元件的範例集合:

一個圖片編輯器 Android 程式庫,簡單,易於支援影象編輯使用繪圖,文字,過濾器,表情符號和貼紙。

繪圖

濾鏡效果

文字

表情符號

程式設計語言/程式庫

Python 應用程式開發框架

Cement 是 Python 的高階應用程式開發框架,主要關注命令列介面(CLI)。它的目標是為簡單和複雜的命令列應用程式引入一個標準的、功能齊全的平台,以及在不犧牲品質的情況下支援快速開發需求。Cement 是靈活的,它的使用案例跨度從微框架的簡單到巨型框架的複雜。無論是單檔案 script 還是多層應用程式,Cement 都是你一直在尋找的基礎。

區塊鏈

遊戲

嵌入式系統

Zephyr 是適用於多種硬體架構的新一代,可擴充,最佳化的安全RTOS。

Zephyr 專案是一個可擴充的即時作業系統(RTOS) ,支援多種硬體架構,針對資源受限的裝置進行最佳化,並且在建構時考慮到安全性。

Zephyr 作業系統基於一個小尺寸的核心,設計用於資源受限的系統: 從簡單的嵌入式環境感測器和 LED 可穿戴裝置到複雜的智慧手錶和物聯網無線閘道器。

Zephyr 核心支援多種架構,包括 ARM Cortex-M、 Intel x86、 ARC、 Nios II、 Tensilica Xtensa 和 RISC-V,以及大量的supported boards

訂閱網址

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

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

Powered by WordPress.com.

Up ↑

%d 位部落客按了讚: