下拉刷新
目录

《HelloGitHub》第 64

HelloGitHub 分享 GitHub 上有趣、入门级的开源项目,每月 28 号更新一期。 这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。

提示:点击 可以按照对应「分类」查看月刊。
C 项目
Star 3.9kFork 968Watch 79

开源的 GPS 自行车码表。功能齐全且拥有美观的界面,支持离线地图、显示轨迹等功能。在线观看

X-TRACK
C# 项目
Star 2.6kFork 262Watch 15

利用 Windows 通知栏背单词的软件。能够选择单词集合,并在背完后进行测验

ToastFish
Star 1.1kFork 89Watch 9

Xbox 下载助手。支持 Xbox 游戏加速下载、比价等功能

XboxDownload
C++ 项目
Star 391Fork 36Watch 11

在没有游戏源代码的前提下,通过逆向工程和代码注入实现植物大战僵尸局域网对战模式。成功加载后解密模式的最后一关,会变为网络对战关卡。玩法为其中一个玩家放置植物进行防御,另一玩家放置僵尸进攻。项目结合逆向工程、C++和汇编相关技术,在无源代码的前提下为游戏增加功能。对逆向工程感兴趣的小伙可以看看源码

Plants-vs.-Zombies-Online-Battle
Star 444Fork 93Watch 14

实现 C++ 结构体和 JSON/XML/BSON 互转的库。C++ 初学者可以通过该项目学到高阶的宏技巧和初级的 SFINAE 写法

#include <iostream> #include "xpack/json.h" // 包含该头文件 struct User { int id; std::string name; XPACK(O(id, name)); // 添加宏定义XPACK在结构体定义结尾 }; int main(int argc, char *argv[]) { User u; string data = "{\"id\":12345, \"name\":\"xpack\"}"; xpack::json::decode(data, u); // json转结构体 cout<<u.id<<';'<<u.name<<endl; string json = xpack::json::encode(u); // 结构体转json cout<<json<<endl; return 0; }
CSS 项目
Star 4.9wFork 1.1wWatch 1.5k

用来消除浏览器默认样式的 CSS 库。不同浏览器对于同一个元素会有不一样的默认样式,比如:超链接线的颜色。相较于 reset(重制样式)解决办法,normalize.css 采用更加和平且高效地方式,解决了浏览器默认样式的问题,尽可能让同一个 CSS 文件在不同的浏览器上显示效果一样和正常

normalize.css
Go 项目
Star 6.6kFork 1.7kWatch 396

轻量级、高性能、支持集群的 IM 和实时推送服务。纯 Golang 实现支持广播消息、房间推送、安全验证和多协议支持等功能,还有基于 Kafka 的异步消息推送

goim
8.dtm
Star 8kFork 863Watch 89

Go 语言实现的分布式事务管理器。优雅的解决了微服务架构下幂等、空补偿、悬挂等分布式事务难题,提供了简单易用、高性能、易水平扩展的分布式事务解决方案,除 Go 外还有 Python、PHP、Node.js 等语言的客户端

// 具体业务微服务地址 const qsBusi = "http://localhost:8081/api/busi_saga" req := &gin.H{"amount": 30} // 微服务的载荷 // DtmServer为DTM服务的地址,是一个url saga := dtmcli.NewSaga("http://localhost:8080/api/dtmsvr"). // 添加一个TransOut的子事务,正向操作为url: qsBusi+"/TransOut", 补偿操作为url: qsBusi+"/TransOutCompensate" Add(qsBusi+"/TransOut", qsBusi+"/TransOutCompensate", req). // 添加一个TransIn的子事务,正向操作为url: qsBusi+"/TransOut", 补偿操作为url: qsBusi+"/TransInCompensate" Add(qsBusi+"/TransIn", qsBusi+"/TransInCompensate", req) // 提交saga事务,dtm会完成所有的子事务/回滚所有的子事务 err := saga.Submit()
dtm
Star 2.5kFork 334Watch 47

