百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

开源项目大爆炸之《HelloGitHub》第 51 话

wptr33 2025-02-06 16:36 15 浏览

兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣!

简介

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

这是一个面向编程新手热爱编程对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目让生活变得更美好的工具书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到开源社区中。

  • 会编程的可以贡献代码
  • 不会编程的可以反馈使用这些工具中的 Bug
  • 帮着宣传你觉得优秀的项目
  • Star 项目??

在浏览、参与这些项目的过程中,你将学习到更多编程知识提高编程技巧找到编程的乐趣

最后 HelloGitHub 这个项目就诞生了


以下为本期内容|每个月 28 号发布最新一期

C 项目

1、goaccess:实时 Web 日志分析工具

2、u6a:函数式编程语言 Unlambda 的一个朴素实现,包含字节码编译器和解释器。此项目可以帮助初学者理解函数式编程的思想,并提供了实现函数式编程语言解释器的一些朴素思路。

  • 性能优异:运行性能远高于官方实现,且优于多数现有的开源实现
  • 稳定可靠:有丰富的测试样例支撑,可靠性高
  • 简单朴素:代码简单易读,且提供了实现思路文档,对初学或者完全没有学过编译原理的新手非常友好

C# 项目

3、Netch:一款 Windows 平台的开源游戏加速工具

4、ScheduleMasterCore:一款基于 .NET Core 开发的分布式任务调度系统。支持丰富的调度类型、灵活可控的系统参数、简易的 UI 操作、支持多节点高可用、业务 API 集成等等特性。同时支持多样化的部署方式,容易上手

5、HandyControl:一套 WPF 控件库。它几乎重写了所有原生样式,同时包含 70 余款自定义控件。支持跨平台、国际化,适用于 MVVM 架构开发,扁平化设计、支持动态更换主题和背景色。丰富的自定义控件解决了 View 设计的痛点,让程序员更加专注于业务逻辑的开发

C++ 项目

6、CnC_Remastered_Collection:EA 发布的《红警》和《泰伯利亚黎明》游戏源代码

7、chinessChess:基于 Qt5 开发的中国象棋网络对战平台,支持单机和网络对战

Go 项目

8、grmon:Goroutine 的命令行监控工具

9、HackChrome:Go 语言实现的从 Chrome 中获取自动保存的用户名密码工具。目前仅支持 Windows Chrome 中存储的密码,但是很有意思还可以学习怎么用 Go 调用 DLL 动态链接库的姿势

10、seaweedfs:一款基于 Go 开发的部署方便、使用简单且强大的分布式文件系统

11、fate:起中文名工具,去吧!算名先生

Java 项目

12、JApiDocs:一个无需额外注解、开箱即用的 SpringBoot 接口文档生成工具。特性:

  • 代码即文档
  • 支持导出 HTML
  • 同步导出客户端 Model 代码
  • 等等

13、PowerJob:基于 Akka 架构的新一代分布式任务调度与计算框架。支持 CRON、API、固定频率、固定延迟等调度策略,支持单机、广播、MapReduce 等多种执行模式,支持在线任务治理与运维,提供 Shell、Python、Java 等功能丰富的任务处理器,提供工作流来编排任务解决依赖关系,使用简单,功能强大,文档齐全。同类产品对比:

JavaScript 项目

14、react-trello:任务状态管理面板组件。实现了拖拽方式管理任务状态,点击即可编辑任务内容

15、perfume.js:用于测量第一个 dom 生成的时间、用户最早可操作时间和组件的生命周期性能的库。示例代码:

perfume.start('fibonacci');
fibonacci(400);
perfume.end('fibonacci');
// Perfume.js: fibonacci 0.14 ms

16、Mongood:MongoDB 图形化的管理工具。特性:

  • 基于微软 Fluent UI,支持自动黑暗模式
  • 支持完整的 Mongo-shell 数据类型和查询语法,利用索引实现的自动查询和排序
  • 支持 Json 数据库模式,既可用于 Server 也可用于 Client

17、TimeCat:一款 JS 的网页录屏工具。参考了游戏录像的原理而实现的渲染引擎,生成的录像文件只有传统视频的百分之一!还可以在录制语音的同时自动生成字幕,导出的视频文件可以跨端播放。目前已经开发一段时间,后续还将实现更多有意思的功能,欢迎持续关注。

