上周 18k+ 的项目 bun 这周又获得 7k+ star,是时候了解下它背后的编程语言 zig 了,它并不是一门新的语言,伴随着 bun 的风靡,zig 本周也上了 GitHub 热榜。同样,可以学习的还有 software-papers 也是个新项目,收录了大量值得一读的软件工程论文。
除了学习新东西,一些老知识,如果你没掌握不妨也来二次学习下,比如敲下 google.com 之类任意一个 站 web 的工作原理。
知识之外,本周新工具上榜的有 trpc,轻轻松松搞定 API 以及避免广告打扰的 pi-hole。
1. 本周特推
1.1 身份验证:logto
本周 star 增长数:800+
Logto 一个验证工具,在几分钟内即可构建集登录、身份验证和用户身份为一体的系统。它提供基于 OIDC 的身份认证服务和包含用户名、电话、邮件和 交登录方式的终端体验,并且提供多语言支持。特性:
GitHub 地址→github.com/logto-io/logto
1.2 rust 实践:rust-by-practice
本周 star 增长数:950+
实践出真知,rust-by-practice 用各类具有挑战性的例子、练习、项目让你在实践中提升 Rust 编写技能,从而缩短你同 Rust “老手”的距离。
GitHub 地址→github.com/sunface/rust-by-practice
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 地址→github.com/ziglang/zig
2.2 轻松用 API:trpc
本周 star 增长数:950+
tRPC 让你更轻松地构建和使用全类型安全的 API,而不需要模式或代码生成。部分特性:
GitHub 地址→github.com/trpc/trpc
2.3 Web 工作原理:how-web-works
本周 star 增长数 1,050+
这是一个比较历史悠久的科普知识了:当你敲下 google.com 会发生什么呢?它包含了如何识别键入信息、解析 url、检查 HSTS 列表、DNS 查找等等在内的 20+ 个过程。配图是 DNS 查找。
GitHub 地址→github.com/vasanthk/how-web-works
2.4 广告拦截:pi-hole
本周 star 增长数:700+
pi-hole 是一个 DNS 漏洞,可以保护设备免受“广告”内容,而无需安装任何客户端软件。特性:
GitHub 地址→github.com/pi-hole/pi-hole
2.5 软件工程论文:software-papers
本周 star 增长数:1,250+
New software-papers 收录了大量软件工程相关的论坛,从计算机起源到函数式编程,一起通过阅读论文来了解软件工程吧。
GitHub 地址→github.com/facundoolano/software-papers
– END –
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!