原创 Python API 設計(2):無緒和一致性

無緒:API 設計的終極目標   在《軟件框架設計的藝術》這本書裏面,提到一個 API 設計原則,稱之爲無緒(cluelessness)。   無緒是這樣一個概念: API 的設計應該儘可能地『自解釋』,讓客戶端程序員(也即是使用者)通過

原创 Redis 命令參考 2.6 版本發佈

經過兩週緊張的工作之後, Redis 命令參考終於完成了 2.6 版本的更新。 這次更新的內容大部分來自於官方文檔對 Redis 2.6 版本的更新,包括: Redis 2.6 版本新增的所有命令(EVAL、 PTTL、 TIME

原创 Redis 源碼分析(1):字典和哈希表(dict.c 和 dict.h)

簡介   哈希表是 redis 的核心結構之一,在 redis 的源碼中, dict.c 和 dict.h 就定義了 redis 所使用的哈希結構,在這篇文章中,我們將對 dict.c 和 dict.h 進行註解和分析,籍此加深對 red

原创 《實用Common Lisp編程》第三章,update 函數補遺

細心的人應該會發現,在第三章的最後,作者只將where函數改成了宏,而update函數仍然是帶有重複代碼: (defun update (selector-fn &key title artist rating (ripped ni

原创 《 Redis命令參考》全文翻譯完畢

很高興地告訴各位,對《Redis Command Reference》一文的翻譯已經全部完成。在七月份放出前六章的翻譯迄今爲止已經過去了近半年,前兩天本人終於抽出時間(和決心)來完成剩下的四章,現在全文共十個部分的所有命令都已經翻譯完畢了

原创 博客遷移至 huangz.me

因爲博客遷移至 huangz.me ,以後就不在 iteye 更新了,多謝讀者們的支持。   也歡迎繼續關注我的新博客,謝謝。

原创 MongoDB數據庫關係表示和設計:(1)嵌套文檔和引用鏈接

使用數據的時候,一個數據項常常和另外的一個或多個數據項產生關係,比如一個“人”對象,有一個名字,可能有多個電話號碼,以及多個子女,等等。   在傳統的SQL數據庫中,關係被分爲一個個表(table),在表中,每個數據項以主鍵(primar

原创 《實用Common Lisp編程》第16-17章,面向對象細節補遺(1):輔助方法

在《實用common lisp編程》的十六和十七章裏面,介紹了common lisp的面向對象支持方式,分別是廣義函數和CLOS系統。   書本通過文字敘述得非常詳細,但是沒有附上相應的代碼,本着“沒有實驗過就沒有發言權”的求實態度,我決

原创 Android開發環境搭建完全圖解

本文介紹從0開始,在Linux系統下,搭建一個Android開發環境的方法。 如果你是《Learning Android》這本書的讀者,你也可以參考這篇文章,因爲這篇文章是以書中的安裝方法爲基礎而寫的。(如果你不是也沒有關係,反正步驟都

原创 Practical Common Lisp [個人翻譯版]

  1. 引言 **********   Lisp?!啥玩意? ==========   如果你也認爲簡潔優雅的代碼是你的追求,那Lisp就是你的最佳選擇。   使用Lisp,你可以寫出比其他語言更簡潔的代碼,同時多快好省地完成工作,改善

原创 Redis命令參考(Commands Reference)中文翻譯【Set部分】

注意:此文檔已經過期,請移步到 http://huangz.iteye.com/blog/1123512 查看最新翻譯。   SADD key member 將member元素加入到集合key當中。 如果member元素已經是該集合的

原创 解決Archlinux系統Flash亂碼

嗯,flash 在 linux 下總是有這樣那樣的問題,比如經常發生的現象就是 flash 中文亂碼。   這個問題困擾了我一陣子,搜索了一下,發現網上的方法主要都是對UBUNTU的,而Archlinux還需要一些另外的步驟,所以我這裏整

原创 Python中的foreach

Python有常用的map、reduce等函數,但是沒有foreach,不過自己寫一個也不難:   定義   # 需要Python3 def foreach(function, iterator): for item in it

原创 Redis命令參考中文版(Redis Command Reference)

Redis命令參考中文版,翻譯自Redis Command Reference。    所有命令已經翻譯完畢!   閱讀地址: http://redis.readthedocs.org/  歡迎反饋。 update 2011.10.23

原创 OOREDIS:一個Pythonic的Redis庫。

用Redis的朋友們應該會發現,Redis的很多客戶端都只是Redis命令的一個簡單包裝。  舉個例子,在Redis的Python客戶端redis-py中,設置一個String鍵的方法如下:    >>> from redis impo