企业级一站式 PaaS 平台。基于 Kubernetes 以应用为中心的 DevOps 且支持微服务治理的多云架构,可以让复杂业务的开发、运维、监控和问题诊断变得更简单、更高效。能减轻使用不同的工具混搭技术底座和云平台的运维难度,同时还有漂亮、简单易用的界面设计

erda
10.hugo
Star 6.4wFork 6.9kWatch 1.1k

Go 语言的静态网站生成器。静态网站生成器就是在本地把内容文件生成静态网页(HTML+CSS),然后把生成好的页面上传到服务器的工具。这种工具能够帮你轻松且快速地上线网站,而用户仅需选择喜欢的主题,便可以专注于内容创作。Hugo 作为最流行的静态网站生成器之一,拥有丰富的插件和主题,就算没有编程基础也能帮你快速制作出满意的博客或者网站

hugo
Star 4.5kFork 925Watch 106

各大网站热门头条的聚合网站。在线预览

TopList
Java 项目
Star 1.1wFork 3.1kWatch 513

MyBatis 通用分页插件,使用方法

Star 4.6wFork 1wWatch 2.4k

Google 开源的 Java 三方类库。该库提供包括集合、I/O、缓存、并发等开箱即用的工具方法,任何的 Java 应用都可以通过依赖的方式引入该项目。作为 Google 的开源项目,本身的源码也是非常值得开发者学习

Star 8.4kFork 1.6kWatch 114

开源的数据可视化和分析工具。采用 SpringBoot+Vue.js 技术栈实现,通过丰富的可视化图表让数据更加直观

  • 数据连接:支持关系型数据库、Excel 等文件、Hadoop 等大数据平台、NoSQL 等各种数据源
  • 图表展示:支持 PC 端、移动端及大屏
  • 制作图表:支持丰富的图表类型、支持拖拉拽方式快速制作仪表板
  • 数据引擎:支持直连模式、本地模式
dataease
JavaScript 项目
Star 3.9kFork 305Watch 51

简化 JavaScript 抽象语法树(AST)处理的工具。借鉴了类似 jQuery 的预发和字符串构建 AST 的思想,大大简化了学习成本、降低了开发复杂度,官方团队在此基础上还开发出了 Vue2 转 Vue3 的插件

gogocode
Star 2.3wFork 6.2kWatch 442

50 个采用 HTML+CSS+JS 的前端小项目集合。项目包含网页源码和效果展示,标准入门级的前端开源项目。通过查看效果让新手感受前端的美妙,简单的源码降低了上手写代码门槛。或许其中某个网页的效果也会让工作多年的你大呼哇塞

50projects50days
Star 3.8kFork 439Watch 47

基于 Electron 开发的开源插件化工具箱。起初项目作者是 uTools 的用户但 uTools 没有开源,他又想接入公司内部的工具,然后 Rubick(拉比克)就诞生了。它实现了 uTools 的大部分功能,可以适配 uTools 丰富的开源插件,享受用完即走的便利

rubick
18.sjcl
Star 7kFork 933Watch 233

斯坦福大学开源的 JavaScript 加密库。用于 JS 的加密和解密,体积小且支持多种加密算法

sjcl.encrypt("password", "data") //加密数据 sjcl.decrypt("password", "encrypted-data") //解密数据
Star 1.4wFork 2.5kWatch 359

支持实时协作的富文本 WYSIWYG 编辑器

etherpad-lite
Kotlin 项目
20.k-9
Star 7.4kFork 2.3kWatch 359

开源的 Android 电子邮件客户端

k-9
Python 项目
Star 5.1kFork 1.3kWatch 184

青岛大学开源的在线评测系统(OJ),采用 Django+Vue.js 实现。功能如下:

  • 基于 Docker 的一键部署
  • 支持 ACM/OI 两种比赛模式、实时/非实时评判
  • 丰富的可视化图表,一图胜千言
  • 支持多种编程语言:C/C++、Java、Python2/3
  • 比赛用户 IP 限制 (CIDR ranges)
