有時我們需要動態(tài)的確定當(dāng)前采用的Python運行時環(huán)境對應(yīng)的site-packages目錄,在Python代碼中,可以這樣做:
print?get_python_lib()
備忘。
posted @ 2009-01-23 19:25 laogao 閱讀(2585) | 評論 (0) | 編輯 收藏
posts - 508, comments - 655, trackbacks - 9, articles - 4 |
||
有時我們需要動態(tài)的確定當(dāng)前采用的Python運行時環(huán)境對應(yīng)的site-packages目錄,在Python代碼中,可以這樣做: from?distutils.sysconfig?import?get_python_lib print?get_python_lib() 備忘。 posted @ 2009-01-23 19:25 laogao 閱讀(2585) | 評論 (0) | 編輯 收藏 從某種意義上講,easyb就是Groovy版的RSpec,是一個基于"BDD: Behavior-Driven Development"思維方式的測試框架。其作者Andrew Glover是《Groovy in Action》一書的合著者之一。項目的主頁在: http://easyb.org/ 不多廢話了,上代碼,一個story大概長成這個樣子(為了方便大家理解,舉一個無比弱智的例子): scenario?'1+1應(yīng)該等于2',?{ ????given?'a和b分別等于1',?{ ??????a?=?1 ??????b?=?1 ????} ????when?'c是a+b的和',?{ ??????c?=?a?+?b ????} ????then?'c應(yīng)該等于2',?{ ??????c.shouldBe?2 ????} } 如何在Eclipse環(huán)境下跑這段story腳本?請參考官方文檔: http://code.google.com/p/easyb/wiki/ConfiguringEclipseToRunEasyb 最后你的輸出應(yīng)該類似: Running?first?easyb?story?(FirstEasybStory.groovy) Scenarios?run:?1,?Failures:?0,?Pending:?0,?Time?Elapsed:?0.629?sec 1?behavior?run?with?no?failures posted @ 2009-01-04 22:28 laogao 閱讀(373) | 評論 (0) | 編輯 收藏 1年多以前的2007年11月,著名的鋼琴家Alfred Brendel對外宣布了告別演出的日期和地點:2008年12月18日,維也納金色大廳。瞧我這記性,今天才想起來。 ![]() 有趣的一個細(xì)節(jié)是,告別演出上,Brendel的選曲是Mozart的9號降E大調(diào)鋼琴協(xié)奏曲,"Jeunehomme" ("Young Man")。 最近聽得最多的,是Brendel演繹的Brahms的1號鋼琴協(xié)奏曲,雖然不是他最最擅長的Beethoven、Schubert和Mozart,但已經(jīng)相當(dāng)精湛傳神。 4天以后是大師78歲誕辰,按照中國習(xí)俗,提前祝賀一聲,生日快樂!大師走好,我們會想你的。 posted @ 2009-01-01 17:25 laogao 閱讀(386) | 評論 (0) | 編輯 收藏 老家有個俗語,叫"嗲言",大致的意思接近"矯情的文字和語言",2008年就要過去了,有些按捺不住,要發(fā)點"嗲言"。 08年發(fā)生了很多大事,不論國內(nèi)還是整個世界而言,都是"多事"的一年。對我來說,最大的一件事,應(yīng)該就是Tony的降生:經(jīng)過大半年的期盼,和最后半個月全家緊繃的神經(jīng),小家伙終于呱呱墜地了,我也名正言順的升級為老爸。 回顧過去一年的學(xué)習(xí)和工作,幾乎想不出有什么亮點,感覺自己的時間被各種事務(wù)瓜分的七零八落,原本的學(xué)習(xí)計劃和想要做的"大事",也都很難一一實現(xiàn)。公司原有團(tuán)隊核心人員從07年下半年到08年不斷的流失,而從產(chǎn)品的角度,也到了一個平臺期,之前沖刺趕工帶來的各種深層次問題,都逐漸浮現(xiàn)。團(tuán)隊要建設(shè),產(chǎn)品要騰飛,都是費勁的事兒,更何況還有來自項目現(xiàn)場的壓力。很多時候,我不得不退化成SCM專員和搬運工,代碼、版本、分支、補(bǔ)丁、發(fā)布環(huán)境、腳本、新特性……還好我很久以前就學(xué)會了細(xì)心、耐心和苦中作樂,不然我早該崩潰了。 09年,人生的第30個年頭,該做點什么呢?我想,我必須從SCM這樣瑣碎的事務(wù)和需求的海洋中走出來,去做更有意義的事,對團(tuán)隊對個人都更有價值的事,去學(xué)習(xí)更多新的知識和解決問題的方法,幫助自己和身邊的人走向成功。 posted @ 2008-12-31 20:31 laogao 閱讀(381) | 評論 (2) | 編輯 收藏 本篇是上一期《擺脫iTunes》的續(xù)篇。 話說通過openSUSE 11.1下的Banshee播放器重建iPod的iTunesDB后,Podcast和Artwork丟失。后來試用中還發(fā)現(xiàn)一個問題,那就是Banshee不能很好的支持修改iPod上現(xiàn)有媒體的元信息。不甘心,找來gtkpod,版本0.99.12,發(fā)現(xiàn)還真的是Banshee自己的問題:在gtkpod下,可以很完美的對iPod現(xiàn)有媒體文件進(jìn)行修改,比如更改專輯名稱、藝術(shù)家信息等,甚至連封面artwork都能編輯了,呵呵,爽。 希望能給有類似困惑的朋友一個參考。 posted @ 2008-12-30 23:57 laogao 閱讀(265) | 評論 (0) | 編輯 收藏 總算逃出iTunes的魔掌了,嘆口氣,感慨一下。 自從去年(07年)購進(jìn)一臺iPod Classic開始,iTunes就成了我生命中無法割舍的一部分,不是因為它好,而是沒辦法,離開iTunes,我無法給我的iPod添加和刪除媒體文件。用過iTunes你就知道,很多東西雖然看上去比較眩,但操作起來,蹩腳的讓人難以忍受,視頻播放性能也很差,兼容度不夠不說,自己的格式經(jīng)常也是卡卡的。 如果說上面的這些問題都還能夠克服,讓我最不能接受的是,iTunes沒有for Linux的版本。這一年多以來,輾轉(zhuǎn)于Ubuntu、Arch Linux、openSUSE,一直都被Apple/iTunes歧視。看到這里你也許會問,既然是Linux的fans,為什么要買Apple的東西?其實這個問題也不難回答,因為iPod是當(dāng)時市面上能夠買到的綜合質(zhì)量最好的便攜式mp3播放器。 非iTunes同步iPod最大的障礙,在于iTunes對iPod存儲文件的目錄結(jié)構(gòu)的處理,除了把文件名稱改的面目全非,然后在一個很晦澀的文件(iTunesDB)中定義出最終的專輯、藝術(shù)家、曲目到具體文件的"鏈接",而且(較新版本的iPod)會根據(jù)設(shè)備ID對這些數(shù)據(jù)進(jìn)行hash,以至于非iTunes工具一不小心就容易把iTunesDB破壞,從而造成iPod無法正確讀取具體的媒體文件,如果操作無法恢復(fù),那么你的整個iPod資源庫能否找回,就要看運氣了。當(dāng)然,高級用戶可能知道,其實媒體文件是存放在iPod_Control文件夾下的,雖然目錄和文件名稱被改掉了,但從文件屬性元數(shù)據(jù)中,還是能夠恢復(fù)出類似專輯名稱等,但如何重建iTunesDB,可能唯一可靠的方式,就是重新從iTunes導(dǎo)入了。 經(jīng)過一番折騰,終于在Linux環(huán)境搞定了iPod的媒體同步,當(dāng)然,也是冒了些風(fēng)險。首先需要安裝libgpod和gtkpod,雖然它們的最新版發(fā)布也有挺長時間,但與之配合的"前端",如Banshee,Rythmbox當(dāng)時還沒能很好的處理設(shè)備ID讀取和使用,而gtkpod本身document也還不是非常完善,于是相對新的iPod Classic還是無法正常處理媒體庫讀取和重建。前不久裝上了openSUSE 11.1,自帶的Banshee 1.4.1號稱是支持iPod Classic的同步的。而我又不想太過激進(jìn)去裝Rockbox固件,軟件方式的媒體同步就成了最合理的方式。打開Banshee,連上iPod,果然無法正確識別現(xiàn)有的媒體內(nèi)容(全部劃到"其他"),要想看到,只能"重建"。豁出去了,做好必要的備份后,開始探險之旅... 經(jīng)過十幾分鐘的等待,wohoo! 成功了!除了Podcast和Artwork,所有媒體都完整的出現(xiàn)在Banshee界面中,斷開以后,iPod自身也能夠識別這些媒體列表,總算功德圓滿,可以和iTunes說拜拜了。 posted @ 2008-12-27 23:28 laogao 閱讀(961) | 評論 (2) | 編輯 收藏 周末花時間看了Rick Evans在London Spring User Group (LSUG)關(guān)于Spring 3.0介紹的視頻,地址在這里: http://java.dzone.com/videos/a-look-forward-spring-30 根據(jù)Rick的介紹,Spring 3.0將于明年2月中旬正式發(fā)布,其中比較重要的兩個亮點是: 1- JDK 5將成為Spring 3.0的最低要求,因此很多遺留代碼得以重構(gòu),更加清晰; 2- 引入了新的Spring Expression Language (SPEL)用于描述XML和Annotation中的配置信息。 (Rick還用了大量篇幅介紹Spring 3.0如何在API和配置層面支持REST,不過這不在我興趣范圍內(nèi)) 除了上述兩大亮點,還有如下一些值得一提的變化: 1- 去掉了Commons Attributes,減少了很多相關(guān)依賴; 2- 不再支持Struts 1.x; 3- 全面轉(zhuǎn)向Listener-style的context加載方式; 4- 源碼組織更加模塊化,每個子模塊都是獨立項目; 5- 構(gòu)建環(huán)境拋棄Maven,轉(zhuǎn)為使用ANT+Ivy; (筆者非常贊成的一個變化) 6- 源碼庫由CVS全面轉(zhuǎn)向Subversion。("逃離"CVS是大勢所趨?) posted @ 2008-12-27 17:55 laogao 閱讀(2777) | 評論 (2) | 編輯 收藏 今年發(fā)生了太多的事,圣誕節(jié)是年底前最后一個重要節(jié)日了,公司置辦了一棵圣誕樹,下班的時候,路過教堂,看見里面很多的人,心想,真的是過節(jié)了,是不是應(yīng)該開心些才對。最近也不知道怎么回事,總是有些郁郁寡歡,身心疲憊,沒有所謂的節(jié)目,也沒有所謂的心情,只有不斷的學(xué)習(xí)和工作。有時候想想,一個人如果要求太高,其實也挺累的,自己累,別人也累,不是么?問題是,多高才是"太"高呢? 如果你和我一樣,這個時候還對著電腦,試試對自己說:停下來,喘口氣,收拾一下疲憊的心靈,要準(zhǔn)備迎接明年的挑戰(zhàn)嘍! posted @ 2008-12-24 22:22 laogao 閱讀(303) | 評論 (0) | 編輯 收藏 和11.0一樣的問題,當(dāng)你在openSUSE 11.1中配置好Packman資源庫后,就能直接通過YaST2安裝w32codec-all和MPlayer,不過這樣并不能正常播放常見的rmvb格式視頻,MPlayer報告找不到匹配的video解碼包,聲音能聽到,但圖像出不來。 解決方法是: 去Real的官方網(wǎng)站(選US站、免費播放器下載、Unix版)下載最新的RealPlayer 11安裝包,文件名RealPlayer11GOLD.bin,到本地后chmod u+x,執(zhí)行該文件進(jìn)行安裝,按照提示,安裝路徑指定為/usr/lib/RealPlayer10 (注意這里是MPlayer提示的路徑,不是筆誤)。完成安裝后再次使用MPlayer即可正常播放。 posted @ 2008-12-20 08:11 laogao 閱讀(1899) | 評論 (1) | 編輯 收藏 就在數(shù)分鐘之前,openSUSE 11.1正式release了,主要的新特性包括: Linux Kernel 2.6.27.8rc1 GCC 4.3.2 glibc 2.9 X.Org 7.4 Virtual Box 2.0.6 PostgreSQL 8.3.5 MySQL 5.0.67 Eclipse 3.4 gtk+ 2.14.4 Python 2.6.0 Ruby 1.8.7 Perl 5.10.0 Mono 2.0.1 Qt 4.4.3 PHP 5.2.6 openJDK 1,2b11 KDE 4.1.3 + 3.5.10 Firefox 3.0.4 OpenOffice 3.0 KOffice 1.6.3 Mono 2.0.1 GIMP 2.6.2 ... 更多內(nèi)容 openSUSE主頁: http://www.opensuse.org/en/ 11.1功能清單: http://en.opensuse.org/Featurelist_11.1 下載頁: http://software.opensuse.org/ posted @ 2008-12-18 22:23 laogao 閱讀(519) | 評論 (0) | 編輯 收藏 初學(xué)PostgreSQL的朋友可能會有這樣的疑惑:如何重命名已經(jīng)建好的數(shù)據(jù)庫?因為PostgreSQL默認(rèn)的客戶端pgAdmin III并沒有地方可以讓我們?nèi)バ薷哪硞€現(xiàn)有的數(shù)據(jù)庫的名稱。遇到這個情況,可能不少人選擇了backup -> drop -> create -> restore的方法,其實大可不必。 首先,確保沒有用戶連接到需要改名的數(shù)據(jù)庫,包括你自己。你可能會問,我不連上去,怎么執(zhí)行更名的命令呢?其實連到其他數(shù)據(jù)庫,比如默認(rèn)的postgres維護(hù)數(shù)據(jù)庫即可。 然后,執(zhí)行下面的語句,假定你要更名的數(shù)據(jù)庫現(xiàn)在的名稱為abc,希望更改成cba: ALTER?DATABASE?abc?RENAME?TO?cba; That's it. posted @ 2008-12-17 18:33 laogao 閱讀(4259) | 評論 (0) | 編輯 收藏 提示: 流水賬+非技術(shù)貼,趕時間的朋友請?zhí)^。 最近一段時間以來,家里的PC(平時也就是給老爸老媽玩玩游戲看看股票什么的)開機(jī)狀態(tài)下聲音狂響,運行一些高CPU消耗的程序時有死機(jī)(直接跳掉關(guān)機(jī))。實在不勝其擾,今天終于下定決心給它來個體檢。 根據(jù)鄙人并不豐富的經(jīng)驗,噪音肯定是來自風(fēng)扇,而時有發(fā)生的自動關(guān)機(jī)現(xiàn)象,懷疑是風(fēng)扇問題引發(fā)的散熱不足導(dǎo)致CPU或者其他核心組件過熱。觀察下來CPU溫度并不是很離譜,更加重了疑慮,準(zhǔn)備開箱檢查。簡單的用螺絲刀把手壓停風(fēng)扇的辦法,很快找到了問題風(fēng)扇:確實不是CPU,也不是顯卡,而是北橋芯片上的那個!關(guān)機(jī)后,手工嘗試撥動葉片,也能感覺到引起噪音阻力,看來確定是它無疑了。 怎么辦呢?不知道是nForce芯片組的特點,還是GIGABYTE這個系列的特點(手頭這塊主板型號是GA-M55SLI-S4),北橋芯片上除了散熱片,還在散熱片上集成了一個風(fēng)扇,看來這個芯片組發(fā)熱蠻厲害的,要命的是這塊散熱片+風(fēng)扇(也就是北橋芯片)的位置正好在PCI-E插槽的末端,也就是說正好被顯卡擋在下面,空間十分狹小,如果要更換散熱片/風(fēng)扇,也只能是找最薄最小的那種,還不能保證插孔間距是標(biāo)準(zhǔn)的。 ![]() 不過既然都到這份兒上了,索性做到底,試試換一個吧。從一個廢棄的老顯卡上拆下來一塊散熱片帶風(fēng)扇,目測和主板上的那塊長方形散熱片卡口間距一致。由于這個散熱片的特殊位置,害得我只有把主板卸下來才得以拆除,不過新的問題又來了,間距并不標(biāo)準(zhǔn)!至少和我之前卸下來的顯卡風(fēng)扇間距不一致,要寬那么一點點。我無語了,只好悶著頭回去看看出問題的散熱風(fēng)扇還有沒有什么補(bǔ)救的措施。經(jīng)過一番敲敲弄弄,"手測"風(fēng)扇葉片,感覺比先前順了很多,趕緊接上電源,居然就這樣奇跡般的不響了。 Google了一下,網(wǎng)友對這塊主板的噪音(貌似都是北橋芯片上這塊風(fēng)扇的事兒)也多有抱怨,看來偶遇到的不是個案啊。不管怎么說,撞大運也好,對癥下藥也好,問題總算是解決了,功夫沒白費:"整個世界安靜了"。 posted @ 2008-12-17 00:51 laogao 閱讀(1387) | 評論 (0) | 編輯 收藏 在Python 2.6發(fā)布兩個月后,Python 3.0正式release了。 Download: http://www.python.org/download/releases/3.0/ What's New:http://docs.python.org/whatsnew/2.6.html#python-3-0 posted @ 2008-12-04 19:30 laogao 閱讀(287) | 評論 (0) | 編輯 收藏 算下來,今天已經(jīng)是我家寶寶出生第20天了,可能由于是比預(yù)計的日期有所提前,至今我仍在尋找當(dāng)?shù)母杏X,至少這種感覺還沒有他還在媽媽肚子里的時候那么強(qiáng)烈:仿佛突然之間,就有一個小生命被塞到了你的懷里,奇妙的讓人不可思議。 寶寶的名字倒是很早就想好了:海桐,英文名Tony(似乎預(yù)感就是男孩兒,女孩兒英文名壓根就沒想過)。 海桐(Pittosporum tobira)是一種植物,為亞熱帶樹種,喜溫暖濕潤的海洋性氣候,喜光,亦較耐蔭。對土壤要求不嚴(yán),粘土、沙土、偏堿性土及中性土均能適應(yīng),萌芽力強(qiáng),耐修剪。取這個名字,一方面寶寶出生在上海,另外也借此寓意希望他健康成長,擁有旺盛、頑強(qiáng)的生命力。 posted @ 2008-11-25 12:45 laogao 閱讀(271) | 評論 (1) | 編輯 收藏 實在受不了在中文Windows下Java(Swing)程序默認(rèn)的字體,那叫一個難看。如果你和我一樣,那么希望下面的小貼士可以幫到你(以JDK 1.5.0為例): 1- 找到JRE目錄,如果你安裝的是JDK,那么在JDK的目錄下可以找到j(luò)re子目錄,就是它了;如果你安裝的JRE,那么默認(rèn)應(yīng)該在Program Files\Java\jre1.5.0_...。 2- 進(jìn)入JRE目錄下的lib文件夾,你應(yīng)該可以看到很多fontconfig開頭的文件,找到fontconfig.properties.src,拷貝一份,重命名為fontconfig.properties。 3- 打開fontconfig.properties,你會看到一大堆字體相關(guān)的配置,找到allfonts.chinese-ms936這一條(通常在最前面),可以看到默認(rèn)設(shè)置為SimSun,修改這個配置,選填你需要的字體名稱即可,如"Courier New"、"Consolas"等。 更詳細(xì)的配置,參考: http://java.sun.com/j2se/1.5.0/docs/guide/intl/fontconfig.html posted @ 2008-10-24 11:36 laogao 閱讀(3525) | 評論 (0) | 編輯 收藏 |
||