《HelloGitHub》第 105 期 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xueweihan
V2EX    分享创造

《HelloGitHub》第 105 期

  •  1
     
  •   xueweihan
    521xueweihan 316 天前 3730 次点击
    这是一个创建于 316 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    简介

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

    github.com/521xueweihan/HelloGitHub

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


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

    C 项目

    1 、fluent-bit:高效轻量的日志收集与处理工具。这是一个轻量级、高效的日志收集、处理和转发工具,支持实时收集和处理来自不同来源的日志数据,具有低内存和 CPU 占用的特性。

    2 、write-a-hash-table:从零用 C 语言实现哈希表。该项目是讲解如何用 C 语言实现一个开放寻址和双重哈希的哈希表,代码约为 200 行,预计学习时间为 1 到 2 小时。

    C# 项目

    3 、ArchiSteamFarm:开源的 Steam 挂卡工具。这是一个用 C# 开发的工具,可以管理多个 Steam 账号并自动收集卡牌,无需安装或运行 Steam 客户端,支持 VAC 免疫、交易等功能,适用于 Windows 、Linux 和 macOS 系统。

    4 、qttabbar:为 Windows 资源管理器增加标签页功能的工具。这是一个用 C# 开发的小工具,允许用户在 Windows 资源管理器( Explorer )中使用标签页功能,支持以标签页的形式同时打开和管理多个文件夹。

    C++ 项目

    5 、love:完全免费的 2D 游戏引擎。这是一款免费、开源、可商用的 2D 游戏开发框架,支持使用 Lua 语言开发跨平台的 2D 游戏,兼容 Windows 、macOS 、Linux 、Android 和 iOS 平台。

    6 、WLED:无线控制 LED 灯带。该项目是一个运行在 ESP32 和 ESP8266 上的 Web 服务器,可实现通过 WiFi 控制 LED 灯带的颜色和效果,支持 100 种特效、50 种调色板、250 个用户自定义预设等功能。

    CSS 项目

    7 、latex-css:LaTex 文档风格的 CSS 库。这是一个能够让你的网站看起来像 LaTex 文档的 CSS 样式库,支持定理、定义、引理和证明的标签,以及作者、副标题、摘要等可选的类名。

    Go 项目

    8 、gofakeit:快速生成假数据的 Go 库。该项目是用于生成各种假数据的 Go 语言库,支持随机生成名字、地址、电话和日期等格式的数据。它默认不支持生成中文假数据,但可以通过自定义方式扩展或调整生成逻辑实现。来自 @DeShuiYu 的分享

    gofakeit.Name() // Markus Moen gofakeit.Email() // [email protected] gofakeit.Phone() // (570)245-7485 gofakeit.BS() // front-end gofakeit.BeerName() // Duvel gofakeit.Color() // MediumOrchid gofakeit.Company() // Moen, Pagac and Wuckert gofakeit.CreditCardNumber() // 4287271570245748 gofakeit.HackerPhrase() // Connecting the array won't do anything, we need to generate the haptic COM driver! gofakeit.JobTitle() // Director gofakeit.CurrencyShort() // USD 

    9 、hertz:字节跳动开源的 Go 微服务 HTTP 框架。该项目是由 CloudWeGo 团队开发的高性能、易扩展的 Go 语言 Web 框架,可用于构建 RESTful API 、微服务以及需要高吞吐量的 Web 应用。在字节跳动内部,Hertz 已被广泛应用,表现稳定可靠。来自 @DeShuiYu 的分享

    10 、lima:在 macOS 上轻松运行 Linux 虚拟机。这是一款在 macOS 上创建和管理 Linux 虚拟机的工具,它通过 QEMU 和 macOS 原生虚拟化技术,提供一个开箱即用、轻量级的 Linux 虚拟机环境,支持运行各种 Linux 应用和工具,以及 Docker 、Podman 、K8s 等容器。

    # 安装 brew install lima # 启动 limactl start # 运行 Linux 命令 lima sudo apt-get install -y neofetch lima neofetch # 运行容器 lima nerdctl run --rm hello-world kubectl apply -f ... 

    11 、primitive:用几何图形生成图像。该项目是用 Go 语言开发的命令行工具,它通过图像处理算法,可将任意图像转换为仅由单一几何图形组成的图像。

    12 、zap:快速、结构化的 Go 日志库。该项目是 Uber 开发的一款高性能日志库,专为那些需要快速、结构化日志记录的场景而设计。与其他 Go 语言的日志库相比,zap 的性能更为优越,尤其是在需要频繁记录日志的高并发环境中。来自 @两双筷子 sqldc 的分享

    logger, _ := zap.NewProduction() defer logger.Sync() // flushes buffer, if any sugar := logger.Sugar() sugar.Infow("failed to fetch URL", // Structured context as loosely typed key-value pairs. "url", url, "attempt", 3, "backoff", time.Second, ) sugar.Infof("Failed to fetch URL: %s", url) 

    Java 项目

    13 、async-profiler:Java 性能分析工具。这是一个低开销的 Java 采样分析器,可用于对 Java 应用进行性能分析。它能够帮助开发者追踪 CPU 消耗的热点代码路径、定位内存泄漏,以及分析线程锁争用和线程间的同步等问题。来自 @塔咖 的分享

    14 、javaparser:强大的 Java 代码解析库。这是一个纯 Java 实现的解析库,专为解析、分析和生成 Java 代码而设计。它能够将 Java 代码解析为抽象语法树( AST ),支持从 Java 1.0 到 Java 21 版本。可用于开发代码分析工具、重构工具、编译器等。

    15 、kestra:事件驱动的声明式编排平台。这是一个基于 Java 开发的事件驱动编排平台,旨在简化计划性和事件驱动工作流。它提供直观的 Web 界面,内置代码编辑器和数百个插件,用户可以通过 YAML 代码轻松构建可靠的工作流,支持编排微服务、批处理任务、临时脚本、SQL 查询、数据同步等多种任务。来自 @啊 gBAfV 的分享

    Javascript 项目

    16 、Dexie.js:轻量级的 IndexedDB 库。这一个轻量级的 Javascript 库,封装了浏览器原生的 IndexedDB API ,使得在客户端浏览器中进行数据存储和查询变得更加容易,支持存储大量数据、事务和索引等功能。

    const db = new Dexie('MyDatabase'); // Find some old friends const oldFriends = await db.friends .where('age').above(75) .toArray(); // or make a new one await db.friends.add({ name: 'HelloGitHub', age: 25, street: 'East 13:th Street', picture: await getBlob('HelloGitHub.png') }); 

    17 、gitstars:你的 GitHub Star 管家。这是一个用于管理 GitHub 上 Star 项目的工具,支持根据标签和编程语言对项目进行分类。来自 @cfour 的分享

    18 、jitsi-meet:开源的视频会议平台。这是一个基于 WebRTC 构建的视频会议平台,提供高清音视频质量,支持私聊、举手、投票和虚拟背景等多种功能,兼容所有主流浏览器和移动平台。

    19 、mermaid:用类似 Markdown 的语法绘制图表。这是一个开源的图表绘制工具,支持通过类似 Markdown 的语法生成多种类型的图表,如流程图、序列图和甘特图等。

    20 、semantic-release:自动化的版本管理和发布工具。这是一个基于 Node.js 开发的自动化版本管理和发布工具,旨在通过语义化版本控制( Semantic Versioning )简化项目发布流程。它通过分析 Git 提交信息,自动推导版本号,并生成相应的变更日志。

    Kotlin 项目

    21 、ChinesePinyin-CodeCompletionHelper:支持拼音输入法自动补全的 JetBrains 插件。这是一个专为 JetBrains 系列 IDE 设计的插件,支持拼音和五笔输入法的代码补全功能。

    Python 项目

    22 、grip:GitHub README 文件本地预览工具。这是一款用于本地预览 GFM ( GitHub Flavored Markdown )文件的工具。它通过 Flask 和 GitHub Markdown API ,能在本地环境中渲染并显示与 GitHub 完全一致的 Markdown 文件效果。

    $ cd myrepo $ grip * Running on http://localhost:6419/ 

    23 、ha_xiaomi_home:小米开源的 HA 插件。该项目是由小米开源的 Home Assistant 集成插件,可实现小米 IoT 智能设备与 Home Assistant 的无缝集成,支持设备发现、状态同步、远程控制等功能。来自 @魔羽 Magic 的分享

    24 、pex:相见恨晚的 Python 项目打包工具。这是一个开源的 Python 项目打包工具,专为跨环境部署和无法访问公网的部署场景设计。它能够将 Python 项目及其所有依赖,甚至是 Python 解释器(可选),打包成单个可执行文件(.pex ),让开发者无需安装运行环境,即可直接运行 Python 程序,支持 Linux 和 macOS 系统。

    $ pex "uvicorn[standard]" -c uvicorn --inject-args 'example:app --port 8888' -ohellogithub-app.pex $ ./hellogithub-app.pex INFO: Started server process [2014] INFO: Waiting for application startup. INFO: ASGI 'lifespan' protocol appears unsupported. INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:8888 (Press CTRL+C to quit) ^CINFO: Shutting down INFO: Finished server process [2014] 

    25 、runlike:快速获取 Docker 容器启动命令的工具。这是一个用于解析运行中容器的工具,可自动生成对应的 docker run 启动命令。它能够提取容器的配置信息,包括包括端口绑定、映射卷、环境变量、网络设置等,适用于复制、调试或迁移容器的场景。来自 @猎隼丶止戈 reNo7 的分享

    $ runlike -p redis docker run \ --name=redis \ -e "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \ -e "REDIS_VERSION=2.8.9" \ -e "REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-2.8.9.tar.gz" \ -e "REDIS_DOWNLOAD_SHA1=003ccdc175816e0a751919cf508f1318e54aac1e" \ -p 0.0.0.0:6379:6379/tcp \ --detach=true \ myrepo/redis:7860c450dbee9878d5215595b390b9be8fa94c89 \ redis-server --slaveof 172.31.17.84 6379 

    26 、viztracer:开箱即用的 Python 性能分析工具。这是一款高效、易用的 Python 程序性能分析工具,帮助开发者调试代码和分析性能瓶颈。它针对性能追踪做了优化,尽可能减少对被分析程序的性能影响,支持时间线追踪、多进程分析和模块化追踪等功能,并生成直观、交互式的分析报告。来自 @孤胆枪手 的分享

    # 安装 pip install viztracer # 生成分析报告 viztracer my_script.py arg1 arg2 # 可视化查看报告 vizviewer result.json 

    Rust 项目

    27 、himalaya:管理邮件的命令行工具。这是一个用 Rust 开发的命令行电子邮件客户端,支持多账户、邮件收发、多种邮件协议(如 IMAP 和 SMTP )和 PGP 加密等功能。

    28 、zoxide:更智能的 cd 命令。这是一个用 Rust 编写的高效 cd 命令工具,灵感来自 z 和 autojump 。它能够根据用户访问频率自动排序目录,快速定位最可能的目标目录,并支持模糊匹配和交互选择。来自 @啊 gBAfV 的分享

    Swift 项目

    29 、ConfettiSwiftUI:五彩纸屑动画效果的 Swift 库。这是一个用于添加五彩纸屑动画效果的 Swift 库,支持自定义纸屑形状、爆炸半径和角度。

    30 、MarkEdit:专为 macOS 设计的极简 Markdown 编辑器。这是一款适用于 macOS 的免费开源 Markdown 编辑器,体积小巧(仅 3 MB )。它提供干净清爽的界面和专注于写作的编辑环境。作者认为 Markdown 语法非常直观,因此未提供 Markdown 预览功能。

    人工智能

    31 、garak:开源的 LLMs 漏洞扫描工具。该项目是 NVIDIA 开源的用于扫描 LLMs 漏洞的工具,支持检测 LLM 可能存在的安全问题和不良行为,包括幻觉、数据泄漏、提示注入、错误信息、有毒内容生成和越狱等。

    32 、letta:为 LLM 应用注入记忆能力的开发框架。该项目是用于构建具有记忆功能的 LLM 应用的 Python 框架,支持创建拥有长期记忆和持久状态的智能体( Agent ),并能够集成多种 LLM API 服务。

    33 、MagicMirror:零门槛 AI 换脸应用。这是一款轻量级、开箱即用的 AI 换脸工具,无需 GPU 、可离线使用,一键轻松尝试新形象(发型、穿搭等)。来自 @Del 的分享

    34 、vllm:更高效的 LLMs 推理和服务引擎。这是一个高效易用的大型语言模型推理引擎,专为解决推理速度慢、资源利用率低等问题而设计。它基于 PyTorch 和 CUDA ,并结合内存优化算法( PagedAttention )、计算图优化和模型并行技术,大幅降低 GPU 内存占用,并充分利用多 GPU 资源提升推理性能。同时,vLLM 与 HF 模型无缝兼容。支持在 GPU 、CPU 、TPU 等多种硬件平台上高效运行,适用于实时问答、文本生成和推荐系统等场景。来自 @Caleb 的分享

    from vllm import LLM prompts = ["Hello, my name is", "The capital of France is"] # Sample prompts. llm = LLM(model="lmsys/vicuna-7b-v1.3") # Create an LLM. outputs = llm.generate(prompts) # Generate texts from the prompts. 

    35 、zerox:使用视觉模型将 PDF 转换为 Markdown 。该项目基于视觉模型 API 服务,提供了将 PDF 文档转化为 Markdown 的功能。其原理是先将原文件(如 pdf 、docx )转换为图片,然后把图片发给视觉模型处理,最后汇总所有结果生成完整的 Markdown 文件。

    import path from "path"; import { zerox } from "zerox"; const result = await zerox({ filePath: path.resolve(__dirname, "./hellogithub.pdf"), openaiAPIKey: process.env.OPENAI_API_KEY, }); 

    其它

    36 、awesome-low-level-design:系统详细设计的学习资源合集。这是一份帮助开发者学习和掌握 LLD ( Low-Level Design )的资源集合,包含各种系统的实现细节、示例代码和接口定义等,非常适合准备面试和提升技术水平。

    37 、bocker:仅用百行 shell 实现的 Docker 。该项目通过大约 100 行 Bash 代码实现了 Docker 的基本功能,适合用于学习如何使用简单的脚本语言实现容器的核心功能。

    38 、docker-xiaoya:一键部署 Alist+Emby+Jellyfin 服务。该项目提供了一键部署 Alist 、Emby 和 Jellyfin 服务的解决方案,帮你轻松构建完整的家庭多媒体中心,支持 Linux 、macOS 、Windows 等平台。

    39 、domain-driven-hexagon:学习领域驱动设计与六边形架构的最佳实践。这是一个结合领域驱动设计( DDD )与六边形架构( Hexagonal Architecture )的示例项目,旨在帮助开发者理解如何设计高质量、可扩展、可维护的应用程序。

    40 、Racer:自制开源小赛车。该项目是基于 ESP32-H2 构建的小型赛车,仅有五六厘米大小。它能够识别颜色并作出反应(神经网络),同时支持键盘控制。来自 @孤胆枪手 的分享

    最后

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

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

    3 条回复    2024-12-27 17:58:30 +08:00
    jifengg
        1
    jifengg  
       316 天前
    先赞再看
    lxjbet
      nbsp; 2
    lxjbet  
       316 天前
    github 还没同步更新吗
    xueweihan
        3
    xueweihan  
    OP
       316 天前
    @lxjbet 感谢您的反馈,同步脚本出问题了,现在好了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2581 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 12:04 PVG 20:04 LAX 04:04 JFK 07:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86