文章列表

PostgreSQL 扩展开发基础教程

April 20, 2017

由于业务需要,我们实现了解析客户定义的伪代码并计算的功能。所需计算数据大多存储在 PostgreSQL 中,因而我们需要利用 PostgreSQL 函数实现一部分计算。但有时,原生的函数的行为并不完全贴合我们的需求,同时也无法通过函数的组合来达到目的。因此,我们决定扩展 PostgreSQL 的函数。 我将我们...

写作进化论

April 07, 2017

昨晚失眠了,不是因为焦虑,而是为自己的发现而欣喜。 过去,我一直对写作秉持着好奇且敬畏之心。好奇且敬畏的是一回事,到底是什么决定了一个人的写作水平。怎奈一直无解,尝试观察高人的作品,亦或是自己磨炼技巧,却始终不得法。写作的大门似乎一直对我紧闭着。这不由让我思考,写作究竟是什么?顺着这个问题,原本交错繁杂的线...

设计一个可扩展的安全的长连接订阅/推送服务

April 02, 2017

提起设计一个基于 HTTP/WebSocket 的长连接订阅/推送服务,大家马上能想到市面的不少开源产品。像 SocketIO、Faye 等产品已经提供了相当成熟的实现。但是,这类服务出于其通用性和方便上手考虑,往往只包含推送服务的基本模型。当我们将其应用于具体业务时,会发现还是有以下问题需要解决: 如何...

Elasticsearch 内存那点事

March 11, 2017

今天,我们不谈世界上最好的语言,来聊一聊 Elasticsearch。使用 ELK 栈也有一段时间了,踩了不少坑,今天就给大家分享一个。 先铺垫一下背景,ELK 做为日志收集服务相信大家都不陌生。我最开始选型 ELK 也并没有脱离它最擅长的场景 – 收集业务上报日志。对上报后的日志,我们需要统计加工,最后生成统...

PHP 内核分析:Zend 虚拟机

February 26, 2017

PHP 是一门解释型的语言。诸如 Java、Python、Ruby、Javascript 等解释型语言,我们编写的代码不会被编译成机器码运行,而是会被编译中间码运行在虚拟机(VM)上。运行 PHP 的虚拟机,称之为 Zend 虚拟机,今天我们将深入内核,探究 Zend 虚拟机运行的原理。 OPCODE 什么是...