当前位置:科学 > 正文

《HelloGitHub》第 88 期

2023-07-28 13:07:38  来源:HelloGitHub

简介

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


(资料图)

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

C 项目

1、memreduct:小巧的内存管理应用。这是一款 Windows 内存管理工具,可以实时监控计算机内存和清理系统缓存。它体积小(6MB)、内存释放效果明显,兼容 Windows XP 及更高版本。

2、naxsi:高效、易用的 Nginx 防火墙。这是一款专业的 Nginx Web 应用防火墙,可用来抵御 SQL 注入、XSS 攻击等。它采用白名单的防御方式,规则配置简单、功能强大,支持拦截和学习模式。学习模式可辅助发现未知攻击,生成、优化白名单规则。

3、no-more-secrets:在终端中模拟电影里的数据解密效果。这是一个可以在终端中模拟 1992 年《通天神偷》电影中的数据解密效果的命令行工具。它可以将 ASCII 或 UTF-8 文本,用好莱坞式的解密效果展示。

$ ls -l | nms$ ls -l | nms -a           // Set auto-decrypt flag$ ls -l | nms -s           // Set flag to mask space characters$ ls -l | nms -f green     // Set foreground color to green$ ls -l | nms -c           // Clear screen$ nms -v                   // Display version

4、opencv-mobile:最小化的 OpenCV 库。这是一个比官方版本小 10 多倍的 OpenCV 库,它对模块进行了删减,仅保留了最基本的运算模块和常见的图像处理功能,适用于 Android、iOS、Windows、Linux、macOS 等平台。

C# 项目

5、FluentHub:好看的 GitHub 客户端。这是一款 C# 编写的 GitHub 客户端,采用 Fluent Design 设计,界面清爽且时尚,适用于 Windows 系统。

6、wincompose:免费的特殊符号输入法。这是一款 Windows 小工具,可以让你轻松输入特殊符号和 Emoji。它内置了上千种特殊符号和 Emoji,支持自定义组合键快速输入特殊字符。

C++ 项目

7、clink:Windows 命令行增强工具。该项目可以让 Windows 原生的 cmd.exe 拥有类似 bash 一样强大的自动补全、历史记录、行编辑等功能,就像在 Linux 终端上一样。

8、miniob:从 0 到 1 数据库内核实战教程。该项目是 OceanBase 团队基于华中科技大学数据库课程原型,联合多所高校重新开发的、从零上手数据库的学习项目。它结构简单、代码简洁,不仅有文字讲解和视频教程,还有由浅入深的题目。通过理论+实战的方式,帮忙初学者迅速掌握内核模块功能和协同关系,提高工程编码能力,有助于在面试和工作中脱颖而出。

CSS 项目

9、layui:面向后端开发者的 Web UI 组件库。这是一款采用原生态 HTML/CSS/JS 开发模式的免费 Web UI 组件库,它拿来即用无需构建工具,极易上手、UI 简约清爽,深受广大后端开发者们的喜爱。

<!DOCTYPE html><html>  <head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1">    <title>开始使用 Layui</title>    <link href="./layui/css/layui.css" rel="stylesheet">  </head>  <body>    <!-- HTML -->         <script src="./layui/layui.js"></script>    <script>    // 使用组件    layui.use(["layer", "form"], function(){      var layer = layui.layer;      var form = layui.form;            // 欢迎语      layer.msg("Hello World");    });    </script>   </body></html>

Go 项目

10、compress:强大的 Go 语言压缩库。该项目包含了多种压缩算法,支持实时压缩算法 zstandard、Snappy 优化版压缩算法 S2 等,还可用来替代 gzip、zip、zlib 等标准库。

11、feishu2md:飞书文档转化成 Markdown 的工具。这是一个 Go 写的小工具,可以下载飞书文档为 Markdown 文件。它无需安装下载即用,支持命令行、Docker 和在线三种使用方式。

12、pop:在终端发邮件的工具。这是一款用 Go 写的命令行发邮件的工具,它支持 TUI 和命令行两种使用方式,还以可以通过管道和其它工具结合,实现例如 AI 编写邮件等功能。

pop < message.md \    --from "xxx" \    --to "xxx2" \    --subject "Hello, world!" \    --attach invoice.pdf

13、URLFinder:一款快速提取网页信息的工具。该项目可以快速爬取网页上的 URL 地址、JS 文件里的 API 接口等信息,支持批量抓取、深入抓取、安全抓取等模式。

Java 项目

14、antlr4:强大的语法分析器生成工具。简洁的 ANTLR 语法能够构造一个词法分析器和语法分析器,将一份文件生成 10 余种目标语言代码(Java/C++/Python 等),多用于文本解析、配置文件读取器、遗留代码转换器、JSON 解析器等。

grammar Expr;prog:   (expr NEWLINE)* ;expr:   expr ("*"|"/") expr    |   expr ("+"|"-") expr    |   INT    |   "(" expr ")"    ;NEWLINE : [\r\n]+ ;INT     : [0-9]+ ;

