smallfish bio photo

smallfish

Engineer at Alibaba, Taobao.com #golang #clojure #nginx-lua #postgres

Email Twitter Github

All Posts

2015

2014

翻译-如何组织Go代码

原文地址:http://talks.golang.org/2014/organizeio.slide,译文尽量贴近原文,会适当的增删,勿拍。

2013

Test::Nginx 模块介绍

先说句题外话,Perl的测试模块那真是相当的爽,不仅可以爽到无与伦比的正则,还可以对测试用例自由组合、乱序运行等等。

PostgreSQL ARRAY 数据类型

刚好手头有一个需求,是涉及到数组类型的,懒的插入多条数据库记录,想起了ARRAY数据类型。

我的第一次马拉松(近期跑步总结)

今年博客写的相当少,今天再来一篇非技术内容吧,源于今天刚好跑完了杭州马拉松(半马)。今年7月份开始计划跑步,从最初的4圈就气喘吁吁快跪的样子,一步一步的熬到现在可以轻松跑完10公里,当然仅仅是慢跑的水平。

Python Testing

代码写多了越发觉得测试的重要性,之前一直喜欢“目测”的做法已经不值得推荐了。当然,这只是一个玩笑。

Python Profile 工具性能分析

最近碰到“程序速度大大降低”的说法,还是直接用数据说明比较有信服力,以及可以找出真正问题所在。

RabbitMQ REST API

最近造了一个轮子:rabbitmq-http,源于内部项目的一个翻版。基于 Go 语言实现。

2012

RabbitMQ trace 日志调试

RabbitMQ 默认日志里只有类似客户端“accpet/close”等信息,对于有异常或者跟踪消息内部结构就比较麻烦了。

Go 模块测试

Go 很多地方都透露着“约定大于配置”的理论,比如测试、可见性、语法等等。

LuaJIT FFI 调用 Curl 示例

LuaJIT 是一个好东西,比官方 Lua 解释器性能上提升很多。ngx_lua/ngx_openresty 都推荐用 LuaJIT 来加速 Lua 代码。

Fabric 部署工具

Fabric 是基于 SSH 协议的 Python 工具,相比传统的 ssh/scp 方式,用 Python 的语法写管理命令更易读也更容易扩展,管理单台或者多台机器犹如本地操作一般。

Nginx GZip 压缩

Nginx GZip 模块文档详见:http://wiki.nginx.org/HttpGzipModule

2011

The Rose

想了很久,很难给这篇跟技术无关的博客起一个满意的标题。刚好想起以前看过的一个视频《The Rose》,姑且凑合用吧。

JSON 美化输出

经常会碰到一些返回 JSON 格式的应用,默认都是一大坨字一起显示,完全是虐待自己的眼睛。

Nginx Session 模块

上一篇《Nginx第三方模块》涉及了数据库、Memcached以及Lua的扩展,但是相对于Web开发是不是还缺点什么呢?答案是回话(Session)模块。

Nginx 第三方模块试用记

最近试用了几个@agentzh写的第三方Nginx模块,甚为愉悦,没想到在Nginx可以玩很多技巧和扩展,分享一下。

Sample Post

Just about everything you'll need to style in the theme: headings, paragraphs, blockquotes, tables, code blocks, and more.

Python Story

http://www.slideshare.net/nnfish/python-story

Pylons 入门实例教程 – 发布应用

前面几篇教程简单讲述了如何使用 Pylons 进行 WEB 方面开发的步骤,包括简单的 Hello、表单和数据库操作等内容。本篇将描述一下如何在正式环境中发布基于 Pylons 的 WEB 应用。

2010

Pythonic 分享

很荣幸收到龙哥 @hoorace 邀请去参加了杭州第四期程序员圆桌会议,顺带介绍了下最近在公司内部做的关于《Pythonic》分享。喜欢Python的可以下载看看把。 <div id="__ss_4919596" style="width:425px;">Pythonichttp://static....

Pylons 入门实例教程 – 数据库操作

