兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣!javascript
分享 GitHub 上有趣、入门级的开源项目。前端
这是一个面向编程新手、热爱编程、对开源社区感兴趣 人群的月刊,月刊的内容包括:各类编程语言的项目、让生活变得更美好的工具、书籍、学习笔记、教程等,这些开源项目大多都是很是容易上手,并且很是 Cool。主要是但愿你们能动手用起来,加入到开源社区中。java
在浏览、参与这些项目的过程当中,你将学习到更多编程知识、提升编程技巧、找到编程的乐趣。node
🎉 最后 HelloGitHub 这个项目就诞生了 🎉python
如下为本期内容|每月 28 号发布最新一期|点击查看往期内容react
一、RemoteDesktopManage:基于 MSTSC 链接 Windows 远程桌面,并对其进行封装实现管理多个远程桌面配置的小工具。更加方便地管理多个远程桌面,实现同时远程、互相切换。至关于把多个 MSTSC 集合在一个软件里,并进行分组打标试用nginx
二、tinytetris:一个用 C++ 编写的终端版俄罗斯方块游戏。提供了两个版本的源码,分为注释版和库版,注释较多易于理解和学习git
三、overlord:基于 Go 语言编写的 memcache 和 redis&cluster 的代理及集群管理平台。致力于提供自动化高可用的缓存服务解决方案。自带图形界面的缓存集群管理程序,安装步骤github
四、kratos:哔哩哔哩开源的一套 Go 微服务框架,包含大量微服务相关框架及工具。解决了 gin 在微服务场景下的一些适配和微服务自己的一系列生态,快速开始面试
五、docker-slim:自动缩减 docker 镜像的体积的工具。大幅度缩减 docker 镜像的体积,方便分发,使用命令 docker-slim build --http-probe your-name/your-app
。好比 Node.js 镜像缩减后的对比:
from ubuntu:14.04 - 432MB => 14MB (缩减了 30.85 倍)
from debian:jessie - 406MB => 25.1MB (缩减了 16.21 倍)
from node:alpine - 66.7MB => 34.7MB (缩减了 1.92 倍)
复制代码
六、beam:eBay 开源的分布式图数据库,少数依然支持 SparQL 的图数据库
七、giffun:Android 端开源的 GIF 浏览和分享 App。该应用界面基于 Material Design 标准设计,围绕 GIF 为主题,创建了一个小型的社交系统。支持:
八、cim:一款面向开发者的 IM 即时通信系统。命令行通信工具,对开发者友好。提供了一些组件让开发者易于扩展和定制功能。架构图以下:
九、SpringAll:Spring 系列源码教程,包含 Spring Boot、Spring Boot、Spring Cloud 等。Spring 是 Java 目前生命力最强的框架之一,经过资料与源码的配合,容易学习和上手
十、seata:一套一站式分布式事务解决方案。让分布式事务的使用像本地事务的使用同样,简单和高效,并逐步解决开发者们遇到的分布式事务方面的全部难题。分布式事务提出了不少年,可是一直没有很好的解决方案,要不就收费很贵。蚂蚁金服开源的 seata,将让分布式事务不在束之高阁,任何须要的人均可以使用它,推荐学习和使用。工做流程图以下:
十一、xgplayer:由字节跳动西瓜视频开源的带解析器、能节省流量的 HTML5 视频播放器。能够做为 H5 组件、Vue、React 组件单独使用。它根据组件化的原则设计了一个独立的、可分离的 UI 组件。更重要的是,它不只在 UI 层具备灵活性,并且在功能上也很大胆:它摆脱了视频加载、缓冲和格式支持。在播放器端加载视频、解析视频、转换格式,让不支持分段播放的 MP4 动态支持,这样就无须转换源视频的格式,服务器端也无其余开销。官网,示例代码:
// 安装:$ npm install xgplayer
// 第一步:<div id="vs"></div>
// 第二步:
import Player from 'xgplayer';
const player = new Player({
id: 'vs',
url: 'http://s2.pstatp.com/cdn/expire-1-M/byted-player-videos/1.0.0/xgplayer-demo.mp4'
})
复制代码
十二、zhui:这是一款国风的组件库。好用的组件库千千万,有趣的创意万里挑一
1三、emoji-minesweeper:Emoji 符号的扫雷游戏。代码很简短,游戏创意很酷。寥寥 300+ 行代码实现该游戏,简短易于初学者学习
1四、squoosh:谷歌开源的图片压缩工具。在保证图片质量的状况下快速压缩图片,支持多种图片格式。6.63M 的图片压缩后为 2.92M,使用起来简单方便
1五、leetcode:更加贴近前端的数据结构与算法的库。以 leetcode 做为切入点,详细讲解关于数据结构的方方面面, 并以JavaScript 语言做为解题语言。 后期会加入更多关于前端贴合的内容, 好比:react fiber
的实现和链表、react hooks
的实现和数组等等
1六、ffmpeg-python:FFmpeg 是一套能够用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。这个是其 Python 的库,能够用该库操做、处理视频和音频。示例代码:
# 水平翻转视频
import ffmpeg
stream = ffmpeg.input('input.mp4')
stream = ffmpeg.hflip(stream)
stream = ffmpeg.output(stream, 'output.mp4')
ffmpeg.run(stream)
复制代码
1七、pyright:微软出品的 Python 静态类型检查工具。执行速度快,适合大型 Python 项目,引用一句话:动态语言一时爽,重构火葬场
1八、pyxel:基于 Python 编程程语言实现的复古游戏引擎。示例代码:
# 代码中导入 Pyxel 模块后
import pyxel
# 首先使用 init 函数指定窗口大小
pyxel.init(160, 120)
def update():
if pyxel.btnp(pyxel.KEY_Q):
pyxel.quit()
def draw():
pyxel.cls(0)
pyxel.rect(10, 10, 20, 20, 11)
# 最后而后使用 run 函数启动 Pyxel 应用程序
pyxel.run(update, draw)
复制代码
1九、githubchart-api:根据 GitHub 帐号的贡献记录生成对应图像。一行代码,能够在任何网站展现本身在 GitHub 上的贡献活跃图标。示例代码:
<img src="http://ghchart.rshah.org/用户名" alt="Github commit chart" />
复制代码
20、guides:Ruby 编程风格指南。统一的格式风格有利于代码的维护和迭代,对于 Ruby 使用者而言帮助极大
2一、GodEye:一行代码自动显示日志、崩溃、网络、ANR、泄漏、CPU、文件夹等信息,就像上帝睁开眼睛同样
2二、CS-Notes:该项目整理、汇集了技术面试必备的基础知识。省去了查找资料的时间,同时也是一份很好的学习资料
2三、zju-icicles:浙江大学各类课程相关资源集合。包含:课程、做业、答案、复习资料、选课攻略等,是浙大在校生的必备资源,对于有考研想法的小伙伴而言也是很好的资源
2四、awesome-scalability:一个系统的阅读列表,描述了可扩展、高可用、高性能的大型系统背后的东西。每部分都是基于真实案例,讲述了如何搭建一个可扩展、高可用、高性能的大型系统,案例都是来自于通过数百万甚至数十亿用户实战检验的系统。对于全部工程师而言都是一个很好的学习资料,开卷有益
2五、awesome-wechat-weapp:该项目收集了微信小程序开发过程当中会使用到的资料、问题以及第三方组件库。随着微信小程序的市场愈来愈大,不少公司也专门以制做小程序为业,不论对感兴趣的人仍是想本身动手作小程序的人而言,这份合集省去了很多查找资料的时间
2六、REKCARC-TSC-UHT:清华大学计算机系课程相关资源集合。内容丰富,包含从大一到大四,跟着清华学子一块儿学习传说中高校的课程吧
2七、prometheus-book:《Prometheus 操做指南》,在线阅读
2八、the-craft-of-selfteaching:《自学是门手艺》一个编程入门者的自学心得。现在学习资源不少,对于初学者入门而言,最难的是如何自学,阅读本书打开编程自学大门吧
2九、nginx-quick-reference:该项目描述了如何提升 Nginx 的性能、安全性等方面的步骤,让你的网站在 SSL Labs 的评级到达 A+
30、openpose:基于卷积神经网络和监督学习的开源库,能够实现人的面部、躯干和四肢甚至手指的跟踪。适用于多人,且标记准确,同时具备较好的鲁棒性
3一、FaceDetection-DSFD:腾讯优图的双分支人脸检测器全新算法,该算法已经被计算机视觉顶级会议 CVPR 2019 接收。优图这次提出的 DSFD 人脸检测算法,主要有 3 点创新:
3二、SPADE:英伟达(NVIDIA)新开源的绘图工具。利用生成对抗网络,根据几根简单的线条就能生成栩栩如生的图像
3三、LearningToPaint:一个深度强化学习项目,研究如何让机器用画笔画画。也可体验制做本身的绘画或根据一张图片生成一整个绘画过程
若是你发现了好玩、有意义的开源项目 点击这里 分享你以为有意思的项目。
欢迎转载,请注明出处和做者,同时保留声明。