JavaScript 项目

15、Flowise:用拖拽的方式构建大模型应用。该项目可以让你通过可视化、拖拽组件的方式自定义大模型(LLM)流程,轻松构建 LLM 应用,支持 Docker 一键启动服务。

16、habitica:用玩 RPG 游戏的方式养成好习惯。这是一款养成类 RPG 游戏,当你完成一个现实中的待办事项后,会获得相应的经验和金币。随着你的等级提升,将会开启更多的玩法,比如购买装备、孵化宠物、职业、专属技能、组队打副本等。

17、jsnes:JavaScript 写的红白机模拟器。这是一个用 JavaScript 写的红白机(NES) 游戏模拟器,它可直接嵌入网页也可在 Node.js 中作为库使用。

// Initialize and set up outputsvar nes = new jsnes.NES({  onFrame: function(frameBuffer) {    // ... write frameBuffer to screen  },  onAudioSample: function(left, right) {    // ... play audio sample  }});// Read ROM data from disk (using Node.js APIs, for the sake of this example)const fs = require("fs");var romData = fs.readFileSync("path/to/rom.nes", {encoding: "binary"});// Load ROM data as a string or byte arraynes.loadROM(romData);// Run frames at 60 fps, or as fast as you can.// You are responsible for reliable timing as best you can on your platform.nes.frame();nes.frame();// ...// Hook up whatever input device you have to the controller.nes.buttonDown(1, jsnes.Controller.BUTTON_A);nes.frame();nes.buttonUp(1, jsnes.Controller.BUTTON_A);nes.frame();// ...

18、react-login-page:漂亮的 React 登录页组件。用于快速构建登录页面的 React 组件,内含十几款封装好的界面炫酷、即插即用的登陆页。

19、talk:点开即用的在线视频应用。这是一款基于 WebRTC 构建的 P2P 在线视频应用,它免费、无需下载和注册、点开即用。

Kotlin 项目

20、Squircle-CE:Android 手机上的代码编辑器。这款免费的手机代码编辑器,支持 C、C++、Go、Python、Java 等三十多种编程语言,同时具有语法高亮、自动补全、文件管理、代码风格等功能。

Python 项目

21、cudf:支持 GPU 的数据库处理 Python 库。它相当于支持 GPU 的 pandas,处理数据的速度直接起飞。提供了类似 pandas 的 API,支持加载、合并、聚合、过滤等方式操作数据。

import cudf, requestsfrom io import StringIOurl = "/tips.csv"content = requests.get(url).content.decode("utf-8")tips_df = cudf.read_csv(StringIO(content))tips_df["tip_percentage"] = tips_df["tip"] / tips_df["total_bill"] * 100# display average tip by dining party sizeprint(tips_df.groupby("size").tip_percentage.mean())

22、fastapi-users:开箱即用的 FastAPI 用户管理。该项目可以快速将用户注册和身份认证功能集成到 FastAPI 项目中,支持注册、登录、密码重置、邮箱验证、OAuth2、自定义身份验证等功能。

23、fastkafka:为你的 Web 服务轻松集成 Kafka 的 Python 库。基于 Pydantic、AIOKafka 构建的 Python 库,可用于快速开发与 Kafka 交互的异步 Python 程序。

from fastkafka import FastKafkafrom pydantic import BaseModel, Fieldfrom fastkafka._components.logger import get_loggerlogger = get_logger(__name__)class HelloWorld(BaseModel):    msg: str = Field(        ...,        example="Hello",        description="Demo hello world message",    )kafka_brokers = {    "demo_broker": {        "url": "<url_of_your_kafka_bootstrap_server>",        "description": "local demo kafka broker",        "port": "<port_of_your_kafka_bootstrap_server>",    }}app = FastKafka(kafka_brokers=kafka_brokers)@app.consumes()async def on_hello_world(msg: HelloWorld):    logger.info(f"Got msg: {msg}")

24、networkx:强大的 Python 网络分析库。这是一个用来创建、操作和研究复杂网络结构的 Python 库,内置常用的数据结构和图算法,支持生成无向图(Graph)、有向图(DiGraph)、多重无向图(MultiGraph)、多重有向图(MultiDiGraph),可用于图论研究、原型设计、教学等场景。

# 查找无向图中两个节点的最短路径>>> import networkx as nx>>> G = nx.Graph()>>> G.add_edge("A", "B", weight=4)>>> G.add_edge("B", "D", weight=2)>>> G.add_edge("A", "C", weight=3)>>> G.add_edge("C", "D", weight=4)>>> nx.shortest_path(G, "A", "D", weight="weight")["A", "B", "D"]

25、rpg_tactical_fantasy_game:采用 pygame 开发的 RPG 回合制游戏。这是一款 Python 写的 2D 策略回合制游戏,项目依赖少、代码简单,就算是 Python 新手也能看懂。作者其实并不擅长制作回合制游戏,只是因为喜欢玩这种游戏,所以就有了这个项目。

