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

简介

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

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

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


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

C 项目

1、linux-wifi-hotspot:功能丰富的 Linux WiFi 热点工具。这是一款拥有图形化操作界面的 Wi-Fi 创建器,它使用方便、功能丰富,支持命令行、创建热点、二维码分享网络、查看已连接设备等功能。

2、progress:查看 Linux 命令执行进度的工具。这是一个可以查看 cp、mv、dd、tar 等命令执行进度的 Linux 工具,它可以显示已处理数据的百分比、处理速度和预计完成时间,并提供了类似 top 的监控模式。

C# 项目

3、Opserver:Stack Exchange 团队开源的监控系统。这是一个采用 .Net 开发的轻量级监控系统,它可以监控包括服务器、日志、SQL Server 集群、Redis 在内的多种服务,支持修改 JSON 配置文件自定义仪表盘展示。Stack Exchange 也是一个网站,它和程序员常用的 Stack Overflow 背后都是同一家公司。

4、SophiApp:一款强大的 Windows 微调工具。这是一个用于微调 Windows 10 和 Windows 11 配置的调整器。它拥有现代化的操作界面,在保证系统稳定的前提下,提供了超过 130 种的调整选项。

C++ 项目

5、azerothcore-wotlk:启动你专属的魔兽世界服务。它是用 C++ 编写的开源魔兽世界(WoW)服务器端,支持经典的巫妖王之怒(3.3.5a)游戏版本和 Docker 启动。该项目由社区驱动,运行稳定、社区活跃、对新手友善。

6、kdeconnect-kde:Linux 上的设备互联工具。这是一款由 KDE(知名 Linux 桌面环境) 开源的,方便手机与电脑实现无线互联的应用。支持手机和电脑之间共享剪贴板、通知、文件、运行命令等功能,还可以将手机作为电脑的触控板、键盘和幻灯片遥控器等外接设备。

7、pybind11:简化 Python 调用 C++ 代码的库。这是一个仅头文件的 C++ 库,它可以将 C++ 代码转化成 Python 可直接引用的模块,轻松实现 Python 调用 C++ 代码。通过这种混合编程的方式,可以提高 Python 代码的性能。

