史上最小 x86 Linux 模拟器「GitHub 热点速览 v.22.50」
本周 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. 本周特推
1. 本周特推
1.1 最小的 x86 Linux 模拟器:blink
主语言: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. GitHub Trending 周榜
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。
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 等各界大佬谈笑风生、切磋技术~
作者:削微寒
扫描左侧的二维码可以联系到我
本作品采用署名-非商业性使用-禁止演绎 4.0 国际 进行许可。