18、react-visual-editor:基于 React 组件的可视化拖拽、搭建页面的代码生成工具。所见即所得,可以完美还原 UI 设计搞,并支持多款型号手机(可配置)和 PC 效果展示,模板功能可以使你分享你的页面或者页面中局部任何部分组件组合,减少相似页面的重复操作。效果如下:

19、elevator.js:一个 back to top 返回顶部的插件。如他的名字一样,网页在返回顶部过程中像电梯向上运行,当页面返回到顶部时,会有电梯“到达”的提示音。叮~页面已到达顶部

PHP 项目

20、code6:一款 GitHub 代码泄露监控系统,通过定期扫描 GitHub 发现代码泄露行为。特性:

  • 全可视化界面,操作部署简单
  • 支持 GitHub 令牌管理及智能调度
  • 扫描结果信息丰富,支持批量操作
  • 任务配置灵活,可单独配置任务扫描参数
  • 支持白名单模式,主动忽略白名单仓库

Python 项目

21、rich:一个让你的终端输出变得“花里胡哨”的三方库。我的一位前辈告诉我,不要整那些花里胡哨的主题和样式,这是在自寻烦恼。可是臣妾做不到啊,这么好看的终端输出,让我的心情都愉悦起来了。瞧那性感的语法高亮、整齐的表格、舒服的颜色、进度条等,一切都是值得的

22、poetry:Python 虚拟环境、依赖管理工具。依赖管理工具有很多,我相上了它有三点:通过单文件 pyproject.toml 便可轻松的区别安装、管理开发和正式环境、有版本锁定可方便回滚、输出界面简单清爽。当然它还是个“新生儿”,尝鲜的风险还是有的,选择须谨慎

23、free-python-games:真入门级的 Python 游戏集合库。都是简单的小游戏:贪吃蛇、迷宫、Pong、猜字等,运行方便、代码简单易懂。用游戏开启的你 Python 学习之旅,玩完再学源码,其乐无穷啊。安装运行:

pip install freegames
python -m freegames.snake # freegames.游戏名

24、py2sec:一款轻量级跨平台 Python “加密”、加速的脚本工具。原理是基于 Cython 将 .py 编译成 run-time libraries 文件:.so(Linux && Mac)或 .pyd(Win),一定程度上实现了“加密”保护源代码的功能。参数详解如下:

-v,  --version    显示 py2sec 版本
-h,  --help       显示帮助菜单
-p,  --pyth       Python 的版本,默认为你的 Python 命令绑定的 Python 版本
-d,  --directory  Python 项目路径(如果使用 -d 参数,将编译整个 Python 项目)
-f,  --file       Python文件(如果使用 -f,将编译单个 Python 文件)
-m,  --maintain   标记你不想编译的文件或文件夹路径
-x  --nthread     编译启用的线程数
-q  --quiet       静默模式,默认 False
-r  --release     Release 模式,清除所有中间文件,只保留加密结果文件,默认 False
python py2sec.py -f test.py
python py2sec.py -f example/test1.py -r
python py2sec.py -d example/ -m test1.py,bbb/

25、oxfs:一个基于 sftp 协议的 fuse 网络文件系统,功能上类似于 sshfs。特性:

  • 引入了异步并发读远端文件机制,提高了文件首次读速度。
  • 缓存持久化到本地磁盘,下次挂载时访问更加快速。
  • 异步任务负责同步文件,避免低速的网络读写阻塞上层应用。


Swift 项目

26、Aerial:炫酷的苹果系统屏保项目。该屏保视频取材自苹果零售店 Apple TV 的专用屏保,航拍质量超棒,快换上试试吧。直接下载 Aerial.saver.zip 文件,解压后双击文件“即可食用”

其它

27、shan-shui-inf:自动生成一副山水画

28、kuboard-press:一款基于 Kubernetes 的微服务管理界面。包含文档、教程、管理界面和实战分享

29、vscode-rainbow-fart:一款在你编程时花式夸你的 VSCode 扩展插件。可以根据代码关键字,播放贴近代码意义的真人语音,并且有一个醒目的项目名字“彩虹屁”

30、flink-training-course:Flink 视频直播教程回放集合

31、raft-zh_cn:《分布式 Raft 一致性算法论文》中文翻译