手动编译 C++ 代码
$ c++ -O3 -Wall -shared -std=c++11 -fPIC $(python3 -m pybind11 --includes) example.cpp -o example$(python3-config --extension-suffix) 然后在 Python 代码中直接 import 即可使用
$ python
Python 3.9.10 (main, Jan 15 2022, 11:48:04)
[Clang 13.0.0 (clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import example
>>> example.add(1, 2)
3

8、wondertrader:一站式的量化交易框架。这是采用 C++ 开发的一站式量化交易框架,支持量化交易过程中的数据清洗、回测分析、实盘交易、运营调度等环节。可用于多账户交易、极速/高频交易、算法交易等场景。

Go 项目

9、1Panel:现代化、开源的 Linux 服务器运维管理面板。这是一款 Go 写的 Linux 服务器的在线管理系统,它安装简单、安全可靠,同时集成了 WordPress 等应用、域名绑定、SSL 证书配置、备份等功能,支持快速建站。来自 @llei.wang 的分享

10、gitpod:随时准备好编码的云开发环境。这是一个提供在线开发环境的 K8s 应用程序,通过配置文件可以快速地为 GitHub、GitLab 上的项目,创建一个集成了在线 IDE、库、依赖项等工具的在线开发环境。

11、LocalAI:OpenAI 的本地替代品。一个实现了在个人电脑上运行 LLM 模型,并集成了服务接口和在线聊天界面的项目。虽然效果无法和 GPT-4 媲美,但它开箱即用且免费,支持 Vicuna、Alpaca、GPT4ALL 等模型。

# Clone LocalAI
git clone https://github.com/go-skynet/LocalAI cd LocalAI # (optional) Checkout a specific LocalAI tag
# git checkout -b build <TAG> # Download gpt4all-j to models/
wget https://gpt4all.io/models/ggml-gpt4all-j.bin -O models/ggml-gpt4all-j # Use a template from the examples
cp -rf prompt-templates/ggml-gpt4all-j.tmpl models/ # (optional) Edit the .env file to set things like context size and threads
# vim .env # start with docker-compose
docker-compose up -d --pull always
# or you can build the images with:
# docker-compose up -d --build
# Now API is accessible at localhost:8080
curl http://localhost:8080/v1/models
# {"object":"list","data":[{"id":"ggml-gpt4all-j","object":"model"}]} curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "ggml-gpt4all-j",
"messages": [{"role": "user", "content": "How are you?"}],
"temperature": 0.9
}' # {"model":"ggml-gpt4all-j","choices":[{"message":{"role":"assistant","content":"I'm doing well, thanks. How about you?"}}]}

12、minikube:一条命令在本机启动 Kubernetes 集群的工具。一个可以在本地轻松运行 K8s 集群的工具,它支持标准的 Kubernetes 功能,可作为本地开发 Kubernetes 应用程序的工具,适用于 macOS、Linux 和 Windows 操作系统。

13、nexttrace:一款可视化路由跟踪工具。该项目默认使用 ICMP 协议发送 TraceRoute 请求,特点是显示经过路由器的 IP、地理位置和耗时,以及在地图上以可视化的方式显示路径。

Java 项目

14、jetlinks-community:一个全响应式的企业级物联网平台。基于 Spring Boot 开发的一款开箱即用、可二次开发的企业级物联网基础平台。支持不同设备的统一接入、规则模型配置、数据权限控制等功能。来自 @孤胆枪手 的分享

15、open-java:纯字符 3D 画面的空战游戏。这是一款采用 Java Swing 开发的基于小孔成像原理与图形光栅化的字符 3D 画面框架构建的空战游戏,简单说就是作者为了做个 3D 字符空战游戏,顺手写了个 3D 引擎,别人的本科毕设。

16、PlayEdu:一款 Java 写的内部培训系统。这是一款基于 SpringBoot+React 开发而成的视频培训系统,它界面清爽、交互流畅,支持上传资源、创建部门、添加学员、指派课程等功能,可用于企业和机构搭建内部培训平台。来自 @Markjune2022 的分享

JavaScript 项目

17、dub:功能丰富的短链接管理平台。采用 Next.js+Tailwind CSS 构建的短链接平台,可用于创建、追踪、分析短链接,支持地理位置统计、自定义域名、生成二维码等功能。

18、EasySpider:一款可视化爬虫工具。该项目可以让用户在图形化界面下,无需写代码实现自动采集/爬虫的功能。用户只需要在网页上选择想要爬的内容,并根据提示框操作即可完成爬虫的设计和执行。

19、lossless-cut:视频/音频无损编辑的工具。该项目支持快速、无损地切割/合并大型视频和音频文件,比如摄像机、GoPro、无人机等设备录制的原始文件都很大,通过粗剪可以减小文件体积、节省空间。来自 @coolxy 的分享

20、morjs:微信/支付宝小程序扩展到多端的框架。这是饿了么开源的一款基于小程序 DSL 的多端研发框架,该项目能根据微信或支付宝小程序的源码,编译出在不同平台(微信/支付宝/百度/字节/钉钉/快手/QQ/淘宝)流畅运行的小程序。来自 @BboyZaki 的分享

21、ts-config-helper:TypeScript 配置可视化工具。该项目提供了 TypeScript 配置解析、可视化、文档查阅等功能,帮你快速、准确地生成 tsconfig.json 文件。

PHP 项目

22、upload-labs:用于练习上传漏洞的靶场。这是一个采用 PHP 语言编写的用于练习上传漏洞的在线靶场。它收集了渗透测试和 CTF 中遇到的各种上传漏洞的靶场。目前一共 20 关,每一关都包含着不同上传方式。

23、wallabag:保存网页稍后阅读的应用。这是一款能够将网络上的文章下载到本地离线保存的应用,它完全免费、拥有中文界面和移动端,让你可以随时随地阅读自己保存的文章。

Python 项目

24、domain-admin:域名和 SSL 证书监测平台。采用 Flask+peewee+Vue3 构建的域名和 SSL 证书到期监测平台,支持批量导入域名、多域名管理、到期通知等功能。

25、donkeycar:构建自动驾驶模型车的开源平台。一个由遥控模型车(RC CAR)、树莓派、Python 组成的 DIY 自动驾驶平台,可用于实现自动驾驶的玩具车。该项目官网还提供了完整的配套硬件,大概需要 250 美元,组装时间约 2 个小时。

26、musicpy:用 Python 创作音乐。该项目可以用简洁的 Python 代码生成一段音乐,它提供了和弦、音符和音阶等几个基本类型,需要具备一定的音理基础才能上手。

from musicpy import *

# 尼龙弦吉他分解和弦演奏一个和弦进行
guitar = (C('CM7', 3, 1/4, 1/8)^2 |
C('G7sus', 2, 1/4, 1/8)^2 |
C('A7sus', 2, 1/4, 1/8)^2 |
C('Em7', 2, 1/4, 1/8)^2 |
C('FM7', 2, 1/4, 1/8)^2 |
C('CM7', 3, 1/4, 1/8)@1 |
C('AbM7', 2, 1/4, 1/8)^2 |
C('G7sus', 2, 1/4, 1/8)^2) * 2 play(guitar, bpm=100, instrument=25)

27、OpenBBTerminal:高颜值的命令行投资分析工具。一个有着高颜值的金融市场行情查看和分析工具,实现了在终端偷偷看股市的功能。同时,它开放了对 Pandas、Numpy、Jupyter、Pytorch、Tensorflow 等等框架的支持,帮助深入加工和分析数据辅助投资。

28、pygwalker:用可视化的方式操作 pandas 数据集。该项目可以将 pandas 的 dataframe 数据对象转化成一个可交互的图形界面,支持通过拖拽字段的方式进行数据分析。来自 @databook 的分享

Rust 项目

29、FlyingCarpet:无需网络的文件传输工具。这是一个支持在 Android、iOS、Linux、macOS 和 Windows 系统之间通过 WiFi 点对点(Ad-Hoc)传输文件的工具。它不需要网络基础设施,只需要两台支持 WiFi 的设备,即可实现近距离无线传输。

30、jumpy:鱼类像素风格的 2D 射击游戏。这是一款 2D 对战类游戏,玩家控制鱼形斗士相互厮杀,支持 2-4 名玩家在本地或在线对战。

31、oxipng:多线程的 PNG 图片压缩工具。这是一个 Rust 写的命令行 PNG 无损压缩工具,支持多线程压缩速度快,还可作为 Rust 库使用。

Swift 项目

32、fsnotes:macOS/iOS 上的笔记管理器。这是一款适用于 macOS 和 iOS 的笔记管理工具,它支持 Markdown、加密笔记、生成网页、TouchBar 快捷键、超过 170 种编程语言的语法高亮、iCloud Drive 或 Dropbox 同步内容等功能。

33、swift-foundation:用 Swift 重写后的 Foundation 框架。Foundation 框架是 macOS 和 iOS 的基础组件(标准库),该项目是 Apple 用 Swift 重写后的 Foundation 源码,它更快、更安全。

其它

34、ESP32-Paxcounter:基于 WiFi 和蓝牙的客流计数器。一款基于廉价的 ESP32 开发板的实时客流量计数器,它通过监测附近的 WiFi 和蓝牙信号,在不侵犯隐私的情况下实现计数。来自 @松果 的分享

35、Hacki:用 Flutter 开发的 Hacker News 客户端。一款用 Flutter 写的 Hacker News 客户端,它界面清爽功能齐全,支持离线阅读、账户登录、提交内容、评论折叠等功能,已上架 App Store 和 Google Play 应用商店。来自 @Jiaqi Feng 的分享

36、OURS-project:教你如何制作一个智能手机。这里介绍了如何用树莓派制作一个 Linux 系统的智能手机,该设备拥有 1GB 运行内存、4 英寸 480*800 的触摸屏和 500 万像素的摄像头,支持 4G 网络、通话、短信、浏览器、GPS 等功能。

37、source-han-serif:思源宋体一套泛中日韩字体。思源宋体是 Adobe 开源的泛中日韩字体,这个开源项目不仅提供了思源宋体可用的 OpenType 字体,还提供了利用 AFDKO 工具创建这些 OpenType 字体时的所有源文件。来自 @孤胆枪手 的分享

38、wai:一款可以预防颈椎病的项目。这是一个通过非正常的方式,展示历史上的今天和这个季节吃什么果蔬的内容,“强迫”你活动脖子从而实现预防颈椎病的目的。来自 @Huan 的分享

开源书籍

39、bgnet:《Beej 的网络编程指南》。如果你想弄清楚什么是 socket 以及关于 C 语言网络编程的知识,就可以看看这本书,内含中文翻译版。

40、explore-flask:《Explore Flask》探索 Flask。这是一本关于 Python 知名 Web 框架 Flask 的书籍,内容包含基础入门和部署实战。

机器学习

41、AI4Animation:AI 生成游戏角色动画。该项目可以基于原始的动作捕捉数据,生成更加自然、可控的角色动画,解决两足、四足动物的动画生成问题,比如无需人为干涉就能生成坐下、跳跃、开门、武术等复杂动作的动画。来自 @松果 的分享

42、GFPGAN:腾讯开源的人脸修复算法。它可以用于修复像素低、模糊、破损的人脸图像,尤其是在脸部细节和清晰度方面,修复效果尤为出色。

43、ImageBind:连接多种感官数据的 AI 模型。这是一个由 Meta AI 开源的新型多模态 AI 模型,支持在图像、文本、音频等六种不同模态之间任意转换。比如它可以根据一段火车的音频,自动生成火车的照片、视频和一段文本。

44、tuning_playbook:深度学习调优指南。该指南出自几位谷歌大脑研究员的深度学习模型调参经验总结,内容包括如何开始新项目、提高模型性能的方法和训练过程中的经验,适合已掌握机器学习基本知识、对优化深度学习模型性能感兴趣的工程师和研究员阅读。

最后

如果你发现了 GitHub 上有趣的项目,就点击这里分享给大家伙吧!

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

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

《HelloGitHub》第 86 期的更多相关文章

  1. 《HelloGitHub月刊》第01期

    <HelloGitHub月刊> 因为现在这个项目只有我自己做,只敢叫"月刊",希望有志同道合者,快点加入到这个项目中来!同时,如果您有更好的建议或者意见,欢迎联系我.联 ...

  2. 《HelloGitHub月刊》第 01 期

    <HelloGitHub月刊> 因为现在这个项目只有我自己做,只敢叫"月刊",希望有志同道合者,快点加入到这个项目中来!同时,如果您有更好的建议或者意见,欢迎联系我.联 ...

  3. 家里蹲大学数学杂志 Charleton University Mathematics Journal 官方目录[共七卷493期,6055页]

    家里蹲大学数学杂志[官方网站]从由赣南师范大学张祖锦老师于2010年创刊;每年一卷, 自己有空则出版, 没空则搁置, 所以一卷有多期.本杂志至2016年12月31日共7卷493期, 6055页.既然做 ...

  4. HelloGithub

    <HelloGithub月刊>第一期   <HelloGithub月刊> 因为现在这个项目只有我自己做,只敢叫“月刊”,希望有志同道合者,快点加入到这个项目中来!同时,如果您有 ...

  5. 在 GitHub 学习,成长为自己想要的样子|HelloGitHub 访谈

    万事开头难,我们经过长期的策划和筹备,终于推出了 HelloGitHub 采访系列「开源项目作者的访谈」.这是一个采访个人开源项目作者的栏目,内容侧重于开源项目作者与开源的故事. 我们深知想要做好一个 ...

  6. js实现简单的滑动门和tab选项卡

    思想:首先定义三个选项卡,可以用任何标签,只要如下图, 一共有三个ul,第一个ul给一个class,因为默认第一个选项卡的内容显示出来, 其他两个ul  display:none: 当我鼠标移到第二个 ...

  7. GitHub 热点速览 Vol.17:在?各家视频会员要不要?

    作者:HelloGitHub-小鱼干 摘要:经济实用,用作上周的 GitHub 热点的横批再合适不过.先不说 GitHub Trending 上不止一个的会员共享项目,免你找好友刷脸要会员,这项目实在 ...

  8. 如何短时间内快速通过Java面试

    当然是刷题啊 1-10期[10期]Redis 面试常见问答[09期]说说hashCode() 和 equals() 之间的关系?[08期]说说Object类下面有几种方法呢?[07期]Redis中是如 ...

  9. 有备无患「GitHub 热点速览 v.21.38」

    作者:HelloGitHub-小鱼干 数据库最重要的一个功能是容灾备份,备份不只是对数据库重要,对日常工作生活的我们一样重要,比如花了一个工作日写的代码没有备份(虽然可能只有 1 行-)总归是一个让人 ...

  10. 《HelloGitHub》第 56 期

    兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...

随机推荐

  1. Linux & 标准C语言学习 <DAY8_2>

    一.函数 Function     一段具有某一项功能的代码集合,是C语言管理代码的最小单位     把代码封装成一个个函数,方便管理和调用函数     1.函数分类         标准库函数:   ...

  2. Django笔记二之连接数据库、执行migrate数据结构更改操作

    本篇笔记目录索引如下: Django 连接mysql,执行数据库表结构迁移步骤介绍 操作数据库,对数据进行简单操作 接下来几篇笔记都会介绍和数据库相关,包括数据库的连接.操作(包括增删改查).对应的字 ...

  3. Netty 线程模型(Reactor 线程模型)

    更多内容,前往个人博客 当说到 Netty 线程模型的时候,一般首先会想到经典的 Reactor 线程模型,尽管不同的 NIO 框架对于 Reactor 模式的实现存在差异,但本质上还是遵循了 Rea ...

  4. Feeder 一款 Mac 上的 RSS 阅读器,更优雅地跟踪最新的新闻和博客文章

    Feeder 是一款 Mac 上的 RSS 阅读器,它可以帮助用户轻松地订阅和管理 RSS 源,让用户可以轻松地跟踪最新的新闻和博客文章. 下载: FeederMac ⇲ 详细了解 Feeder 的界 ...

  5. Django笔记十六之aggregate聚合操作

    本文首发于微信公众号:Hunter后端 原文链接:Django笔记十六之aggregate聚合操作 这一篇笔记介绍一下关于聚合的操作,aggregate. 常用的聚合操作比如有平均数,总数,最大值,最 ...

  6. day110:MoFang:重新构造用户关系状态&添加好友&处理好友申请&获取申请好友历史记录&好友列表显示

    目录: 1.用户关系状态:重新构造 2.添加好友 3.处理好友申请 4.获取申请好友历史记录 5.好友列表 day109+day110所学内容流程图 1.用户关系状态:重新构造 在day109博客的前 ...

  7. python:selenium爬取boss网站被关小黑屋

    问题描述:使用selenium访问次数过多,被boss反爬封掉IP,这种方式有什么好一点的解决方法,首次可以用图形验证解封,今天访问次数过多,被关进了小黑屋 首次让我用图形界面解封 不过还好,手动解封 ...

  8. Java学习笔记05

    1. 方法概述 概念 ​ 方法(method)是程序中最小的执行单元. 注意: 方法必须先创建才可以使用,该过程称为方法的定义. 方法创建后并不是直接可以运行的,进行方法的调用才会执行. 2. 方法的 ...

  9. 容易忽视的细节:Log4j 配置导致的零点接口严重超时

    作者:vivo 互联网服务器团队- Jiang Ye 本文详细的记录了一次0点接口严重超时的问题排查经历.本文以作者自身视角极具代入感的描绘了从问题定位到具体的问题排查过程,并通过根因分析并最终解决问 ...

  10. Go中的有限状态机FSM的详细介绍

    1.FSM简介 1.1 有限状态机的定义 有限状态机(Finite State Machine,FSM)是一种数学模型,用于描述系统在不同状态下的行为和转移条件. 状态机有三个组成部分:状态(Stat ...