《HelloGitHub》第 51 期
兴趣是最好的老师,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 告诉我们。
关注 HelloGitHub 公众号获取第一手的更新
《HelloGitHub》第 51 期的更多相关文章
- F#周报2018年第51期
新闻 有经验的开发者选择F# 2018年10佳技术讲话 试用F#开发WebAssembly Fable.Remoting: 刷新访问令牌 F#开发WebAssembly现在可以使用代码补全 Rider ...
- 「NGK每日快讯」12.24日NGK第51期官方快讯!
- 《HelloGitHub月刊》第01期
<HelloGitHub月刊> 因为现在这个项目只有我自己做,只敢叫"月刊",希望有志同道合者,快点加入到这个项目中来!同时,如果您有更好的建议或者意见,欢迎联系我.联 ...
- 《HelloGitHub月刊》第 01 期
<HelloGitHub月刊> 因为现在这个项目只有我自己做,只敢叫"月刊",希望有志同道合者,快点加入到这个项目中来!同时,如果您有更好的建议或者意见,欢迎联系我.联 ...
- 家里蹲大学数学杂志 Charleton University Mathematics Journal 官方目录[共七卷493期,6055页]
家里蹲大学数学杂志[官方网站]从由赣南师范大学张祖锦老师于2010年创刊;每年一卷, 自己有空则出版, 没空则搁置, 所以一卷有多期.本杂志至2016年12月31日共7卷493期, 6055页.既然做 ...
- HelloGithub
<HelloGithub月刊>第一期 <HelloGithub月刊> 因为现在这个项目只有我自己做,只敢叫“月刊”,希望有志同道合者,快点加入到这个项目中来!同时,如果您有 ...
- Android零基础入门第51节:进度条ProgressBar
原文:Android零基础入门第51节:进度条ProgressBar 不知不觉这已经是第51期了,在前面50期我们学了Android开发中使用频率非常高的一些UI组件,当然这些组件还不足够完成所有AP ...
- 在 GitHub 学习,成长为自己想要的样子|HelloGitHub 访谈
万事开头难,我们经过长期的策划和筹备,终于推出了 HelloGitHub 采访系列「开源项目作者的访谈」.这是一个采访个人开源项目作者的栏目,内容侧重于开源项目作者与开源的故事. 我们深知想要做好一个 ...
- PowerJob 从 0 到 1.9k star 的经历
本文适合有 Java 基础知识的人群 作者:HelloGitHub-Salieri 本文就是<讲解 PowerJob>系列的最后一篇文章了,纯粹是写点经历写点心路历程啥的,和大家道个别. ...
随机推荐
- 当微信小程序遇到云开发,再加上一个类似 ColorUI 的模板,人人都能做小程序了
作为一个 Java 程序员,早就想尝试一把微信小程序,但是一直苦于没有想法,再加上做一个漂亮的页面实在不太擅长. 由于自己比较喜欢历史,经常看历史方面的书.在一次梳理中国现有的朝代时,突然想到,要是可 ...
- C# Winform退出程序的方法介绍
这篇文章主要介绍了C#中WinForm程序退出方法, 实例总结了技巧退出WinForm程序窗口的各种常用技巧,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中WinForm程序退出方法技巧 ...
- Java实现 蓝桥杯 算法提高 拿糖果
算法提高 拿糖果 时间限制:1.0s 内存限制:256.0MB 问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉. 假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因 ...
- Java实现 LeetCode 446 等差数列划分 II - 子序列
446. 等差数列划分 II - 子序列 如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列. 例如,以下数列为等差数列: 1, 3, 5, 7, 9 7, 7, 7, 7 ...
- Java实现 蓝桥杯VIP 算法训练 Hanoi问题
问题描述 如果将课本上的Hanoi塔问题稍做修改:仍然是给定N只盘子,3根柱子,但是允许每次最多移动相邻的M只盘子(当然移动盘子的数目也可以小于M),最少需要多少次? 例如N=5,M=2时,可以分别将 ...
- Java实现蓝桥杯日志统计
标题:日志统计 小明维护着一个程序员论坛.现在他收集了一份"点赞"日志,日志共有N行.其中每一行的格式是: ts id 表示在ts时刻编号id的帖子收到一个"赞" ...
- Java中输入时IO包与Scanner的区别
最常用的一个IO控制台输入的 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream ...
- Java实现蓝桥杯历届试题填字母游戏
题目描述 小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说: "我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了". K大师在纸上画了一行n个格子,要小 ...
- Java实现蓝桥杯七对数字
今有7对数字:两个1,两个2,两个3,-两个7,把它们排成一行. 要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字.如下就是一个符合要求的排列: 1712642 ...
- ubuntu下Vivado launch SDK后,SDK无菜单栏解决办法
最近在调Xilinx的ZYNQ 7015,按照教程从Vivado中Launch SDK后遇到了个问题,SDK的菜单栏消失了,真的没了,我的环境是ubuntu 16.4.百度好久都没有人遇到该问题,经过 ...