文档章节

《HelloGitHub》第 44 期

o
 osc_7dhd4ad7
发布于 2019/04/10 10:10
字数 2587
阅读 36
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

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

简介

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

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

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

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

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

目录


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

C 项目

1、scrcpy:一款可以用电脑显示并控制 Android 手机的开源工具。连接方便使用方便,手机无需 root、无需安装任何应用。支持 USB、Wi-Fi 两种方式连接,支持 Windows、macOS、Linux 三种操作系统。注意电脑端需要安装 adb 工具

<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br>

C++ 项目

2、netdata:一款免费开源的 Linux 系统性能实时监控工具。它易于安装、占用资源少、功能强大,支持监控多种服务

3、musikcube:一个使用 C++ 编写的终端的音乐播放器,也可以作为一个音频引擎、元数据索引器和服务器。musikcube 可以在 Windows、MacOS 、Linux 以及带有 raspbian 的树莓派上轻松编译和运行。虽然它只能在终端上使用,但是功能应有尽有。使用方法详见 User Guide

4、Sourcetrail:一个免费开源、跨平台的可视化源码探索项目。能够十分高效的帮助使用者探索、熟悉陌生的代码,支持 C、C++、Python 和 Java 语言,同时提供了相关 SDK 用于拓展支持其它语言,相信在未来会提供更多语言的支持。程序员在它的帮助下可以快速熟悉陌生项目、学习开源项目、框架等,此等利器赶快去试试吧

<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br>

Go 项目

5、guide:Uber 内部的 Go 风格规范。中文翻译版

6、evans:基于 Go 语言实现的支持交互模式的 gRPC 客户端,让调试、测试 gRPC API 更加容易

7、mkcert:无需配置,执行一条命令让本地的开发环境实现 HTTPS 的工具。效果如下:

$ mkcert -install
Created a new local CA at "/Users/filippo/Library/Application Support/mkcert" 💥
The local CA is now installed in the system trust store! ⚡️
The local CA is now installed in the Firefox trust store (requires browser restart)! 🦊

$ mkcert example.com "*.example.com" example.test localhost 127.0.0.1 ::1
Using the local CA at "/Users/filippo/Library/Application Support/mkcert" ✨

Created a new certificate valid for the following names 📜
 - "example.com"
 - "*.example.com"
 - "example.test"
 - "localhost"
 - "127.0.0.1"
 - "::1"

The certificate is at "./example.com+5.pem" and the key at "./example.com+5-key.pem" ✅

8、gochat:纯 Go 实现的轻量级即时通讯系统。技术上各层之间通过 rpc 通讯,使用 redis 作为消息存储与投递的载体,相对 kafka 操作起来更加方便快捷。各层之间基于 etcd 服务发现,在扩容部署时将会方便很多。架构、目录结构清晰,文档详细。而且还提供了 docker 一件构建,安装运行十分方便,推荐作为学习项目

<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br>

Java 项目

9、DoraemonKit:一款功能齐全的 iOS 、Android、微信小程序客户端研发助手。它功能强大、接入方便、便于扩展,能够让每一个 App 快速接入一些常用的辅助开发工具、测试效率工具、视觉辅助工具,而且能够完美在 Doraemon 面板中接入一些定制的辅助工具

10、SpringCloud:基于 SpringCloud2.1 的微服务开发脚手架

11、newbee-mall:一基于 Spring Boot 2.X 及相关技术栈开发电商系统。包括商城系统及商城后台管理系统,支持商城常见的功能。该项目代码开源、功能完备、流程完整,对于新手开发者十分友好,仅需极短的时间就可以启动这个完整的商城项目。这是一个完整的电商项目,也推荐各个阶段的 Java 开发者学习或为项目贡献代码

<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br>

JavaScript 项目

12、kiwi:还在为前端的全球化多语言而发愁吗?可以试试阿里开源的这项目

13、FileSaver.js:文件保存的 JavaScript 库,支持多种常见的文件存储格式:xls、txt、png 等。它可以方便的把数据转成文件,然后供用户下载。示例代码:

