爱好是最好的教师,HelloGitHub 让你对编程感爱好!

开源月刊《HelloGitHub》第 81 期

简介

HelloGitHub 共享 GitHub 上风趣、入门级的开源项目。

github.com/521xueweiha…

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


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

C 项目

1、ecapture:一款无需 CA 证书即可抓取 HTTPS 明文的东西。该项目根据 eBPF 技术完结了 TLS 加密的明文捕获,可用于 MySQL 数据库的查询审计、bash 命令捕获等场景,仅支撑 Linux 和 Android 体系。

开源月刊《HelloGitHub》第 81 期

2、FSHistory:最早的微软模拟飞行游戏。该项目供给了 1982 年发行的怀旧游戏《微软模拟飞行》,支撑在线试玩、共有 4 个版别可供选择。

开源月刊《HelloGitHub》第 81 期

3、iodine:一款可快速创立 DNS 地道的东西。该项目包含 C 言语写的 DNS 地道服务器和客户端,可快速搭建 DNS 地道传输 IPv4 数据,常用于绕过防火墙等场景。因为一般状况下防火墙的 DNS 端口是翻开的,所以将流量伪装成 DNS 数据包,就能够突破防火墙限制啦。

4、tinyriscv:从零开始写 RISC-V 处理器。该项目是选用 Verilog 言语完结一个单核 32 位的小型 RISC-V 处理器核,包含悉数代码和详细的教程。RISC-V 是一种开源指令集架构,它答应任何人规划、制造和销售 RISC-V 芯片和软件。

开源月刊《HelloGitHub》第 81 期

C# 项目

5、DevToys:程序员的瑞士军刀。该项目打包了程序员日常开发会用到的小东西,比方时刻戳转化、各种解码、输出美化、颜色选择器等,运用方便颜值高。

开源月刊《HelloGitHub》第 81 期

6、Tai:Windows 上核算软件运用时长的东西。该项目会依据软件取得焦点和失去焦点的时刻差,来核算软件的真实运用时长,而不是简略地核算软件存活时刻。

开源月刊《HelloGitHub》第 81 期

C++ 项目

7、GASDocumentation:虚幻引擎 5 之 GAS 插件上手教程。该项目是解说怎么运用虚幻引擎 5 的 GameplayAbilitySystem 插件,作者从什么是 GAS 开始,最后用 GAS 做出了一个简略的多人射击游戏。假如你对虚幻引擎 5 感爱好而且会 C++ 的话,那么看完这份教程一定会让你有所收成。

开源月刊《HelloGitHub》第 81 期

8、organicmaps:一款免费、没广告的离线地图运用。适用于旅行者、游客、徒步旅行者和骑行者的 Android 和 iOS 离线地图运用,它运用 OpenStreetMap 数据,支撑详细的离线地图、骑行道路、语音导航、等高线、海拔剖面、山峰和坡度等功能。

开源月刊《HelloGitHub》第 81 期

9、tesseract:一款“返老还童”的 OCR 引擎。这个项目最早诞生于 1985 年,几经易主在 2005 年的时候 HP 将其开源。现在,Tesseract 现已成为 OCR 领域 Star 数最多的开源项目,它支撑包含中文在内的 100 多种言语,具有精准度高、跨渠道等特点。

CSS 项目

10、china_school_badge:全国高校校徽字体图标库。该项目包含国内 200 多所高校校徽制造的字体图标。

开源月刊《HelloGitHub》第 81 期

11、daisyui:一款极为盛行的 Tailwind CSS 组件库。作为当下最盛行的 Tailwind CSS 组件库,具有高颜值、更纯洁的 HTML、深度自定义等特点。

<ul class="menu p-3 bg-base-200 rounded-xl">
    <li class="menu-title">
      <span>Menu Title</span>
    </li>
    <li><a>First Menu Item</a></li>
    <li><a>Second Menu Item</a></li>
    <li><a>Third Menu Item</a></li>
</ul>

开源月刊《HelloGitHub》第 81 期

Go 项目

12、answer:一款开源的问答社区。选用 Go 言语编写的问答社区,支撑积分、提问、回答、标签等功能,布置简略。

开源月刊《HelloGitHub》第 81 期

13、btree:Go 言语完结的 B-树 数据结构。由谷歌开源的 B-树 Go 言语完结,代码整洁、注释丰厚,推荐阅览源码。B-树 这种数据结构,能够让查找数据、顺序拜访、插入及删去操作,都在对数时刻内完结,多用于数据库和文件体系。

14、nap:一款命令行的代码片段办理东西。该项目能够经过命令行界面,快速创立和办理代码片段。支撑快捷键、搜索、代码高亮、自定义颜色等功能,操作简略方便。

开源月刊《HelloGitHub》第 81 期

