《HelloGitHub》第 52 期
兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣!

简介
分享 GitHub 上有趣、入门级的开源项目。
这是一个面向编程新手、热爱编程、对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目、让生活变得更美好的工具、书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到开源社区中。
- 会编程的可以贡献代码
- 不会编程的可以反馈使用这些工具中的 Bug
- 帮着宣传你觉得优秀的项目
- Star 项目️
在浏览、参与这些项目的过程中,你将学习到更多编程知识、提高编程技巧、找到编程的乐趣。
最后 HelloGitHub 这个项目就诞生了
以下为本期内容|每个月 28 号发布最新一期|点击查看往期内容
C 项目
1、SimpleKernel:一个用来练手的简单内核项目。提供了各个阶段完成度不同的内核,可以选择从自己喜欢的地方开始

2、raspberry-pi-os:基于树莓派的操作系统开发教程(还未完结)。你的树莓派在吃灰吗?把它插上电用来学习开发操作系统吧
C# 项目
3、perfview:微软开源的性能分析工具。配套的教程视频

C++ 项目
4、GuiLite:引用方便的 C++ 全平台 GUI 库。能够使用在 PC 端、移动设备、物联网设备甚至是没有操作系统的单片机,还支持多种开发语言和三方库

5、html-plus-plus:这个库让你可以使用 C++ 模板编写 HTML。HTML 文档被表示为一个单一的、深层嵌套的类型,相当于 HTML 的模版引擎。代码简单可供新手学习和使用,示例代码:
#include <iostream>
#include "html++.h"
int main()
{
html<
head<
title<"Help Me.">
>,
body<
h1<"The horror!">,
p<"Someone has probably done this before, but I can see why it didn't catch on.">,
a<"href=https://github.com/csb6/html-plus-plus", "For science">
>
> page;
std::cout << page.content;
return 0;
}
Go 项目
6、gotty:能够把终端执行的命令展示到网页上的工具。安装和运行命令如下:
安装:go get github.com/yudai/gotty
运行:gotty [options] <command> [<arguments...>]

7、algo:Golang 程序员面试中的问题和解答集合。该项目目前完成了大部分的数据结构和算法部分,准备相关面试的小伙伴可以阅读学习起来了
8、logrus:可能是 Go 目前最受欢迎的第三方日志库。日志首先要能让人看懂,其次是程序易于处理日志包含的内容,logrus 也许能让你轻松快速实现上述两点

9、websocket:Go 的 websocket 三方库。看看它和标准库的对比,你就知道为什么它会出现在本期月刊中了

Java 项目
10、FlappyBird:Java 标准库实现的 Flappy Bird。优化了游戏难度并加入移动型水管,增加可玩性。没有采用第三方库和游戏引擎、项目结构简单、代码注释完整,适合 Java 初学者做为编程入门实战项目

11、metersphere:一站式的开源企业级持续测试平台。适应场景包括:测试跟踪、接口测试、性能测试等,兼容 JMeter 等开源标准,能够帮助开发和测试团队充分利用云弹性进行高度可扩展的自动化测试。测试同学的福音

12、incubator-iotdb:清华大学软件学院自主研发并开源的时间序列数据管理引擎。能够有效应对工业物联网领域时间序列数量多、写入频率高、数据乱序到达、秒级聚合等场景。官方网站有系统设计文档和使用手册,作为初学者,可以系统的学习数据库系统的完整设计和实现。在 IoTDB 社区可以与国内用户直接交流、收集需求、设计功能、性能优化,每个改进点都可以看到直接效果。还可以体验 Apache 开源软件的工作模式,与世界各地的开发者交流想法,也有机会成为 Apache Committer、PMC 等

13、MyBookshelf:免费开源的安卓小说阅读软件,能够自定义订阅小说数据源。支持:
- 全局状态栏沉浸
- 自定义多线程搜索、缓存
- 支持一键缓存
- 点击章节名跳转小说目录
- 自定义字体、阅读背景、文字颜色、背景颜色
- 等等

14、QMUI_Android:用于辅助快速搭建一个具备基本还原设计效果的 Android 项目。快速搭建一个 Demo App 的必备利器,官网还提供示例 App 下载,感兴趣的小伙伴快去试试吧

JavaScript 项目
15、chrome-extensions-searchReplace:一款搜索并且替换文本的谷歌插件。在做产品 PPT 的时候,需要对某些个页面中的一些名词进行统一替换,这个插件就是为了解决这个问题而诞生的。同时作者也是调研了其他类似功能的插件,它们都包含或多或少的问题,最终作者自己动手做了这个项目。可以说这款替换插件应该就是你最终的选择了

