什么新东西值得学「GitHub 热点速览 v.22.29」

david-kaloczi-012FTEA0ZQ0-unsplash.jpeg

上周 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. 本周特推
      2. 1.1 身份验证:logto
      3. 1.2 rust 实践:rust-by-practice
      1. GitHub Trending 周榜
      2. 2.1 不新的编程语言:zig
      3. 2.2 轻松用 API:trpc
      4. 2.3 Web 工作原理:how-web-works
      5. 2.4 广告拦截:pi-hole
      6. 2.5 软件工程论文:software-papers
      1. 往期回顾

1. 本周特推

1.1 身份验证:logto

本周 star 增长数:800+

Logto 一个验证工具,在几分钟内即可构建集登录、身份验证和用户身份为一体的系统。它提供基于 OIDC 的身份认证服务和包含用户名、电话、邮件和社交登录方式的终端体验,并且提供多语言支持。特性:

  • 集前后端为一体的验证方案;
  • 开箱即用,之前需要编写的部分代码现在可以不用写了;

GitHub 地址→https://github.com/logto-io/logto

1.png

1.2 rust 实践:rust-by-practice

本周 star 增长数:950+

实践出真知,rust-by-practice 用各类具有挑战性的例子、练习、项目让你在实践中提升 Rust 编写技能,从而缩短你同 Rust “老手”的距离。

GitHub 地址→https://github.com/sunface/rust-by-practice

2.jpeg

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

3.gif

2.3 Web 工作原理:how-web-works

本周 star 增长数 1,050+

这是一个比较历史悠久的科普知识了:当你敲下 www.google.com(类似于 www.baidu.com)会发生什么呢?它包含了如何识别键入信息、解析 url、检查 HSTS 列表、DNS 查找等等在内的 20+ 个过程。配图是 DNS 查找。

GitHub 地址→https://github.com/vasanthk/how-web-works

4.png

2.4 广告拦截:pi-hole

本周 star 增长数:700+

pi-hole 是一个 DNS 漏洞,可以保护设备免受“广告”内容,而无需安装任何客户端软件。特性:

  • 易安装,不到十分钟在引导下即可安装完成;
  • 果断拦截非必需内容;
  • 快响应,DNS 缓存可加快日常浏览速度;
  • 轻量级,只需少量软硬件;
  • 高颜值仪表盘,查看日常信息;
  • 可屏蔽 IPv4 和 IPv6 广告;

GitHub 地址→https://github.com/pi-hole/pi-hole

5.png

2.5 软件工程论文:software-papers

本周 star 增长数:1,250+

New software-papers 收录了大量软件工程相关的论坛,从计算机起源到函数式编程,一起通过阅读论文来了解软件工程吧。

GitHub 地址→https://github.com/facundoolano/software-papers

6.png

3. 往期回顾

往期回顾:

以上为 2022 年第 29 个工作周的 GitHub Trending 🎉如果你 Pick 其他好玩、实用的 GitHub 项目,记得来 HelloGitHub issue 区和我们分享下哟 🌝

最后,记得你在本文留言区留下你想看的主题 Repo(限公众号),例如:AI 换头。👀 和之前的送书活动类似,留言点赞 Top3 的小伙伴(),小鱼干会努力去找 Repo 的^^

HelloGitHub 交流群现已全面开放,添加微信号:HelloGitHub001 为好友入群,可同前端、Java、Go 等各界大佬谈笑风生、切磋技术~