《HelloGitHub》第 87 期

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

7f005d13fcfede7988343176a267cfbc.jpeg

简介

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

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

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


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

C 项目

1、kilo:不到 1 千行代码实现的迷你文本编辑器。该项目是 Redis 作者用 C 语言写的迷你文本编辑器,支持语法高亮和搜索等功能。它不依赖第三方库、代码简洁优雅,去掉注释和空行后不到 1000 行,且只有一个文件,源码阅读起来十分清爽。

地址:https://github.com/antirez/kilo

2、Logan:面向终端的统一日志服务。由美团技术团队开源的一整套前端日志系统,包含客户端 SDK、日志处理和管理平台。它适用于移动端 APP、Web、小程序、IoT 等终端场景下的实时日志收集。

7c0fc8b7fb58efd4c7c6c8f77210611c.jpeg

地址:https://github.com/Meituan-Dianping/Logan

C# 项目

3、winsw:将可执行文件包装成 Windows 服务的工具。该项目可以将原本不支持开机启动的 Windows 应用,设置成开机自动启动,整个过程只需要两条命令。

地址:https://github.com/winsw/winsw

C++ 项目

4、geometrize:将图像用几何图形重绘的工具。该项目可以用圆形、三角形、矩形等几何图形重新绘制图像,并将结果导出为 SVG、PNG、JPG、GIF 等格式。

19313de759a1d2d3db732344ed447cc6.gif

地址:https://github.com/Tw1ddle/geometrize

5、primihub:由密码学专家团队打造的开源隐私计算平台。随着《数据安全法》和《个人信息保护法》的相继颁布,隐私计算技术在近两年迎来了前所未有的热度。该项目是由密码学专家团队打造的隐私计算平台,它开箱即用、安全可靠,支持隐匿查询、隐私求交、联合统计、数据资源管理等功能,实现了“数据可用不可见”,为数据安全流通保驾护航。

# 第一步:下载
git clone https://github.com/primihub/primihub.git
# 第二步:启动容器
cd primihub && docker-compose up -d
# 第三步:进入容器
docker exec -it primihub-node0 bash
# 第四步:执行隐私求交计算
./primihub-cli --task_config_file="example/psi_ecdh_task_conf.json"
I20230616 13:40:10.683375    28 cli.cc:524] all node has finished
I20230616 13:40:10.683745    28 cli.cc:598] SubmitTask time cost(ms): 1419
# 查看结果
cat data/result/psi_result.csv
"intersection_row"
X3
...
7355bb549d0c832dacbd6e0ead4e7b52.gif

地址:https://github.com/primihub/primihub

6、redpanda:与 Kafka API 完全兼容的流数据平台。这个项目可以看作是用 C++ 重新编写的 Kafka,它更轻、更快、更省钱,部署简单使用方便,完全不受 JVM、ZooKeeper 等外部依赖的影响。

7c5e336ec875226688ce220215cf46a1.png

地址:https://github.com/redpanda-data/redpanda

7、shotcut:一款功能强大的免费视频剪辑软件。这款软件虽然免费但在功能上完全不输收费的视频剪辑工具,可作为 Pr 的开源替代品。它拥有中文和直观的操作界面,支持数百种音频和视频格式、素材原生编辑、多时间线等功能,适用于 Windows、Linux、macOS 系统。

141ed5eabdd8b6954fbded6db3e75054.png

地址:https://github.com/mltframework/shotcut

8、sqlitebrowser:SQLite 可视化管理工具。这是一款实用的 SQLite 数据库桌面管理工具,它支持创建和编辑 SQLite 数据库文件,可通过图形化界面创建、定义、修改、删除表和索引,以及执行 SQL 和导出数据等操作。

149fc7bea59dbdca3abf0e3c1b206042.png

地址:https://github.com/sqlitebrowser/sqlitebrowser

Go 项目

9、gotenberg:基于 Docker 的生成 PDF 文件服务。它支持通过 Docker 启动一个服务,该服务可以通过 API 与 Chromium 和 LibreOffice 进行交互。让你可以通过调用接口,轻松地将网页、HTML、Markdown、Word、Excel 等格式的文档转换为 PDF 文件。

curl \
--request POST 'https://demo.gotenberg.dev/forms/chromium/convert/url' \
--form 'url="https://sparksuite.github.io/simple-html-invoice-template/"' \
-o my.pdf

地址:https://github.com/gotenberg/gotenberg

10、httprouter:Go 语言的高性能 HTTP 请求路由器。该项目结构简洁,核心代码仅三个文件。它通过 Radix tree 数据结构,实现了高效的路由处理。值得一提的是,著名的 Gin 框架也使用了它。

package mainimport ("fmt""net/http""log""github.com/julienschmidt/httprouter"
)func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {fmt.Fprint(w, "Welcome!\n")
}func Hello(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {fmt.Fprintf(w, "hello, %s!\n", ps.ByName("name"))
}func main() {router := httprouter.New()router.GET("/", Index)router.GET("/hello/:name", Hello)log.Fatal(http.ListenAndServe(":8080", router))
}

地址:https://github.com/julienschmidt/httprouter

11、slides:一款命令行演示工具。这款命令行工具可以让你在终端中轻松创建和演示幻灯片,它开箱即用、支持 Markdown 语法。

209621a0ca5fbe9e9c47962b13433cf1.gif

地址:https://github.com/maaslalani/slides

12、sourcegraph:一款强大的代码搜索平台。该项目能够对代码库进行语义索引和分析,支持正则表达式搜索、输入搜索条件时的自动补全、类似 IDE 的跳转到定义和引用。它可以用于构建公司内部的代码搜索平台,帮助程序员完成跨项目的代码查找、代码审查、代码追踪等。

cac30be1839055455f9b5b0a57a9c09d.png

地址:https://github.com/sourcegraph/sourcegraph

13、tinygo:专为“小场面”而生的 Go 编译器。这是一个基于 LLVM 的小型 Go 编译器,它能够将 Go 代码编译成可运行在开发板、物联网、WebAssembly 等场景的程序。

地址:https://github.com/tinygo-org/tinygo

Java 项目

14、FXGL:你的第一款 Java 游戏开发框架。该项目是基于 JavaFX 的 2D 游戏开发引擎,它无需安装、API 简单,能够轻松地将开发的游戏打包成一个可执行的 jar 包,一切的一切都是为了让你喜欢上开发游戏。

public class BasicGameApp extends GameApplication {@Overrideprotected void initSettings(GameSettings settings) {settings.setWidth(800);settings.setHeight(600);settings.setTitle("Basic Game App");}public static void main(String[] args) {launch(args);}
}
5a04ab0983f43a078223bf8a230ad9a8.jpeg

地址:https://github.com/AlmasB/FXGL

15、SurveyKing:功能强大的调查问卷系统。这是一款 Java 写的问卷调查和考试系统,支持 20 多种题型、Excel 导入问卷、白名单答卷、公开查询、数据导出等功能。

ab344df75bf30ec985e616fb8e238237.png

地址:https://github.com/javahuang/SurveyKing

JavaScript 项目

16、AFFiNE:类似 Notion 的协同知识库系统。它拥有清爽、简洁的界面,支持离线使用。集成了笔记、知识库、数据表格等功能,同时这些内容之间还可以灵活组合。

08c9caee4239304bf237d3f52bd02d6e.gif

地址:https://github.com/toeverything/AFFiNE

17、ChatGPT-Next-Web:免费部署私人 ChatGPT 网页应用。该项目不仅提供了更加人性化的 ChatGPT 聊天界面,还支持一键部署到 Vercel。你只需要提供 OpenAI API Key,就能免费拥有私人 ChatGPT 服务。

194a1053d0b598ae7b1b2248ff5d37b3.png

地址:https://github.com/Yidadaa/ChatGPT-Next-Web

18、giscus:基于 GitHub Discussions 的评论系统。该项目是基于 GitHub Discussions API 实现的评论系统,它免费、无广告、无需数据库,支持自定义主题、多语言等功能。

823a36b0019e475c8b229ef5cc20dc72.png

地址:https://github.com/giscus/giscus

19、Painter:小程序生成图片库。该项目可以让小程序开发者通过 JSON 的方式绘制图片,支持绘制文本、图片、二维码、多种布局、自定义字体、圆角等功能。

1c5a758d6b883d0f4c3a6dd05f914e1e.png

地址:https://github.com/Kujiale-Mobile/Painter

20、patch-package:给 npm 依赖项打补丁的库。如果项目依赖的第三方库有个 bug,需要手动添加一段代码才能解决,这个时候用它打个补丁就轻松搞定,支持 npm、yarn、pnpm 等。

cf3653b24810f4c6215bdff2b51c18a9.png

地址:https://github.com/ds300/patch-package

Kotlin 项目

21、legado:一款免费的安卓小说阅读器。这款阅读器体积小、无广告、界面简洁,支持自定义书源、本地导入小说、多种翻页模式、替换净化等功能。需要注意的是,它只是一个阅读器,不提供小说内容,初次安装后需要自行导入书源。来自 @孤胆枪手 的分享

446ad786cfedb592e6c8b33a3a3aef37.png

地址:https://github.com/gedoor/legado

Python 项目

22、Auto_Bangumi:全自动追番工具。该项目是 Python 写的自动订阅更新和下载动画的工具,用户只需在 Mikan Project 上订阅番剧,然后简单配置一下就可以安心追番了。

4e829d07d0d4a988a86bdb99b38af6b2.png

地址:https://github.com/EstrellaXD/Auto_Bangumi

23、edx-platform:Django 写的开源慕课平台。该项目是由麻省理工和哈佛大学联合开源的大规模开放式在线课堂(MOOC)平台,它提供了内容管理和学习管理服务。该平台支持在线讲课、创建课程、发布前预览、内容库、学生反馈、考试等功能。虽然它功能丰富,但界面十分简陋。

c0bcda60d201d1859ae6d3a56576dd47.png

地址:https://github.com/openedx/edx-platform

24、PyQt-Fluent-Widgets:Fluent Design 风格的 PyQt 组件库。基于 PyQt/PySide 的 Fluent Design 风格组件库,内含多种美观、实用的组件,支持亮暗主题切换和自定义主题色。

f56928c3917431006f9279d7309926ad.jpeg

地址:https://github.com/zhiyiYo/PyQt-Fluent-Widgets

25、stitching:强大的图片拼接 Python 库。这是一个基于 OpenCV 的拼接模块开发的用于快速拼接图片的 Python 库,支持在 Python 脚本中使用和命令行方式。

import stitchingstitcher = stitching.Stitcher()
# 多个文件
panorama = stitcher.stitch(["img1.jpg", "img2.jpg", "img3.jpg"])
# 通配符
panorama = stitcher.stitch(["img?.jpg"])
33ee9a1ee7e738b0ffd22494834a2afc.png

地址:https://github.com/OpenStitching/stitching

26、sympy:进行符号运算的 Python 库。这是一个功能齐全、纯 Python 写的计算机代数系统(CAS),可用于计算复杂的数学问题。它支持解方程、离散数学、微积分、逻辑计算、几何、概率与统计等功能。

>>> from sympy import Symbol, cos
>>> x = Symbol('x')
>>> e = 1/cos(x)
>>> print(e.series(x, 0, 10))
1 + x**2/2 + 5*x**4/24 + 61*x**6/720 + 277*x**8/8064 + O(x**10)

地址:https://github.com/sympy/sympy

Rust 项目

27、hexyl:命令行十六进制查看器。这是一款 Rust 写的命令行十六进制查看器,它简单纯粹、彩色输出效果十分舒服。

d001d3f4b046bd0ae119f3e67c5fe287.png

地址:https://github.com/sharkdp/hexyl

28、ruffle:Rust 写的 Flash Player 替代品。这是一个用 Rust 语言开发的 Adobe Flash Player 模拟器,它不仅可以通过 WebAssembly 嵌入网站,还支持浏览器插件的方式使用以及在本地通过命令行播放 Flash 文件。来自 @浮生若夢 的分享

地址:https://github.com/ruffle-rs/ruffle

Swift 项目

29、LocationSimulator:iOS 设备的定位模拟器。这是一个能够轻松修改 iOS 和 iPadOS 位置信息的 macOS 应用,使用时手机端无需越狱和安装应用,只需通过 USB 或 WiFi 将设备连接上电脑,即可轻松完成位置修改。

5441f56c4ff5222d1e6ef6b0f19d1072.png

地址:https://github.com/Schlaubischlump/LocationSimulator

30、SwiftUI-Cheat-Sheet:SwiftUI 小抄。该项目是一份 SwiftUI 2.0 速查表,内容包含复制即用的代码片段和运行效果截图。

cf8e0a6627fc45b7c47d896449a3bdc6.png

地址:https://github.com/SimpleBoilerplates/SwiftUI-Cheat-Sheet

其它

31、awesome-macos-screensavers:令人惊艳的 macOS 屏保集合。这里有不同风格、样式、趣味性十足的 macOS 屏保,相信总有一款适合你。

d6f7b7952620e4f0e4ae5373736be96d.png

地址:https://github.com/agarrharr/awesome-macos-screensavers

32、BlackHole:一款高颜值的音乐播放器应用。该项目是用 Flutter 写的高颜值、无广告、免费音乐播放器,拥有歌词、专辑、艺术家、播放列表、定时关闭等功能,支持 Android、iOS、macOS 系统。

8ccfb78c2e822018e9803f90454eb211.png

地址:https://github.com/Sangwan5688/BlackHole

33、personal-security-checklist:保护你的数字安全和隐私的清单。这是一份教你如何保护个人信息的列表,包括密码、浏览网页、电子邮件、社交网络、手机、电脑等方面。

地址:https://github.com/Lissy93/personal-security-checklist

34、radian:更先进的 R 语言控制台。该项目可作为 R 语言自带控制台的替代品,它支持自动补全、多行编辑和语法高亮,更方便、更好用。

09450f5f77c22947cb19a2d1ae81c6bd.png

地址:https://github.com/randy3k/radian

35、web-vitals:Google 开源的核心页面指标。该指标可以帮助站长提升网站的用户体验,它分为 LCP(加载性能)、FID(交互性)、CLS(视觉稳定性) 三个方面。

84a35b4577d5997ad5ab1b8c87963e5e.png

地址:https://github.com/GoogleChrome/web-vitals

36、XiangShan:一款国产的开源 RISC-V 处理器。“香山”是由中国科学院计算技术研究所牵头发起的开源 RISC-V 处理器项目。

地址:https://github.com/OpenXiangShan/XiangShan

开源书籍

37、Clean-Code-Notes:一本关于如何写出 Clean Code 的书。该书从什么是 Clean Code 讲起,一步步教你如何写出简洁、容易理解和维护的代码,帮助你养成良好的编码习惯。

地址:https://github.com/JuanCrg90/Clean-Code-Notes

机器学习

38、AI-For-Beginners:微软开源的入门级人工智能教程。这是一份完全免费、面向零基础人群的 AI 课程,为期 12 周共计 24 节课。你将学习到关于 AI 的历史、基本知识、主流框架、CV 和 NLP 等知识。

87fd0b1e201b05c322eb8787488b0fb3.png

地址:https://github.com/microsoft/AI-For-Beginners

39、DragGAN:拖动 GAN 完成 P 图。这是 DragGAN 的官方源码,它支持通过鼠标拖拽的方式对图像进行编辑。任何人都可以通过精确控制像素去向,轻松修改图像中物体的姿态、表情、形状、布局等。例如,可以让图片上原本站着的小狗坐下。

d0190d24e69b8765da07ec39f737df2f.gif

地址:https://github.com/XingangPan/DragGAN

40、mediapipe:谷歌开源的跨平台机器学习框架。它是一个能够轻松部署到移动端、Web、PC 和物联网设备的机器学习工具库,包含了物体检测、图像分类、人脸识别、手势识别、文本分类、语言检测、音频分类等模型。

559ac101fa85cb890b981c91c6e7500f.png

地址:https://github.com/google/mediapipe

最后

以上就是本期的所有内容,还没看过瘾?点击阅读往期内容。

如果安装或运行开源项目遇到问题,就看这篇文章吧!

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

- END -

👆 关注「HelloGitHub」收到第一时间的更新👆

点击阅读原文获得更好的阅读体验

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/9388.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何成为世界级软件公司

【CSDN 编者按】该文是指标管理与数据分析平台供应商Kyligence CEO 韩卿(Luke) 在公司6周年时撰写的全员信,就目前行业现状、未来行业竞争格局以及应对之道都有非常精彩的讨论,转发,以飨读者。 作者 | LukeKyligence …

让语言学习更简单的 WordFlow

作为一个英语并不是那么特别好的计算机专业学生,长期积累英语的学习对个人发展还是有意义的。简单来说,我在语言上最大的两个问题,一个自己「不理解」,另一个是自己「不会表达」。 上述两个问题主要体现在口语层面,而…

chatgpt赋能Python-pythonista免费

Pythonista - 一个强大的Python开发工具 Python是一种广泛使用的高级编程语言,它是一门易于学习,代码简洁,易于阅读和编写的语言。 Python具有许多强大的库和框架,可以轻松地处理各种任务。 Pythonista是一款专门为 iOS 设备开发…

在iPhone/iPad端运行DebianLinux系统【iSH-AOK】

【最后一次更新:2023.4.08】 请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任~ 文章目录 1.前言 2.简介 2.2iSH-AOK介…

【User-Agent】解决HttpClient发送请求时候403或者被拦截

最近在跟第三方调试接口时被拒绝了,但是使用浏览器或postman直接调用皆有返回: 使用浏览器调用,正常返回json; 使用postman调用,正常返回json: 通过后台程序调用,返回html: 解决方案…

量化数据分析有多厉害?

Python的热度一直高居不下!除了数据分析,还有运维、自动化测试、后端开发、机器学习...Python的用武之地真的太多了!而量化更是Python的一种高级应用! 什么是量化? 我们利用计算机技术,通过建模分析、优化参…

一文了解模型量化中的QAT和PTQ

一文了解模型量化中的QAT和PTQ 由于前一段时间在做模型的转换工作,实际部署的时候需要一些模型加速的方法,常用的有各家的inference框架,如mnn,tnn,tensorrt等,这些框架除了fp32精度外,都支持了int8的精度&#xff0c…

python量化分析

python量化分析 1 环境配置 Python 3.10 Numpy、Pandas、Tushare、xlwt 2 获取K线数据 #适用场景:1)已经有合适的标的,寻找合适买点 #2)网格交易中,寻找买点 #3)娱乐可用,不构成投资参考 #缺…

数据分析--07:金融量化

데이터 분석--07: 재무 수량화 一、金融介绍1、金融2、金融工具1.期货2.黄金3.外汇4.投资基金5.股票股票的作用 3、股票分类1.收益分类2.上市地区分类3.股票市场的构成4.影响股票的因素5.A股买卖 4、金融分析1.基本面分析2.技术面分析 5、金融量化投资1.为什么需要量化交易&…

聊聊量化分析

当你能够量化讨论的事物,并且可以用数字描述它,你就对它有了深入了解。但如果你不能用数字描述,那你的头脑根本没有跃迁到科学思考的状态。 ——英国物理学家 开尔文勋爵 1、两个量化case 测试地球周长:按照相似三角形的比例关系&…

【CHATGPT】登不上去,报错429,怎么办

节点更换了,浏览器缓存也清除了,还是不行

我,ChatGPT,站在谷歌的肩膀上,让谷歌紧张

ChatGPT的最大意义,在于它向在技术短缺状态中停留了大半个世纪的AI研发者们,传达了这样的信号:是时候走出实验室,拥抱人类,与人类开展有效互动的时候了。 在谷歌加持的类ChatGPT产品Bard回答问题出错后,它的…

ChatGPT:为什么它对所有行业都如此重要,它会杀死谷歌吗?

ChatGPT:为什么它对所有行业都如此重要,它会杀死谷歌吗? 想象一下,如果您与之交互的系统能够真正理解您并回答您提出的任何问题。该系统可以为您进行复杂的分析,像开发人员一样编写代码,甚至提供心理健康支持。2022年不再是幻想,而是现实,这个系统叫做ChatGPT。 ChatG…

“三箭齐发”,诸葛智能三大产品全新升级,助力企业迈向数字化经营 | 爱分析调研

调研:文鸿伟 撰写:文鸿伟 诸葛智能,是容联云旗下敏捷开放的场景化数据智能服务商,累积服务全国1000企业,覆盖泛互联网、泛电商、金融、汽车、产业科技、企服等数十个垂直领域。 自2015年成立至今,诸葛智…

@NotBlank 、@NotEmpty 没有提示具体message错误信息

使用下面统一异常处理的处理方法就可以提示 import com.butler.lib.common.base.BaseResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.validation.BindingResult; import org.springframework.validati…

MQTT接收消息到发送消息全配置

一、配置线程池 二、MQTT订阅生产消息 三、接收处理消息 四、接收消息处理接口 五、消费消息内容 六、MQTT数据处理基础类 七、MQTT的连接类 八、消息回调,一般是失败以后,进行重连接等处理 九、生产消息回调 十、线程异常情况下,处理MQTT自动…

AI之下没有秘密:网友诱骗ChatGPT激活 Windows 11,ChatGPT落入陷阱!

1/ChatGPT 和 Bard 向用户共享 Windows 产品密钥 要放心踏实地使用 Windows 系统,首先得获取独一无二的密钥。长期以来,购买能用的密钥一直是操作系统安装流程中的重要环节。大家当然可以直接掏钱,技术社区在这几十年间也想尽办法“解决”…

中文情感分析之TextCNN

中文情感分析之TextCNN 综述情感分析方法基于情感词典的情感分析基于机器学习算法的情感分析 文本分类模型TextCNN中文情感分析实践数据预处理文本数值化模型构建结果分析 总结 ​最近接了个业务需求,需要对论坛发帖进行情感分析,以便于对恶意发帖的行为…

利用Sentiwordnet进行文本情感分析(简)

利用Sentiwordnet进行文本情感分析(简) 1. 简介2. 下载NLTK包和它内部的词典3. 全过程代码详解1. 导入所需包,函数2. 分词3. 计数,给予词性标签4. 计算单词得分 4. 完整代码(函数形式) 1. 简介 利用python…

最新微信小程序抓包方法

一、安装 fiddler 官网下载:https://www.telerik.com/download/fiddler 二、配置 打开fiddler tools-> options,genneral: 全选 https: connections: 配置代理地址 gateway: 三、打开电脑端小程序 退出微信,登录微信时设置代理 打开小程序…