16、apidoc:根据代码中的注释生成 RESTful 风格的 API 文档。注释示例:
/**
* @api {get} /user/:id Request User information
* @apiName GetUser
* @apiGroup User
*
* @apiParam {Number} id User's unique ID.
*
* @apiSuccess {String} firstname Firstname of the User.
* @apiSuccess {String} lastname Lastname of the User.
*/
17、mongo-express:使用 Node.js、Express 和 Bootstrap3 编写的 MongoDB 管理平台

18、Zettlr:开源免费支持多种操作系统的 Markdown 编辑器。如果你想尝试一款新的 Markdown 编辑器,它或许能满足你对编辑器所有想法,如果还不够那就自己动手增加吧

19、leetcode-cli:LeetCode 的命令行工具。之前我们推荐过命令行斗地主、划水逛社区等,真正努力的人用命令行来刷算法题!我颤抖了

Objective-C 项目
20、Zebra:用于越狱的 iOS 设备的软件包管理器

Python 项目
21、ar-cutpaste:AR 拷贝实物照片到 PS 软件的工具。它可以通过 iPhone 或者 Android 手机将真实物品从周围环境中抠出来,并粘贴到 Photoshop 中,未来还会支持其它软件

22、ncmdump:网易云音乐下载的 NCM 文件转化工具
23、nginx-ui:在线修改 Nginx 配置的服务。总的来说还是能减少修改配置出错的概率,而且不用面对漆黑枯燥的命令行了

24、python-dotenv:帮你更好的管理 Python 项目中敏感配置信息的开源三方库。在项目中会有一些数据库、账户、KEY 等敏感信息,这些信息最好不要写在源代码中。为了降低泄漏风险,一般会通过环境变量来设置,这个库可以很方便帮你在 Python 项目中管理这些信息。示例代码:
# 安装:pip install -U python-dotenv
# 目录结构:
.
├── .env
└── settings.py
# 示例代码
# settings.py
import os
from dotenv import load_dotenv
load_dotenv()
SECRET_KEY = os.getenv("EMAIL")
DATABASE_PASSWORD = os.getenv("DATABASE_PASSWORD")
其它
25、analytics:一个开源的轻量级 Web 访问分析工具。如果你不想侵犯用户的隐私,只获取自己网站访问的基本数据,可以试试这个项目,用来代替谷歌分析

26、data-scientist-roadmap:数据科学技能路线图

27、nvda:一个微软开源的免费 Windows 操作系统的无视觉桌面访问阅读器。通过合成器语音或者盲文点字的反馈,方便盲人和低视力人群使用运行在 Windows 操作系统下运作的电脑。也能够让开发者了解微软的常见的辅助功能接口,如微软 Active Accessibility、Java Access Bridge、IAccessible2 和 UI automation。希望有更多的人了解无障碍,NVDA 中文站
28、LeetcodeTop:国内各大互联网公司常考的 LeetCode 题目
29、git-history:在线查看 GitHub 开源项目中文件的改动历史的工具。使用方法:
1. 打开 GitHub 上任意一个项目的文件
2. 把地址中的 github.com 替换成 githistory.xyz
3. 访问替换后的地址

