本周 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 最小的 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。

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 等各界大佬谈笑风生、切磋技术~

史上最小 x86 Linux 模拟器「GitHub 热点速览 v.22.50」的更多相关文章

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

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

  2. 平平无奇的项目「GitHub 热点速览 v.22.10」

    不知道大家对高星项目什么印象?提到这个词第一个想到哪个项目呢?本周有几个项目看着普普通通,却完成了一周 2k+ star 的事迹.比如 SingleFile,它是个浏览器扩展,点击图标之后即可保存一个 ...

  3. 听,引擎的声音「GitHub 热点速览 v.22.33」

    这期的热点速览异常 Cool,因为有呜呜声内燃机引擎加成的 engine-simengine-sim 坐镇,听到如此曼妙的引擎声,相比你的人生也在高速上升吧.还有,自己搭建个服务就能在本地用上 AI ...

  4. 不可错过的效能利器「GitHub 热点速览 v.22.39」

    如果你是一名前端工程师且维护着多个网站,不妨试试本周榜上有名的 HTML-first 的 Qwik,提升网站访问速度只用一招.除了提升网站加载速度的 Qwik,本周周榜上榜的 Whisper 也是一个 ...

  5. 程序员的情人节「GitHub 热点速览 v.22.07」

    又是一年情人日,刚好还是发文的今天.也没什么好送的,送点程序员的浪漫--代码和开源项目吧.记得在本周特推查收这份来自程序员的独有浪漫. 本周 GitHub 霸榜的项目基本上都是老项目,从老项目中挖点新 ...

  6. 能动的电脑配件「GitHub 热点速览 v.22.11」

    看到这个标题就知道硬核的 B 站 UP 主稚晖君又更新了,本次带来的是一个造型可爱的小机器人.除了稚晖君这个一贯硬核的软硬件项目之外,本周也有很多有意思的新项目,像 Linux 服务监控小工具 Ray ...

  7. 这就是艺术「GitHub 热点速览 v.22.25」

    作者:HelloGitHub-小鱼干 不知道写了那么久代码的你,是否还记得"代码写诗"这个词,它是用来形容代码的优雅.但是本周的项目,虽然你看到的是代码的成品,也会惊讶于它的艺术感 ...

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

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

  9. 一键到位「GitHub 热点速览 v.22.32」

    作者:HelloGitHub-小鱼干 上上周在 B 站观看了智能键盘--瀚文的制作过程,本周 GitHub 热榜上出现了它的软硬件开源项目 HelloWord-Keyboard,如果你的动手能力强不妨 ...

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

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

随机推荐

  1. 构造器与this、package、import关键字的使用

    构造器一.构造器的作用: 1.创建对象 2.初始化对象的信息 二.说明: 1.如果没有显式的定义类的构造器的话,则系统默认提供一个空参的构造器 2.定义构造器的格式:权限修饰符 类名(形参列表){} ...

  2. 15. MongoDB系列之选择片键

    1. 片键类型 1.1 升序片键 升序片键通常类似于date或ObjectId--随着时间稳步增长的字段. 这种模式通常会使MongoDB更难保持块的平衡,因为所有的块都是由一个分片创建的. 1.2 ...

  3. uoj220【NOI2016】网格

    刚了几个小时啊,这tm要是noi我怕不是直接滚粗了.我判答案为1的情况试了几种做法,最后终于想到了一个靠谱的做法,然后细节巨多,调了好久,刚拿到97分时代码有6.2KB了,后来发现有些东西好像没啥用就 ...

  4. Vue中常用的几种传值方式

    Vue中常用的几种传值方式 1. 父传子 父传子的实现方式就是通过props属性,子组件通过props属性接收从父组件传过来的值,而父组件传值的时候使用 v-bind 将子组件中预留的变量名绑定为da ...

  5. 二、docker安装

    一.docker安装 Docker 是管理容器的工具, Docker 不等于 容器. 1.1.docker yum源设置 #step 1 download docker-ce.repo file [r ...

  6. Nginx四层负载均衡1

    1.Nginx负载均衡Redis 服务器 IP地址 作用 系统版本 Nginx代理服务器 10.0.0.38 负载均衡服务器 Rocky8.6 Redis服务器1 10.0.0.18 Redis服务器 ...

  7. 不用终端运行 Vue项目 基于Pycharm

    不用终端运行 Vue项目 基于Pycharm 如下图展示 接下来 然后单击右上角运行 即可完成运行

  8. 常用CSS样式属性

    01.常用样式 1.1.background背景 设置元素背景的样式 background,更好的衬托内容. 属性 描述 值 background 背景属性简写.支持多组背景设置,逗号,隔开 back ...

  9. JS常见问题总结

    1. 什么是 JavaScript ? JavaScript 是一种具有面向对象的.解释型的.基于对象和事件驱动的.跨平台的.弱类型的程序设计语言 2. JavaScript 与 ECMAScript ...

  10. Mybatis笔记02-----MyBatis的核心配置文件以及模糊查询的实现

    认识MyBatis核心配置文件mybatis-config.xml 这个文件名是随意可以起,但为了规范一般都命名为mybatis-config.xml:配置文件与MyBatis的行为和属性信息息息相关 ...