携手创作,一起成长!这是我参加「掘金日新计划 8 月更文应战」的第6天,点击查看活动概况

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

《HelloGitHub》第 77 期

简介

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

github.com/521xueweiha…

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


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

C 项目

1、EasyLogger:超轻量级 C/C++ 日志库。占用资源少合适物联网和单片机等项目,功用简略简略上手,可以经过插件方法扩展功用。特性:

  • 支撑终端、文件、串口、Flash 等多种输出方法
  • 支撑多种操作体系
  • 线程安全
  • 不同颜色显示

《HelloGitHub》第 77 期

2、foolrenderer:用 C 言语从零完结的软件烘托器。不必图形 API 仅用几千行 C 代码,完结了一套相似 OpenGL 的根本图形功用,以及运用于游戏开发的实时烘托技能,如暗影、切线空间法线映射、根据物理的原料体系等。该项目包括丰厚的注释和数学核算推导进程的说明,可用于帮助了解和学习 GPU 的根本作业原理、根底烘托常识和着色器原理。

《HelloGitHub》第 77 期

3、unicorn:轻量级的多渠道、多架构 CPU 仿真器结构。根据 QEMU 开发的 CPU 模仿器,多用于逆向、履行恶意代码等。特色:

  • 多架构:ARM、ARM64、RISC-V、TriCore 等
  • 多种编程言语:Python、Rust、Java、Go、JS 等
  • 支撑各种等级的细粒度检测

C# 项目

4、Bili.Uwp:非官方的 B 站桌面运用。根据 UWP 结构开发的哔哩哔哩 Windows 客户端,简略易用、界面清爽,适用于 Windows 10/11 桌面体系和 Xbox。

《HelloGitHub》第 77 期

C++ 项目

5、Stockfish:强大的国际象棋引擎。它在众多国际象棋引擎评级列表中均名列前茅,棋术根本上是吊打职业选手。它不只可以对战,还支撑棋局剖析、评价棋术,帮助国际象棋爱好者提高棋技。尽管这是一个引擎不能独自运转,可是社区供给了丰厚的 GUI 软件下载就能用,甚至还可以用来说明国际象棋比赛。

《HelloGitHub》第 77 期

6、annoy:用于近似最近邻查找的算法库。近似最近邻(ANN)方法是指一系列处理最近邻查找问题的近似算法,多用于内容引荐、查找等场景。该项目是封装好的 C++/Python Annoy 算法库。Annoy 是用树为数据结构的 ANN 算法完结,它经过随机投影创立二叉树构建索引提高查询效率,选用优先队列和“森林”查询方法提高准确率,完结海量数据下的实时查找。

from annoy import AnnoyIndex
import random
f = 40  # Length of item vector that will be indexed
t = AnnoyIndex(f, 'angular')
for i in range(1000):
    v = [random.gauss(0, 1) for z in range(f)]
    t.add_item(i, v)
t.build(10) # 10 trees
t.save('test.ann')
# ...
u = AnnoyIndex(f, 'angular')
u.load('test.ann') # super fast, will just mmap the file
print(u.get_nns_by_item(0, 1000)) # will find the 1000 nearest neighbors

《HelloGitHub》第 77 期

7、xbmc:强大自在的媒体中心软件。这是一个媒体播映器软件,但折腾一下便是家庭媒体娱乐中心。它不只支撑播映本地视频,还可以装置各种插件以及播映网络存储设备(NAS)、投屏、直播、电视、播客等源。可以运转在 Linux、macOS、Windows、Android、iOS 等设备,界面支撑中文更多功用等待你的挖掘。

《HelloGitHub》第 77 期

8、RedPanda-CPP:易用的轻量级 C/C++ 集成开发环境。小熊猫 C++ 是一款专为编程新手和学生预备的 IDE,它没有复杂的装置和配备进程开箱即用。支撑开发所需的主动补全、语法高亮、编译运转和调试 C/C++ 程序等功用。不只如此,它还整合了 ege、海龟作图、raylib 等多种学习库,以及试题集和 OJ 功用,便于编程新手学习和运用。

