本周 GitHub Trending 略显冷清,大概是国内的人们开始在养病,而国外的人们开始过圣诞、元旦双节。热度不减的 ChatGPT 依旧占据了本周大半的 GitHub 热点项目,不过本周的特推和周榜并未重复收录这些。不过,本周有个新的 C 项目颇为有意思,它便是特推史上最小的 x86 Linux 模拟器,主打小巧。另外个特推项目便是 Google 开源的漏洞检测工具,也是软件工程师的好帮手。

周榜方面,有 GitHub 常客算法,不只是算法还教你数据结构。搞音视频业务的同学也许也可以看看 lossless-cut,无损搞视频。还有 TS 的工具库 zod,OpenAI 使用指北和跑在终端的 Copilot。

以下内容摘录自微博@HelloGitHub 的 GitHub Trending 及 Hacker News 热帖(简称 HN 热帖),选项标准:新发布 | 实用 | 有趣,根据项目 release 时间分类,发布时间不超过 14 day 的项目会标注 New,无该标志则说明项目 release 超过半月。由于本文篇幅有限,还有部分项目未能在本文展示,望周知 ?

  • 本文目录
    • 1. 本周特推
      • 1.1 最小的 x86 Linux 模拟器:blink
      • 1.2 漏洞扫描:osv-scanner
    • 2. GitHub Trending 周榜
      • 2.1 算法入门:hello-algo
      • 2.2 音视频无损剪切:lossless-cut
      • 2.3 TS 验证库:zod
      • 2.4 OpenAI 指南:openai-cookbook
      • 2.5 终端 Copilot:plz-cli
    • 3. 往期回顾

1. 本周特推

主语言:C

New blink 是一款虚拟机可用来跑静态编译的 x86-64 Linux,它适用于不同的操作系统和硬件架构。它和 qemu-x86_64 实现类似功能,除了 blink 不是一个 4 mb 的二进制而是一个约 158 kb 的小东西之外,在某些基准测试中,比如:gcc 模拟,blink 比 Qemu 更快。由于体积小,作为折中的方案,blink 在系统集成方面不如 Qemu 丰富。

GitHub 地址→https://github.com/jart/blink

1.2 漏洞扫描:osv-scanner

主语言:Golang

New Google 开源的漏洞扫描器,数据由 https://osv.dev/ 提供。你可以用来查询项目现有依赖是否存在漏洞。

GitHub 地址→https://github.com/google/osv-scanner

2.1 算法入门:hello-algo

本周 star 增长数:1,600+主语言:Java、C++

New 《Hello 算法》一本动画图解、能运行、可提问的数据结构与算法入门书。「代码实践导向」提供经典算法的清晰实现与测试代码,支持多种语言、详细注释、皆可一键运行。

GitHub 地址→https://github.com/krahets/hello-algo

2.2 音视频无损剪切:lossless-cut

本周 star 增长数:950+主语言:JavaScript

lossless-cut 旨在成为对视频、音频、字幕和其他媒体文件进行快速、无损操作的跨平台 FFmpeg GUI,主要功能是对视频和音频文件进行无损修剪和剪切。你可以快速在一段视频中提取好片段,并丢弃 gb 的数据量,无需缓慢重编码。同理,增加音频和字幕亦然,无需新编码。

GitHub 地址→https://github.com/mifi/lossless-cut

2.3 TS 验证库:zod

本周 star 增长数:700+主语言:TypeScript

以 TypeScript 为先、带有静态类型推断的 schema 模式声明及验证库。这里的模式(schema)泛指任意的数据类型,从简单的 string 到复杂的嵌套对象。部分亮点:

  • 零依赖;
  • 可用在 Node.js 和浏览器;
  • 体积小:缩小压缩后 8kb;
  • 不可变:像是 .optional()会返回一个新实例;
  • 接口简洁;
  • 支持纯 JavaScript,你不一定非要用 TS 来使用它;

以下为创建一个简单的 string 示例:

import { z } from "zod";

// creating a schema for strings
const mySchema = z.string();

// parsing
mySchema.parse("tuna"); // => "tuna"
mySchema.parse(12); // => throws ZodError

// "safe" parsing (doesn't throw error if validation fails)
mySchema.safeParse("tuna"); // => { success: true; data: "tuna" }
mySchema.safeParse(12); // => { success: false; error: ZodError }

GitHub 地址→https://github.com/colinhacks/zod

2.4 OpenAI 指南:openai-cookbook

本周 star 增长数:1,300+主语言:Python

前两周很火的 ChatGPT 的组织 OpenAI 出品的使用 OpenAI API 的示例和指南,当中包含了像是明星项目 GPT-3 的 Playground。

GitHub 地址→https://github.com/openai/openai-cookbook

2.5 终端 Copilot:plz-cli

本周 star 增长数:600+主语言:Rust

New CLI 工具,依据你的描述生成对应的 shell 脚本,号称终端 Copilot。

$ plz --help
Generates bash scripts from the command line

Usage: plz [OPTIONS] <PROMPT>

Arguments:
  <PROMPT>  Description of the command to execute

Options:
  -y, --force    Run the generated program without asking for confirmation
  -h, --help     Print help information
  -V, --version  Print version information

GitHub 地址→https://github.com/m1guelpf/plz-cli

3. 往期回顾

往期回顾:

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

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

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