漢辰攻略The palest ink is better than the best memory. |
2008年7月8日 # --XX:+DoEscapeAnalysis, off by default python 有str object 和 unicode object 兩種字符串, 都可以存放字符的字節(jié)編碼,但是他們是不同的type,這一點(diǎn)很重要,也是為什么會(huì)有encode 和decode。 ![]() ![]() ![]() ![]() ![]() str_string.encode('codec') 是先調(diào)用系統(tǒng)的缺省codec去把str_string轉(zhuǎn)換為unicode_string,然后用encode的參數(shù)codec去轉(zhuǎn)換為最終的str_string. 相當(dāng)于str_string.decode('sys_codec').encode('codec')。 ![]() ![]()
慕名Emacs是很久的事了,上個(gè)周末Google了一天終于把它在Windows下的中文化問(wèn)題初步解決了。
網(wǎng)上講述Emacs中文問(wèn)題的帖子很多,不過(guò)很多是過(guò)時(shí)的或不完整的,并以Linux下居多。很多.emacs設(shè)置看起來(lái)發(fā)生了作用,但是在我的機(jī)器上不是顯示方塊,就是半個(gè)中文字符。前者懷疑未配置好Emacs使其無(wú)法讀取系統(tǒng)字體,后者懷疑字符寬度設(shè)置還有問(wèn)題,苦于無(wú)暇深究。 最后找到一篇Emacs 中文化指南[http://17xie.com/read-103809.html],講述了在Windows下使用了X11的BDF字體配置Emacs的過(guò)程,下載安裝了intlfont,改了相應(yīng)的emacs設(shè)置,Bingo!!!,一試就通。不過(guò)字庫(kù)還是GB2312的,想把Mule-GBK 和BDF 字體配置在一起,未成功。 貼張圖慶賀一下
EMacs常用命令集:
C-x C-s 當(dāng)前文件存盤(pán) C-x s 所有文件存盤(pán),根據(jù)提示確認(rèn)是否保存指定文件 C-x C-b 列出緩存 C-x C-f 查找文件,如果不存在則新建,如果已打開(kāi)則切換為當(dāng)前文件 C-x 數(shù)字 關(guān)閉其它窗,只顯示當(dāng)前主窗體。也可以輸入其它數(shù)打開(kāi)多窗 C-x o 切換到另一個(gè)打開(kāi)的窗 C-z 臨時(shí)退出,在X中相當(dāng)于最小化,在Console中可以用"fg"或者"%emacs"返回。 C-x C-c 退出 C-u 數(shù)字 前綴參數(shù),常用于重復(fù)執(zhí)行命令,如插入8個(gè)*符:C-u 8 * M-x recover 文件名<回車(chē)> 恢復(fù)文件到上次自動(dòng)保存的狀態(tài),常用于系統(tǒng)崩潰時(shí) C-h m 當(dāng)前模式的說(shuō)明文檔,每種模式都略有些許不同 C-h i 常用shell命令的說(shuō)明文檔 常用移動(dòng)命令: C-v 向下翻頁(yè) C-M-v 另一窗向下翻頁(yè) M-v 向上翻頁(yè) C-l 移動(dòng)到光標(biāo)位置 M- <- 移到文首 M- -> 移到文尾 C-a 移到行首 M-a 移到句首 C-e 移到行尾 M-e 移到句尾 C-p 上移一行 C-n 下移一行 C-b 左移一位 M-b 左移一字 C-f 右移一位 M-f 右移一字 常用編輯命令: C-k 刪除到當(dāng)前行尾 M-k 刪除到當(dāng)前句尾 C-g 中斷執(zhí)行 C-w Cut marked region A-w Copy marked region C-y 取回所有刪除的行,默認(rèn)顯示最后刪除的行 M-y C-y取回所有刪除的行之后,切換顯示之前刪除的行 C-x C-x Mark the region from the current cursor to last mark point, 可以方便的重復(fù)Mark C-x h Mark the whole buffer C-x u 撤消 C-x C-a C-l Revert a buffer g 刷新Dired mode buffer 常用查找命令: C-s 向前查找 C-r 向后查找 M-g M-g Goto a line 進(jìn)入Hex mode M-x hexl-mode ,C-c C-c 退出 換行: 不嫌煩的,每次M-x toggle-truncate-lines切換換行與不換行
寫(xiě)這篇東西,是本著好記性不如爛筆頭的原則把自己配置LaTex的過(guò)程粗略地記錄下來(lái)以備后查。
LaTex 是用了20多年的排版工具。因其專業(yè)的排版質(zhì)量和對(duì)大文檔處理能力,流行于學(xué)術(shù)界,大多數(shù)研究生博士生都用它寫(xiě)自己畢業(yè)論文。 自己3年前曾也想用它寫(xiě)碩士論文,但迫于時(shí)間壓力,后來(lái)還是改用了WYSWYG的StarOffice(Sun的產(chǎn)品,基于OpenOffice)。 不用Word,因?yàn)橛盟庉嬑业?0頁(yè)論文時(shí),總是無(wú)可挽回地讓我的機(jī)器崩潰,當(dāng)時(shí)系統(tǒng)還是Windows2000。 下面先離題談一談近期讀程序員修煉之道一書(shū)的兩個(gè)體會(huì),也想闡述一下我為什么對(duì)用LaTex統(tǒng)一創(chuàng)建項(xiàng)目文檔感興趣 1)DRY(Don't Repeat Yourself),這是作者(Andrew Hunt/David Thomas)提到的重要原則,應(yīng)貫徹到軟件開(kāi)發(fā)的各個(gè)方面。其中一方面暗示開(kāi)發(fā)流程中應(yīng)盡可能保持同一級(jí)別信息的儲(chǔ)備唯一化,而不應(yīng)有多處載體包含同級(jí)別信息。比如從測(cè)試規(guī)范應(yīng)可以直接導(dǎo)出TestCase,數(shù)據(jù)庫(kù)定義規(guī)范直接導(dǎo)出數(shù)據(jù)庫(kù)腳本等等。 2)工欲善其事,必先利其器。專業(yè)的程序員除了熟悉自己吃飯用的編程語(yǔ)言外,還需懂得各種輔助工具特別是Perl/Python/Shell一類的腳本語(yǔ)言,因其廣泛存在于各種平臺(tái)中,并有很好的正則表達(dá)式和純文本操縱能力。例如,用他們可以幫助實(shí)現(xiàn)項(xiàng)目文檔的自動(dòng)生成和發(fā)布等等。比如上面的信息導(dǎo)出就是一個(gè)應(yīng)用目標(biāo)。 要達(dá)到這樣地目的,必須要用純文本作為信息載體。但是,對(duì)于習(xí)慣于閱讀Word,PDF,HTML等格式化文檔的人們來(lái)說(shuō),純文本卻不太合適。所以3年前的LaTex又浮現(xiàn)在我的眼前。LaTex 很符合DRY原則,文檔信息和格式化信息都用純文本方式保存,但最終發(fā)布形式可以用LaTex自動(dòng)生成,或PDF,或HTML,自己選擇。 LaTex難以學(xué)習(xí)是一大詬病,但是個(gè)人認(rèn)為,軟件開(kāi)發(fā)文檔有比較統(tǒng)一的格式化規(guī)范,只要有現(xiàn)成的模板,普通程序員可以通過(guò)短時(shí)間學(xué)習(xí)掌握基本的編輯能力。 下面言歸正傳: 大家時(shí)間都不多,Windows下使用LaTex最方便的辦法是安裝MiCTex套裝,其主要包括MikTex(LaTex的一種實(shí)現(xiàn)),SciTE(LaTex文檔編輯器),Tex4ht(LaTex文檔到Html轉(zhuǎn)換器)等,還捆綁了一些入門(mén)學(xué)習(xí)資料。 LaTex內(nèi)核無(wú)法識(shí)別超越ASCII的編碼,中文處理是以外掛的方式進(jìn)行的。CJK是目前使用的最多的LaTex的中文化包,MiCTex也包括了,不過(guò)中文字體還需配置(也可能因?yàn)槲业南到y(tǒng)是英文的XP所致)。 比較了網(wǎng)上Google到的資料,Helmer Aslaksen的這篇文章最全面和正確的描述了中文配置過(guò)程 Chinese TeX Using the CJK LaTeX Package, Unicode TrueType Fonts and pdfTeX under Windows http://www.math.nus.edu.sg/aslaksen/cs/cjk.html MiCTex作者最近也提供了一個(gè)中文字體自動(dòng)配置工具,可以很方便的生成各類字體配置文件,并支持UTF8或GBK編碼,很好用。我用它安裝了系統(tǒng)中的微軟宋體,黑體。結(jié)果比上面Cyberbit字體好。 http://bbs.ctex.org/viewthread.php?tid=44496&extra=page%3D1 下面可以下載到其他免費(fèi)字體文件 http://www.wazu.jp/gallery/Fonts_ChineseSimplified.html Tex4ht是MiCTex捆綁的LaTex2Html轉(zhuǎn)換工具,英文很不錯(cuò),中文有點(diǎn)問(wèn)題,還要下功夫看看那里出問(wèn)題。我自己很憧憬以HTML的形式發(fā)布和更新項(xiàng)目文檔,簡(jiǎn)單實(shí)用,這個(gè)發(fā)布過(guò)程可以作為一個(gè)步驟加入每晚的Build。 |