《HelloGitHub》第 65 期

HelloGitHub

共 7590字,需浏览 16分钟

 ·

2021-08-29 18:27

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!

630e0884e73b0e0de0357d80fb16a19c.webp

简介

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

这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、Java、Go、C/C++、Swift...让你在短时间内感受到开源的魅力,对编程产生兴趣!

项目地址:https://github.com/521xueweihan/HelloGitHub

感谢大家点亮的每一个 Star ✨


以下为本期内容|每个月 28 号更新

C 项目

1、cpufetch:获取 CPU 信息的命令行工具

b6940c15083296f8f8f487874608351b.webp

地址:https://github.com/Dr-Noob/cpufetch

C# 项目

2、AduSkin:一款简约漂亮的 WPF UI 库

3ab27d7e85d724ee2483203ad3ab26c9.webp

地址:https://github.com/aduskin/AduSkin

C++ 项目

3、simdjson:每秒可解析千兆字节的高性能 JSON 解析库

77f2e4f6307e78e0e34dce3a6a3e5ed5.webp

地址:https://github.com/simdjson/simdjson

4、filament:轻量级实时物理渲染引擎。能够用来做游戏渲染引擎或者音视频编辑工程,当你需要处理 3D 渲染效果,又不想引入庞大的游戏引擎时,可以考虑使用它尤其是 Android 平台

7873f655ea389f5475830c6320cba97d.webp

地址:https://github.com/google/filament

CSS 项目

5、devices.css:仅用 CSS 实现手机和平板设备的平面模型。机型包含 iPhone、Android、Lumia 和 iPad

<div class="marvel-device iphone-x">
    <div class="notch">
        <div class="camera"></div>
        <div class="speaker"></div>
    </div>
    <div class="top-bar"></div>
    <div class="sleep"></div>
    <div class="bottom-bar"></div>
    <div class="volume"></div>
    <div class="overflow">
        <div class="shadow shadow--tr"></div>
        <div class="shadow shadow--tl"></div>
        <div class="shadow shadow--br"></div>
        <div class="shadow shadow--bl"></div>
    </div>
    <div class="inner-shadow"></div>
    <div class="screen">
        <!-- Content goes here -->
    </div>
</div>
d7f0f7edfb8b577035212123a6061621.webp

地址:https://github.com/marvelapp/devices.css

Go 项目

6、lindb:可水平拓展、高性能的分布式时序数据库,支持海量数据存储以及快速并行查询和计算。已在饿了么内部使用,存储了全量的监控数据。每天增量写入 TB 量级,共计 PB 级的数据

f1414359818092e874b41a4ee09c92c0.webp

地址:https://github.com/lindb/lindb

7、learning_tools:作者学习 Go 过程中实践的 Go 代码集合。包含了 Go 语言实用三方库、微服务、数据库、算法等代码片段,虽然内容丰富但缺少分类和梳理。就算这样还是要推荐给寻找 Go 进阶之路的小伙伴,因为内容真的很好

15d7bf17384630c64ee210c84aefc7f4.webp

地址:https://github.com/hwholiday/learning_tools

8、sharingan:基于 Go 的流量 录制/回放 工具。实现在不影响线上服务的前提下,线下采用线上的真实请求和参数进行测试。特别适合线上重要服务重构后的回归测试,真实流量的测试有助于提早发现问题,避免重大事故

da1d71cc720e19ce3d5b60caaddd78a3.webp

地址:https://github.com/didi/sharingan

9、gocron:基于 Go 语言实现的轻量级定时任务管理平台。功能:

  • Web 管理界面
  • 定时任务可精确到秒
  • 任务失败可重试,超时强制停止
  • 账户权限控制
  • 等等
ff32afb309e80818cddf7b7e3e27353b.webp

地址:https://github.com/ouqiang/gocron

10、sealos:一条命令即可快速部署 Kubernetes(k8s) 集群的工具

616cea39bd4eff9c14312ae2487cc15e.webp

地址:https://github.com/fanux/sealos

Java 项目

11、Android-skin-support:方便好用的 Android 换肤框架

@Override
public void onCreate() {
    super.onCreate();
    SkinCompatManager.withoutActivity(this)                         // 基础控件换肤初始化
            .addInflater(new SkinMaterialViewInflater())            // material design 控件换肤初始化[可选]
            .addInflater(new SkinConstraintViewInflater())          // ConstraintLayout 控件换肤初始化[可选]
            .addInflater(new SkinCardViewInflater())                // CardView v7 控件换肤初始化[可选]
            .setSkinStatusBarColorEnable(false)                     // 关闭状态栏换肤,默认打开[可选]
            .setSkinWindowBackgroundEnable(false)                   // 关闭windowBackground换肤,默认打开[可选]
            .loadSkin();
}
872998e0e62161f056dd775040162915.webp

地址:https://github.com/ximsfei/Android-skin-support

12、lettuce-core:线程安全的高级 Java Redis 客户端。基于 Netty 实现了非阻塞 I/O,支持同步、异步、集群、哨兵、管道等功能