// 存储文本
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");

14、qier-player:一款基于 React 的轻量级在线视频播放器组件,界面简洁、操作流畅具有视频播放器的基础功能。方便你在项目中轻松添加播放器组件,实现视频播放功能。如果你嫌原生 video 功能太少、操作太傻、界面太简陋,那这个播放器就是你的菜。你还能够通过阅读源码学习到关于生命周期执行顺序、父子组件传值的方式、以及如何利用定时器进行一些实时的状态更新的技巧。示例代码:

import React from 'react';
import ReactDOM from 'react-dom';
import QierPlayer from 'qier-player';

ReactDOM.render(<QierPlayer srcOrigin="你的视频地址"></QierPlayer>, document.getElementById('root'));

15、glut:一款用于团队内部 chrome 工具共享的工具,可以理解为 chrome 的小程序。它提供了比页面脚本更多的 API,可是实现更丰富的功能。可以随时在页面打开的小组件,它既可以作为页面的辅助工具或者也可以提供独立的功能。演示如下:

16、svrx:一个易于使用、插件化的前端开发工作台。帮助前端开发人员把折腾开发环境的时间,省下来做更有意义的事。快速开始:

  1. 安装:npm install -g @svrx/cli
  2. 创建目录:mkdir example && cd example
  3. 创建文件:echo '<html><body>Hello svrx!</body></html>' > index.html
  4. 运行:svrx

17、paint:在线体验下油画创作。呈上我的“杰作”:

<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br>

PHP 项目

18、SyncMusic:基于 PHP Swoole 开发的在线弹幕点歌台。支持自由点歌、切歌、调整排序、删除指定音乐以及基础权限分级

<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br>

Python 项目

19、pyflame:Uber 开源的 Python 性能分析工具。可以在不修改代码的情况下分析 Python 程序的性能,同时生成火焰图

20、Gooey:一个把 Python 命令行工具转化成 GUI 桌面工具的库。就我个人还是喜欢命令行的形式😅

21、opendevops:一款基于 tornado 的开源自动化运维云管理平台。支持:ITSM、权限系统、Web Terminnal 登陆日志审计、录像回放、监控报警系统、DNS 管理、配置中心等

22、KubeOperator:用 Python 语言开发的开源容器集群管理平台。在离线网络环境下通过可视化 Web UI 在 VMware、Openstack 或者物理机上规划、部署和管理生产级别的 Kubernetes 集群。开启你的 Kubernetes 之旅

<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br>

Swift 项目

23、SwiftyGif:高性能且上手容易的 Swift GIF 库。示例代码:

import SwiftyGif

do {
    let gif = try UIImage(gifName: "MyImage.gif")
    let imageview = UIImageView(gifImage: gif, loopCount: 3) // Use -1 for infinite loop
    imageview.frame = view.bounds
    view.addSubview(imageview)
} catch {
    print(error)
}

24、Pock:一款在苹果电脑的触控栏中,显示 macOS 程序坞的开源工具

<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br>

其它

25、infer:Facebook 开源的一个支持 Objective-C、Java 和 C 语言的静态分析工具,用它可以检测 Android、iOS 代码中的资源泄漏、内存泄漏、空指针等问题。建议集成到客户端发布的流程环节中,它能够将客户端应用的一些严重 Bug 扼杀在发布应用之前,同时减少应用崩溃和性能低下的情况

26、git-quick-stats:项目的 git 提交记录展示和统计的工具。支持:不同时间维度和用户名的统计、近期提交的概览等

27、TeachYourselfCS-CN:《TeachYourselfCS》自学计算科学的一份书单(中文翻译版)

28、funNLP:中文词库的集合。可用于:敏感词、语言检测、拆字词典等

29、CoolplaySpark:Spark 源代码分析、类库解读等

30、github-cards:非官方的 GitHub 卡片

<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br>

教程

31、zh.javascript.info:《现代 JavaScript 教程》是以最新的 JavaScript 标准为基准的教程。通过简单但详细的内容,讲解从基础到高阶的 JavaScript 相关知识,能够帮助初中级前端提升 JavaScript 等前端技术水平。在线阅读

