百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

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

xsobi 2024-12-06 20:27 7 浏览

上周 18k+ 的项目 bun 这周又获得 7k+ star,是时候了解下它背后的编程语言 zig 了,它并不是一门新的语言,伴随着 bun 的风靡,zig 本周也上了 GitHub 热榜。同样,可以学习的还有 software-papers 也是个新项目,收录了大量值得一读的软件工程论文。

除了学习新东西,一些老知识,如果你没掌握不妨也来二次学习下,比如敲下 google.com 之类任意一个网站 web 的工作原理。

知识之外,本周新工具上榜的有 trpc,轻轻松松搞定 API 以及避免广告打扰的 pi-hole。

选项标准:新发布 | 实用 | 有趣,根据项目 release 时间分类,发布时间不超过 14 day 的项目会标注 New,无该标志则说明项目 release 超过半月。由于本文篇幅有限,还有部分项目未能在本文展示,望周知

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 以 “强健性、最佳性以及可维护性” 为核心理念,支持编译时泛型与反射、交叉编译以及手动存储器管理。

Bash
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,而不需要模式或代码生成。部分特性:

  • 可用在生产环境;
  • 无代码、运行时膨胀、管道构建;
  • 轻量,DEP 为 0 且客户端痕迹很小;
  • 易于集成到现有的项目中;
  • 支持订阅;
  • 支持批量处理请求;

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 漏洞,可以保护设备免受“广告”内容,而无需安装任何客户端软件。特性:

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

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

2.5 软件工程论文:software-papers

本周 star 增长数:1,250+

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

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

- END -

相关推荐

我把家搬进了NAS?家庭资产数字化革命,现在连袜子都有编号了!

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:羊刀仙家里东西一多,总有一种“我记得我有这个,但我不知道放哪了”的错觉。...

Mega Run第3关通关攻略-跳上高空(mega运动)

错过火炮等于失败,这是MegaRun在上一关中给玩家的一点小挑战,那在后面的关卡中,这中挑战会给你造成什么困难呢?具体请看MegaRun第3关通关攻略-跳上高空。MegaRun第3关在一开始我...

Axure高保真教程:中继器表格自动合计模板

编辑导语:合计作为日常使用频率比较高的一个功能,但在Axure里面传统的表格如果做合计是很麻烦的,遇到数据多的时候很耗费时间,那么该如何优化,提高工作效率?本文以中继器表格为核心,教大家如何制作一个自...

多角色登录原型(分角色登录)

编辑导读:多角色登录是很多系统都需要具备的功能,例如在招聘网站里,登录的角色包括、求职者、招聘企业的hr、猎头、内部员工等等。本文作者分享了如何在Axure里面制作多角色登录的原型模板,希望对你有帮助...

利用Axure+js创建可配置地图页面(axure地址选择)

编辑导语:如何利用Axure实现自定义地图展示?本篇文章里,作者结合Axure与高德地图,对如何在Axure中设置相应参数、进而预览时实现自定义地图展示效果的操作流程进行了示范和总结,一起来看一下。本...

纬地智能模板的一些基础与概念(纬地智能模板的一些基础与概念是什么)

对于公路及相关土木工程的勘测设计工作,虽然基础的理论和方法是基本相同的,但是受到各国家、地区文化、制图习惯等方面因素的影响,不同地域公路勘测设计的习惯和表达方式有着很大的差异,当然语言方面的不同和差...

WPF界面开发第三方控件入门指南——菜单项

点击“了解更多”获取工具DevExpressWPFSubscription拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强...

鸿蒙开发:自定义一个搜索模版(鸿蒙系统怎么添加百度搜索条)

前言代码案例基于Api13。...

简单介绍一下前端各框架中的模板标签

在各大前端框架、小程序中,此类标签的作用主要是用来帮助我们包裹多个元素。在浏览器实际渲染中会将其移除只渲染其包裹的DOM元素,所以说不会增加额外的DOM节点...

法媒:简单的几个步骤让你的运动鞋更加炫酷

【环球网综合报道】有没有觉得自己的运动鞋样式单调,希望它变得更加炫酷?法媒《ELLE》推荐了一种简单易行的装饰方法,让您的运动鞋更加时尚。制作前,您需要准备一张细毡子、一张闪光热胶合布、胶水、两个银夹...

Blazor 代码隐藏(blazor 操作dom)

Razor组件通常是在单个.razor文件中创作的,这样就存在页面中包含html代码和后台代码(@code标记指定的代码)。如下...

DevExpress WPF入门指南:DXBars, DXRibbon中使用MVVM的两种方式

你也可以下载Universal安装包或者到DevExpress中文网查看更多示例和教程哦本文档介绍在DXBars,DXRibbon和GalleryControl这三个控件中使用MVVM框架的...

干货,Uploadfive插件上传,Python接收存储

在Web开发工作中,经常遇到上传需求,上传照片,文件等,网上的上传插件有很多,我使用的是一款H5上传插件Uploadfive,与之对应的是Uploadify,后者是基于Flash的,不过现在越来越多的...

用DevExpress实现基于HTML&CSS的桌面应用程序的UI(二)

DevExpressWinForm拥有180+组件和UI库,能为WindowsForms...

Avalonia:一个开源的跨平台UI选项

...