上周 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.1 身份验证:logto
      • 1.2 rust 实践:rust-by-practice
      1. 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.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 “老手”的距离。

GitHub 地址→https://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 地址→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 查找。

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

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 收录了大量软件工程相关的论坛,从计算机起源到函数式编程,一起通过阅读论文来了解软件工程吧。

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

3. 往期回顾

往期回顾:

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

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

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

什么新东西值得学「GitHub 热点速览 v.22.29」的更多相关文章

  1. 造!又有新的生产力语言了「GitHub 热点速览 v.22.30」

    作者:HelloGitHub-小鱼干 你还记得那些 PHP 开发都去哪了吗?转 Golang 了!移动端现在流行什么?Flutter 编程.现在谷歌带着新的生产力语言来了,Carbon,代号:C++ ...

  2. 你的工具包已到货「GitHub 热点速览 v.22.31」

    如果你经常用 shell 记得看看本周特推里的 gum,它能给你的 shell 增加新趣味.除了这个 shell kit,我们还有 dashboard kit--tabler,功能技能 kit eng ...

  3. 老梗新玩「GitHub 热点速览 v.22.34」

    作者:HelloGitHub-小鱼干 不知道你是否和我有一样的烦恼,最近的流行梗当自己要用拿来造词时,就陷入了不知道咋"换壳"的尴尬地步.sao-gen-gen 大大减少了你老梗新 ...

  4. 揭开周获 18k star 开源项目的神秘面纱「GitHub 热点速览 v.22.28」

    本周 GitHub Trending 的项目重量十足,比如标题的一周获得 18k+ 的高性能 JS Runtime--bun,用性能来体现了它的"含金量".同样有重量的还有一行代码 ...

  5. 读 Linux 像读小说「GitHub 热点速览 v.22.03」

    本周特推选取了一个画风有点意思的 Linux 代码带读项目 flash-linux0.11-talk,希望有趣的文风能带你读完 Linux 代码.当然画风可以增加阅读体验,彩色标记也是一种学习方法-- ...

  6. 另类终端「GitHub 热点速览 v.22.15」

    作者:HelloGitHub-小鱼干 除了编译器之外,终端也是我们日常打交道的软件之一.但,你用它看过股票吗?OpenBBTerminal 不仅能让你看股票,还能让你用科学的方法进行股票投资.说到投资 ...

  7. GitHub 官方大动作频频「GitHub 热点速览 v.22.24」

    作者:HelloGitHub-小鱼干 本周 GitHub 官方 Blog 很是热闹,GitHub 官方大动作频频也带来了 GitHub Blog 的频繁更新,除了本周 News 快读收录的 GitHu ...

  8. 叮,GitHub 到账 550 美元「GitHub 热点速览 v.22.26」

    作者:HelloGitHub-小鱼干 如果你关注 GitHub 官方动态,你会发现它们最近频频点赞世界各地开发者晒出的 GitHub $550 sponsor 截图,有什么比"白嫖" ...

  9. 用 40 块搞个游戏机「GitHub 热点速览 v.22.27」

    作者:HelloGitHub-小鱼干 最便宜的小霸王游戏机都超过了五十,但是现在有了 PicoBoot 你用 40 块的树莓派就能搞出个任天堂游戏机(NGC).PicoBoot 替换了 NGC 的 I ...

随机推荐

  1. Django学习——图书管理系统图书修改、orm常用和非常用字段(了解)、 orm字段参数(了解)、字段关系(了解)、手动创建第三张表、Meta元信息、原生SQL、Django与ajax(入门)

    1 图书管理系统图书修改 1.1 views 修改图书获取id的两种方案 1 <input type="hidden" name="id" value=& ...

  2. 《Java编程思想》读书笔记(二)

    三年之前就买了<Java编程思想>这本书,但是到现在为止都还没有好好看过这本书,这次希望能够坚持通读完整本书并整理好自己的读书笔记,上一篇文章是记录的第一章到第十章的内容,这一次记录的是第 ...

  3. C#/VB.NET 实现Word和ODT文档相互转换

    ODT文档格式一种开放文档格式(OpenDocument Text).通常,ODT格式的文件可以使用LibreOffice Writer.MS Word或其他一些文档编辑器来打开.我们在处理文档时,可 ...

  4. uniapp中利用uni.$emit()和uni.$on()进行页面和tabbar页面传值(页面通讯)

    tabbar页面 <script> export default { data() { return { list: [] , }; }, onLoad() { // 监听事件 uni.$ ...

  5. Go内存管理一文足矣

    最早学习C.C++语言时,它们都是把内存的管理全部交给开发者,这种方式最灵活但是也最容易出问题,对人员要求极高:后来出现的一些高级语言像Java.JavaScript.C#.Go,都有语言自身解决了内 ...

  6. 【多线程】守护线程 Daemon

    守护线程 Daemon 线程分为用户线程和守护线程 虚拟机必须确保用户线程执行完毕 虚拟机不用等待守护线程执行完毕 如,后台记录操作日志,监控内存,垃圾回收等待.. 代码示例: /** * @Desc ...

  7. 将MySQL查询结果导出到Excel

    总结将mysql的查询结果导出到文件的方法 总结 使用命令 select user, host, password from mysql.user into outfile '/tmp/user.xl ...

  8. 个人冲刺(四)——体温上报app(二阶段)

    冲刺任务:完成用户注册功能和数据库类 RegisterActivity.java package com.example.helloworld; import android.content.Inte ...

  9. C++primer第二章

    第二章 :变量和基本类型 2.1 基本内置类型 C++定义了一套包含算术类型(arithmetic type)和空类型(void)在内的基本数据类型 2.1.1 算术类型 算术类型的分类: 整型(in ...

  10. 【freertos】010-消息队列概念及其实现细节

    目录 前言 10.1 消息队列概念 10.2 消息队列的数据传输机制 10.3 消息队列的阻塞访问机制 10.4 消息队列使用场景 10.5 消息队列控制块 10.5.1 队列控制块源码 10.5.2 ...