《HelloGitHub》第 77 期

CSS 项目

9、Cnblogs-Theme-SimpleMemory:一款以阅览为主的博客园皮肤。博客园是一个博客渠道,它支撑用户自定义皮肤。该项目便是一款开源的博客园皮肤,文档有详细的装置过程,一看就会立马就能用上。尽管皮肤会让博客的拜访速度变慢一点,可是皮肤作用简练美观值得一试。

《HelloGitHub》第 77 期

Go 项目

10、bk-cmdb:腾讯开源的配备渠道。面向资产及运用的企业级配备办理渠道,具有主机办理、组织架构办理、通用权限办理、操作审计等功用。该项目的代码审阅很严厉,此举不只确保了项目的代码质量,还提高了代码的可读性,引荐阅览源码。

《HelloGitHub》第 77 期

11、nightingale:开源的云原生监控体系。支撑 Docker 等多种布置方法,集数据采集、监控告警、可视化为一体的企业级监控渠道。凭借高功能时序库,可以满意数亿时刻线的采集、存储和告警剖析的场景。该项目已在上千家企业布置落地,经历了各种出产环境的查验。

《HelloGitHub》第 77 期

12、CasaOS:简略易用的家庭云体系。只需一键即可装置在 NAS、树莓派等各种家庭智能设备上,让你可以随时随地办理个人数据和设备。

《HelloGitHub》第 77 期

13、ddns-go:简略易用的 DDNS 东西。众所周知域名解析中域名对应的是固定 IP,可是本地机器的 IP 一般是动态的,所以无法完结域名解析完结公网拜访。动态 DNS(DDNS) 技能便是用来处理动态 IP 的域名解析问题,该项目可以主动获取你本机的公网 IP,并主动更新到域名服务商,然后完结公网拜访本地机器。

14、colly:可能是最闻名的 Go 爬虫结构。它具有友爱的 API 和丰厚代码示例,短时刻内即可上手。功能方面单核能到达 1K 恳求/秒,还可以轻松办理恳求方法、间隔和最大并发数,功用强大且高雅。

func main() {
	c := colly.NewCollector()
	// Find and visit all links
	c.OnHTML("a[href]", func(e *colly.HTMLElement) {
		e.Request.Visit(e.Attr("href"))
	})
	c.OnRequest(func(r *colly.Request) {
		fmt.Println("Visiting", r.URL)
	})
	c.Visit("https://go-colly.org/")
}

Java 项目

15、plantuml:从文本描述生成 UML 图的东西。该项目可根据简略的文字描述画出 UML 图,支撑顺序图、用例图、时序图等,除此之外还支撑架构图、甘特图、思维导图、实体联系图等非 UML 图。支撑在线、指令行、桌面运用等多种运用方法,可根据情况自行挑选。

java -jar plantuml.jar 文本文件
将得到一个同名的 png 文件

《HelloGitHub》第 77 期

16、doris:高功能的剖析数据库。一个根据 MPP 架构的高功能、实时的剖析型数据库,尤其是在海量数据和高并发场景下表现优异。目前,在众多闻名企业中均有运用,可用来构建用户剖析、日志检索剖析、用户画像等运用。

《HelloGitHub》第 77 期

JavaScript 项目

17、koodo-reader:先进的电子书阅览东西。该阅览器支撑 EPUB、Kindle、PDF、漫画等多种常见文本格式,界面清爽功用丰厚,具有自定义字体、添加笔记、书签、划词翻译、导入图书、数据同步等功用。供给了 Windows、macOS 和 Linux 客户端,还支撑网页版可在线运用。

《HelloGitHub》第 77 期

18、video.js:盛行的 HTML5 视频播映器。一款开箱即用的 Web 视频播映器,它支撑 HTML5 视频和流媒体格式,至今有超过 45 万个网站在运用它。

