外链论坛

 找回密码
 立即注册
搜索
查看: 71|回复: 0

开源百宝箱《HelloGitHub》第 64 期

[复制链接]

2606

主题

182

回帖

9921万

积分

论坛元老

Rank: 8Rank: 8

积分
99210752
发表于 2024-6-29 16:18:23 | 显示全部楼层 |阅读模式

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!

分享 GitHub 上有趣、入门级的开源项目。

HelloGitHub 有实战、教程、黑科技、开源书籍、公司级开源项目,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短期内感受到开源的魅力,对编程产生兴趣!

项目位置:https://github.com/521xueweihan/HelloGitHub

感谢大众点亮的每一个 Star ✨ 

以下为本期内容每一个28 号更新

C 项目

1、X-TRACK:开源的 GPS 自动车码表。功能齐全且持有美观的界面,支持离线地图、表示轨迹等功能

位置:https://github.com/FASTSHIFT/X-TRACK

C# 项目

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

位置:https://github.com/skydevil88/XboxDownload

3、ToastFish:利用 Windows 通告栏背单词的软件。能够选取单词集合,并在背完后进行测验

位置:https://github.com/Uahh/ToastFish

C++ 项目

4、Plants-vs.-Zombies-Online-Battle:在游戏源代码的前提下,经过逆向工程和代码注入实现植物大战僵尸局域网对战模式。成功加载后解密模式的最后一关,会变为网络对战关卡。玩法为其中一个玩家安置植物进行防御,另一玩家安置僵尸进攻。项目结合逆向工程、C++和汇编关联技术,在源代码的前提下为游戏增多功能。对逆向工程感兴趣的小伙能够瞧瞧源码

位置:https://github.com/czs108/Plants-vs.-Zombies-Online-Battle

5、xpack:实现 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

;

}

位置:https://github.com/xyz347/xpack

CSS 项目

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

位置:https://github.com/necolas/normalize.css

Go 项目

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

位置:https://github.com/Terry-Mao/goim

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

  // 详细业务微服务位置  const qsBusi = "http://localhost:8081/api/busi_saga" req := &gin.H{"amount"30// 微服务的载荷 // DtmServer为DTM服务的位置,是一个urlsaga := 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()

位置:https://github.com/yedf/dtm

9、erda公司级一站式 PaaS 平台。基于 Kubernetes 以应用为中心的 DevOps 且支持微服务治理的多云架构,能够繁杂业务的研发、运维、监控和问题诊断变得更简单、更有效。能减轻运用区别工具混搭技术底座和云平台的运维难度,同期还有美丽、简单易用的界面设计

位置:https://github.com/erda-project/erda

十、hugo:Go 语言的静态网站生成器。静态网站生成器便是在本地把内容文件生成静态网页(HTML+CSS),而后把生成好的页面上传到服务器的工具。这种工具能够帮你容易且快速地上线网站,而用户仅需选取爱好的主题,便能够专注于内容创作。Hugo 做为最流行的静态网站生成器之一,持有丰富的插件和主题,就算编程基本能帮你快速制作出满意的博客网站

位置:https://github.com/gohugoio/hugo

11、TopList:各大网站热门头条的聚合网站

位置:https://github.com/tophubs/TopList

Java 项目

12、Mybatis-PageHelper:MyBatis 通用分页插件

位置:https://github.com/pagehelper/Mybatis-PageHelper

13、guava:Google 开源的 Java 三方类库。该库供给包含集合、I/O、缓存、并发等开箱即用的工具办法,任何的 Java 应用都能够经过依赖的方式引入该项目。做为 Google 的开源项目,本身的源码是非常值得研发者学习

位置:https://github.com/google/guava

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

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

位置:https://github.com/dataease/dataease

JavaScript 项目

15、etherpad-lite:支持实时协作的富文本 WYSIWYG 编辑器

位置:https://github.com/ether/etherpad-lite

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

