如何写出优雅的代码?试试这些开源项目「GitHub 热点速览」

又是一期提升开发效率的热点速览,无论是本周推特的检查 Python 语法和代码格式的 ruff,或者是 JS、TS 编译器 oxc,都是不错的工具,有意思的是它们都是 Rust 写的。
此外,还有用来在多个设备间同步文件的 syncthing,配合口型的视频制作工具 video-retalking 都可以去了解下。
以下内容摘录自微博@HelloGitHub 的 GitHub Trending 及 Hacker News 热帖(简称 HN 热帖),选项标准:新发布 | 实用 | 有趣,根据项目 release 时间分类,发布时间不超过 14 day 的项目会标注 New,无该标志则说明项目 release 超过半月。由于本文篇幅有限,还有部分项目未能在本文展示,望周知
- 本文目录
- 1. 本周特推
- 1.1 Python 开发辅助:ruff
- 1.2 JS 编译器:oxc
- 2. GitHub Trending 周榜
- 2.1 UI 组件:fluentui
- 2.2 电子书阅读器:sumatrapdf
- 2.3 2D 变 3D:Wonder3D
- 2.4 多设备同步:syncthing
- 2.5 视频重制:video-retalking
- 3. HelloGitHub 热项
- 3.1 iOS 游戏模拟器:Delta
- 3.2 让网络变差:clumsy
- 4. 往期回顾
- 1. 本周特推
1. 本周特推
1.1 Python 开发辅助:ruff
主语言:Rust
New Rust 开发的一款高性能 Python 语法检查器和代码格式化工具。特性:
- ️ 比现有的语法检查器(如 Flake8)和格式化程序(如 Black)快 10-100 倍
- 可通过 pip 安装
- ️ 支持 pyproject.toml
- 兼容 Python 3.12
- ⚖️ 与 Flake8、isort 和 Black 完全兼容
- 内置缓存,避免重复分析未更改的文件
- 支持自动修复错误(例如,自动移除未使用的导入)
- 超过 700 条内置规则,包括对像 flake8-bugbear 这样的流行 Flake8 插件的原生重构
- ⌨️ 为 VS Code 等编辑器提供一手集成
- 对单一仓库友好,支持分层和级联配置
Ruff 的目标是在整合更多功能到一个共享的接口背后,比替代工具快几个数量级。
GitHub 地址→https://github.com/astral-sh/ruff

1.2 JS 编译器:oxc
主语言:Rust
如何用 Rust 写个编译器?oxc 是一个适用于 JS 和 TS 的高性能编译器,它用 Rust 构建语法解析器、语法检查器、格式化程序、转译器、缩小器、解析器…
下图为 oxc 在 0.5 秒内完成 4,000+ 文件的语法检查的结果:
GitHub 地址→https://github.com/web-infra-dev/oxc

2. GitHub Trending 周榜
2.1 UI 组件:fluentui
本周 star 增长数 850+,主语言:TypeScript
Fluent UI 是微软开源的用于构建 Web 应用的工具,包括了 React 组件和网络组件。而 GitHub 的 used by 显示有近 11k 个 GitHub 项目用到了 Fluent UI。
GitHub 地址→https://github.com/microsoft/fluentui

2.2 电子书阅读器:sumatrapdf
本周 star 增长数:400+,主语言:C
一个 Windows 平台电子书阅读器,虽然名字带有 pdf,但是它不只是 pdf 的阅读器,它还支持 EPUB、MOBI、CBZ、CBR、FB2、CHM、XPS、DjVu 等格式。

2.3 2D 变 3D:Wonder3D
本周 star 增长数:800+,主语言:Python
New 一个跨域扩散模型,可将一张 2D 图片变成 3D 模型。
GitHub 地址→https://github.com/xxlong0/Wonder3D

2.4 多设备同步:syncthing
本周 star 增长数:700+,主语言:Golang
Syncthing 是一个连续的文件同步程序,它可以在两台或更多的计算机之间同步文件。
GitHub 地址→https://github.com/syncthing/syncthing

2.5 视频重制:video-retalking
本周 star 增长数:300+,主语言:Python
输入一个人像视频,再指定它的音频,就可以输出一个口型对上的重制视频。

3. HelloGitHub 热项
在这个章节,我们将会分享下本周 HelloGitHub 网站上的热门项目,HG 开源项目评价体系刚上线不久,期待你的评价
3.1 iOS 游戏模拟器:Delta
主语言:Swift
这是一款无需越狱、适用于 iOS 设备的游戏模拟器,支持 NES、GBA、Nintendo 64 等游戏。
HG 评价地址→https://hellogithub.com/repository/a20ae0ca56aa43469145dce0817a24aa

3.2 让网络变差:clumsy
主语言:C
该项目是基于 WinDivert 实现的手动控制 Windows 网络情况的工具,它无需安装下载即用,可用于模拟网络延迟、节流、丢包等。
HG 评价地址→https://hellogithub.com/repository/874fa3b759b643bba5a1d529c55a6cb6

