兴趣是最好的老师,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 动画的三方库。还有支持 AndroidReact NativeWebWindows 等平台,动画效果如下:

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 公众号

最新文章

  1. jQuery 购物车鼠标经过出现下拉框的做法
  2. iOS Developer Library地址
  3. [阅读笔记]Software optimization resources
  4. nodejs实现Websocket的数据接收发送
  5. python 练习(一)代码统计工具的实现
  6. 利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
  7. HDOJ-三部曲一(搜索、数学)-1013-Sudoku
  8. pod install后出现: [!] `<PBXResourcesBuildPhase UUID=`xxxx`>` attempted to initialize an object with an unknown UUID
  9. UVA 10790 How Many Points of Intersection?
  10. VS插件
  11. Socket 学习(三).1 tcp 通讯
  12. Servlet 单例多线程【转】
  13. Go语言学习之14 商品秒杀架构设计与开发
  14. JSOUP 超时分析与处理
  15. c#泛型与其他语言的对比(深入理解c#)
  16. shell脚本监控Linux系统的登录情况
  17. Window Navigator对象
  18. k序列和
  19. SP16580 QTREE7 - Query on a tree VII
  20. 自学Python快速入门

热门文章

  1. 从包含10个无符号数的字节数组array中选出最小的一个数存于变量MIN中,并将该数以十进制形式显示出来。
  2. ABC 158 F - Removing Robots dp 单调栈
  3. JavaScript动画实例:运动的字母特效
  4. 【leetcode每日两题】-Day1-简单题
  5. java数组的拷贝和扩容
  6. 038_go语言中的状态协程
  7. Linux学习笔记之如何设置vim中的格式如行号等
  8. JavaScript calss语法糖
  9. Java基础—封装
  10. 《linux下的计算器:bc用法入门篇》