分享 GitHub 上有趣、入门级的开源项目。
这是一个面向编程新手、热爱编程、对开源社区感兴趣人群的月刊,月刊的内容包括:各种编程语言的项目、让生活变得更美好的工具、书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到开源社区中。
会编程的可以贡献代码
不会编程的可以反馈使用这些工具中的 Bug
帮着宣传你觉得优秀的项目
Star 项目⭐️
在浏览、参与这些项目的过程中,你将学习到更多编程知识、提高编程技巧、找到编程的乐趣。
C++ 项目
1、modern-cpp-features:该项目介绍了现代 C++(C++11 以及之后的版本)语言和库的新特性。它能够帮助大家更快地入手新时代的 C++
2、CPlusPlusThings:这是一个适合 C++ 初学者从入门到进阶的教程。解决了面试者想要深入 C++ 及如何入坑 C++ 的问题。除此之外,该仓库拓展了更加深入的语法分析、多线程并发等的知识,是一个比较全面的 C++ 从入门学习到进阶提升的项目
Go 项目
3、7days-golang:用 Go 在 7 天时间内实现 Web 框架、分布式缓存等应用的实战教程
4、cli:GitHub 官方基于 Go 语言开发的命令行 GitHub 工具。用它可以在终端中执行 GitHub 的常用的管理 Issue、切分支、Clone 等操作
Java 项目
5、FXGLGames:此项目包含 FXGL 框架构建的游戏示例。该游戏框架无需安装或设置开箱即用,游戏可以轻松打包到单个可执行文件.jar。示例代码:
public class BasicGameApp extends GameApplication {
@Override
protected void initSettings(GameSettings settings) {
settings.setWidth(800);
settings.setHeight(600);
settings.setTitle("Basic Game App");
}
public static void main(String[] args) {
launch(args);
}
}
6、quarkus-quickstarts:Quarkus 开源的 Java 多种框架 demo 项目集合。这些示例项目可以快速启动、结构清晰,初学者可用作 Java 的实战项目,老手可以当作项目脚手架。启动示例:
mvn quarkus:dev
mvn clean package -Pnative
./target/amqp-quickstart-1.0-SNAPSHOT-runner
JavaScript 项目
7、showdoc:一款基于 JavaScript 实现的开源在线文档工具。支持:多端编辑查看、权限管理、文档导出、Markdown 语法等,功能虽不多但已足够用了。推荐自建自用、小团队内部使用
8、qier-progress:这是一个用于缓解用户焦虑,给予用户请求回馈的顶部进度条。该项目使用 ts 重构了万星 star 的 nprogress 项目,打包体积更小、且支持了多彩模式、自定义高度和颜色等,最重要的是有良好的类型注解。该项目结构简单、代码量也比较少,非常利于学习 ts 相关用法和作为实战项目。示例代码:
const qprogress = new QProgress()
qprogress.start()
qprogress.finish()
9、image-compress-without-backend:一个纯前端在线图片压缩小工具。即无需上传照片到服务器,一切都在浏览器端完成,快速而高效。非常适用于图片压缩后质量要求不是很高的场景,比如:移动端图片展示等
10、breathe-relaxer:一个在线放松网站的项目。带上耳机,点开网站然后深呼吸
11、wx-promise-pro:支持 finnaly、typescript 的微信小程序异步解决方案。特性:
方便集成:一处引用,处处使用
把微信小程序所有异步 API promise 化并挂在到 wx.pro 对象下
支持 ES2018 finally 特性
支持 TypeScript 开发
import { promisifyAll, promisify } from 'wx-promise-pro'
// promisify all wx‘s api
promisifyAll()
// promisify single api
promisify(wx.getSystemInfo)().then(console.log)
Objective-C 项目
12、simplenote-macos:一款 macOS 上免费开源的记事本应用
PHP 项目
13、clean-code-php:PHP 代码的整洁之道,整理了一系列整洁代码实操。小到变量细道 SOLID 都有涉猎,中文译版
14、ext-collections:一个 C 语言实现的 PHP 扩展库。提供了类似 Java stream API 和 kotlin.collections 的一系列库函数,方便开发者优雅、快速地操作 PHP 数组。
提供了丰富的 PHP 数组操作函数,有助于提高开发效率和代码的可读性
使用 C 语言实现,比同类 PHP 实现性能更高
初学者可以通过阅读此项目代码帮助自己入门 PHP 扩展开发
$employees = [
['name' => 'Alice', 'sex' => 'female', 'age' => 35],
['name' => 'Bob', 'sex' => 'male', 'age' => 29],
['name' => 'David', 'sex' => 'male', 'age' => 40],
['name' => 'Benjamin', 'sex' => 'male', 'age' => 32]
];
// Trying to get an array of names of male employees,
// sorted by the descending order of their age.
$names = Collection::init($employees)
->filter(function ($value) {
return $value['sex'] == 'male';
})
->sortedByDescending(function ($value) {
return $value['age'];
})
->map(function ($value) {
return $value['name'];
})
->toArray();
// You got $names == ['David', 'Benjamin', 'Bob'].
Python 项目
15、wttr.in:一个 Python 实现的命令行查看天气工具
16、activitywatch:一个记录你的时间都花在哪的 Python 项目。支持 Web 可视化,效果如下
17、akshare:一款基于 Python 的开源金融数据接口库。提供了股票、期货、期权、基金、数字货币等金融产品的基本数据、实时和历史行情数据、衍生数据,包含数据采集、数据清洗、到数据落地的一套开源工具。满足了金融数据科学家、数据科学爱好者在金融数据获取方面的需求。示例代码:
import akshare as ak
bond_df = ak.bond_spot_deal()
print(bond_df)
债券简称 成交净价(元) 最新收益率(%) 涨跌(BP) 加权收益率(%) 交易量(亿)
0 19国开15 98.97 3.5750 1.00 3.5826 None
1 19附息国债03 99.82 2.7714 0.14 2.7772 None
2 19附息国债11 99.87 2.8000 0.25 2.7963 None
3 19附息国债04 100.82 2.9832 -1.54 2.9747 None
4 15附息国债05 102.95 3.0359 -1.41 3.0359 None
18、repoll:基于 Django 开发的 redis 集群管理、监控工具。功能包括:标准化申请流程、管理配置、监控接口等,减轻了运维人员的痛苦
Swift 项目
19、Mos:一个用于在 macOS 上平滑鼠标滚动效果或单独设置滚动方向的小工具。让你的滚轮爽如触控板般丝滑
其它
20、devops-exercises:这个仓库包含了 DevOps(开发运维)常见、流行服务相关的面试问题和回答,推荐给从事运维的同学
21、book:《Rust 编程语言》这是官方出品的关于 Rust 的入门书籍
22、OnlineToolsBook:该项目收集了一些有趣、实用的在线工具网站,点开即用
23、my-mac-os:该项目罗列了作者自用、收集的 macOS 上实用、炫酷的软件。我从中找到好几个炫酷、实用提高工作的工具,你也赶快来挑挑吧
24、structured-text-tools:用于处理结构化文本数据(日志、JSON、YAML 等)的命令行工具列表
25、incubator-apisix:一个云原生、高性能、可扩展的微服务 API 网关。它是基于 Nginx 和 etcd 来实现,和传统 API 网关相比,APISIX 具备动态路由和插件热加载,适合微服务体系下的 API 管理
26、app-ideas:该收集了各类应用的想法,并按照易学程度把应用进行划分。你可以通过这个项目提高编程技术、学习新技术
最后:
上面都是自己整理好的!我就把资料贡献出来给有需要的人!顺便求一波关注,哈哈~各位小伙伴关注我后私信【Java】就可以免费领取哒
作者:HelloGitHub
链接:https://juejin.im/post/5e590a2051882549052f4791
网友评论