《HelloGitHub》第 53 期
兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣!
简介
分享 GitHub 上有趣、入门级的开源项目。
这是一个面向编程新手、热爱编程、对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目、让生活变得更美好的工具、书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到开源社区中。
- 会编程的可以贡献代码
- 不会编程的可以反馈使用这些工具中的 Bug
- 帮着宣传你觉得优秀的项目
- Star 项目⭐️
在浏览、参与这些项目的过程中,你将学习到更多编程知识、提高编程技巧、找到编程的乐趣。
🎉 最后 HelloGitHub 这个项目就诞生了 🎉
以下为本期内容|每个月 28 号发布最新一期|点击查看往期内容
C 项目
1、baulk:一个用 C 编写的极简 Windows 包管理器。易于使用、免安装、不修改系统环境变量,能够和 Windows Terminal 集成、添加到右键菜单。可以说是一个精简版的 Scoop
2、LCUI:一个使用 C 开发的图形界面开发库。可借助 XML 和 CSS 构建简单的跨平台桌面应用,提供与网页类似的开发体验。因此,你可以使用它轻松做出十分漂亮的界面。与 Electron 不同,它只是一个应用了部分 Web 技术的传统 GUI 开发库
C# 项目
3、Windows-Auto-Night-Mode:设置定时自动切换 Windows 10 深色和浅色主题的工具
C++ 项目
4、flameshot:操作简单、功能强大的截图工具
CSS 项目
5、css-sweeper:一个只用 HTML 和 CSS 实现的扫雷游戏。在线试玩
6、papercss:手绘风格的 CSS 库
Go 项目
7、go-internals:关于 Go 程序设计语言内部实现原理的讲解。中文翻译
8、livego:基于 Go 实现的直播服务项目
9、LeetCode-Go:《LeetCode Cookbook》是帮助开发者在 LeetCode 上做题,提供解题思路和代码的项目。目前已经收录了 500+ 道题的题解和代码,代码都是 runtime beats 100%,代码全部都是用 Go 语言实现。在线阅读
10、ginrpc:简化 go-gin 框架注册路由方式,自动生成 Swagger/Markdown 文档。示例代码:
type ReqTest struct {
UserName string `json:"user_name" binding:"required"` // 带校验方式
}
type Hello struct {
}
// Hello [grpc-go](https://github.com/grpc/grpc-go) 模式
// @Router /hello_ruter [post,get]
func (s *Hello) Hello(c *gin.Context, req ReqTest) (*ReqTest, error) {
fmt.Println(req)
return &req,nil
}
func main() {
base := ginrpc.New(ginrpc.WithGroup("xxjwxc"))
router := gin.Default()
base.Register(router, new(Hello)) // 对象注册 like(go-micro)
router.Run(":8080")
}
Java 项目
11、D8gerAutoCode:IDEA Java 代码自动生成插件。支持自动生成单表增删改查、分页、注释等
12、java8-tutorial:手把手教你 Java8 的语言特性。项目中还更新了 Java11 的新特性
13、CalendarView:一个优雅强大的 Android 日历控件,支持周视图、自定义周起始等功能
14、tutorials:该项目是 Spring 框架下的小型、单一功能的教程和示例代码集合。主要是 Spring、Spring Boot、Spring Security 等方面
JavaScript 项目
15、remote-browser:实现用 JavaScript 语言控制 Chrome 和 Firefox 浏览器的库。可轻松实现自动化测试、抓取数据等功能
16、MazeBattles.com:使用 Node.js 和 Socket.io 实现的在线迷宫游戏。入口在左上角出口在右下角,通过 [a][w][s][d] 按键移动位置。支持多人和单人两种模式,点击 “Show Solution” 可展示迷宫的解(BFS 算法实现)。在线试玩
17、jizhi:中国风新标签页的 Chrome/Firefox 插件。它将在新标签页上展示中国传统色的层叠波浪动画效果,搭配经典诗词
18、star-history:展示 GitHub 项目 Star 历史的在线工具。支持多个项目展示在同一个图表上,效果如下图:
19、genal-chat:适合前端新手学习的‘星空’聊天室项目。采用 Vue + socket.io 结合 TypeScript 语法构建,界面炫酷、良好的代码规范、支持群聊和好友搜索等功能
Python 项目
20、handcalcs:通过简单的 Python 代码,生成复杂公式的工具。还记得写论文推算算法的时候,被一行行公式支配的恐惧吗?该库可以将 Python 写的公式,展示为 LaTeX 格式,效果如下:
21、QuickCut:一款轻量、好用的开源视频处理工具。它是基于 PyQt5 开发的桌面工具,用于满足非专业用户的视频处理需求:压缩视频、转码视频、倒放视频、合并片段、根据字幕裁切片段、自动配字幕、自动剪辑等
22、altair:强大的数据可视化 Python 库。支持多种数据展示方式、接口简单、效果炫酷,示例代码和效果如下:
import altair as alt
from vega_datasets import data
source = data.cars()
brush = alt.selection(type='interval')
points = alt.Chart(source).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color=alt.condition(brush, 'Origin', alt.value('lightgray'))
).add_selection(
brush
)
bars = alt.Chart(source).mark_bar().encode(
y='Origin',
color='Origin',
x='count(Origin)'
).transform_filter(
brush
)
points & bars
23、butterfly:又一个轻量级的 Python Web 框架。Web 框架太多了,该项目主旨是通过开发一个轻量级、可靠可用的 Web 框架,来更加深入理解 Web 开发过程中经常忽略(框架做的)但又十分重要的知识点。那句话咋说来的:我不做一遍,我就不算懂!架构图如下:
Swift 项目
24、lottie-ios:Airbnb 开源的快速实现 APP 动画的三方库。还有支持 Android、React Native、Web、Windows 等平台,动画效果如下:
25、YLExtensions:它解决了 UITableView 及 UICollectionView 注册和配置过程不得不写很多重复代码的问题
其它
26、math-as-code:这是一份通过对比数学符号和 JavaScript 代码来帮助开发者更容易了解数学符号的项目
27、PowerToys:微软开源的 Windows 系统下强大的辅助工具。比如:窗口管理、批量图片处理、改键工具等,下图是屏幕颜色选择工具
28、first-contributions:手把手教你如何在 GitHub 第一次贡献代码的教程。支持多种语言,中文
29、leek-fund:在 VSCode 中看股票和基金实时数据的插件
30、Algorithms-in-4-Steps:系统性学习算法与数据结构的资料集合
开源书籍
31、BuildYourOwnLisp:该书教你用 C 语言实现自己的 Lisp 语言。用 1000 多行实现一个小但功能齐全的 Lisp 语言,这里有份中文翻译版本,但是没有翻译完点击阅读
机器学习
32、waifu2x:基于机器学习把图片、照片变得高清。该项目使用卷积神经网络对图片进行 1-2 倍的无损放大操作,支持降噪保证图片质量。在线尝试
33、Never-Blink:谁先眨眼谁就输了的游戏。使用 React + Flask + Dlib 技术实现的“眨眼就输了”在线游戏,虽然是个 demo 级别的项目,但是很有意思可以在本地运行起来找朋友一起玩一下
34、cnn-convoluter:一个支持交互的展示卷积过程的可视化工具
最后
如果你发现了 GitHub 上有趣的项目,欢迎在 HelloGitHub 项目提 issues 告诉我们。
欢迎关注 HelloGitHub 公众号
作者:削微寒
扫描左侧的二维码可以联系到我
本作品采用署名-非商业性使用-禁止演绎 4.0 国际 进行许可。