前面两篇入门,讲述了 Pylons 大致开发的流程、表单以及文件上传,思路大致跟传统的开发类似。本篇简单讲述下在 Pylons 如何使用数据库。

Pylons 入门实例教程 - Hello

http://pylonshq.com/,当然,这些组件只是默认,你还可以根据自己喜好来选择其他组件,比如你可以采用 Jinja2 或 Genshi 模板,ORM也可以采用 SQLObject。完全是自由组合。

PostgreSQL COPY 导入/导出数据

COPY 命令可以快速的导入数据到 PostgreSQL 中,文件格式类似CVS之类。适合批量导入数据,比 \i 和恢复数据表快。

Cython 教程 - 调用外部C语言函数

一般情况完全可以在 Python 里导入 from math import sin 然后调用 sin() 函数。然而,调用C里面的 sin() 函数速度会更快,尤其在复杂的循环里。在 Cython 里可以这样声明和使用:

Virtualbox Nat Share

Virtual Box 是个不错的虚拟机,小巧,功能也齐全。好像有点推销鸟。说正题,上次有个朋友就提到怎么能主机里访问虚拟机里的服务,昨晚实验了下,颇为顺利。记录下。这里利用的是默认的NAT上网,也就是共享主机上网,而不是设置独立的IP。

梦想与坚持

经过几天的适应总算在杭州安定下来了,回归到简单而快乐的上班生活轨道上。

2009

PostgreSQL tablespace 表空间

pgsql允许管理员在文件系统里定义表空间存储位置,这样创建数据库对象时候就可以引用这个表空间了。好处就不用多说了,可以把数据库对象存储到不同的分区上,比如更好的存储之类。默认initdb之后会有两个表空间pg_global和pg_default。

Perl 批量跳过 MySQL Slave 复制错误

发现mysql slave服务器经常因为一些特殊字符或者符号产生的更新语句报错,整个同步也会因此而卡在那,最初的办法只是手动去出错的机器,执行下面三条sql语句,跳过错误即可。

SSH Tunnel Memcached

最近一台服务器放进了移动机房,需要访问原电信机房一台Memcached服务器,Memcached服务是以内网形式启动。

Apache Mod_Perl实现 URL Rewrite

相信apache的mod_rewrite模块都很熟悉了,今天这儿换个思路,利用mod_perl来实现下,发现竟然是如此的简单!

Apache Mod_Perl 防盗链

大体思路是这样的,比如有 一个地址:http://www.aa.com/down/1.mp3,不幸搜索引擎或者迅雷扒到了,就无偿为他们奉献流量了。 但是假如在http://www.aa.com/down/1.mp3?key=123,key参数每天变化或者几分钟变化一次,在apache服务端校 验下这个参数,不正确...

Win Python Pyrex 扩展

在偶的ubuntu里编写pyrex程序编译成so还是挺爽的,用 timeit.Timer 测试性能提升不少,今天在windows也尝试了一番。

MySQL Query Profile 简单使用

MySQL Query Profile MySQL 5.0.37 以上开始支持 MySQL Query Profiler, 可以查询到此 SQL 会执行多少时间, 并看出 CPU/Memory 使用量, 执行过程中 System lock, Table lock 花多少时间等等.

Python MySQLdb 查询返回字典结构

MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单的修改方法,就是传递一个cursors.DictCursor就行。

Python MySQL 库安装笔记

其实MySQL-python安装很简直,以前一直也没在意,今天发觉换了1.2.3新版本,ms蹦出很多问题来了。 做个记录,防止以后有问题无处可查。

Python Mako Template 学习笔记

Mako是什么?Moko是Python写的一个模板库,Python官网http://python.org/用的就是它哦。其他废话也就不累赘了,直接来点代码,方便阅读与了解把。

Google App Engine 上试用 web.py 笔记

看到有人在坛子里询问在GAE如何发布web.py有关问题,就尝试了一把。具体安装和使用过程如下,请对照自己本地路径相应修改: