原创 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