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

简介

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

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

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


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

C 项目

1、h2o:高性能 HTTP 服务器。相较于传统 Web 服务器,它充分利用了 HTTP/2 的资源加载优先级和服务器推送技术,所以在静态文件方面性能明显优于 Nginx 服务器

2、chibicc:迷你 C 编译器。虽然它只是一个玩具级的编译器,但是实现了大多数 C11 特性,而且能够成功编译几十万行的 C 语言项目,其中包括 Git、SQLite 等知名项目。而且它项目结构清晰、每次提交都是精心设计、代码容易理解,对编译器感兴趣的同学可以从第一个提交开始学习

C# 项目

3、CliWrap:执行外部命令的 C# 库。提供启动进程、输入/输出重定向、等待完成、管道等功能,支持 Windows、Linux、macOS 操作系统

using CliWrap;

var result = await Cli.Wrap("path/to/exe")
.WithArguments("--foo bar")
.WithWorkingDirectory("work/dir/path")
.ExecuteAsync(); // 输出包括:
// -- result.ExitCode (int)
// -- result.StartTime (开始时间)
// -- result.ExitTime (结束时间)
// -- result.RunTime (执行命令耗时)

4、DreamScene2:小巧的 Windows 动态桌面工具。适用于 Windows10/11 系统,支持视频、网页动画播放

C++ 项目

5、vcpkg:微软开源的 C/C++ 包管理工具。安装和管理 C/C++ 依赖的命令行工具,适用于 Windows、Linux 和 macOS 操作系统。快速入门

6、finalcut:用于创建基于文本的用户界面的 C++ 库。它除了支持鼠标操作和同时处理多个文本窗,还提供了常见的对话框、按钮、复选框、单选按钮、输入行、列表框、状态栏等控件

CSS 项目

7、magic:炫酷的 CSS3 动画库。在线体验

Go 项目

8、nali:离线查询 IP 地理信息和 CDN 服务提供商的命令行工具

$ nali 1.2.3.4
1.2.3.4 [澳大利亚 APNIC Debogon-prefix网络]

9、revive:快速且易扩展的 Go 代码检查工具。它比 golint 更快、更灵活,深受广大 Go 开发者的喜爱

10、go-chart:Go 原生图表库。支持折线图、柱状图、饼图等

package main
import (
"os"
"github.com/wcharczuk/go-chart/v2"
) func main() {
graph := chart.Chart{
Series: []chart.Series{
chart.ContinuousSeries{
XValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0},
YValues: []float64{1.0, 2.0, 3.0, 4.0, 5.0},
},
},
}
f, _ := os.Create("output.png")
defer f.Close()
graph.Render(chart.PNG, f)
}

11、filestash:在线文件管理工具。在浏览器上管理 FTP、SFTP、Git、S3、MySQL、Dropbox 等服务中的文件和数据,支持编辑文件、图片管理、视频转码、Office 文档、全文搜索等功能

12、vitess:用于横向扩展 MySQL 数据库的集群系统。基于 Go 语言的并发特性,它能够轻松处理数千个连接。还可以根据配置好的规则,自动优化影响数据库性能的查询,运维方面支持自动处理主故障转移和备份等功能

Java 项目

13、thingsboard:完全开源的物联网 IoT 平台。它使用行业的标准物联网协议 MQTT、CoAP 和 HTTP 连接设备,支持数据收集、处理、可视化和设备管理等功能。通过该项目可快速实现物联网平台搭建,从而成为众多大型企业的首选,行业覆盖电信、智慧城市、环境监测等

14、from-java-to-kotlin:展示 Java 和 Kotlin 语法上差别的项目。让有 Java 基础的程序员可以快速上手 Kotlin,中文

15、graal:Oracle 开源的高性能跨语言虚拟机。用它启动的程序占用内存更低、启动时间更短,而且支持运行多种编程语言,比如 Python、Ruby、C/C++、Java 等。通过 Polyglot API 更是打破了不同语言之间的壁垒,实现多语言混合编程。目前部分功能还处于实验阶段,生产环境慎用。官网

import org.graalvm.polyglot.*;

class Polyglot {
public static void main(String[] args) {
Context context = Context.newBuilder().allowIO(true).build();
Value array = context.eval("python", "[1,2,42,4]");
int result = array.getArrayElement(2).asInt();
System.out.println(result);
}
} /**
* 运行结果
* 执行:javac Polyglot.java
* 输出:42
*/

16、glide:流畅快速的 Android 图片加载库。为了实现快速加载和展示图像,Glide 会自动缩减像素采样、缓存、积极重用减少垃圾回收。使用上一行代码就可以实现图片加载和展示,同时网络请求部分可灵活接入任何库

Glide.with(fragment).load(url).into(imageView);

17、jjwt:适用于 Java 和 Android 的 JWT(JSON Web Token)库

import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import io.jsonwebtoken.security.Keys;
import java.security.Key; Key key = Keys.secretKeyFor(SignatureAlgorithm.HS256);
String jws = Jwts.builder().setSubject("HelloGitHub").signWith(key).compact();
// 得到 JWS 字符串

JavaScript 项目

18、handle:汉字版 Wordle 游戏。在线试玩

19、noclip:电子游戏关卡的数字博物馆。该项目包含了很多游戏的场景模型,可在线自由浏览。在线体验

20、ts-node:可直接在 Node.js 上执行 TypeScript 代码的库。通过 JIT 方式将 TypeScript 代码转换成 JavaScript,实现不需要预编译即可在 Node.js 上运行 TypeScript 代码

21、summernote:基于 jQuery 的编辑器库。可用来创建所见即所得(WYSIWYG)编辑器,支持 Bootstrap 3、4 和 5

22、yn:面向程序员的本地 Markdown 笔记工具。一款适合程序员的笔记工具,拥有和其它工具不一样的体验

  • 技术笔记:可直接在文档中运行代码块(默认支持 JS 代码,其它语言需配置)
  • 制作辅助工具:可在文档中嵌入 HTML 组件来制作辅助工具
  • 画图和图表:支持嵌入多种图形、思维导图、Plantunl、Drawio、Mermaid 、ECharts
  • 工作日报:支持任务代办列表,使用“宏替换”功能可以方便的生成日报周报

Kotlin 项目

23、RocketXPlugin:加速 Android APK 编译的插件。它会自动识别未改动模块并在编译流程中替换为 AAR,最后只编译改动过的模块,从而实现加速的效果

// app module 的 build.gradle 加入
apply plugin: 'com.rocketx' // 在根目录的 build.gradle 加入
buildscript {
dependencies {
classpath 'io.github.trycatchx:rocketx:1.0.17'
}
}
依赖 AS 插件 android studio setting->plugins-> marketplace 搜索 RocketX 安装

PHP 项目

24、codefever:由蒲公英团队开源的代码托管平台。界面清爽后端采用 PHP 编写,支持 Docker 一键部署

  • ️ 完整开源:毫无保留的完整开源,无任何编译或加密代码
  • ⌨️ 代码对比:支持提交代码的不同版本支持高亮显示对比
  • ‍♀️ 分支保护:分支保护功能让代码提交安全可控,代码 Review 更容易清晰
  • 多人协作:支持多人团队协作,并可以设置每个成员的角色和权限
  • Webhook:支持 Webhook 功能,可轻松和其它系统进行集成

25、PrestaShop:PHP 写的开源电商平台。功能齐全、部署方便、适配移动端。虽然前端支持高度自定义,但是现成的前端模版需要付费

Python 项目

26、Python:用 Python 实现所有算法。该项目是用 Python 语言实现各种算法的集合,主要用于教育和学习。包括搜索、排序、数据结构、机器学习、密码、神经网络等方面

27、drf-yasg:为 Django Rest Framework 接口自动生成 Swagger 接口文档的库

28、tstock:在命令行看股票走势的工具

29、python-mini-projects:一个简单的 Python 迷你脚本集合。虽然代码简单但其中不乏实用的 Python 脚本,比如图片添加水印、批量下载图片、发送电子邮件、定时截屏等

Rust 项目

30、tui-rs:用来构建丰富的终端用户界面的库

Swift 项目

31、vapor:流行的 Swift 语言 Web 框架。核心框架基于非阻塞事件驱动库 SwiftNIO 构建,除此之外还提供了 ORM、模版引擎、用户身份验证等模块,可用来快速创建网站、接口等服务。中文文档

import Vapor

let app = try Application(.detect())
defer { app.shutdown() } app.get("hello") { req in
return "Hello, world."
}
try app.run()

32、DevUtils-app:macOS 上的开发者实用工具箱。单机应用无需联网,内含开发者开发时经常用到的 30 多种工具,比如:URL 解码、JSON 格式化、正则匹配、时间戳转化等,而且还会根据剪贴板的内容,自动推荐对应的处理工具,实用且高效

其它

33、svg-path-editor:在线 SVG 编辑器。在线体验

34、Arduino:开源电子平台,可用来制作嵌入式项目。Arduino 提供的电路板安装简单、价格便宜,而且电路图完全开源。官方还提供了配套的开发工具,加上交互式的开发模式使得上手变得极为简单。软硬件的完全开源让开发者社区十分活跃,为社区提供了丰富的教程、实战项目、三方资源。如果你想动手做个机器人,就从 Arduino 开始吧!官网

35、macos-web:在线体验 macOS 系统。该项目使用 Svelte 复刻了 macOS 操作系统的部分操作体验,虽然已实现的功能较少,但更新积极未来可期。在线查看

36、resume:简历模板。不需要懂 LaTeX 语法就可以用,适合用来做一页纸简历

37、teslamate:自建特斯拉的日志平台。该项目可以将车主的特斯拉行驶数据收集、存储、展示,而且方便地支持 Docker 部署

38、HowToCook:程序员做饭指南。一份极其详尽的菜谱,里面没有模糊的量词和看不懂的操作,菜品从主食到甜品应有尽有

39、db-tutorial:一份关于数据库的教程。内容涵盖了 MySQL、Redis、ES、MongoDB 从入门到面试等多方面的知识

40、pushdeer:无 APP 推送服务。该项目可以实现不安装庞大的应用,就可以收到自定义的及时推送、告警和通知。还可以选择自行搭建服务(免费)或使用已有的在线服务(收费),支持快应用、iOS、macOS、Android 等客户端

机器学习

41、ColossalAI:高效的分布式人工智能训练系统。它能帮助用户在提升人工智能训练效率的同时降低训练成本,从而适应快速迭代的算法和模型,将 AI 大模型以低成本便捷推广到更多应用场景

最后

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

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

感谢您的阅读,如果觉得本期内容还不错的话 求赞、求分享, 您的鼓励就是 HelloGitHub 前进的动力!️

开源爱好者月刊《HelloGitHub》第 71 期的更多相关文章

  1. 开源百宝箱《HelloGitHub》第 64 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. HelloGitHub 有实战.教程.黑科技.开源书籍.企业级开源项目,涵盖多种编程 ...

  2. 《HelloGitHub月刊》第01期

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

  3. 《HelloGitHub月刊》第 01 期

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

  4. 《HelloGitHub月刊》第06期

    前言 <HelloGitHub>月刊做到第06期了(已经做了6个月了),在GitHub上获得了100+的stars,虽然不多,但是我很知足了,说明有人觉得这个项目是有价值的.同时园子中的' ...

  5. 《HelloGitHub月刊》第 06 期

    前言 <HelloGitHub>月刊做到第06期了(已经做了6个月了),在GitHub上获得了100+的stars,虽然不多,但是我很知足了,说明有人觉得这个项目是有价值的.同时园子中的' ...

  6. 科技爱好者周刊(第 174 期):全能程序员 vs 特长程序员

    这里记录每周值得分享的科技内容,周五发布. 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容. 周刊讨论区的帖子<谁在招人?>,提供大量程 ...

  7. HelloGitHub 开源月刊(第 55 期):终端“百战天虫”,来战?

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

  8. 开源项目月刊《HelloGitHub》第 60 期

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

  9. 《HelloGitHub月刊》第08期

    <HelloGitHub>第08期 兴趣是最好的老师,<HelloGitHub>就是帮你找到兴趣! 简介 最开始我只是想把自己在浏览GitHub过程中,发现的有意思.高质量.容 ...

随机推荐

  1. 关于包装类Integer,Long比较用==和equals的问题

    所有整型包装类对象之间值的比较,全部使用 equals 方法比较. 说明:对于 Integer var = ? 在-128 至 127 之间的赋值,Integer 对象是在 IntegerCache. ...

  2. 打开Cmd的方式与基础Dos命令

    基础的Dos命令 打开Cmd的方式 开始->Windows系统->命令提示符 Win键 + R输入cmd打开控制台 在任意的文件夹下面,按住shift键+鼠标右键点击在此处打开powers ...

  3. JS定时器不可靠的原因及解决方案

    前言 在工作中应用定时器的场景非常多,但你会发现有时候定时器好像并没有按照我们的预期去执行,比如我们常遇到的setTimeout(()=>{},0)它有时候并不是按我们预期的立马就执行.想要知道 ...

  4. RocketMQ 原理:消息存储、高可用、消息重试、消息幂等性

    目录 消息存储 消息存储方式 非持久化 持久化 消息存储介质 消息存储与读写方式 消息存储结构 刷盘机制 同步刷盘 异步刷盘 小结 高可用 高可用实现 主从复制 负载均衡 消息重试 顺序消息重试 无序 ...

  5. Anchor CMS 0.12.7 跨站请求伪造漏洞(CVE-2020-23342)

    这个漏洞复现相对来说很简单,而且这个Anchor CMS也十分适合新手训练代码审计能力.里面是一个php框架的轻量级设计,通过路由实现的传递参数. 0x00 漏洞介绍 Anchor(CMS)是一款优秀 ...

  6. Qt之简单绘图实现

    效果图:                                              可以实现打开图片,在打开的图片上画图,可以保存图片,以及橡皮擦,画笔调大调粗换色功能. 代码: XI ...

  7. Kubernetes:Pod基础知识总结

    Blog:博客园 个人 官方文档详尽介绍了Pod的概念. 概念 Pods are the smallest deployable units of computing that you can cre ...

  8. Android开发之打包apk

    新建一个项目之后写点代码 选择build 之后选择Generate Signed APK (生成签名的APK) 选择create new 填写信息 Generate Signed APK 生成签名的A ...

  9. 阿里智能运维实践|阿里巴巴DevOps实践指南

    编者按:本文源自阿里云云效团队出品的<阿里巴巴DevOps实践指南>,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电 ...

  10. Hello,find!

    Hello,find! 前言 余幼时,每至除夕,爆竹声声,如雷贯耳,醒于梦中,便知春节将至.与兄长二三人,执摔炮六七只, 玩耍于廷中.出门罢,廷中白雪覆于黄土之上.二三尺之外,见犬窝,余之爱犬趴于其中 ...