《HelloGitHub》第 15 期
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目,每月 28 号更新一期。这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。
非官方的 Aliyun Go语言 SDK 支持API:ECS, OSS, DNS, SLB, RDS, RAM, MNS, STS, SLS, MQ, Push, OpenSearch, DM, Container Service
Go 语言实际项目应用的技术分享
一行代码即可监听 App 中所有网络链接的上传以及下载进度,包括 Glide 的图片加载进度。实现原理类似 EventBus 你可在 App 中的任何地方,将多个监听器以 URL 地址作为标识符,注册到本框架。当此 URL 地址存在下载或者上传的动作时,框架会主动调用所有使用此 URL 地址注册过的监听器,达到多个模块的同步更新

一个基于 Node.js 编写的 web 安全漏洞自动化扫描框架
一款基于 Python3 asyncio 的异步 redis 客户端,支持对于单实例,连接池, 哨兵以及集群。作者希望可以找到志同道合的小伙伴集思广益,一起维护、优化。示例代码如下:
>>> import asyncio >>> from aredis import StrictRedis >>> >>> async def example(): >>> client = StrictRedis(host='127.0.0.1', port=6379, db=0) >>> await client.flushdb() >>> await client.set('foo', 1) >>> assert await client.exists('foo') is True >>> await client.incr('foo', 100) >>> >>> assert int(await client.get('foo')) == 101 >>> await client.expire('foo', 1) >>> await asyncio.sleep(0.1) >>> await client.ttl('foo') >>> await asyncio.sleep(1) >>> assert not await client.exists('foo') >>> >>> loop = asyncio.get_event_loop() >>> loop.run_until_complete(example())
基于最新版 Django 1.10 和 Python 3.5,通过 26 篇教程一步步带你使用 Django 从零开发一个个人博客系统,在实践的同时掌握 Django 的开发技巧,完成效果展示
时间漫步模块,模拟到某一个时间,使用简单方式多样,实现了装饰器、上下文等调用方式。示例代码如下:
from freezegun import freeze_time import datetime import unittest @freeze_time("2012-01-14") def test(): assert datetime.datetime.now() == datetime.datetime(2012, 1, 14)
用 21 天学习 Emacs 以及 Spacemacs(Emacs 的配置文件)的使用
一个社区驱动的模块化 vim/neovim 配置集合,其中包含了多种功能模块,并且针对 neovim 做了功能优化。spacevim 有多种功能模块可供选择,支持多种语言。用户只需要选择需要的模块,就可以配置出一个适合自己的开发环境

Vim 从入门到精通
阮一峰老师的开源精品,ECMAScript 6 入门书籍,在线阅读
- CSS 项目
- Go 项目
- Java 项目
- JavaScript 项目
- Objective-C 项目
- Python 项目
- Ruby 项目
- 其它
- 开源书籍