30、github-readme-stats:在你的 README 中展示动态生成的 GitHub 统计信息。使用简单、样式多样,使用方法:
[](https://github.com/anuraghazra/github-readme-stats)
替换“521xueweihan”为你的 GitHub 用户名

31、papirus-icon-theme:适用于 Linux 系统的免费开源 SVG 图标主题

机器学习
32、3d-photo-inpainting:一个把单张静态照片转化成 3D 图片的项目。快来尝鲜啦,不要等朋友圈 3D 照片刷屏后才“后知后觉”

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

《HelloGitHub》第 52 期的更多相关文章
- F#周报2018年第52期
新闻 Sudokube--使用Fable开发的数独立方体 Rust 2019年及以后的发展 视频及幻灯片 我爱F#代码 马蒂亚斯·布兰在Developer On Fire上的演讲--有条理的和有趣的 ...
- F#周报2019年第51&52期
新闻 介绍DataFrame 介绍System.Threading.Channels ConfigureAwait常见问题 第三次年度C#降临节 .NET会议--2020年1月14日 如何找到F#的工 ...
- 《HelloGitHub月刊》第01期
<HelloGitHub月刊> 因为现在这个项目只有我自己做,只敢叫"月刊",希望有志同道合者,快点加入到这个项目中来!同时,如果您有更好的建议或者意见,欢迎联系我.联 ...
- 《HelloGitHub月刊》第 01 期
<HelloGitHub月刊> 因为现在这个项目只有我自己做,只敢叫"月刊",希望有志同道合者,快点加入到这个项目中来!同时,如果您有更好的建议或者意见,欢迎联系我.联 ...
- 家里蹲大学数学杂志 Charleton University Mathematics Journal 官方目录[共七卷493期,6055页]
家里蹲大学数学杂志[官方网站]从由赣南师范大学张祖锦老师于2010年创刊;每年一卷, 自己有空则出版, 没空则搁置, 所以一卷有多期.本杂志至2016年12月31日共7卷493期, 6055页.既然做 ...
- HelloGithub
<HelloGithub月刊>第一期 <HelloGithub月刊> 因为现在这个项目只有我自己做,只敢叫“月刊”,希望有志同道合者,快点加入到这个项目中来!同时,如果您有 ...
- 在 GitHub 学习,成长为自己想要的样子|HelloGitHub 访谈
万事开头难,我们经过长期的策划和筹备,终于推出了 HelloGitHub 采访系列「开源项目作者的访谈」.这是一个采访个人开源项目作者的栏目,内容侧重于开源项目作者与开源的故事. 我们深知想要做好一个 ...
- android之简易新闻客户端
将一个新闻信息保存到一个XML文件中,并将放在服务器下.通过手机客户端来从服务器下载该文件并解析显示. news.xml <?xml version="1.0" encodi ...
- android 75 新闻列表页面
new.xml <?xml version="1.0" encoding="UTF-8" ?> <newslist> <news& ...
随机推荐
- JavaScript基础Literal 与 Constructor(008)
JavaScript支持以字面声名法(Literal)的方式来声名对象和数组,相对于构造函数(constructor)的方式,Literal的声 名方式更简洁,更易读,也更少导致Bug.事实上,JSO ...
- 关于线上一次DDOS攻击和阿里云DDOS防护相关内容
问题 最近我们的一台阿里云服务器 (ECS,有公网IP,Nginx 服务器,开放了80,443),遭受到了DDOS攻击,主要攻击的行为是 攻击我们443 端口.发起大量的请求. 但是我们在 Nginx ...
- 半导体质量管理_SQM 供应商质量管理
供应链上的质量保证 SPACE的此附加组件可帮助您与全球生产现场的供应商和分包商更紧密地合作.基于电子分析证书(eCOA,电子分析证书),您可以为整个供应链实施具有约束力的质量标准,并可以对其进行验证 ...
- SpringMVC的项目架构思想
SpringMVC的项目架构思想 一.DO和Model的区别 DO是对数据库表的映射.Model是处理业务逻辑的模型(领域模型).例如:用户信息表和用户密码表分别是两个DO,但是对于实体用户来说,密码 ...
- fastjson到底做错了什么?为什么会被频繁爆出漏洞?
GitHub 15.8k Star 的Java工程师成神之路,不来了解一下吗! GitHub 15.8k Star 的Java工程师成神之路,真的不来了解一下吗! GitHub 15.8k Star ...
- 洛谷P2566 [SCOI2009]围豆豆(状压dp+spfa)
题目传送门 题解 Σ(っ °Д °;)っ 前置知识 射线法:从一点向右(其实哪边都行)水平引一条射线,若射线与路径的交点为偶数,则点不被包含,若为奇数,则被包含.(但注意存在射线与路径重合的情况) 这 ...
- 开源API文档工具- swagger2 与 smart-doc 比较 与 使用
工具开源地址 swagger2 : https://swagger.io/ smart-doc: https://www.oschina.net/p/smart-doc 国产 两者的比较 swagg ...
- python 网络爬虫报错“UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position”解决方案
Python3.x爬虫, 发现报错“UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1:invalid sta ...
- Spring Boot Redis 实现分布式锁,真香!!
之前看很多人手写分布式锁,其实 Spring Boot 现在已经做的足够好了,开箱即用,支持主流的 Redis.Zookeeper 中间件,另外还支持 JDBC. 本篇栈长以 Redis 为例(这也是 ...
- Go Pentester - HTTP CLIENTS(5)
Parsing Document Metadata with Bing Scaping Set up the environment - install goquery package. https: ...