RedisClient redisClient = RedisClient.create("redis://localhost/0");
StatefulRedisConnection<String, String> connection = redisClient.connect();

System.out.println("Connected to Redis");
connection.sync().set("key""Hello World");

connection.close();
redisClient.shutdown(); 

地址:https://github.com/lettuce-io/lettuce-core

JavaScript 项目

13、didact:教你从零写一个 React 框架。通过一系列的文章和代码,教授如何实现 React 框架,从而能够更好的理解 React 内部原理

297f0c5c9f6dd1f90ab6fd25f195ac8b.webp

地址:https://github.com/pomber/didact

14、iDataV:大屏数据可视化项目集合

6a70a17a3b62299400bf790343246964.webp

地址:https://github.com/yyhsong/iDataV

15、milkdown:一款清爽见即所得的 Markdown 编辑器。不同于大多数 Markdown 编辑器它是插件驱动的,类似开源可自由扩展的 Typora。项目由 prosemirror+remark 构建,入门开发者从中可以学习到如何使用 prosemirror 来开发富文本编辑器,以及如何设计一个针对编辑器的插件系统

import { Editor } from '@milkdown/core';
import { commonmark } from '@milkdown/preset-commonmark';

import { history } from '@milkdown/plugin-history';

// import theme
import '@milkdown/theme-nord/lib/theme.css';

new Editor()
  .use(commonmark)
  .use(history)
  .create();
49a1edd2ad5d7effe49abab48d906b46.webp

地址:https://github.com/Saul-Mirone/milkdown

16、flat:前后端完全开源、功能丰富的在线教室项目。通过它可以快速完成支持多人视频、语音、白板互动、录制回放等功能的在线教室

eaf717c977142a911d1ce6b4f2cb2030.webp

地址:https://github.com/netless-io/flat

17、react-beautiful-dnd:漂亮易用的 React 列表拖拽库

0cf9d69d830cf764b4aa1bba58761179.webp

地址:https://github.com/atlassian/react-beautiful-dnd

PHP 项目

18、icon-workshop:移动应用图标生成工具。能够一键生成多种尺寸的 iOS/Android 应用图标和 APP 启动图

2ac5db99c9cfc5fdfe93b72d2635d695.webp

地址:https://github.com/zhanghuanchong/icon-workshop

Python 项目

19、moviepy:用于处理视频的 Python 库,它支持视频剪辑、自定义效果、视频合成、格式转化、插入文字等功能。专于注视频但不局限于此,还支持处理音频和 GIF 图片。虽然现在视频剪辑的工具很丰富,但如果要批量处理视频,用 Python+moviepy 写个脚本应该可以一劳永逸,节省时间

8a4280c8f56a69a3b685405fccfb451b.webp

地址:https://github.com/Zulko/moviepy

20、weiboSpider:Python 写的微博爬虫,命令行直接启动。支持获取微博用户、内容字段丰富。虽然爬虫的实战项目很多,但能一直更新的很少,因为只要数据源变动爬虫就要跟进迭代。这个项目更新稳定回复问题及时实属不易,希望大家在享受项目带来的便利同时也可以 Star 支持一下

# 安装
$ git clone https://github.com/dataabc/weiboSpider.git
cd weiboSpider
$ pip install -r requirements.txt
# 启动
$ python3 -m weibo_spider

地址:https://github.com/dataabc/weiboSpider

21、pyinstrument:简单易用的 Python 代码性能分析库,优化 Python 代码的工具。支持 Python 3.7+ 能够分析异步代码,仅需一条命令即可显示具体到函数的耗时,快速指出影响代码性能的地方,帮助提高代码性能让你的代码快人一步

# 命令模式
Usage: pyinstrument [options] scriptfile [arg] ...
# 代码片段模式
from pyinstrument import Profiler

profiler = Profiler()
profiler.start()
# 要分析的代码
profiler.stop()

profiler.print()
# 还支持 flask 等 Web 框架
76e61c58311bc0588a32552e8c0ab22d.webp

地址:https://github.com/joerick/pyinstrument

22、termpair:浏览器远程+实时操作命令行的工具。让开发者安全实时的共享终端,特别适合服务器非桌面系统的环境。有了它下次再遇到问题,求助大佬远程协助就方便多了

# 安装
pip install termpair
# 起服务
termpair serve
# 生成远程控制终端的链接
termpair share
a485ae3778078b18c59d73efaaf5b95f.webp

地址:https://github.com/cs01/termpair

23、ray:基于 Python 的分布式计算框架,采用动态图计算模型。使用起来很方便可通过装饰器的方式,仅需修改极少的的代码,让原本运行在单机的 Python 代码轻松实现分布式计算。目前多用于机器学习方面

import ray
ray.init()

@ray.remote
def f(x):
    return x * x

futures = [f.remote(i) for i in range(4)]
print(ray.get(futures))
22b7fadf5c6dfc9ce5c9d9ca0449a872.webp

