兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣!
分享 GitHub 上有趣、入门级的开源项目。
这是一个面向编程新手、热爱编程、对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编程语言的项目、让生活变得更美好的工具、书籍、学习笔记、教程等,这些开源项目大多都是非常容易上手,而且非常 Cool。主要是希望大家能动手用起来,加入到开源社区中。
- 会编程的可以贡献代码
- 不会编程的可以反馈使用这些工具中的 Bug
- 帮着宣传你觉得优秀的项目
- Star 项目⭐️
在浏览、参与这些项目的过程中,你将学习到更多编程知识、提高编程技巧、找到编程的乐趣。
🎉 最后 HelloGitHub 这个项目就诞生了 🎉
Tips:如果文中的图刷不出来,可以向我们反馈。也可以访问 官网 获取更好的阅读体验。
以下为本期内容|每个月 28 号发布最新一期
1、Rosin:一个 Fiddler 插件,用于协助开发者进行移动端页面开发、调试
2、cms:开源、免费、企业级内容管理平台。基于该工具可以快速、方便地搭建搭建一个性能优异、颇具规模、易于维护的网站平台
3、MyTinySTL:用 C++11 实现的小型 STL(容器库+算法库)。代码结构清晰规范、包含中文文档与注释,并且自带一个简单的测试框架,适合新手学习与参考。示例代码如下:
// 在尾部插入元素
template <class T>
void vector<T>::push_back(const value_type& value)
{
if (end_ != cap_)
{
data_allocator::construct(mystl::address_of(*end_), value);
++end_;
}
else
{
reallocate_insert(end_, value);
}
}
4、apollo:百度自主研发、开源的全面开放自动驾驶平台。它将帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统,快速搭建一套属于自己的自动驾驶系统
5、incubator-brpc:百度开源的 RPC 框架,拥有超过 100 万个实例和 500 多种服务
6、appify:该项目能够方便的把 Golang 项目包装成 MacOS 可以直接运行的软件。可以用来把自己写的小工具包装成一个其他人可以直接下载并双击使用的软件。提供自定义 logo、名字,分分钟发布自己的 Golang 软件。使用步骤如下:
# 1.安装命令
$ go get github.com/machinebox/appify
# 2.封装命令
$ appify -name "My Go Application" -icon ./icon.png /path/to/bin
7、usql:通用SQL命令行客户端。支持以下所有数据库和协议:
数据库 (scheme/driver) | 协议别名 [real driver] |
---|---|
Microsoft SQL Server (mssql) | ms, sqlserver |
MySQL (mysql) | my, mariadb, maria, percona, aurora |
Oracle (ora) | or, oracle, oci8, oci |
PostgreSQL (postgres) | pg, postgresql, pgsql |
SQLite3 (sqlite3) | sq, sqlite, file |
安装方法
1. 根据你的系统下载最新的 binary
2. 解压缩出 `usql` 或者 `usql.exe`
3. 把binary放到你的 `$PATH` (Linux/macOS) 或 `%PATH%` (Windows)路径下
4. 然后就可以用`usql`链接到你喜欢的SQL数据库啦~
8、RetrofitUrlManager:以简洁的 API 让 Retrofit 同时支持多个 BaseUrl,动态改变 BaseUrl
9、v-region:使用 Vue 创建的中国省市区选择组件,组件复用程度高、可直接引入项目中使用。使用场景适用于需要用户选择地址,采用该组件可以提高交互程度。文档,示例代码:
<v-region :city="false" :area="false" class="form-control"></v-region> // 只显示省份
<v-region :area="false" class="form-control"></v-region> // 显示省市
<v-region class="form-control"></v-region> // 显示省市区
10、whistle:基于 Node.js 实现的跨平台 web 调试代理工具,类似于 Windows 平台上的 Fiddler。主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为 HTTP 代理服务器使用。不同于 Fiddler 通过断点修改请求响应的方式,whistle 采用的是类似配置系统 hosts 的方式,一切操作都可以通过配置实现。通过该工具,可以现实复杂的前端环境、生产、开发、bugFix 一键切换。
11、simpread:让你瞬间进入沉浸式阅读的扩展,还原阅读的本质,提升你的阅读体验。使用它可以为你剔除页面上无关的干扰信息,让用户专注于阅读主要的内容。通过这个项目,还可以学习如何开发 Chrome 扩展
12、incubator-echarts:使用 JavaScript 实现的开源、流行、强大的可视化库。可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器。提供直观、交互丰富、可实现高度个性定制化的数据可视化图表,也可将其封装为任何 MVVM 框架的组件方便适用。官网
13、KafkaRefresh:内置多种动画、可自定义和灵活的 iOS 下拉刷新框架。中文文档
14、tenacity:使用该库可以优雅地实现各种需求的重试。示例代码如下:
from tenacity import retry, stop_after_attempt
# 通过装饰器,实现遇到异常重试3次
@retry(stop=stop_after_attempt(3))
def get_data(url):
response = requests.get(url)
response_json = response.json()
15、unimatrix:模拟“黑客帝国”影片中的终端动画脚本
16、pudb:基于控制台的全屏 Python 可视化调试器。比 pdb 好用太多了,特性:
- 源码语法高亮,栈、断点、变量可见并且一直动态更新。变量展示还有很多可以定制化的功能。
- 基于键盘,简单高效。支持 VI 的鼠标移动。还支持 PDB 的某些命令
- 支持查找源代码,可以使用 m 代用 module browser 查看载入的模块
- 断点设置。鼠标移到某行代码,按 b,然后可以在断点窗口编辑断点
17、hacker101:(英文)一个免费的 Web安全课程。无论你是一个程序员、对 bug 悬赏感兴趣,或是一个经验丰富的安全专业人员,在 HACKE101 课程中都可以学到东西。包涵大量示例代码和在线 Demo,示例代码为 Ruby。
18、IBAnimatable:一个帮助我们在 Interface Builder 和 Swift Playground 里面设计 UI、交互、导航模式,、换场和动画的开源库。下图的整个 App 都是通过 IBAnimatable 在 Interface Builder 设计完成,没有任何一行代码。
19、TuringCalendar:图灵教育推出的限量款编程日历 2018,因为简约大气的设计和每周一个编程语言的介绍,在程序员中广受欢迎。现在日历 PDF 的源文件已经开源,于是就有了这个项目。一个 macOS 桌面上的日历 widget,效果图如下:
20、Android_Data:这个集合主要能够帮助初学者在初学 Android 开发的时候,能够快速、方便地找到适合自己的学习资料
21、Front-End-Checklist:一份在网站发布到生产环境之前,前端部分需要测试、检查的详尽清单。中文版
22、build-your-own-x:(英文)费曼:“我不能创造的東西,我就不了解。”该项目收集了不同编程语言造轮子的教程
23、simplified-deeplearning:《DeepLearningBook》读书笔记
24、elasticsearch-spark-recommender:使用 Apache Spark 的机器学习库 (MLlib) 来训练一个协同过滤推荐系统模型 和 Elasticsearch 构建一个推荐系统教程,中文版阅读
看完了,还不够?<科技爱好者周刊>。还不过瘾,那就看看 <往期内容>吧。
点击分享发现的有趣项目
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。