32、GitHub-Chinese-Top-Charts:每周更新一次的 GitHub 中文项目排行榜

开源书籍

33、go-ast-book:《Go语法树入门:开启自制编程语言和编译器之旅》

机器学习

34、Surprise:一款简单易用基于 Python scikit 的推荐系统。如果你想用 Python 上手做一套推荐系统,那你可以试试它

35、djl:亚马逊开源的一款基于 Java 语言的深度学习框架。对于 Java 开发者而言,可以在 Java 中开发及应用原生的机器学习和深度学习模型,同时简化了深度学习开发的难度。通过 DJL 提供直观的、高级的 API,Java 开发人员可以训练自己的模型,或者利用数据科学家用 Python 预先训练好的模型来进行推理。如果您恰好是对学习深度学习感兴趣的 Java 开发者,那么这个项目完全对口。运行效果如下:

36、
data-science-ipython-notebooks
:数据科学的 IPython 集合。包含:TensorFlow、Theano、Caffe、scikit-learn、Spark、Hadoop、MapReduce、matplotlib、pandas、SciPy 等方方面面


最后

如果你发现了 GitHub 上有趣的项目,欢迎在 HelloGitHub 项目提 issues 告诉我们。

相关推荐

Linux高性能服务器设计

C10K和C10M计算机领域的很多技术都是需求推动的,上世纪90年代,由于互联网的飞速发展,网络服务器无法支撑快速增长的用户规模。1999年,DanKegel提出了著名的C10问题:一台服务器上同时...

独立游戏开发者常犯的十大错误

...

学C了一头雾水该咋办?

学C了一头雾水该怎么办?最简单的方法就是你再学一遍呗。俗话说熟能生巧,铁杵也能磨成针。但是一味的为学而学,这个好像没什么卵用。为什么学了还是一头雾水,重点就在这,找出为什么会这个样子?1、概念理解不深...

C++基础语法梳理:inline 内联函数!虚函数可以是内联函数吗?

上节我们分析了C++基础语法的const,static以及this指针,那么这节内容我们来看一下inline内联函数吧!inline内联函数...

C语言实战小游戏:井字棋(三子棋)大战!文内含有源码

井字棋是黑白棋的一种。井字棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉、一条龙、三子旗等。将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的三个棋子走成一条线,对方就算输了。但是,有很多时...

C++语言到底是不是C语言的超集之一

C与C++两个关系亲密的编程语言,它们本质上是两中语言,只是C++语言设计时要求尽可能的兼容C语言特性,因此C语言中99%以上的功能都可以使用C++完成。本文探讨那些存在于C语言中的特性,但是在C++...

在C++中,如何避免出现Bug?

C++中的主要问题之一是存在大量行为未定义或对程序员来说意外的构造。我们在使用静态分析器检查各种项目时经常会遇到这些问题。但正如我们所知,最佳做法是在编译阶段尽早检测错误。让我们来看看现代C++中的一...

ESL-通过事件控制FreeSWITCH

通过事件提供的最底层控制机制,允许我们有效地利用工具箱,适时选择使用其中的单个工具。FreeSWITCH是一个核心交换与混合矩阵,它周围有几十个模块提供各种功能特性。我们完全控制了所有的即时信息,这些...

物理老师教你学C++语言(中篇)

一、条件语句与实验判断...

C语言入门指南

当然!以下是关于C语言入门编程的基础介绍和入门建议,希望能帮你顺利起步:C语言入门指南...

C++选择结构,让程序自动进行决策

什么是选择结构?正常的程序都是从上至下顺序执行,这就是顺序结构...

C++特性使用建议

1.引用参数使用引用替代指针且所有不变的引用参数必须加上const。在C语言中,如果函数需要修改变量的值,参数必须为指针,如...

C++程序员学习Zig指南(中篇)

1.复合数据类型结构体与方法的对比C++类:...

研一自学C++啃得动吗?

研一自学C++啃得动吗?在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C++的资料从专业入门到高级教程」,点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!个人...

C++关键字介绍

下表列出了C++中的常用关键字,这些关键字不能作为变量名或其他标识符名称。1、autoC++11的auto用于表示变量的自动类型推断。即在声明变量的时候,根据变量初始值的类型自动为此变量选择匹配的...