Wire Protocol of PostgreSQL Queries in a Nutshell

2018-11-25
阅读 17 分钟
12.2k
I was working on a pull request to improve the performance of executemany() in asyncpg, who talks to the PostgreSQL server directly in its wire protocol (comparing to psycopg2 who uses libpq to speak the wire language for itself). Though the documentation for the protocol explained mostly everyth...

初试 webfont

2015-02-25
阅读 3 分钟
8k
webfont,也就是用在 web 上面的字体,最出名的莫过于 Google Fonts,在 HTML 里加几行代码就能用各种丰富的字体了,但是 Google 在国内呵呵了,所以今天当我想在工作室网站上应用 webfont 的时候,DIY 了一把,记录如下。

Rust 语言学习笔记(四)—— I/O

2015-01-30
阅读 3 分钟
6.6k
写在前面:这是一篇近一年前的草稿了,翻出来发现,关于 Task(已改名为 Thread)退出的一些做法仍然适用,而且 zmq.rs 0.2 不出意外也要用到,所以仍然把这篇写完贴出来备查。但请注意,文中关于 libgreen 的一些描述已不属实。

设计 zmq.rs ——用 Rust 实现的 ZeroMQ(二)

2015-01-16
阅读 2 分钟
5.6k
Rust 1.0 临近,libgreen 由于统一接口代价太大以及其伪轻量级的事实被降级为不推荐的社区项目,zmq.rs 项目也面临着一次基于 mio 的重新设计——除非更合适的协程实现能立即出现。所以呢,草稿箱里积存了数月的“命令通道”部分不再有意义了,但考虑到新的设计中也将有类似的概念,仍将其贴出来。

设计 zmq.rs ——用 Rust 实现的 ZeroMQ(一)

2014-12-16
阅读 4 分钟
13k
从今年 3 月份看到有人打算用 Rust 重写 ZeroMQ、我开始认真学习 Rust 语言,到后来 6 月份开始着手实现,再到现在 0.1 版即将达成,前后也有小半年了。今天,我打算在这里把当前的设计总结一下,也顺便试图招募志愿者一起来做开发。

一起读 Gevent 源码

2014-07-22
阅读 8 分钟
15.6k
我们知道 Gevent 是基于 Greenlet 实现的,greenlet 有的时候也被叫做微线程或者协程。其实 Greenlet 本身非常简单,其自身实现的功能也非常直接。区别于常规的编程思路——顺序执行、调用进栈、返回出栈—— Greenlet 提供了一种在不同的调用栈之间自由跳跃的功能。从一个简单的例子来看一下吧(摘自官方文档):

Design of zmq.rs - the native ZeroMQ stack in Rust (1)

2014-07-02
阅读 7 分钟
5.7k
It is the first time I write a blog post in English, formally. I would like to use the first post, to describe all the design I made for project zmq.rs, at the moment of typing.

用 uWSGI 来跑 asyncio 的 web 服务器

2014-06-05
阅读 8 分钟
10k
先从最简单的开始说—— WSGI。根据定义,这是一种 web 服务器接口规范,源自 Python,后被其他语言借用而成为一个较为通用的接口。以 Python 为例,这个接口非常的简单:

Python 开源异步并发框架的未来

2014-04-16
阅读 11 分钟
35.1k
您的浏览器不支持 HTML5 视频,请移步优酷:http://v.youku.com/v_show/id_XNjk2ODI0ODQ4.html?f=22140119

Rust 语言学习笔记(三)

2014-03-12
阅读 2 分钟
5.5k
(一)在这里,(二)在这里,下面是(三)。 神奇的 I/O 异常 折腾了半天,终于要开始写 I/O 了。首当其冲的是一个 TCP 服务端 socket: {代码...} 其实这段程序没什么神奇的啦,神奇的事情出现在 use 上: {代码...} 起初我只是这样写了这么两句,没想到官方文档抄来的代码居然编译出错了: {代码...} 参考出错信息,...

Rust 语言学习笔记(二)

2014-03-11
阅读 4 分钟
15.4k
写了一天的 Rust 代码下来,发现根本没写几行,万事开头难啊。仔细想来,多半功夫花在学习最佳实践和调试编译错误上了。说到这编译错误我就气不打一出来,放着好生生的 Python 不用跑这来糟心~~呵呵,开玩笑,Rust 的语法——尤其是对于内存管理——可谓是相当精密,在调好了许多编译错误之后,往往会发出“原来是这样”的感...

Rust 语言学习笔记(一)

2014-03-09
阅读 2 分钟
9.8k
今天打算练练手,试着用 Rust 写一点东西(实现 23/ZMTP,嘘……)。昨天晚上又读了一遍最新的 Tutorial,今天早晨开始从验证一些疑问开始。笔记包含的内容可能比较繁杂没有主线,仅供参考。

gevent 迁移 Python 3 历程(一)

2014-03-03
阅读 5 分钟
17.7k
时隔一年多,gevent 的作者 Denis Bilenko 终于从创业的百忙之中,抽出时间打算 review 我在 2012 年的时候完成的 gevent 到 Python 3 的迁移工作。

公钥安全机制与宫爆鸡丁的故事

2014-02-18
阅读 9 分钟
6.1k
现在信息科技日新月异,貌似一转眼的功夫,交电话费、考试报名、逛图书馆、订购午饭都搬上了互联网。方不方便且不说,单说足不出户能叫到午饭,这要在以前那可都是科幻小说啊。只不过科幻小说里,主人公可能只须对机器人吩咐说,“来份宫爆鸡丁盖饭,外加一碗紫菜鸡蛋汤”,一切就搞定了——哪像现在这样,装五花八门的杀毒...

从无到有,在 ArchLinux 上编译 x32 ABI 的 GCC, Glibc 和 Python

2014-02-17
阅读 4 分钟
8.9k
x32 ABI (应用程序二进制接口) 是一个开发中的 Linux 项目,为 x32 ABI 编译的程序将能运行在 x86-64 指令集环境的 64 位模式下,但仅仅使用 32 位大小的指针和数据类型。这尽管限制了这个程序最多只能使用 4GB 的虚拟地址空间,但却减少了这个程序占用的内存,并且在某些情况下能使程序运行的更快。最好的测评结果来自 ...