兴趣是最好的老师,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. Vue模板语法 && 数据绑定

    模板语法 Vue模板语法包括两大类 插值语法 功能:用于解析标签体内容. 写法:{{xxx}},xxx是js表达式,可以直接读取倒data中所有区域. 指令语法 功能:用于解析标签(包括:标签属性.标 ...

  2. 使用python爬虫爬取链家潍坊市二手房项目

    使用python爬虫爬取链家潍坊市二手房项目 需求分析 需要将潍坊市各县市区页面所展示的二手房信息按要求爬取下来,同时保存到本地. 流程设计 明确目标网站URL( https://wf.lianjia ...

  3. Java方法的定义

    前言 经过前面两篇关于面向对象.类和对象的文章,壹哥相信你现在对面向对象已经有了基本的了解.我们知道,在一个类中,包括属性和行为两大核心要素.我们之前已经给大家讲解了如何定义属性,但很多同学对方法还不 ...

  4. vue3 ts 类式写法的mixins

    vue-property-decorator 混入(mixins) // mixins.ts import { Vue } from 'vue-property-decorator' class Mi ...

  5. 逍遥自在学C语言 | 第一个C语言程序 九层之台起于垒土

    一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一起学习的小白程序猿 -- 逍遥. 二.C语言简介 C语言是一种高级语言,运行效率仅次于汇编,支持跨平 ...

  6. 「刷起来」Go必看的进阶面试题详解

    勤学如春起之苗,不见其增日有所长:辍学如磨刀之石,不见其损日有所亏. 本文的重点:逃逸分析.延迟语句.散列表.通道.接口. 1.逃逸分析 逃逸分析是Go语言中的一项重要优化技术,可以帮助程序减少内存分 ...

  7. vue之input输入框的几个事件

    目录 事件简介 示例 事件简介 click 点击事件,一般不会用于input输入框,会用于按钮,用于输入框就有点像focus了,当点击输入框时会触发 blur 失去焦点事件,当失去焦点时会触发. fo ...

  8. 人工智能NVIDIA显卡计算(CUDA+CUDNN)平台搭建

    NVIDIA是GPU(图形处理器)的发明者,也是人工智能计算的引领者.我们创建了世界上最大的游戏平台和世界上最快的超级计算机. 第一步,首先安装N卡驱动. cby@cby-Inspiron-7577: ...

  9. PVE开启硬件显卡直通功能

    首先编辑GRUB配置文件: root@pve:~# vim /etc/default/grub root@pve:~# root@pve:~# cat /etc/default/grub # If y ...

  10. .NET Core MongoDB数据仓储和工作单元模式实操

    前言 上一章节我们主要讲解了MongoDB数据仓储和工作单元模式的封装,这一章节主要讲的是MongoDB用户管理相关操作实操.如:获取所有用户信息.获取用户分页数据.通过用户ID获取对应用户信息.添加 ...