4. 往期回顾
往期回顾:
以上为 2023 年第 44 个工作周的 GitHub Trending 如果你 Pick 其他好玩、实用的 GitHub 项目,来 HelloGitHub 和大家一起分享下哟
如何写出优雅的代码?试试这些开源项目「GitHub 热点速览」的更多相关文章
- 用 Java 写个塔防游戏「GitHub 热点速览 v.21.37」
作者:HelloGitHub-小鱼干 本周 GitHub Trending 的主题词是:多语言.本周特推的 C 语言教程是大家都知道的阮一峰编写的,想必和他之前的技术文章类似,能起到科普作用.再来时 ...
- 它说你的代码有 Bug「GitHub 热点速览 v.21.44」
作者:HelloGitHub-小鱼干 本周热点上的榜单大多数提升工作效率的实用工具,像是一个 API 管理所有通知消息(包括推送.邮件-)的 notifire,再是高速解析 JSON 文件的 simd ...
- 代码混淆保安全「GitHub 热点速览 v.21.43」
作者:HelloGitHub-小鱼干 虽然让代码难以阅读看似是件难以理解的事情,但是混淆后的代码起到了类似加密的作用,而且经过混淆的代码依旧能实现原代码的功能.javascript-obfuscato ...
- 换工作?试试远程工作「GitHub 热点速览 v.22.40」
近日,潜在某个技术交流群的我发现即将毕业的小伙伴在焦虑实习.校招,刚好本周 GitHub 热榜有个远程工作项目.不妨大家换个思路,"走"出去也许有更多的机会.当然,除了全球的远程工 ...
- GitHub 热点速览 Vol.24:程序员自我增值,优雅赚零花钱
摘要:升职加薪,出任 CTO,迎娶白富美/高帅富,走向人生巅峰是很多人的梦想.在本期的热点速览中你将了解自由作者 Easy 如何优雅赚取零花钱的方法,以及定投改变命运 -- 让时间陪你慢慢变富.说到程 ...
- GitHub 热点速览 Vol.25:距离优雅编程你差个它
作者:HelloGitHub-小鱼干 摘要:如何优雅地夸一个程序员呢?vscode-rainbow-fart 作为一个彩虹屁的项目,深得程序员心,能在你编程时疯狂称赞你的除了你自己,还有它.除了鼓励之 ...
- 如何写出优雅的CSS代码 ?(转)
对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于团队合作和后期的维护:而有的混 ...
- 如何写出优雅的css代码 ?
如何写出优雅的css代码 ? 对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于 ...
- 如何写出优雅的 Golang 代码
原文: https://draveness.me/golang-101.html Go 语言是一门简单.易学的编程语言,对于有编程背景的工程师来说,学习 Go 语言并写出能够运行的代码并不是一件困难的 ...
- 写出优雅又地道的pythonic代码(转自网络)
本文是Raymond Hettinger在2013年美国PyCon演讲的笔记(视频, 幻灯片). 示例代码和引用的语录都来自Raymond的演讲.这是我按我的理解整理出来的,希望你们理解起来跟我一样顺 ...
随机推荐
- .Net8的AOT引导程序BootStrap
前言 .Net8的本地预编机器码AOT,它几乎进行了100%的自举.微软为了摆脱C++的钳制,做了很多努力.也就是代码几乎是用C#重写,包括了虚拟机,GC,内存模型等等.而需要C++做的,也就仅仅是引 ...
- 借助 mkcert 和批处理命令生成局域网证书
借助 mkcert 和批处理命令生成局域网证书 自动获取ipv4,一键生成很方便 cd /d %~dp0 ipconfig |find "IPv4" > ipv4 set / ...
- 解决:ValueError: Cannot mask with non-boolean array containing NA / NaN values
错误原因:这里就是说,分组这一列里面,包含了非字符串的内容,比如数字.因为 .str.contains 的使用就要求这个字段必须是字符串,不能掺杂数字的. 解决方案: # 包含对应关系的所有行 dat ...
- [mysql]MGR简介与部署
前言 MySQL Group Replication,简称MGR,是MySQL官方于2016年推出的一个全新的高可用解决方案,采用Paxos分布式一致性协议作为高可用和一致性解决方案.在MGR之前的高 ...
- Mybatis框架的搭建和基本使用
本文总结最原始Mybatis框架的搭建和最基本使用(不涉及Spring框架体系). 1 依赖 首先,我们要引入Mybatis依赖: <dependency> <groupId> ...
- vue中使用Tinymce
1.安装tinymce编辑器 npm i tinymcenpm i @tinymce/tinymce-vue 或: yarn add tinymce yarn add @tinymce/tinymce ...
- Doris 再次启动FE失败的思考
Doris再次启动FE失败的思考 背景描述 在昨天已经成功下载安装最新稳定版docker.拉取doris-0.15.0版本的镜像.将镜像挂载道本地Doris源码目录.完成了doris的编译之后,今天在 ...
- 通过Scrum实现最大生产力的五种方法
在数字化.信息化.智能化蓬勃发展的今天,敏捷开发和Scrum已成为重塑项目管理的重要方式. 敏捷是一种体现不同方法的思维方式,包括了Scrum,看板,极限编程(XP).精益开发等众多框架. Scrum ...
- CodeForces 1367F2 Flying Sort (Hard Version)
题意 给一个长度为\(n\)的数组,你可以有两种操作 将某一个数放置在数组开头 将某一个数放置在数组结尾 问最小操作多少次可以得到一个非递减数列 (比\(F1\)难在\(n\)变大,且数组中元素可以有 ...
- WPF学习 - 动画基础(1)
1. WPF中的动画(Animation),是一种属性动画.技术上来说,它是让属性从一个值,变化到另一个值的过程.因此,有两条重要的特性: 1.1 只能为依赖属性应用动画(因为第二条特性). 1.2 ...