15、oh-my-posh:适用于多种 shell 的终端提示个性化东西。该项目内置多款主题开箱即用,支撑 Windows、Linux、macOS 三个体系上的 PowerShell、Bash、Zsh 等多种 shell,主动补全你输入的每个命令。

开源月刊《HelloGitHub》第 81 期

16、raft:Raft 算法的 Go 言语完结。Raft 是一种分布式一致性算法(共识算法),常用于分布式集群内的恣意节点,在某种状况转换上保持一致。

Java 项目

17、JimuReport:一款在线制造报表的东西。该项目可经过在线拖拽制造报表,支撑报表规划、图形报表、大屏展现等功能。

开源月刊《HelloGitHub》第 81 期

18、kafka-ui:一款开源的 Kafka 办理渠道。由开源社区树立和保护的 Kafka Web UI 办理东西,承诺永久免费。可方便地检查 Kafka Brokers、Topics、音讯、Consumer 等状况,支撑多集群办理、功能监控、拜访操控等功能。

开源月刊《HelloGitHub》第 81 期

19、leetcode-editor:刷 LeetCode 的 IDE 插件。让你能够在 IDE 里刷 LeetCode 算法题的插件,支撑 IntelliJ IDEA、PyCharm、GoLand 在内的 Jetbrains 全家桶。

开源月刊《HelloGitHub》第 81 期

20、LibreraReader:一款支撑多种格局的 Android 电子书阅览器。适用于 Android 设备的阅览运用,支撑最盛行的文档格局,包含 PDF、EPUB、MOBI、DjVu、FB2、TXT、RTF、AZW、HTML、CBZ、DOC 等多种电子书格局。

开源月刊《HelloGitHub》第 81 期

JavaScript 项目

21、infisical:一款协助团队同步环境变量的东西。该项目可用于团队成员之前同步环境变量,拥有简略易懂的操作界面,支撑端到端加密、自托管、权限操控、集成 CI/CD 等功能。

开源月刊《HelloGitHub》第 81 期

22、outils:前端业务代码的东西库。该项目包含了前端开发中,经常会用到的日期格局化、浏览器类型判断、检测是否为手机号等函数。

/**
 * 
 * @desc 获取操作体系类型
 * @return {String} 
 */
function getOS() {
    var userAgent = 'navigator' in window && 'userAgent' in navigator && navigator.userAgent.toLowerCase() || '';
    var vendor = 'navigator' in window && 'vendor' in navigator && navigator.vendor.toLowerCase() || '';
    var appVersion = 'navigator' in window && 'appVersion' in navigator && navigator.appVersion.toLowerCase() || '';
    if (/iphone/i.test(userAgent) || /ipad/i.test(userAgent) || /ipod/i.test(userAgent)) return 'ios'
    if (/android/i.test(userAgent)) return 'android'
    if (/win/i.test(appVersion) && /phone/i.test(userAgent)) return 'windowsPhone'
    if (/mac/i.test(appVersion)) return 'MacOSX'
    if (/win/i.test(appVersion)) return 'windows'
    if (/linux/i.test(appVersion)) return 'linux'
}

23、podcast-together:和你的老友一同在线听播客。该项目无需注册和登录,即可创立/进入房间和三五老友,一同收听同一个博客,支撑收听小宇宙、Apple Podcast 我国区等音源。

开源月刊《HelloGitHub》第 81 期

24、terminalizer:强壮的终端录制东西。该项目能够轻松记录下你在命令行的操作,并将录制好的内容输出成 gif 图画或直接共享到网上。

开源月刊《HelloGitHub》第 81 期

25、watching-you:让 DOM 像眼睛相同注视的 JS 动画库。这是一个简易的动画库,主要用于核算一个 DOM 与调查目标,比方鼠标、DOM、输入框值之间的方位,从而做出一些风趣的动画,比方说让它变成跟眼睛相同。

开源月刊《HelloGitHub》第 81 期

PHP 项目

26、snipe-it:一款 IT 财物办理体系。该项目是根据 Laravel 8 构建的适用于中小型企业的 IT 财物办理体系,支撑财物分配、生成二维码标签、财物审计、保修到期提醒等功能。

开源月刊《HelloGitHub》第 81 期

Python 项目

27、Bottles:一款可轻松完结 Linux 上运行 Windows 软件的东西。该项目供给了清爽易用的 GUI 界面,用户就算不懂任何编程技巧,也能够轻而易举地在 Linux 体系上,运行 Windows 的游戏和软件。

开源月刊《HelloGitHub》第 81 期

28、django-cacheops:一款灵敏的 Django ORM 缓存库。该项目运用 redis 作为缓存,可经过装修器设置数据库查询成果的过期时刻。

from cacheops import cached_as
@cached_as(Article, timeout=120)
def article_stats():
    return {
        'tags': list(Article.objects.values('tag').annotate(Count('id')))
        'categories': list(Article.objects.values('category').annotate(Count('id')))
    }