Rust 项目

26、dm-ticket:Rust 写的大麦网自动购票工具。大麦网的抢票工具,仅支持购买 H5 页面上的票,不支持选座。

27、gping:Rust 写的 ping 工具。该项目能够以折线图的方式,实时展示 ping 的结果,支持 Windows、Linux 和 macOS 操作系统。

28、pot-desktop:一款跨平台的划词翻译软件。支持划词翻译、输入翻译、截图翻译等多种模式的翻译工具,适用于 Windows、macOS 和 Linux。

Swift 项目

29、alt-tab-macos:macOS 上的 alt-tab 窗口切换工具。这是一款将 Windows 的 alt-tab 切换窗口功能带到了 macOS 的应用,支持一键关闭、全屏、隐藏应用,自定义 AltTab 外观、快捷键等功能。

其它

30、digital_video_introduction:一份讲解视频技术的教程。这是一份循序渐进的视频技术教程,从基本概念讲到视频编码器如何工作,内容通俗易懂、图文并茂。

31、immich:自建手机照片和视频备份服务。这是一个自行备份 iPhone、Android 手机上照片和视频的开源解决方案,支持自动备份、多用户、共享相册、实时查看照片等功能。

32、og-aws:一份 AWS 实用指南。这是一份由使用 AWS 的工程师们编写的使用指南,内容涵盖 AWS 基础知识、管理服务器、职业发展等方面。

33、OpenCat:开源的四足机器人宠物框架。这是一个基于 Arduino 和 Raspberry Pi 的四足机器人宠物框架,让你可通过 C/C++/Python 编程语言操控四足机器人。该公司生产的迷你机器猫,神似玩具版的波士顿机械狗。

34、SoftwareArchitect:通往架构师之路。这是一份教你如何成为架构师的学习指南。

开源书籍

35、Book4_Power-of-Matrix:《矩阵力量》。该书介绍了向量、矩阵、向量空间、矩阵分解、微积分、空间几何等知识,内含全彩图解和 Python 示例代码。

36、SearchEngine:《搜索引擎技术》。该书的作者是小红书的算法工程师,内容涵盖了搜索引擎基础、机器学习基础、排序、查询词推荐、决定用户体验的要素等方面,所以不要被它朴实无华的书名所迷惑。

机器学习

37、DeepFaceLive:实时直播和视频 AI 换脸程序。该项目可以对摄像头和本地视频文件中的人物,进行实时 AI 换脸,可用于 PC 直播、视频等场景。

38、DeepSpeed:微软开源的深度学习训练优化库。众所周知训练大模型(LLM)是一件“费时费钱”的事情,该项目通过 ZeRO++ 技术,在训练时将模型状态分割到每个 GPU 上,通过提高吞吐量的方式,降低训练所需的时间和成本。

39、modelscope:AI 模型即服务共享平台。魔塔是由阿里达摩院开源的 MaaS 平台,它为开发者提供了模型体验、推理、训练、部署和应用的一站式服务,相当于国内版的 Hugging Face。

40、PPOxFamily:决策智能入门级公开课。此课程希望通过深入讲解最经典的深度强化学习算法 Proximal Policy Optimization (PPO),打开你的决策 AI 探索之旅。内含视频、理论资料、习题、代码和应用样例,能够帮助初学者快速掌握,如何运用 PPO 解决各种各样的决策智能问题。

最后

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

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

关键词:

推荐阅读

月壤形成的主要原因 月壤与土壤有什么区别

月壤形成的主要原因月壤形成过程没有生物活动参与,没有有机质,还极度缺水干燥;组成月壤的矿物粉末基本是由陨石撞击破砰形成,因此,粉末 【详细】

域名抢注是是什么意思?投资角度来看什么域名好?

域名抢注是是什么意思域名抢注是通过抢先注册的方式获得互联网删除的域名的使用权。域名是由点分隔的一串数字,用于标记一台计算机或一组计 【详细】

捷达保养费用是多少?捷达是哪个国家的品牌?

捷达保养费用是多少?全新捷达的保修期为2年或6万公里,以先到者为准,新车可享受一次免费保养,首次免费保养在5000-7500km或1年内进行。如 【详细】

天然气泄露会造成爆炸吗?天然气泄漏怎么办?

天然气泄露会造成爆炸吗?家里用的天然气如果泄露是会发生爆炸的。当空气中含有混合天然气时,在与火源接触的一系列爆炸危险中,就会发生爆 【详细】

四部门明确App收集个人信息范围 个人信息保护范围判断标准

四部门明确App收集个人信息范围近日,国家互联网信息办公室、工业和信息化部、公安部、国家市场监督管理总局联合印发《常见类型移动互联网 【详细】

关于我们  |  联系方式  |  免责条款  |  招聘信息  |  广告服务  |  帮助中心

联系我们:85 572 98@qq.com备案号:粤ICP备18023326号-40

科技资讯网 版权所有