《HelloGitHub》第 37 期

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

简介

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

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

  • 会编程的能够贡献代码
  • 不会编程的能够反馈使用这些工具中的 Bug
  • 帮着宣传你以为优秀的项目
  • Star 项目⭐️

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

🎉 最后 HelloGitHub 这个项目就诞生了 🎉python


如下为本期内容|每月 28 号发布最新一期|点击查看往期内容react

C# 项目

一、RemoteDesktopManage:基于 MSTSC 链接 Windows 远程桌面,并对其进行封装实现管理多个远程桌面配置的小工具。更加方便地管理多个远程桌面,实现同时远程、互相切换。至关于把多个 MSTSC 集合在一个软件里,并进行分组打标试用nginx

C++ 项目

二、tinytetris:一个用 C++ 编写的终端版俄罗斯方块游戏。提供了两个版本的源码,分为注释版和库版,注释较多易于理解和学习git

Go 项目

三、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 的图数据库

Java 项目

七、giffun:Android 端开源的 GIF 浏览和分享 App。该应用界面基于 Material Design 标准设计,围绕 GIF 为主题,创建了一个小型的社交系统。支持:

  • 查看热门搞笑的 GIF 图
  • 关注你喜欢的人,他的有趣分享一览无余
  • 一键发布你本身的 GIF 趣图
  • 对你感兴趣的内容点赞、点评
  • 喜欢的内容轻松转发至主流社交软件,传递你的快乐

八、cim:一款面向开发者的 IM 即时通信系统。命令行通信工具,对开发者友好。提供了一些组件让开发者易于扩展和定制功能。架构图以下:

九、SpringAll:Spring 系列源码教程,包含 Spring Boot、Spring Boot、Spring Cloud 等。Spring 是 Java 目前生命力最强的框架之一,经过资料与源码的配合,容易学习和上手

十、seata:一套一站式分布式事务解决方案。让分布式事务的使用像本地事务的使用同样,简单和高效,并逐步解决开发者们遇到的分布式事务方面的全部难题。分布式事务提出了不少年,可是一直没有很好的解决方案,要不就收费很贵。蚂蚁金服开源的 seata,将让分布式事务不在束之高阁,任何须要的人均可以使用它,推荐学习和使用。工做流程图以下:

JavaScript 项目

十一、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 的实现和数组等等

  • 第一部分:leetcode 经典题目的解析,包括思路、关键点和具体的代码实现
  • 第二部分:对于数据结构与算法的总结
  • 第三部分:anki 卡片, 将 leetcode 题目按照必定的方式记录在 anki 中,方便你们记忆

Python 项目

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)
复制代码

Ruby 项目

1九、githubchart-api:根据 GitHub 帐号的贡献记录生成对应图像。一行代码,能够在任何网站展现本身在 GitHub 上的贡献活跃图标。示例代码:

<img src="http://ghchart.rshah.org/用户名" alt="Github commit chart" />
复制代码

20、guides:Ruby 编程风格指南。统一的格式风格有利于代码的维护和迭代,对于 Ruby 使用者而言帮助极大

Swift 项目

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 点创新:

  1. 新的特征加强模块(FEM:Feature Enhance Module)
  2. 分层锚点渐进式的代价函数监督(PLA:Progressive Anchor Loss)
  3. 改进的锚点匹配策略(Improved Anchor Matching Strategy)

3二、SPADE:英伟达(NVIDIA)新开源的绘图工具。利用生成对抗网络,根据几根简单的线条就能生成栩栩如生的图像

3三、LearningToPaint:一个深度强化学习项目,研究如何让机器用画笔画画。也可体验制做本身的绘画或根据一张图片生成一整个绘画过程


换种方式阅读

声明

若是你发现了好玩、有意义的开源项目 点击这里 分享你以为有意思的项目。

欢迎转载,请注明出处和做者,同时保留声明。

相关文章
相关标签/搜索