OnlineJudge
Star 2.4kFork 475Watch 39

大数据分析实战项目的集合。该项目包含了淘宝、租房、招聘等数据的分析实例,不仅有 Python、SQL、HQL 的实例代码,还附上了数据集下载地址。想学习大数据的同学们,万事俱备就差你来学了

bigdata_analyse
Star 2.8kFork 646Watch 107

开源的 Python 量化交易框架。使用少量代码即可实现量化交易程序,还支持历史数据、实时数据、策略回测、实盘交易、图形化界面展示等功能。但免费版本仅提供全部的期货、商品/金融期权和上证50、沪深300 和中证500 的实时行情,付费版支持更多种类以及更加稳定的服务

from tqsdk import TqApi, TqAuth, TqAccount, TargetPosTask api = TqApi(TqAccount("H海通期货", "4003242", "123456"), auth=TqAuth("信易账户", "账户密码")) # 创建 TqApi 实例, 指定交易账户 q_1910 = api.get_quote("SHFE.rb1910") # 订阅近月合约行情 t_1910 = TargetPosTask(api, "SHFE.rb1910") # 创建近月合约调仓工具 q_2001 = api.get_quote("SHFE.rb2001") # 订阅远月合约行情 t_2001 = TargetPosTask(api, "SHFE.rb2001") # 创建远月合约调仓工具 while True: api.wait_update() # 等待数据更新 spread = q_1910.last_price - q_2001.last_price # 计算近月合约-远月合约价差 print("当前价差:", spread) if spread > 250: print("价差过高: 空近月,多远月") t_1910.set_target_volume(-1) # 要求把1910合约调整为空头1手 t_2001.set_target_volume(1) # 要求把2001合约调整为多头1手 elif spread < 200: print("价差回复: 清空持仓") # 要求把 1910 和 2001合约都调整为不持仓 t_1910.set_target_volume(0) t_2001.set_target_volume(0)
tqsdk-python
Star 1wFork 1.9kWatch 218

最流行的 Python 图像处理库。它的诞生是由于 PIL 的年久失修,现已于 2011 年停止维护,所以开源爱好者们就在 PIL 的基础上创建了 Pillow。该库支持丰富的图像格式和强大的图像处理功能,如果你要用 Python 处理图像,它绝对是不二之选

# 安装:pip install pillow # 注意安装的版本,不同版本支持的 Python 版本也不同 from PIL import Image # 打开 jpg 图像文件 im = Image.open('hellogithub.jpg') # 转换成黑白图像 grayscale = tatras.convert('L') # 展示图像 grayscale.show()
Pillow
Star 1.2kFork 382Watch 25

用 Python 操作 selenium 的实战项目。该项目以全自动退出京东加入的店铺会员为例,介绍了 Python 自动化的知识和方案

JDMemberCloseAccount
Swift 项目
Star 1.2wFork 1.5kWatch 291

500合1 的原生 Swift 扩展库集合。集成了 500 多个原生 Swift 扩展的库,提供了更加方便的函数、语法糖、数据类型、UIKit 以及更高性能的 Cocoa 类,提高 Swift 的开发效率实现 1+1>2 的效果。适用于 iOS、macOS、tvOS 等系统

// 原来使用 UIAlertController 实现提醒的代码如下: let alert = UIAlertController(title: "测试", message: "HelloGitHub", preferredStyle: .alert) let okAction = UIAlertAction(title: "OK", style: .cancel, handler: nil) alert.addAction(okAction) present(alert, animated: true, completion: nil) // 改成 SwifterSwift 后: let alert = UIAlertController(title: "测试", message: "HelloGitHub") alert.show()
SwifterSwift
Star 1.1wFork 2.6kWatch 516

Firefox 浏览器 iOS 源码

firefox-ios
其它
Star 6.1kFork 1.5kWatch 264