地址:https://github.com/ray-project/ray

Rust 项目

24、toydb:Rust 写的分布式 SQL 数据库实战项目。作为一个学习项目并不适合于生产环境,但通过该项目你可以学习如何用 Rust 实现 Raft 协议、符合 ACID 的事物引擎、SQL 解析、数据持久化等。适合对数据库底层运作原理感兴趣的小伙伴

1d90f1385a8eef126710cc4dd050a9de.webp

地址:https://github.com/erikgrinaker/toydb

Swift 项目

25、FlappySwift:用 Swfit 写的 Flappy Bird 游戏

2feb2786226fab44013ecfa144095f04.webp

地址:https://github.com/fullstackio/FlappySwift

26、NetNewsWire:适用于 macOS 和 iOS 的 RSS 阅读器

5c784ba99e4aa7f10143f4d110f8cfca.webp

地址:https://github.com/Ranchero-Software/NetNewsWire

其它

27、insomnia:基于 Electron 支持 GraphQL、REST、gRPC 的调试工具,请求网络接口的桌面应用。不仅有简约漂亮的界面,还支持 Windows、Linux、macOS 主流操作系统

625d34a7e15c1d4159d4c88b8a2383b8.webp

地址:https://github.com/Kong/insomnia

28、keframe:Flutter 流畅度优化组件。通过分帧渲染解决由于构建导致的卡顿问题,适用于复杂列表或者页面切换的场景

ab6ded0a2b0c311c200e9386ed2cd60b.webp

地址:https://github.com/LianjiaTech/keframe

29、authpass:基于 Flutter 开发的适用于所有平台的密码管理器。可通过 Dropbox 等云服务同步数据,支持自动填充密码

1b30199b1ba52ce5a698de394214853d.webp

地址:https://github.com/authpass/authpass

30、Unity3DTraining:Unity 游戏开发练习项目集合。包含仿写泡泡龙、跑酷、切水果等游戏的源码,还有作者收集的游戏效果源码和相关文章

51b43679548ac6a42b5d30bd1c4b6396.webp

地址:https://github.com/XINCGer/Unity3DTraining

31、QASystemOnMedicalKG:从无到有搭建一个医药知识图谱的开源项目。包含信息采集、清理、图谱设计等,并基于图谱实现了自动回答医药相关问题的服务

6219d972b3729b0bd06faa6dcbdcba38.webp

地址:https://github.com/liuhuanyong/QASystemOnMedicalKG

32、macos-virtualbox:帮你在 VirtualBox 上安装 macOS 操作系统的工具。这个工具是一个 Bash 脚本,运行后只需要按回车即可完成安装。目前已支持 Linux 、Windows、macOS 多个主流操作系统,可安装 Catalina (10.15)、Mojave (10.14) 和 High Sierra (10.13) 等多个不同版本的苹果系统

d9aec68eac729692fa1bae3930ea72f5.webp

地址:https://github.com/myspaghetti/macos-virtualbox

33、canvas-special:经典的 Canvas 实例集合。包括五子棋、坦克大战、动态背景、动画粒子特效等

d9e1b4417d74748460e851deaf674c8f.webp

地址:https://github.com/bxm0927/canvas-special

34、brave-browser:快速、干净、开源的网页浏览器。由 JavaScript 的创造者布兰登·艾克基于 Chromium 网页浏览器和 Blink 排版引擎构建,拥有阻止网站追踪的特点并且内置了广告拦截器。支持 Android、Linux、macOS、iOS、Windows 操作系统,可一键导入书签、浏览记录、密码、插件等,无负担享受这片“净土”

1d7f566a1d42b6b4e1b722182c1124fa.webp

地址:https://github.com/brave/brave-browser

开源书籍

35、LearnOpenGL-CN:LearnOpenGL 教程的中文翻译。OpenGL 是一个图形 API,包含了一系列可以操作图形、图像的函数。它需要一个编程语言来工作,教程的示例代码采用 C++ 编程语言

caae1075c1ca4d0306d558e56b406ac9.webp

地址:https://github.com/LearnOpenGL-CN/LearnOpenGL-CN

36、Learn-Web-Hacking:Web 安全学习笔记

地址:https://github.com/LyleMi/Learn-Web-Hacking

机器学习

37、chineseocr_lite:轻量级中文 OCR 项目,提供将图片上的中文转成字符串的功能

e2a81310522b76863d05c2ec7c8a288b.webp

地址:https://github.com/DayBreak-u/chineseocr_lite

38、ASRT_SpeechRecognition:基于深度学习的中文语音识别系统

地址:https://github.com/nl8590687/ASRT_SpeechRecognition


感谢您的阅读,本期有没有找到好玩的项目?如果没有的话试试 HelloGitHub 通过关键字搜开源项目

以上就是第 65 期的所有内容,我们下个月 28 号不见不散!

👇  点击关注第一时间收到更新👇

浏览 22
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报