• 《HelloGitHub》第 88 期


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

    简介

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

    https://github.com/521xueweihan/HelloGitHub

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


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

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

    CSS 项目

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

    html>
    <html>
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>开始使用 Layuititle>
        <link href="./layui/css/layui.css" rel="stylesheet">
      head>
      <body>
        
         
        <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 "me@example.com" \
        --to "you@example.com" \
        --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 outputs
    var 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 array
    nes.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, requests
    from io import StringIO
    
    url = "https://github.com/plotly/datasets/raw/master/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 size
    print(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 FastKafka
    from pydantic import BaseModel, Field
    from fastkafka._components.logger import get_logger
    
    logger = get_logger(__name__)
    
    class HelloWorld(BaseModel):
        msg: str = Field(
            ...,
            example="Hello",
            description="Demo hello world message",
        )
    
    kafka_brokers = {
        "demo_broker": {
            "url": "",
            "description": "local demo kafka broker",
            "port": "",
        }
    }
    
    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 页面上的票,不支持选座。来自 @Classmate Lin 的分享

    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 上,通过提高吞吐量的方式,降低训练所需的时间和成本。来自 @zhizhu 的分享

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

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

    最后

    感谢无私分​享开源项目的小伙伴们,欢迎更多的开源爱好者来 HelloGitHub 自荐/推荐开源项目。如果你发现了 GitHub 上有趣的项目,就点击这里分享给大家伙吧!

    以上就是本期的所有内容了,往期内容点击阅读,如果你觉得本期内容还不错的话 求赞、求分享 ❤️

  • 相关阅读:
    微信小程序学习笔记1.0
    C语言--typedef的使用
    [附源码]java毕业设计智能超市导购系统
    【白话科普】聊聊网络架构变革的关键——SDN
    Oracle 19c RAC异机恢复到单机19c(包含PDB)
    人间道-您到底做错了什么:正心径之您要逐渐去除外邪行为
    fastadmin框架token验证
    CYarp:力压frp的C#高性能http内网反代中间件
    LeetCode-3067. 在带权树网络中统计可连接服务器对数目【树 深度优先搜索 数组】
    租房小程序自动定位城市
  • 原文地址:https://www.cnblogs.com/xueweihan/p/17586669.html