Fork me on GitHub

第 27 期

兴趣是最好的老师,HelloGitHub 就是帮你找到编程的兴趣。

C# 项目

1. Rosin

一个 Fiddler 插件,用于协助开发者进行移动端页面开发、调试
Rosin

2. SiteServer-CMS

开源、免费、企业级内容管理平台。基于该工具可以快速、方便地搭建搭建一个性能优异、颇具规模、易于维护的网站平台
SiteServer-CMS

C++ 项目

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);
  }
}

Go 项目

4. appify

该项目能够方便的把 Golang 项目包装成 MacOS 可以直接运行的软件。可以用来把自己写的小工具包装成一个其他人可以直接下载并双击使用的软件。提供自定义 logo、名字,分分钟发布自己的 Golang 软件。使用步骤如下:

# 1.安装命令
$ go get github.com/machinebox/appify

# 2.封装命令
$ appify -name "My Go Application" -icon ./icon.png /path/to/bin

appify

5. 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数据库啦~

Java 项目

6. RetrofitUrlManager

以简洁的 API 让 Retrofit 同时支持多个 BaseUrl,动态改变 BaseUrl
RetrofitUrlManager

JavaScript 项目

7. 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> // 显示省市区

v-region

8. whistle

基于 Node.js 实现的跨平台 web 调试代理工具,类似于 Windows 平台上的 Fiddler。主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为 HTTP 代理服务器使用。不同于 Fiddler 通过断点修改请求响应的方式,whistle 采用的是类似配置系统 hosts 的方式,一切操作都可以通过配置实现。通过该工具,可以现实复杂的前端环境、生产、开发、bugFix 一键切换。

9. simpread

让你瞬间进入沉浸式阅读的扩展,还原阅读的本质,提升你的阅读体验。使用它可以为你剔除页面上无关的干扰信息,让用户专注于阅读主要的内容。通过这个项目,还可以学习如何开发 Chrome 扩展
simpread

10. incubator-echarts

使用 JavaScript 实现的开源、流行、强大的可视化库。可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器。提供直观、交互丰富、可实现高度个性定制化的数据可视化图表,也可将其封装为任何 MVVM 框架的组件方便适用。官网
incubator-echarts

Objective-C 项目

11. KafkaRefresh

内置多种动画、可自定义和灵活的 iOS 下拉刷新框架。中文文档
KafkaRefresh

Python 项目

12. 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()

13. unimatrix

模拟“黑客帝国”影片中的终端动画脚本
unimatrix

14. pudb

基于控制台的全屏 Python 可视化调试器。比 pdb 好用太多了,特性:

  • 源码语法高亮,栈、断点、变量可见并且一直动态更新。变量展示还有很多可以定制化的功能。
  • 基于键盘,简单高效。支持 VI 的鼠标移动。还支持 PDB 的某些命令
  • 支持查找源代码,可以使用 m 代用 module browser 查看载入的模块
  • 断点设置。鼠标移到某行代码,按 b,然后可以在断点窗口编辑断点

pudb

Ruby 项目

15. hacker101

(英文)一个免费的 Web安全课程。无论你是一个程序员、对 bug 悬赏感兴趣,或是一个经验丰富的安全专业人员,在 HACKE101 课程中都可以学到东西。包涵大量示例代码和在线 Demo,示例代码为 Ruby。

Swift 项目

16. IBAnimatable

一个帮助我们在 Interface Builder 和 Swift Playground 里面设计 UI、交互、导航模式,、换场和动画的开源库。下图的整个 App 都是通过 IBAnimatable 在 Interface Builder 设计完成,没有任何一行代码。
IBAnimatable

17. TuringCalendar

图灵教育推出的限量款编程日历 2018,因为简约大气的设计和每周一个编程语言的介绍,在程序员中广受欢迎。现在日历 PDF 的源文件已经该源,于是就有了这个项目。一个 macOS 桌面上的日历 widget,效果图如下:
TuringCalendar

其它

18. project-guidelines

JavaScript 工程项目的一系列最佳实践策略,中文版。其它编程语言的项目也有可以借鉴的地方

19. Android_Data

这个集合主要能够帮助初学者在初学 Android 开发的时候,能够快速、方便地找到适合自己的学习资料

20. Front-End-Checklist

一份在网站发布到生产环境之前,前端部分需要测试、检查的详尽清单。中文版

21. build-your-own-x

(英文)费曼:“我不能创造的東西,我就不了解。”该项目收集了不同编程语言造轮子的教程

机器学习

22. simplified-deeplearning

《DeepLearningBook》读书笔记

23. elasticsearch-spark-recommender

使用 Apache Spark 的机器学习库 (MLlib) 来训练一个协同过滤推荐系统模型 和 Elasticsearch 构建一个推荐系统教程,中文版阅读
elasticsearch-spark-recommender