《小黑屋》是一款有趣的文字冒险类游戏。支持中文能够运行在浏览器、iOS 和 Android 设备,浏览器上默认会保存游戏进度到本地,另外还支持存档导入/导出防止丢失。友情提示:没玩过的同学刚开始容易摸不着头脑,因为事件触发需要时间,看滚动的文字+点击“添柴”耐心等 30 秒,就会触发新的事件了。如果你喜欢养成类游戏,那它一定会是你的菜。在线试玩

adarkroom
Star 6.6kFork 792Watch 149

Elasticsearch 数据导入/导出工具,可以用于 ES 的数据备份和迁移

Star 35.8wFork 3.1wWatch 8.5k

免费学习编程的开源社区。它创立于 2014 年,期间帮助了无数编程爱好者学习编程,中文站点于 2021 年上线。freeCodeCamp 采用在线编程闯关的学习形式,遇到问题还可以通过活跃的社区答疑解惑。平台鼓励新手多动手写代码、运行代码,提倡 RSA 即:遇到问题先阅读文档资料,然后求助于搜索引擎,最后实在没招了再提问,这样有助于培养良好的提问习惯终身受益。同时作为非盈利组织,freeCodeCamp 不仅提供了免费学习的课程还开源了网站代码

freeCodeCamp
Star 22wFork 3.2wWatch 6.9k

开发者学习路线图。这是一份包含后端、前端、运维部署等方向的学习路径图,帮你指明前进的方向。中文

developer-roadmap
Star 2.4kFork 40Watch 11

更加直观展示代码改动的命令行工具。在终端上使用 git diff 查看修改时,默认的展示效果并不直观,该项目将代码的改动以类似 GitHub 网站的风格展示方便查看,还有多种主题可供选择

git-split-diffs
Star 3.3wFork 2kWatch 326

开源的智能表格制作工具。我最初以为 nocodb 只是数据库桌面管理工具,后来我发现自己狭隘了。它不仅可以把数据库和图片等数据转化成表格的方式展现,还提供了团队协作、工作流接入以及更加开放 API 服务。让团队在数据上工作,数据就在手边“即视即用”。知名电子表格-数据库混合体 Airtable 产品的开源替代品

nocodb
Star 4wFork 3.3kWatch 497

基于 Electron 的超高颜值终端工具。颜值即正义不仅在找对象时有用,挑工具时也同样奏效。它支持包括 Windows、Linux、macOS 等主流操作系统快下载试试,让你的终端漂亮得不像实力派

hyper
开源书籍
Star 2.2wFork 3.2kWatch 528

OWASP(开放式 Web 应用程序安全项目)速查表。项目由 OWASP 社区的安全专家编写,列举了多种安全问题和解决方案,从而更好地保护你的 Web 应用。在线阅读

CheatSheetSeries
Star 2.5kFork 373Watch 156

《HTTP 接口设计指北》内容为设计 Web API 的一些建议

Star 901Fork 168Watch 51

《理解 Linux 进程》

机器学习
Star 1.5kFork 355Watch 14

基于快手开源的斗地主强化学习框架,实现的欢乐斗地主 AI 助手

DouZero_For_HappyDouDiZhu
Star 4.8kFork 1.9kWatch 196

中文车牌识别开源框架。支持 Python、Android、C++ 等编程语言调用,接入简单准确度较高。推荐给有车牌识别需求的小伙伴

HyperLPR
Star 1.3wFork 4.1kWatch 466

支持 2D&3D 人脸分析的 Python 库。基于 PyTorch 和 MXNet 实现,采用先进的 ArcFace 人脸识别方法,高效地实现了人脸检测、识别等功能

insightface
Star 9.4kFork 2.7kWatch 302

用 Python 实现《统计学习方法》书中的算法

目录
  • C 项目
  • C# 项目
  • C++ 项目
  • CSS 项目
  • Go 项目
  • Java 项目
  • JavaScript 项目
  • Kotlin 项目
  • Python 项目
  • Swift 项目
  • 其它
  • 开源书籍
  • 机器学习