上週 18k+ 的專案 bun 這周又獲得 7k+ star,是時候瞭解下它背後的程式語言 zig 了,它並不是一門新的語言,伴隨著 bun 的風靡,zig 本週也上了 GitHub 熱榜。同樣,可以學習的還有 software-papers 也是個新專案,收錄了大量值得一讀的軟體工程論文。
除了學習新東西,一些老知識,如果你沒掌握不妨也來二次學習下,比如敲下 www.google.com 之類任意一個網站 web 的工作原理。
知識之外,本週新工具上榜的有 trpc,輕輕鬆鬆搞定 API 以及避免廣告打擾的 pi-hole。
以下內容摘錄自微博@HelloGitHub 的 GitHub Trending 及 Hacker News 熱帖(簡稱 HN 熱帖),選項標準:新發布
| 實用
| 有趣
,根據專案 release 時間分類,釋出時間不超過 14 day 的專案會標註 New
,無該標誌則說明專案 release 超過半月。由於本文篇幅有限,還有部分專案未能在本文展示,望周知 ?
- 本文目錄
-
- 本週特推
- 1.1 身份驗證:logto
- 1.2 rust 實踐:rust-by-practice
-
- GitHub Trending 周榜
- 2.1 不新的程式語言:zig
- 2.2 輕鬆用 API:trpc
- 2.3 Web 工作原理:how-web-works
- 2.4 廣告攔截:pi-hole
- 2.5 軟體工程論文:software-papers
-
- 往期回顧
-
1. 本週特推
1.1 身份驗證:logto
本週 star 增長數:800+
Logto 一個驗證工具,在幾分鐘內即可構建集登入、身份驗證和使用者身份為一體的系統。它提供基於 OIDC 的身份認證服務和包含使用者名稱、電話、郵件和社交登入方式的終端體驗,並且提供多語言支援。特性:
- 集前後端為一體的驗證方案;
- 開箱即用,之前需要編寫的部分程式碼現在可以不用寫了;
GitHub 地址→https://github.com/logto-io/logto
1.2 rust 實踐:rust-by-practice
本週 star 增長數:950+
實踐出真知,rust-by-practice 用各類具有挑戰性的例子、練習、專案讓你在實踐中提升 Rust 編寫技能,從而縮短你同 Rust “老手”的距離。
2. GitHub Trending 周榜
2.1 不新的程式語言:zig
本週 star 增長數:700+
還記得上週推特一週獲得 18k+ star 的 JS 執行時專案 bun 麼?Zig 便是它的程式語言,Zig 是一個命令式、通用、靜態型別、編譯的系統程式語言。Zig 以 “強健性、最佳性以及可維護性” 為核心理念,支援編譯時泛型與反射、交叉編譯以及手動儲存器管理。
const std = @import("std");
const json = std.json;
const payload =
\\{
\\ "vals": {
\\ "testing": 1,
\\ "production": 42
\\ },
\\ "uptime": 9999
\\}
;
const Config = struct {
vals: struct { testing: u8, production: u8 },
uptime: u64,
};
const config = x: {
var stream = json.TokenStream.init(payload);
const res = json.parse(Config, &stream, .{});
// Assert no error can occur since we are
// parsing this JSON at comptime!
break :x res catch unreachable;
};
pub fn main() !void {
if (config.vals.production > 50) {
@compileError("only up to 50 supported");
}
std.log.info("up={d}", .{config.uptime});
}
GitHub 地址→https://github.com/ziglang/zig
2.2 輕鬆用 API:trpc
本週 star 增長數:950+
tRPC 讓你更輕鬆地構建和使用全型別安全的 API,而不需要模式或程式碼生成。部分特性:
- 可用在生產環境;
- 無程式碼、執行時膨脹、管道構建;
- 輕量,DEP 為 0 且客戶端痕跡很小;
- 易於整合到現有的專案中;
- 支援訂閱;
- 支援批量處理請求;
GitHub 地址→https://github.com/trpc/trpc
2.3 Web 工作原理:how-web-works
本週 star 增長數 1,050+
這是一個比較歷史悠久的科普知識了:當你敲下 www.google.com(類似於 www.baidu.com)會發生什麼呢?它包含了如何識別鍵入資訊、解析 url、檢查 HSTS 列表、DNS 查詢等等在內的 20+ 個過程。配圖是 DNS 查詢。
2.4 廣告攔截:pi-hole
本週 star 增長數:700+
pi-hole 是一個 DNS 漏洞,可以保護裝置免受“廣告”內容,而無需安裝任何客戶端軟體。特性:
- 易安裝,不到十分鐘在引導下即可安裝完成;
- 果斷攔截非必需內容;
- 快響應,DNS 快取可加快日常瀏覽速度;
- 輕量級,只需少量軟硬體;
- 高顏值儀表盤,檢視日常資訊;
- 可遮蔽 IPv4 和 IPv6 廣告;
GitHub 地址→https://github.com/pi-hole/pi-hole
2.5 軟體工程論文:software-papers
本週 star 增長數:1,250+
New
software-papers 收錄了大量軟體工程相關的論壇,從計算機起源到函數語言程式設計,一起通過閱讀論文來了解軟體工程吧。
3. 往期回顧
往期回顧:
以上為 2022 年第 29 個工作周的 GitHub Trending ?如果你 Pick 其他好玩、實用的 GitHub 專案,記得來 HelloGitHub issue 區和我們分享下喲 ?
最後,記得你在本文留言區留下你想看的主題 Repo(限公眾號),例如:AI 換頭。? 和之前的送書活動類似,留言點贊 Top3 的小夥伴(棒),小魚乾會努力去找 Repo 的^^
HelloGitHub 交流群現已全面開放,新增微訊號:HelloGitHub001 為好友入群,可同前端、Java、Go 等各界大佬談笑風生、切磋技術~