分享 GitHub 上有趣、入门级的开源项目。
内容包括:有趣、入门级的开源项目、开源书本、实战项目、企业级项目等,让你在短韶光内感想熏染到开源的魅力,对开源和编程产生兴趣!

以下为本期内容|每个月 28 号更新
C 项目1、acwj:写一个 C 措辞编译器的实战教程。教程看重实战循规蹈矩,一步步教你如何用 C 措辞写一个可以自己编译自己(自举)、能够在真正的硬件上运行的 C 措辞编译器
2、zstd:快速、无损的数据压缩算法 Zstandard 的实现。Zstd 的压缩比靠近 lzma、lzham 和 ppmx,并且比 lza 或 bzip2 性能更好。在相似的压缩比情形下,它解压缩的速率比其他的算法都要快。很多有名项目和游戏都有这个算法的身影,示例代码:
C# 项目
staticvoidcompress_orDie(constcharfname,constcharoname){size_tfSize;voidconstfBuff=mallocAndLoadFile_orDie(fname,&fSize);size_tconstcBuffSize=ZSTD_compressBound(fSize);voidconstcBuff=malloc_orDie(cBuffSize);/Compress.Ifyouaredoingmanycompressions,youmaywanttoreusethecontext.Seethemultiple_simple_compression.cexample./size_tconstcSize=ZSTD_compress(cBuff,cBuffSize,fBuff,fSize,1);CHECK_ZSTD(cSize);saveFile_orDie(oname,cBuff,cSize);/success/printf("%25s:%6u->%7u-%s\n",fname,(unsigned)fSize,(unsigned)cSize,oname);free(fBuff);free(cBuff);}
3、ravendb:一款快速、可靠的开源 NoSQL 数据库
4、Files:一个全新的文件管理器。采取 Fluent Design 和 Windows 平台最新的 API 实现,简约但不大略
Go 项目
5、jql:用 Go 写的 JSON 数据查询工具。该工具安装方便,语法大略随意马虎上手,实用示例代码很多比如:
#查询test.json文件中,所有国家的名称cattest.json|jql'(elem"countries"(elem(keys)(elem"name")))'["Poland","UnitedStates","Germany"]
6、chanify:基于 Go 实现的向 iOS 设备推送的做事。手机上安装好配套的 iOS 运用,然后以 Docker 的办法支配完做事,就可以通过一条命令推送指定到 APP 上,是不是很方便吖
#发送文本$curl--form-string"text=hello""http://<address>:<port>/v1/sender/<token>"#发送文本文件$catmessage.txt|curl-H"Content-Type:text/plain"--data-binary@-"http://<address>:<port>/v1/sender/<token>"
7、algorithm-pattern:LeetCode 刷题凑集项目。项目从 Go 措辞入门讲起,总结了一套刷题模板和解题套路,示例代码为 Go 措辞
8、imaging:Go 措辞的图像处理库。支持:调度大小、旋转、剪切、亮度调度等功能,示例代码:
//调度dstImage128:=imaging.Resize(srcImage,128,128,imaging.Lanczos)//锐化dstImage:=imaging.Sharpen(srcImage,0.5)
9、ebiten:Go 措辞的 2D 游戏引擎库。通过它可以轻松地用 Go 措辞制作出支持多平台的 2D 游戏,项目中还包含很多示例代码,帮助你快速上手
Java 项目
10、flink-recommandSystem-demo:一个基于 Flink 实现的商品实时推举系统。可以通过这个项目理解和学习推举系统的设计和流程,该系统是通过 Flink 处理日志和统计商品热度,将处理好的数据放入 Redis 缓存。然后再将画像标签和实时记录放入 HBase。在用户要求获取推举时,根据用户画像天生商品热度榜,并结合协同过滤和标签两个推举模块,返回最终生成的商品推举列表
11、OpenRefine:一款用于清理数据的桌面临象。通过可视化的办法剖析、整理数据,支持 Windows、Linux、Mac 操作系统。拥有查询、过滤、去重、剖析等功能,可以把凌乱的数据变成“整洁”的电子表格,还能够将结果导出成多种格式的文件。不会编程和 SQL 的小伙伴们,也可以轻松剖析海量数据啦!
12、jacoco:Java 代码测试覆盖率库
13、kooder:一个开源的代码搜索做事。为包括 GitLab、Gitea 的代码托管系统供应源码、仓库、Issue 的搜索做事
JavaScript 项目
14、taro:一款 Web 轻量级的 3D 游戏引擎。底层基于 three.js 和 cannon-es 支持 3D 刚体物理引擎
15、kutt:免费开源的短链接手事。做事基于 Node.js+Express+React 实现,支持管理链接、自定义短链接、设置链接密码、访问统计等功能
16、nav:一个支持 SEO 的静态导航网站。不依赖后真个纯前端项目开箱即用,大略清爽
17、drawio:一款简洁强大的绘图工具。免费开源可以自行支配也可以在线利用,功能上直追 Microsoft Visio。支持流程图、序列图、网络拓扑图、甘特图、思维导图、模型图等,还能导出多种格式类型比如 png、svg、PDF、HTML 和 VSDX 格式(Microsoft Visio 图形格式)
18、npkill:快速查找和轻松删除 node_modules 文件夹的工具。还在为 node_modules 占了很多磁盘空间而烦恼吗?还在手动找用不到的 node_modules 目录吗?快来试试 npkill 吧!
轻松地删除 node_modules 目录PHP 项目
19、question2answer:采取 PHP+MySQL 实现的免费开源的问答平台。基本上问答平台该有的功能它都有,那么问题来了是做个知乎还是 Stack Overflow 呢?
支持回答投票、评论、最佳回答、关注和关闭问题完备的用户和权限管理多措辞支持搜索时的相似问题匹配等等Python 项目20、tomato-clock:Python 写的命令行番茄事情法定时器。代码仅有 100 多行,不依赖其它第三方库
tomato25minutes.Ctrl+Ctoexit----------------------------------------------[8%]23:4⏰
21、vardbg:一款能够把 Python 程序实行过程,导出成视频或动图的代码调试工具。可用于动画学算法、制作代码讲解视频等场景
22、apkleaks:扫描 APK 文件是否包含敏感信息的命令行工具
//custom-rules.json{"AmazonAWSAccessKeyID":"AKIA[0-9A-Z]{16}",...}$apkleaks-f/path/to/file.apk-prules.json-o~/Documents/apkleaks-results.txt
23、graphene-django:让你轻松地将 GraphQL 整合到 Django 项目的库
Rust 项目24、fselect:用类 SQL 的命令查找文件的命令行工具
fselectsize,pathfrom/home/userwherename='.cfg'orname='.tmp'fselectsize,abspathfrom./tmpwheresizegt2gfselecthsize,abspathfrom./tmpwheresizelt8k
Swift 项目25、awesome-ios:超棒的 iOS 开源项目凑集。它非常全面包含 Objective-C、Swift 措辞的项目,拥有网络、UI、JSON、数据库、音视频平分类,iOS 初学者探求开源项目的利益所
26、Knot:一款 iOS 抓包工具。实现了 HTTP(S) 解析、流量解析、多格式导出、证书管理以及过程剖析等
27、SwiftUITodo:用 SwiftUI 做的 Todo 工具。这是一个示例项目帮助新手节制 SwiftUI
其它
28、LIII:免费开源的 BT 下载工具。如果你厌倦了广告、购买 VIP 才能提速,只想要一个大略好用的下载工具,那你可以试试这个开源项目
29、cloudmusic-vscode:网易云音乐 VS Code 插件。基于网易云网页 API 实现,支持:
歌曲播放、收藏、喜好心动模式、私人 FM评论(单曲、歌单...)歌词显示搜索(热搜/单曲/专辑/歌手...)等等30、shapez.io:一款 Steam 上的仿照建造游戏《异形工厂》的源码。游戏是在无边的舆图上开采资源、放置举动步伐、组合图形、相互搭配,扩建自己的异形工厂。游戏轻松但也很有寻衅性,快去试一试吧
开源书本
31、Probabilistic-Programming-and-Bayesian-Methods-for-Hackers:《黑客的贝叶斯方法:以 Python 为例》
32、The-design-and-implementation-of-a-64-bit-os:《一个 64 位操作系统的设计与实现》
33、tensorflow-handbook:《简明的 TensorFlow 2》
机器学习34、Real-Time-Person-Removal:在 Web 浏览器中实时移除人像。该项目采取 JavaScript+TensorFlow.js 实现“凭空消逝”
35、AI-Expert-Roadmap:人工智能学习路线图
末了
如果你创造了 GitHub 上有趣的项目,就分享给大家伙吧。
以上便是本期的所有内容了,看完还不过瘾?关注我还有更多有趣的内容等着你!