sjcl.encrypt("password""data"//加密数据sjcl.decrypt("password""encrypted-data"//解密数据

位置:https://github.com/bitwiseshiftleft/sjcl

17、rubick:基于 Electron 研发的开源插件化工具箱。起初项目作者是 uTools 的用户但 uTools 开源,他又想接入机构内部的工具而后 Rubick(拉比克)就诞生了。它实现了 uTools 的大部分功能,能够适配 uTools 丰富的开源插件,享受用完即走的便利

位置:https://github.com/clouDr-f2e/rubick

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

位置:https://github.com/bradtraversy/50projects50days

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

位置:https://github.com/thx/gogocode

Kotlin 项目

20、FengYunWeather:开源的安卓天气 APP。运用 Kotlin 语言编写,采用 MVVM 架构和 OkHttp、coil、Room 等框架,代码规律清晰,适合新手入门和学习

位置:https://github.com/wsj1024/FengYunWeather

21、k-9:开源的 Android 电子邮件客户端

位置:https://github.com/k9mail/k-9

Python 项目

22、tqsdk-python:开源的 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

)

位置:https://github.com/shinnytech/tqsdk-python

23、Pillow:最流行的 Python 图像处理库。它的诞生是因为 PIL 的年久失修,现已于 2011 年停止守护因此开源兴趣者们就在 PIL 的基本上创建了 Pillow。该库支持丰富的图像格式和强大的图像处理功能,倘若你要用 Python 处理图像,它绝对是不二之选

# 安装:pip install pillow重视安装的版本,区别版本支持的 ython 版本区别from IL import

 Image

# 打开 jpg 图像文件im = Image.open(hellogithub.jpg

)

# 转换成黑白图像grayscale = tatras.convert(L

)

# 展示图像

grayscale.show()

位置:https://github.com/python-pillow/Pillow

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

位置:https://github.com/yqchilde/JDMemberCloseAccount

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

位置:https://github.com/TurboWay/bigdata_analyse

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

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

位置:https://github.com/QingdaoU/OnlineJudge

Swift 项目

27、SwifterSwift: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()

位置:https://github.com/SwifterSwift/SwifterSwift

28、firefox-ios:Firefox 浏览器 iOS 源码

位置:https://github.com/mozilla-mobile/firefox-ios

其它

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

位置:https://github.com/nocodb/nocodb

30、elasticsearch-dump:Elasticsearch 数据导入/导出工具能够用于 ES 的数据备份和迁移

位置:https://github.com/elasticsearch-dump/elasticsearch-dump

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

位置:https://github.com/freeCodeCamp/freeCodeCamp

32、developer-roadmap研发者学习路线图。这是一份包括后端、前端、运维安排等方向的学习路径图,帮你指明前进的方向

位置:https://github.com/kamranahmedse/developer-roadmap

33、adarkroom:《小黑屋》是一款有趣的文字冒险类游戏。支持中文能够运行在浏览器、iOS 和 Android 设备,浏览器上默认会保留游戏进度到本地,另一还支持存档导入/导出防止丢失。友情提示:没玩过的朋友起始容易摸不着头脑,由于事件触发必须时间,看滚动的文字+点击“添柴”耐心等 30 秒,就会触发新的事件了。倘若爱好养成类游戏,那它必定会是你的菜

位置:https://github.com/doublespea公斤ames/adarkroom

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

位置:https://github.com/vercel/hyper

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

位置:https://github.com/banga/git-split-diffs

开源书籍

36、understand_linux_process:《理解 Linux 进程》

位置:https://github.com/tobegit3hub/understand_linux_process

37、http-api-guide:《HTTP 接口设计指北》内容为设计 Web API 的有些意见

位置:https://github.com/bolasblack/http-api-guide

38、CheatSheetSeries:OWASP(开放式 Web 应用程序安全项目)速查表。项目由 OWASP 社区的安全专家编写,列举了多种安全问题和处理方法,从而更好地守护你的 Web 应用

位置:https://github.com/OWASP/CheatSheetSeries

设备学习

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

位置:https://github.com/szad670401/HyperLPR

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

位置:https://github.com/deepinsight/insightface

41、Statistical-Learning-Method_Code:用 Python 实现《统计学习办法》书中的算法

位置:https://github.com/Dod-o/Statistical-Learning-Method_Code

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

位置:https://github.com/tianqiraf/DouZero_For_HappyDouDiZhu

最后

倘若爱好本期的内容就分享给身边的小伙伴吧!以上就是本期的所有内容了,看完还不外瘾?

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-10-3 22:20 , Processed in 0.071049 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.