还未发布过话题
  • #4 楼 @jiffies 沒聽說有甚麼推送。HTML5 的 webSocket 嗎?怎麼兼容瀏覽器呢 @cactis Faye 大概也是用 ajax setInterval 吧。 REST 原則上不允許在 server 端保留 state 的。

  • Ruby 1.9 中文处理 at 2012年05月05日

    #10 楼 @fsword

    到了 1.9,ruby 标准库为开发者提供了一些便利条件, 不單便利而已。1.9 的 utf-8 算法是用 C 寫的,若用 1.8,我們要麼用 ruby 寫,效率太低,要麼自己編譯 C 庫,port 又很麻煩。1.9 utf-8 直接做在 libruby.so 中。

  • REST , 沒有 Request 怎麼可能有 Response 呢

  • 我为什么就学不会编程 at 2012年05月04日

    #14 楼 @ery 不懂指針和資源管理,怎縻可能寫出高效的代碼來呢?C++0x 加上了 rvalue references && 和 move 機制,簡直把高效發揮到極致了,越看越喜歡 ;) ruby 並不簡單,比如 甚麼 class instance variable, extend 和 include 的差異,block 和 proc 的差異,singleton 啦,mixin 啦,都不是那麼直觀的。python 的 self, meta class 還不如 C 的 myclass_meth (obj, arg) 來得明白。要講簡單,還是 java 最簡單,php 次之,但是很容易把程序員訓練成呆子。靈活的語言學起來纔有意思。

    python:

    for x in range(1,11) :
        pass
    
    

    ruby

    for x in 1..10
      blah
    end
    
    

    python

    def showName (self)
      print self.name
    
    

    ruby

    def show_name
     puts @name
    end
    
    

    相比較而言,還是 ruby 更直觀,更適合初學。只是真想寫出點像樣的東西,那些比較繞騰的 cloure,mixin 之類都得把原理搞清楚,那就比 ANSI-C 要難了。C 只是用起來不舒服,學起來還是相對容易的。而且所介紹的一些概念都是至關緊要的。若是我帶學生,學編程的步驟就是

    C -> JAVA -> ruby/python/javascript/C#/C++(任選)

    更外,MFC 也不好用 winform 來取代吧。除非是工作的須要,那講不了。感覺 .NET 沒甚麼前途。想作桌面程序還是學用 QT 吧。C#是很不錯的語言,比 JAVA 強得太多,只是被.NET 給限制住了。如果是自己做東西,別說跨平臺不容易,就是 win 本身,國內的一般用戶恐怕有一多半是連.net 2.0 都沒裝的。想要自己的程序不受限制,要麼做 web 要麼做 c/c++ 連 ruby/python 都是 fat ass,佈署非常頭疼的。

  • 有沒有別的環境的,我不用 emacs 的

  • Ruby 1.9 中文处理 at 2012年05月04日

    #8 楼 @TsingHan 應該是 CSI 吧,我不太清楚這個名目的具體所指。UCS 除非是用 UCS-4 的(我所知的只有 QT 和 linux 上的 python 用 ucs-4),一處理大字集就卡殼了(java/javascript/c# 都是 ucs-2)。雖有補救的辦法,但是很麻煩,比如 python,win32 上用的是 ucs-2,我們編一個支持大字集的程序,從 linux port 到 win 就很頭痛。說是 run everywhere,豈不成了空話! 而 UCS-4 是一切字符都 4 個字節,比較浪費內存的說。但是處理效率可能會高一些,因為電腦的 word 就是 32/64 位的。

    ruby 1.9 之前,本身是甚麼碼都不支持的,ruby string 就相當於 c string,只是以字節為單位。1.9 則內置了 utf-8(1 至 4 字節的不定長碼)的算法。

    UCS-2 是每字符兩字節,超出 BMP 的字用 surrogate pair UCS-4 是每字符 4 字節,unicode 全包括了 utf-8 是 1-4 字節。格式為

    0xxx xxxx - ASCII
    110x xxxx 10xx xxxx 
    1110 xxxx 10xx xxxx 10xx xxxx - 漢字 CJK  /CJK - A
    1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx - 漢字 CJK-B/C/D
    
    
    
    
    

    其中 xxx..為有效 bits,1110、 10 之類是碼長標志位。 utf-8 可直接兼容 ASCII,這就是它的最大好處。中文字都是 3 碼或 4 碼,3 碼字有效位剛好為 16,正對應 ucs-2 的雙字節碼,這個空間就叫 BMP,中文 GBK\BIG 就收容在內。然而大字集收了 7 萬字,有 4 萬多是在 BMP 之外的,如用 utf-8,因算法是固化的,一般無障礙,遇到 ucs-2 就很麻煩。如 java,你得用到 codePoint() 一類的函數,若用到 swing 還往往顯示不出。若是 js,乾脆連函數也沒有,只得自己寫算法。

  • 不懂 GTD 是個啥思路。懂行的朋友能不能簡單介紹一下,學習學習。

  • Ruby 1.9 中文处理 at 2012年05月04日

    @TsingHan 1.8 本身不支持 utf-8,比如你 打 “A一大".length,得出來的不是 3,而是 7,因為 A 一個字節,「一」「大」各三個字節。

    而 1.9 each_char , length之類默認的就是 utf8. "A一大".length就是 3,想知道字節數要用"A一大".bytesize

    此外如「𣊫」「𥗉」之類大字集的字(4 字節,不知你看到沒),python(win 版), java,javascript 都不能自識別,要當成 surrogate pair 來處理。 如 “A一𥗉大",本來只 4 個字,javascript "A一𥗉大".length得出來的卻是 5。我們要跟中文打交道,能用上 1.9 近乎完美的 utf-8 支持真是賞心樂事

  • Ruby 1.9 中文处理 at 2012年05月04日

    @TsingHan 這樣 parse 的速度更快呀,那還用問嗎!

  • 升级 Ubuntu 12.04 后的杯具 at 2012年05月04日

    我也一樣,ubuntu 真是傷不起,逼得我轉到了 arch