《HelloGitHub》第 77 期

19、vue-idle-game:挂机放置类小游戏。用 Vue.js 写的在线 RPG 游戏,配备完全随机全赖刷,没有使命便是刷。

《HelloGitHub》第 77 期

20、nocobase:易扩展的无代码开发渠道。这个项目可以让你不写代码,仅经过点击和拖拽,分分钟搭建出协作和内部办理体系。项目还处于前期开发阶段,请勿用于出产环境。

《HelloGitHub》第 77 期

21、van-blog:有用的一站式个人博客体系。一款简练高雅的博客体系,追求极致呼应速度和博客体会。前后台均为呼应式,支撑 Docker 一键布置。前台为静态页面并支撑增量烘托,按需构建更新页面。回绝花里胡哨的功用,专心于个人博客场景。

《HelloGitHub》第 77 期

Kotlin 项目

22、Unciv:一款相似《文明》的单机策略手游。仅 6M 的回合制策略游戏,玩家可以在游戏中模仿创立帝国文明,相当于开源版的《文明》安卓手游。尽管游戏画面是像素风格,但并未影响游戏体会,游戏支撑中文、内容丰厚可玩性非常高。

《HelloGitHub》第 77 期

Python 项目

23、dooit:指令行待办事项东西。用 Python 写的交互式指令行 todo 东西,操作简略支撑快捷键和鼠标,界面精致可自定义主题和图标。

《HelloGitHub》第 77 期

24、gradio:用 Python 为模型创立演示界面。这是一个用于构建机器学习和数据科学演示的 Python 库,它包括多种输入和展示的组件,运用起来极端便利,只用几行代码就可以创立出演示机器学习模型的 Web 界面。

import gradio as gr
def sketch_recognition(img):
    pass# Implement your sketch recognition model here...
gr.Interface(fn=sketch_recognition, inputs="sketchpad", outputs="label").launch()

《HelloGitHub》第 77 期

25、label-studio:开源的数据标注东西。支撑音频、文本、图画、视频、时刻序列等,多种类型数据的标注和注释东西。

# 装置
pip install -U label-studio
# 运转
label-studio

《HelloGitHub》第 77 期

26、whoogle-search:自架纯净谷歌查找服务。这是一个重视保护用户隐私的元查找引擎,它会回来过滤掉广告后的 Google 查找成果,并且不追踪 IP、不存 Cookie。支撑 Docker 布置既简略又快速,合适重视隐私的用户。

《HelloGitHub》第 77 期

27、nas-tools:NAS 媒体库资源主动收拾东西。支撑资源检索和订阅、媒体库收拾和告诉服务的 NAS 媒体库东西,这是一个用爱发电的项目,可以不爱但请不要伤害。

《HelloGitHub》第 77 期

28、libtmux:用 Python 操作 tmux 的库。经过该项目就可以运用 Python 代码,主动控制 tmux 运用的会话、窗口、窗格。

import libtmux
server = libtmux.Server()
server.list_sessions()
# [Session($3 foo), Session($1 libtmux)]

Rust 项目

29、cheats.rs:Rust 编程言语小抄。这里不只有 Rust 根底语法,还有履行顺序详解和编写时需要关注的注意事项。如果你觉得还不够,该项目还包括了示例代码(EX)、书本(BK)、规范库(STD) 等 Rust 相关资料。

《HelloGitHub》第 77 期

30、py-spy:用 top 的方法剖析 Python 程序功能的东西。一款 Python 程序功能剖析东西,它可以让你在不重启程序或修改代码的情况,直观地看到 Python 程序中每个函数花费的时刻。

# 装置
pip install py-spy

# record 指令将配备文件记录到文件中,可用来生成火焰图
py-spy record -o profile.svg --pid 进程ID

# top 指令实时展示函数花费时刻
py-spy top --pid 进程ID

# dump 指令显示每个 Python 线程的当前调用堆栈
py-spy dump --pid 进程ID