29、doccano:一款开源的文本符号东西。它能够供给文本分类、序列符号、情感剖析、文本摘等功能,协助快速完结打标作业,支撑中文和多人协作。

开源月刊《HelloGitHub》第 81 期

30、FileCodeBox:一款匿名口令共享文本和文件的服务。该项目是根据 FastAPI+SQLite3 开发的文件共享服务,支撑共享文件、口令提取文件等功能,无需注册即可完结文件提取。

开源月刊《HelloGitHub》第 81 期

31、python-systemd-tutorial:用 Python 编写 systemd 服务的教程。许多 Linux 发行版都用 systemd 来办理体系的服务,比方开机启动、主动重启、守护进程等。该项目解说了怎么入门 systemd,并供给了一个 Python 脚本和 systemd unit 文件,能够在此基础上快速开宣布 systemd 服务。

if __name__ == '__main__':
    import time
    import systemd.daemon
    print('Starting up ...')
    time.sleep(10)
    print('Startup complete')
    systemd.daemon.notify('READY=1')
    while True:
        print('Hello from the Python Demo Service')
        time.sleep(5)

Rust 项目

32、rust-raspberrypi-OS-tutorials:学习怎么用 Rust 编写嵌入式操作体系。该教程会从零开始,一步步地指导你怎么用 Rust 开宣布一个功能齐全的嵌入式操作体系的内核。它包含了完结一般操作体系的任务,例如开发串口操控台、设置虚拟内存和处理硬件异常。教程中的一切代码,均可运行在树莓派 3 和 4 上。

开源月刊《HelloGitHub》第 81 期

33、spacedrive:一款 Rust 写的跨渠道文件办理东西。它根据用 Rust 编写的虚拟分布式文件体系(VDFS),能够将 macOS、Windows、Linux、iOS、Android 等不同操作体系的设备连接到一同,一致办理一切的文件。该项目还处于开发阶段,客户端需求自行编译。

开源月刊《HelloGitHub》第 81 期

Swift 项目

34、Plash:将网站变成 Mac 桌面壁纸。这是一款适用于 macOS 的桌面壁纸运用,支撑将多种网站设置为壁纸,这些网站并不局限于图片网站,还能够是新闻、气象等站点。

开源月刊《HelloGitHub》第 81 期

其它

35、chinese-independent-blogs:中文个人独立博客网站合集。假如说中文独立博客的年代现已过去,那么至少还有这么一块当地,属于热爱自在的博主们。

36、CSrankings:非官方的尖端 CS 学校排名榜单。该项目以高校教师在核算机科学(CS)各领域尖端会议上宣布的论文数量,作为重要的衡量标准。

开源月刊《HelloGitHub》第 81 期

37、FlutterDouBan:一款用 Flutter 写的豆瓣客户端。该项目用 Flutter 还原了豆瓣客户端的主页、书影音、小组、市集及个人中心等功能。

开源月刊《HelloGitHub》第 81 期

38、portal_calendar:自制电子墨水屏的日历。根据 ESP32 的电子墨水屏日历,运用 4 节 7 号电池可运行多年,支撑经过 OpenWeatherMap 完结天气显现等功能。

开源月刊《HelloGitHub》第 81 期

39、relationship:我国亲戚关系核算器。该项目完结了我国亲戚关系及称号之间的换算,能够将我国复杂的亲戚关系及称号经过核算器的方式简略的运算出来。

开源月刊《HelloGitHub》第 81 期

开源书本

40、hello-algo:一本动画图解数据结构与算法的入门书。《Hello,算法》一书经过动画和代码诠释数据结构和经典算法,学习曲线滑润,支撑电脑、手机等多种终端在线阅览。

开源月刊《HelloGitHub》第 81 期

机器学习

41、DeOldify:一款能够给老旧相片上色的项目。该项目根据深度学习完结了对是非图画和视频进行上色的功能。

开源月刊《HelloGitHub》第 81 期

42、wandb:一款轻量级的机器学习可视化东西。该项目是用于可视化和盯梢机器学习试验的东西,经过几行代码就能够完结盯梢、比较和可视化机器学习试验。

import wandb
# 1. Start a W&B run
wandb.init(project="gpt3")
# 2. Save model inputs and hyperparameters
config = wandb.config
config.learning_rate = 0.01
# Model training code here ...
# 3. Log metrics over time to visualize performance
for i in range(10):
    wandb.log({"loss": loss})

开源月刊《HelloGitHub》第 81 期

最后

假如你发现了 GitHub 上风趣的项目,就点击共享给大家伙吧。

以上便是本期的一切内容了,往期内容点击阅览

感谢您的阅览,假如觉得本期内容还不错的话 求赞、求共享 ❤️