下拉刷新
目录

《HelloGitHub》第 8

HelloGitHub 分享 GitHub 上有趣、入门级的开源项目,每月 28 号更新一期。 这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。

C# 项目
Star 1.1w
Fork 3.2k
8 年前

Newtonsoft.Json 是一款 .NET 平台中开源的 JSON 序列化和反序列化类库,示例代码:

public class Account { public string Email { get; set; } public bool Active { get; set; } public DateTime CreatedDate { get; set; } public IList<string> Roles { get; set; } } Account account = new Account { Email = "james@example.com", Active = true, CreatedDate = new DateTime(2013, 1, 20, 0, 0, 0, ateTimeKind.Utc), Roles = new List<string> { "User", "Admin" } }; string json = JsonConvert.SerializeObject(account, Formatting.Indented); // { // "Email": "james@example.com", // "Active": true, // "CreatedDate": "2013-01-20T00:00:00Z", // "Roles": [ // "User", // "Admin" // ] // } Console.WriteLine(json);
C++ 项目
2
libco
Star 8.1k
Fork 2.1k
8 年前

腾讯的开源项目——libco 是微信后台大规模使用的 C/C++ 协程库,2013 年至今稳定运行在微信后台的数万台机器上。

  • 无需侵入业务逻辑,把多进程、多线程服务改造成协程服务,并发能力得到百倍提升
  • 支持 CGI 框架,轻松构建 Web 服务
  • 支持 gethostbyname、mysqlclient、ssl 等常用第三方库
  • 可选的共享栈模式,单机轻松接入千万连接
  • 完善简洁的协程编程接口
    • 类 pthread 接口设计,通过 co_create、co_resume 等简单清晰接口即可完成协程的创建与恢复
    • __thread 的协程私有变量、协程间通信的协程信号量 co_signal
    • 语言级别的 lambda 实现,结合协程原地编写并执行后台异步任务
    • 基于 epoll/kqueue 实现的小而轻的网络框架,基于时间轮盘实现的高性能定时器
Go 项目
3
kcptun
Star 1.4w
Fork 2.5k
8 年前

也许是世界上最快的 UDP 传输工具,支持 macOS/Linux/Windows/FreeBSD/ARM/Raspberry Pi/OpenWrt。

kcptun
Java 项目
Star 3.3w
Fork 1.1w
8 年前

Android 开发人员不得不收集的代码,中文介绍

Star 9.5k
Fork 2.1k
8 年前

Bilibili 开源的 Android 开源弹幕引擎·烈焰弹幕使。特性:

  • 使用多种方式(View/SurfaceView/TextureView)实现高效绘制
  • 该站 XML 弹幕格式解析
  • 基础弹幕精确还原绘制
  • 支持 mode7 特殊弹幕
  • 多核机型优化,高效的预缓存机制
  • 支持多种显示效果选项实时切换
  • 实时弹幕显示支持
  • 换行弹幕支持/运动弹幕支持
  • 支持自定义字体
  • 支持多种弹幕参数设置
  • 支持多种方式的弹幕屏蔽
JavaScript 项目
Star 1.5k
Fork 114
8 年前

极小的 JavaScript 画板,在线演示

atrament
Star 1.4w
Fork 1.8k
8 年前

移动端,跨平台前端框架,详细的中文档

8
WeFlow
Star 3.2k
Fork 432
8 年前

微信出品的一个高效、强大、跨平台的 Web 前端开发工作流工具,官网

WeFlow
Objective-C 项目
Star 7.9k
Fork 797
8 年前

Aria2 的 Mac 客户端(下载工具),介绍、使用方法,特点:

  • 集成了 aria2,运行后即完成配置工作
  • 多线程下载
  • 未完成任务退出可以自动保存
  • 支持迅雷离线,百度、115、360 等网盘的 aria2 导出(需要浏览器插件支持)
  • 支持 PT/BT,BT 速度跟种子热度有关,如果没有速度网盘离线后再下载
  • 在 Badge 显示整体下载速度
  • 任务完成通知
aria2gui
Python 项目
Star 5.8k
Fork 387
8 年前

httpstat 美化了 curl 的结果,使得结果更加可读。同时它无依赖、兼容 Python3、一共才 300 多行。还可以显示 HTTP 请求的每个过程中消耗的时间,如下图:

httpstat
11
PyMySQL
Star 7.6k
Fork 1.4k
8 年前

纯 Pyton 写的 MySQL 库,纯 Python 的好处就是可以运行在任何装有 Python 解释器(CPython、PyPy、IronPython)的平台上。相对于 MySQLdb 性能几乎一样,使用方法也一样,但是 PyMySQL 安装方法极其简单——pip install PyMySQL,PyMySQL 使用示例代码:

# 下面为例子需要的数据库的建表语句 CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(255) COLLATE utf8_bin NOT NULL, `password` varchar(255) COLLATE utf8_bin NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
# -*- coding: utf-8 -*- import pymysql.cursors # 连接数据库 connection = pymysql.connect(host='localhost', user='user', password='passwd', db='db', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) try: with connection.cursor() as cursor: # 创建一个新的纪录(record) sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)" cursor.execute(sql, ('webmaster@python.org', 'very-secret')) # 连接不会自动提交,所以你想下面要调用 commit 方法,存储对数据库的改动 connection.commit() with connection.cursor() as cursor: sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s" cursor.execute(sql, ('webmaster@python.org',)) # 获取一条的纪录(record) result = cursor.fetchone() print(result) # 结果输出:{'password': 'very-secret', 'id': 1} finally: connection.close() # 操作完数据库一要记得调用 close 方法,关闭连接
12
reddit
Star 1.7w
Fork 2.9k
8 年前

reddit.com 网站的源码,通过这个项目,可以学习 Python 在构建大型项目中的使用、项目结构、代码风格、Python 技巧的使用方法等。安装教程

reddit
Ruby 项目
Star 4.1w
Fork 8.2k
8 年前

Ruby 语言写的论坛,百分之百开源、免费。

discourse
其它
Star 3w
Fork 5.6k
8 年前

提问的智慧,提出一个好的问题是解决问题的关键

Star 1.9w
Fork 4.8k
8 年前

阮一峰写的全栈工程师培训材料

Star 2.1w
Fork 1.4k
8 年前

MacOS 的安全和隐私指南,中文翻译版

17
PTVS
Star 2.5k
Fork 673
8 年前

Visual Studio 下的 Python 开发插件

Star 2.5k
Fork 856
8 年前

百度前端研发团队的文档与源码编写风格

Star 2.1w
Fork 5.1k
8 年前

中文版 Apple 官方 Swift 教程《The Swift Programming Language》

目录
  • C# 项目
  • C++ 项目
  • Go 项目
  • Java 项目
  • JavaScript 项目
  • Objective-C 项目
  • Python 项目
  • Ruby 项目
  • 其它