《HelloGitHub》第 77 期

31、reqwest:Rust 言语的 HTTP 客户端。纯 Rust 编写的 HTTP 客户端,简略好用、支撑异步、API 友爱。

use std::collections::HashMap;
fn main() -> Result<(), Box<dyn std::error::Error>> {
    let resp = reqwest::blocking::get("https://httpbin.org/ip")?
        .json::<HashMap<String, String>>()?;
    println!("{:#?}", resp);
    Ok(())
}

Swift 项目

32、SwiftMessages:一个非常灵活的 iOS 音讯库。用 Swift 编写的音讯组件,它可以将音讯灵活地显示在屏幕顶部、底部、中心,还供给了几款美观的布局和主题,拿来即用非常便利。

// 例化一个音讯视图
let view = MessageView.viewFromNib(layout: .cardView)
// 带有警告样式的主题音讯元素
view.configureTheme(.warning)
// 添加暗影
view.configureDropShadow()
// 设置音讯标题、正文和图标
let iconText = ["", "", "", ""].randomElement()!
view.configureContent(title: "Warning", body: "Consider yourself warned.", iconText: iconText)
// 添加卡片周围的外部边距
view.layoutMarginAdditions = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
// 显示音讯
SwiftMessages.show(view: view)

《HelloGitHub》第 77 期

33、MonitorControl:控制 macOS 外接显示器的东西。一款 macOS 多显示器控制东西,有了它就可以在菜单栏或运用快捷键,轻松地控制外接显示器的音量、亮度、对比度。

《HelloGitHub》第 77 期

其它

34、sql-injection-payload-list:关于 SQL 注入常识的集合。该项目解释了什么是 SQL 注入和一些常见的例子,以及如何发现、利用、防范各种 SQL 注入漏洞。

《HelloGitHub》第 77 期

35、system-design:体系规划从入门到面试。该教程从根底协议讲起,然后介绍常见的数据库、音讯队列等服务,最终是面试和实际的案例剖析。内容按部就班、图文并茂,强烈引荐我们学习。

《HelloGitHub》第 77 期

36、all-contributors:赞誉非代码贡献者的东西。这是一个 GitHub 机器人,可以在 issues 运用指令,将贡献者增添到项目首页,进行展示和赞誉。

《HelloGitHub》第 77 期

37、gibMacOS:macOS 体系下载东西。经过 Python 脚本直接下载 macOS 体系文件,可用来制作 macOS 装置镜像。

38、mackup:主动同步运用程序设置的东西。可以帮你快速备份、同步 macOS 和 Linux 上运用配备文件的东西,包括 Zsh、Vim、iTerm2、MySQL 在内的多种开发相关运用,还支撑 Dropbox、iCloud、Git 等丰厚的同步方法。

# 装置
brew install mackup
# 备份
mackup backup
# 恢复
mackup restore

开源书本

39、EffectiveModernCppChinese:《Effective Modern C++》中文翻译版。教你如何写出正确、高效、可保护的 C++ 代码的书,该项目为中文翻译版别(已完结)。

《HelloGitHub》第 77 期

40、babel-handbook:Babel 运用手册。内容分为「用户手册」如何装置和配备 Babel 和「插件手册」如何为 Babel 创立插件 两部分。

机器学习

41、mmdetection:OpenMMLab 开源的方针检测东西箱。根据 PyTorch 的方针检测开源东西箱,支撑 Faster R-CNN、Mask R-CNN、RetinaNet 等主流算法。

《HelloGitHub》第 77 期

42、fauxpilot:自建 GitHub Copilot 服务。它选用 NVIDIA 的 Triton Inference Server 的 SalesForce CodeGen 模型,自建 AI 编码辅佐服务。支撑接入 VSCode Copilot 插件,运用起来非常便利。

最终

如果你发现了 GitHub 上风趣的项目,就点击分享给我们伙吧。

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

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