<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br>

机器学习

32、ML-NLP:该项目总结了机器学习、NLP 面试中常考到的知识点和代码实现

33、openpilot:comma.ai 开源的自动驾驶系统

34、MNN:一个轻量级的深度神经网络推理引擎,在端侧加载深度神经网络模型进行推理预测。架构设计如下:

<p align="center"><a href="#目录">🔙 返回目录 🔙</a></p><br>


“看完了,还不够?<a href='https://github.com/521xueweihan/HelloGitHub#%E5%86%85%E5%AE%B9'><往期内容></a> | 还不过瘾,那就看看每天更新的前端日报吧 <a href='https://daily.fairyever.com/'><今日前端></a>”

如果你发现了好玩、有意义的开源项目 <a href='https://github.com/521xueweihan/HelloGitHub/issues/new'>点击这里</a> 分享你觉得有趣的项目。

最后

如果你发现了 GitHub 上有趣的项目,欢迎在 HelloGitHub 项目提 issues 告诉我们。

原文出处:https://www.cnblogs.com/xueweihan/p/11944534.html

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Ruby虚拟机--YARV

YARV(Yet Another Ruby VM),该项目的唯一目的就是要打造世界上最快的Ruby虚拟机。从早期的一些评测来看,YARV为Ruby带来了巨大的性能提升,而它也成为了后来Ruby 1.9的官方解释器,自然不...

匿名
2013/02/17
1.4K
0
WSGI Web服务器--UV-Web

uv-web是一个轻量级的支持高并发的WSGI Web服务器,基于libuv构建,部分代码源于开源项目bjoern,本质是python的C扩展,所以适用于部署绝大部分 python web应用(如 Django) 特性 兼容 HTTP 1...

Jone.x
2013/03/04
1.8K
0
开源数据访问组件--Smark.Data

Smark.Data是基于Ado.net实现的数据访问组件,提供基于强类型的查询表达式进行灵活的数据查询,统计,修改和删除等操作;采用基于条件驱动的操作模式,使数据操作更简单轻松;内部通过标准SQL...

泥水佬
2013/03/12
2.6K
0
谈谈机会过程中的平均数律与机会变异

基本概念 下面列出的几个概念有助于理解本文所讨论的主题。 机会过程 书中没有给出机会过程的显式定义,我用搜索引擎也没有找到理想的回答: 但是书中提供了丰富的例子来说明机会过程,括号内...

Lee的白板报
2015/08/29
299
0
gcc编译期打印宏的值

如果我们想知道一个宏的值应该怎么办? 要么在代码里加一句printf 要么在编译的时候gcc -E 第一种方法需要程序运行起来,颇为麻烦 第二种方法无法应付下面这些情况 比如宏的值等于sizeof(st...

__赵小刚__
2014/11/18
2.3K
2

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 教程 - 文件上传下载

在日常的开发工作中,基本上每个项目都会有各种文件的上传和下载,大多数文件都是excel文件,操作excel的JavaAPI我用的是apache的POI进行操作的,POI我之后会专门讲到。此次我们不讲如何操作...

Butterfly-Tri
24分钟前
27
0
mysql 事务日志 

Redo Log 1.redo分为Physical Redo Log与Logical Redo Log 2.用于在 crash recovery时已提交没有刷盘的事务(记录时间点为缓冲中页面修改完成,但还没有刷新到硬盘,即事务提交之前),如异常...

易野
27分钟前
11
0
phpstorm 主题颜色

个人比较喜欢 复制文件保存为 red.icls <scheme name="1337" version="142" parent_scheme="Default"> <option name="FONT_SCALE" value="1.0" /> <metaInfo> <property name="c......

chenhongjiang
37分钟前
15
0
Hystrix核心原理和断路器源码解析

Hystrix运行原理 构造一个HystrixCommand或HystrixObservableCommand对象 执行命令。 检查是否已命中缓存,如果命中直接返回。 检查断路器开关是否打开,如果打开,直接熔断,走fallback逻辑...

xiaolyuh
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部