漢辰攻略

          The palest ink is better than the best memory.

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            8 Posts :: 1 Stories :: 3 Comments :: 0 Trackbacks

          2008年7月8日 #

        1. C-j: Insert a new line with the same indentation level as the current line
        2. RET: Insert a new line with the same indentation level as the current line
        3. C-M-a: Go to the beginning of the current function or class
        4. C-M-e: Go to the end of the current function or class
        5. C-M-h: Mark the current function or class for copying, etc.
        6. C-M-x: Execute the current function or class
        7. C-c C-b: Submit a bug report
        8. C-c C-c: Execute the buffer (i.e., the file being displayed)
        9. C-c C-d: Trace the stack of the process being executed
        10. C-c C-h: Get context-based help
        11. C-c TAB: Indent a highlighted (or marked) region
        12. C-c C-k: Mark a block of text. Using this at the head of a class or function definition will mark the entire block.
        13. C-c C-l: Shift the region to the left. If the cursor is in the middle of a region, the lower half of the region will shift.
        14. C-c RET: Execute the current file, opening a new window to show the output.
        15. C-c C-n: Jump to the next statement.
        16. C-c C-p: Jump to the previous statement.
        17. C-c C-r: Shift the region to the right. If the cursor is in the middle of a region, the lower half of the region will shift.
        18. C-c C-s: Execute a Python command.
        19. C-c C-t: Toggle shells
        20. C-c C-u: Go up one block
        21. C-c C-v: List the version of the Python mode
        22. C-c C-w: Run PyChecker
        23. C-c !: Open the Python interactive shell
        24. C-c #: Comment the highlighted (marked) region
        25. C-c :: Check the indentation off-set
        26. C-c <: Shift the region to the left
        27. C-c >: Shift the region to the right
        28. C-c ?: Show Python mode documentation
        29. C-c |: Execute the highlighted (marked) part of the current program.
        30. posted @ 2008-11-12 14:11 漢辰 閱讀(1071) | 評(píng)論 (0)編輯 收藏

          --XX:+DoEscapeAnalysis, off by default
          如果一個(gè)對(duì)象的所有引用都是限于某一局部范圍,去掉對(duì)象上的鎖
          --XX:+UseBiasedLocking, on by default
          對(duì)多次取鎖的操作,比如循環(huán),不釋放Lease即使鎖已被釋放,避免費(fèi)時(shí)的取Lease操作 (最有效)
          --XX:+EliminateLocks, on by default
          如果一段代碼經(jīng)常性的加鎖和解鎖,在解鎖與下次加鎖之間又沒(méi)干什么事情,則可以將多次加加鎖解鎖操作合并成一對(duì)。也稱為L(zhǎng)ock Coarsening (鎖粗化)

          http://www.infoq.com/articles/java-threading-optimizations-p1
          posted @ 2008-10-30 15:33 漢辰 閱讀(672) | 評(píng)論 (0)編輯 收藏

          python 有str object 和 unicode object 兩種字符串, 都可以存放字符的字節(jié)編碼,但是他們是不同的type,這一點(diǎn)很重要,也是為什么會(huì)有encode 和decode。

          encode 和 decode在pyhton 中的意義可表示為

                                                                            encode
                                                        unicode -------------------------> str
                                                        unicode <--------------------------str
                                                                            decode
          幾種常用法:
          str_string.decode('codec') 是把str_string轉(zhuǎn)換為unicode_string, codec是源str_string的編碼方式
          unicode_string.encode('codec') 是把unicode_string 轉(zhuǎn)換為str_string,codec是目標(biāo)str_string的編碼方式
          str_string.decode('from_codec').encode('to_codec') 可實(shí)現(xiàn)不同編碼的str_string之間的轉(zhuǎn)換
          比如:

          >>> t='長(zhǎng)城'
          >>> t
          '\xb3\xa4\xb3\xc7'
          >>> t.decode('gb2312').encode('utf-8')
          '\xe9\x95\xbf\xe5\x9f\x8e'

          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')。

          unicode_string.decode('codec') 基本沒(méi)有意義,unicode 在python里只用一種unicode編碼,UTF16或者UTF32(編譯python時(shí)就已經(jīng)確定),沒(méi)有編碼轉(zhuǎn)換的需要。 

          注:缺省codec在site-packages下的sitecustomize.py文件中指定,比如

          import sys
          sys.setdefaultencoding(
          'utf-8')



           

          posted @ 2008-09-09 15:49 漢辰 閱讀(13138) | 評(píng)論 (1)編輯 收藏

          慕名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 字體配置在一起,未成功。

          貼張圖慶賀一下
          posted @ 2008-07-28 13:47 漢辰 閱讀(941) | 評(píng)論 (0)編輯 收藏

          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切換換行與不換行
          一勞永逸的,M-x customize-option,輸入truncate-partial-width-windows,將出來(lái)的設(shè)置頁(yè)面中的參數(shù)改為off,然后保存(Save for future sessions)
          另外說(shuō)一句,M-x auto-fill-mode也是切換換行模式,不過(guò)這是要在文章內(nèi)容里插入回車(chē)符號(hào)

          posted @ 2008-07-11 22:16 漢辰 閱讀(424) | 評(píng)論 (0)編輯 收藏

          寫(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。

          posted @ 2008-07-08 14:20 漢辰 閱讀(1883) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 遂平县| 营山县| 克什克腾旗| 青冈县| 云林县| 科尔| 博罗县| 五家渠市| 长乐市| 温州市| 太谷县| 武强县| 吉首市| 祁东县| 美姑县| 尉氏县| 察雅县| 芷江| 汝城县| 贵州省| 汕头市| 奉新县| 镇沅| 肥东县| 大冶市| 镇巴县| 屏南县| 南陵县| 麻城市| 朝阳区| 原阳县| 盐津县| 五家渠市| 微博| 郓城县| 宜都市| 神农架林区| 台东县| 广河县| 丰原市| 禄丰县|