兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!
简介
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。
https://github.com/521xueweihan/HelloGitHub
这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C 、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!
以下为本期内容|每个月 28 号更新
C 项目
1、daytripper:上班摸鱼神器之激光绊脚器。它分为发射器和接收器两部分,设置好后会在有人路过绊脚器时,自动触发隐藏桌面、切换应用等操作
地址:https://github.com/dekuNukem/daytripper
2、tinyssh:极简 SSH 服务器。为了便于学习仅保留了基础功能,而且抛弃了较旧的加密算法。该项目的学习价值大于实用价值,适合对 SSH 和加密知识感兴趣的小伙伴
地址:https://github.com/janmojzis/tinyssh
C# 项目
3、LiveCharts2:简单、灵活、强大的 .Net 图表库。支持 WPF、WinForms、WinUI、UWP 等
地址:https://github.com/beto-rodriguez/LiveCharts2
4、PowerRemoteDesktop:仅用 PowerShell 实现的远程桌面工具。它易于安装和使用、功能齐全,未依赖现有的协议和工具
地址:https://github.com/DarkCoderSc/PowerRemoteDesktop
5、.NET-Backend-Developer-Roadmap:.NET 后端学习路线图
地址:https://github.com/Elfocrash/.NET-Backend-Developer-Roadmap
6、PDFPatcher:多功能的 PDF 工具箱,可用于修改 PDF 文件信息。支持:
- 修改、合并 PDF 文档
- 自动生成书签
- 书签编辑器
- 高速无损地导出文件中的图片
- 等等
地址:https://github.com/wmjordan/PDFPatcher
C 项目
7、timg:在终端查看图片、动图、视频的命令行工具
代码语言:javascript复制timg some-image.jpg # 展示图片
timg --loops=3 some-animated.gif # 循环展示三次动图
timg some-video.mp4 # 播放视频
地址:https://github.com/hzeller/timg
8、oclint:强大的静态代码分析工具。可以用来检查 C、C 和 Objective-C 代码,发现潜在的 Bug 提高代码质量
地址:https://github.com/oclint/oclint
9、CGraph:无第三方依赖的 DAG 调度框架。实现了依赖节点依次执行、无依赖节点并发执行的逻辑。项目结构清晰、文档齐全,不仅代码中包含关键注释,还有示例代码和讲解文章。初学者可以通过该项目学到图调度方式、模块开发、模板编程、多线程编程、设计模式和通用算法的知识
代码语言:javascript复制void tutorial_simple() {
/* 创建一个流水线,用于设定和执行流图信息 */
GPipelinePtr pipeline = GPipelineFactory::create();
GElementPtr a, b, c, d = nullptr;
/**
* 其中,MyNode1算子的执行内容为sleep(1s)
* MyNode2算子的执行内容为sleep(2s)
* 以下几行代码,相当于是设定了一个[b/c]依赖[a],[d]依赖[b/c]的dag流图
*/
pipeline->registerGElement<MyNode1>(&a, {}, "nodeA");
pipeline->registerGElement<MyNode2>(&b, {a}, "nodeB");
pipeline->registerGElement<MyNode1>(&c, {a}, "nodeC");
pipeline->registerGElement<MyNode2>(&d, {b, c}, "nodeD");
/* 执行流图框架 */
pipeline->process();
GPipelineFactory::destroy(pipeline);
}
地址:https://github.com/ChunelFeng/CGraph
Go 项目
10、gotests:自动生成 Go 语言测试代码的工具。该项目基于表驱动测试法(TableDrivenTests)自动生成测试代码,表驱动测试法是创建一张数据表格,每一行为输入和预期输出值,然后用这张表格的数据测试代码
地址:https://github.com/cweill/gotests
11、gotop:用 Go 写的系统监控命令行工具。重点是带实时折线图,看起来比较炫酷
地址:https://github.com/xxxserxxx/gotop
12、minio:采用 Go 编写的开源对象存储服务。支持存储图片、视频、日志等文件,还拥有方便操作的 Web 管理后台。虽然轻量却有着不错的性能,同时采用 RS code 编码算法实现即使丢失一半的硬盘,依旧可以找回数据。适用于大数据、机器学习等场景
- 高性能:单个文件最大支持 5T,读写速率最高可以达到 55Gb/s 和 35Gb/s
- 可扩展:不同集群可以组合,支持跨越多个数据中心
- 云原生:支持容器化、基于 K8S 的编排、多租户
- 对接多种后端存储:支持 S3、DAS、 NAS、Google 等云存储
地址:https://github.com/minio/minio
13、octosql:用 SQL 的方式查询多个数据源的命令行工具。支持用 SQL 查询 CSV、JSON 文件和多种数据库中的数据,甚至可以在它们之间自由 JOIN
代码语言:javascript复制octosql "SELECT * FROM ./myfile.json"
octosql "SELECT * FROM ./myfile.json" --describe # Show the schema of the file.
octosql "SELECT invoices.id, address, amount
FROM invoices.csv JOIN db.customers ON invoices.customer_id = customers.id
ORDER BY amount DESC"
octosql "SELECT customer_id, SUM(amount)
FROM invoices.csv
GROUP BY customer_id"
地址:https://github.com/cube2222/octosql
14、go-pry:Go 语言的交互式 REPL 命令行工具
代码语言:javascript复制# 安装
go get github.com/d4l3k/go-pry
go install -i github.com/d4l3k/go-pry
# 运行
go-pry -i="fmt,math,strconv"
地址:https://github.com/d4l3k/go-pry
Java 项目
15、thumbnailator:Java 的缩略图生成库
地址:https://github.com/coobird/thumbnailator
16、momo-code-sec-inspector-java:Java 静态代码安全审计工具。它能够在编码过程中发现潜在的安全风险,并提供一键修复的功能,可在 IDEA 的插件市场安装
地址:https://github.com/momosecurity/momo-code-sec-inspector-java
17、maven-mvnd:Apache Maven 团队开源的更快的构建工具。因为内嵌了 Maven 所以可以丝滑地从 Maven 切换为 mvnd,而且它相较于 Maven 启动速度更快、使用的内存更少、编译花费的时间更少
地址:https://github.com/apache/maven-mvnd
18、agrona:提供了用于创建高性能应用的数据结构和实用方法的库。它将 Java 标准库中的数据结构进行包装,避免了 Java 自动装箱。比如提供的队列使用了填充字节的方式,避免头尾结点进入同一缓冲行,来提高队列出队入队的性能。整个项目代码量不多注释完善、代码风格清晰,抛开使用来讲也是一个值得学习的项目
地址:https://github.com/real-logic/agrona
JavaScript 项目
19、js-sdsl:实用的 JavaScript 数据结构库。实现了 LinkList、Queue、Set、Map 等数据结构,严格的单元测试提供了正确性和性能的保证,可用于各种需要用到高级数据结构的场景
代码语言:javascript复制<script src="https://zly201.github.io/js-sdsl/js-sdsl.min.js"></script>
<script>
const { Vector } = sdsl;
const myVector = new Vector();
// you code here...
</script>
地址:https://github.com/ZLY201/js-sdsl
20、resume:在线简历生成器。轻松实现在线简历,支持在线预览、编辑和下载 PDF 简历
地址:https://github.com/visiky/resume
21、mometa:前端代码可视化编辑器。一款低代码辅助开发的工具,可通过拖拽的方式构建和编辑页面。特性: