軟件絕對領域

          2007年11月12日

          http://thekaiway.com
          posted @ 2007-11-12 16:53 _Kai_ 閱讀(274) | 評論 (0)編輯 收藏

          2007年10月7日

          原文地址
          下午無聊翻譯一下,看看ruby官方怎么和java對比

          相同點:

          類似于java,在ruby中:

            內存管理都是由GC(garbage collector)負責。
            都是強類型語言。
            都有public,private,protected的方法可見性之分。
            都有嵌入式文檔工具(ruby的叫做RDoc)。rdoc生成的文檔看起來非常像由javadoc生成的。


          不同:

          于java不同的是,在ruby中:

          你不必編譯代碼,你只需要直接運行代碼。
          Gui開發包不同。比如,ruby的用戶會嘗試WxRuby,FXRuby,Ruby-GNOME2,或者基于Ruby Tk庫。
          你要在定義任何事物(像class)后面加上關鍵字end,而不是用花括號({})來包圍代碼塊。
          使用了require代替了import。
          所有的成員變量(屬性)都是private級的。在類外訪問任何事物要通過方法調用。
          什么都是對象,包括2和3.14159。
          沒有靜態類型檢查。
          變量名都只是標簽,它們沒有與類型相關。
          不用聲明變量類型,你只需要賦值給新的變量名就可以了(例子,a = [1,2,3] 相當于 int[] a = {1,2,3};)。
          沒有類型強制轉換這個概念,只管調用方法就好了。
          用 foo = Foo.new( "hi") 取代這樣新建對象的方法 Foo foo = new Foo( "hi" )。
          構造方法一直都叫“initialize”,不是和class同名的方法。
          使用“混入” 代替 “接口”。
          YAML 比 XML 更受歡迎。
          這里用nil代替null。
          ==和equals()方法處理方法不同。當你想要測試相等性時就使用 == 操作符(就像Java的equals()方法)。當要想要知道兩個對象是否是同一個時就使用equal?()方法(就像Java中的==)。
          posted @ 2007-10-07 19:55 _Kai_ 閱讀(616) | 評論 (0)編輯 收藏

          2007年10月3日

               摘要: 早上看了Ruby論壇中有人(blackanger)寫的TDD by Ex這本書里的資金例子,自己也想寫一寫。和他不同,我是全過程詳細寫出來。第一次用Ruby寫代碼,第一次用Ruby的Unit框架,而且下午睡醒后迷迷糊糊寫的,可能有很多錯誤,請多多指正。  閱讀全文
          posted @ 2007-10-03 21:02 _Kai_ 閱讀(841) | 評論 (0)編輯 收藏

          2007年8月31日

          在Ubuntu下通過apt包管理器安裝ror環境是很方便的。我自己寫了一個腳本:

          sudo apt-get install build-essential gcc g++ libssl0.9.8 libssl0.9.8-dbg libssl-dev build-essential
          sudo apt-get install ruby
          sudo apt-get install libzlib-ruby rdoc ri irb ruby1.8-dev
          sudo apt-get install libzlib-ruby
          sudo apt-get install rubygems
          sudo gem update --system
          sudo gem install rails -y
          sudo gem install rails --include-dependencies
          sudo gem install mongrel -y
          sudo gem install mongrel_cluster --include-dependencies
          sudo apt-get install libopenssl-ruby
          sudo apt-get install libgd-ruby1.8 libyaml-ruby libzlib-ruby
          sudo apt-get install imagemagick
          sudo apt-get install libmagick9-dev ruby1.8-dev
          sudo gem install RMagick? -y


          直接把上面的一串保存在一個文本文件中,然后用sh命令執行就可以一步安裝完成了。

          我發現網上很多在安裝gem的命令都是錯的,在Ubuntu里gem包不是ruby的gem,ubuntu下gem包的解釋如下:
          Graphics Environment for Multimedia - PureData library
          Gem is a loadable library for puredata, which adds OpenGL graphics rendering
          and animation to Pd.? Pd is a graphical programming language and computer
          music system.

          這個包和ruby一點關系都沒有。正確的應該是rubygems包。不知道為什么到處有人都是寫sudo?apt-get?install gem的,很多都是轉載,有的連轉載都不聲明,直接試都不試把錯的東西直接貼出來。

          另有人說源里的gem很過時,其實也不會。
          posted @ 2007-08-31 12:28 _Kai_ 閱讀(1988) | 評論 (0)編輯 收藏

          2007年8月28日



          轉載自:http://blog.csdn.net/bvbook/archive/2007/08/20/1751786.aspx


          一、148 頁

          英文: We check that the name is present and unique
          原文:我們首先檢查用戶名與密碼都不為空 ?

          二、148頁
          ?? ??? ??? ??? ??? ??? ?
          英文:We check that the name is present and unique
          原文:我們首先檢查用戶名與密碼都不為空
          改為:我們首先檢查用戶名不為空
          ?? ??? ??? ??? ?
          三、153頁

          代碼中 flash[:notice] 應為flash.now[:notice]

          四、310頁
          ?? ??? ??? ??? ??? ??? ?
          列表中第二個“使用save方法時”應為“使用save!方法時“
          ?? ??? ??? ??? ??? ??? ?
          五、407頁
          ?? ??? ??? ??? ??? ??? ?
          英文:Instead, they provide a regular (and simple) interface to a set of resources.
          原文:它們只要為一組資源提供一個普通(并且簡單)的接口就行了
          改為:它們只要為一組資源提供一個規則(并且簡單)的接口就行了
          ?? ??? ??? ??? ?
          六、408頁

          兩處的 /article/1 應為/articles/1
          ?? ??? ??? ??? ??? ??? ??? ??? ?
          七、456頁
          ?? ??? ??? ??? ??? ??? ?
          原文:默認配置下,cache 只有在產品環境下才生效
          改為:默認配置下,cache 只有在生產環境下才生效
          ?? ??? ??? ??? ?
          八、535頁
          ?? ??? ??? ??? ??? ??? ?
          原文:這個輔助方法就是把 remote_function 一個remote_function
          改為:這個輔助方法就是把一個remote_function

          九、554頁
          ?? ??? ??? ??? ??? ??? ?
          原文:表單可以這些方法交互以提交用戶輸入的內容
          改為:表單可以與這些方法交互以提交用戶輸入的內容
          ?? ??? ??? ??? ?
          十、106頁 代碼
          ?? ??? ??? ??? ?
          @product = Product.find(params[:id])
          應為?? ??? ?
          product = Product.find(params[:id])
          110、117相應的代碼也需要改正。


          我自己還發現了:
          P119
          代碼

          ??? <%= form_remote_tag :url => { :action => :add_to_cart, :id => product } %> ?
          ???? <%= submit_tag "Add to Cart" %> ?
          ??? <% end %> ?
          應為:
          代碼
          ?? <%= form_remote_tag :url => { :action => :add_to_cart, :id => product } %> ?
          ????? <%= submit_tag "Add to Cart" %> ?
          ?? <%= end_form_tag %> ?


          106頁
          代碼
          @product = Product.find(params[:id])
          應該是
          product = Product.find(params[:id])
          ?? ??? ??? ??? ??? ??? ?
          ?? ??? ??? ??? ??? ??? ?

          ?? ??? ??? ??? ?

          posted @ 2007-08-28 16:07 _Kai_ 閱讀(458) | 評論 (2)編輯 收藏
          前天用我的X1650GT和同學換了一塊7300GT,在Ubuntu折騰了一下,終于如愿以償地開啟了Compiz Fusion的效果,并且用gDesklets在桌面加了一些實用工具挺好玩的。

          過程也挺折騰的,先是安裝了ati的顯卡驅動后要裝nv的驅動碰到問題,然后再是開啟特效后窗口沒有了邊框。在安裝ati驅動后裝nv的驅動先要刪除幾個庫文件(libGL.so),看他提示哪個就刪除哪個,然后nv驅動才可以正常安裝。nv顯卡開特效的邊框的問題 只要運行一下sudo nvidia-xconfig --add-argb-glx-visuals就OK了。

          現在上圖看看:









          ?




          posted @ 2007-08-28 16:03 _Kai_ 閱讀(645) | 評論 (0)編輯 收藏

          2007年8月22日

          用了Ubuntu7.04一個多星期了覺得挺很不錯,很多方面比在windows下好很多。方便的硬盤安裝。一開始是在家里的電腦安裝的,之后把硬盤拿到學校的電腦一插上去就可以用了,只需在命令行界面配置顯卡和校園網就OK了。Ubuntu的硬件的兼容性真是沒得說,還有人還制作了一個可以放在U盤的精簡版本。Linux的整個系統加上所有的常用軟件比windows加上所有常用軟件的磁盤占用小很多。

          記得剛剛接觸電腦的時候就用了一段時間的RH9,覺得很神秘很帥。后來來到學校后發現校園網上不到網,用xrgsu要么掉線要么上不到,試了sesu和fc都是這樣。因為萬惡的銳捷又不能用虛擬機上網。這次是因為有個師兄用ubuntu7.04成功的上到了所以我又用回了Linux,用回了久違的VI。我不知為什么學了vi和emacs兩個編輯器,但是一直都用不慣emacs,vi就用得很順手。Linux下的編輯器就好在可以雙手不離開鍵盤,不用去用到鼠標,不過太久沒有用了,時不時手還是會想去摸鼠標,然后想一想手又縮回來按快捷鍵。

          Ubuntu的中文社區很活躍,中文的資料又多得不得了,一般有什么問題搜索一下就可以查找到。

          Ubuntu下用得最爽的是FireFox,好像沒有windows下的內存泄漏現象。Linux下的BT軟件就不怎樣,還是用wine+比特精靈比較好。相對于bt,linux下的電驢軟件就很厲害了,MLDonkey很快,最高能過1M/s。

          下載安裝軟件,Ubuntu繼承了Debian系的apt-get系列的方便,很大得方便了我這類懶人。只要一個命令就可以簡單地在非圖形界面安裝軟件,而且自動安裝軟件源中最新的版本,一并安裝配置。只是把軟件安裝到哪里要自己去查找,有時是挺麻煩的,比如在安裝后要修改配置文件的時候,特別是安裝時文件分得很散,在配置radrails時要求輸入rails和rake的路徑。不過用了一段時間后熟悉了目錄的配置之后就要找程序文件就簡單多了,程序文件一般放在/usr/bin下。

          不過有時一些軟件還是自己手動安裝好。第一有個權限問題,我的電腦還是主要用來做開發和學習的,而且又是我自己一個人用,對于Linux系統一向來的用戶安全機制對我來說有點多余。自動安裝的一些軟件,有時要設置權限,比較麻煩。第二就是版本問題,軟件源里的軟件雖說都是穩定版本,但是我有時想要新一點的版本,比如Eclilpse3.3,NetBeans6。

          在開發時最大的好處就是編碼問題在Linux下對utf-8的支持很好。還有好像一些ide在Linux下好像速度快一點,還有ruby也是,反應快了很多。正在試著Gvim+rails.vim的感覺。不過還是習慣eclipse。Linux下的軟件,要么是gtk的,要么是Qt,要么java的,感覺上至少比win32程序用起來覺得舒服一點,完全是心理作用。

          最后有兩件事讓我不爽,一個是特效開不到,我的顯卡是Ati 的X1650,萬惡的ati官方驅動不支持XGL,開源驅動又不支持X1650。另一件事是我用eva和QQ2006上了幾天之后登錄的時候竟然說我“您的IP不能用低版本的QQ”,真是萬惡的騰訊。我最后找了飄云版的QQ2007(因為不帶鍵盤鎖)才能用wine跑QQ2007。用wine+qq的時候發現打字那個提示框很快會不見,我用的是fcitx,還有我不能發起語音請求,發起時qq會崩潰,別人發起我接受就正常。

          Ubuntu好好玩。

          posted @ 2007-08-22 17:22 _Kai_ 閱讀(603) | 評論 (0)編輯 收藏

          2007年8月14日

          這個暑假過了一大半了,過得比較郁悶。

          今天是暑假第一次在家上網,因為家里電腦壞了,主板拿去保修,修了20天后拿回來發現壞得更嚴重,又要不知道修到什么時候。(體驗了華碩的售后實在不敢恭維)只好上個星期叫同學在網上幫我買了塊二手主板,現在終于有電腦用一下。

          暑假前已經計劃好了要做什么,就是要把這個學期還沒有做好的幾個應用做好它,把picocontainer的1.0版的代碼分析和文檔漢化做完(在期末考試前因為無聊所以就做了這個事),還有再寫一些有趣的代碼,比如一個簡單的XML倉庫。

          讀書的計劃提前完成了,看完了《領域模型驅動》,《web開發敏捷之道》(新鮮熱辣),《Ruby for rails》。看了一半《對象設計》,還有把《重構》又看了一遍。

          還好帶了一些英語資料,手機里也存了一些英語的對話,每天背一篇短文,沒事練習聽著英語大聲念幾句。感覺還好。

          今天看了一下敏捷大會的消息,又看了一下Thoughtworks里的強人的博客,覺得畢業后去那里的希望很渺茫。英語又差,技術和那些強人差了幾個數量級,看來要更加更加努力。
          posted @ 2007-08-14 00:05 _Kai_ 閱讀(319) | 評論 (0)編輯 收藏

          2007年8月13日

          今晚想update一下rails,結果在升級gem時出現錯誤。搜索了一下找到答案

          升級Rubygems到0.9.2時,會產生一個Error:

          ERROR:  While executing gem ... (NoMethodError)
              undefined method `refresh' for #<......>

          解決方法:
          刪除掉source_cache文件,win是在$ruby安裝目錄\lib\ruby\gems\1.8,linux是在/usr/local/lib/ruby/gems/1.8/source_cache下。

          運行gem update --system升級

          轉載自:http://www.cnzxh.net/blog/Index.php?do=readArticle&articleId=145
          posted @ 2007-08-13 23:42 _Kai_ 閱讀(477) | 評論 (0)編輯 收藏

          2007年5月10日

               摘要: JCreator是個輕量級的JAVA開發工具,對JAVA文件,JSP文件和XML文件編輯有比較好的支持。因為真的是很輕量級,所以功能也很弱,沒有 JUnit集成,也沒有代碼格式化。我自己也是用管了eclipse,其中的JUnit當然是最常用的功能,其余常用功能還有重構和代碼整理和格式化。有時要改一點代碼或者實驗一些代碼又不可能打開一個eclipse那么笨重的工具,但是用比如JCreator,又太弱。所以我就想著把JUnit和代碼格式化功能集成到JCreator中。

          ......  閱讀全文
          posted @ 2007-05-10 00:06 _Kai_ 閱讀(2722) | 評論 (11)編輯 收藏
          僅列出標題  下一頁

          公告

          碼農一枚

          歡迎大家發E-mail到 與我討論關于軟件開發的各種看法。

          最新Blog地址:http://thekayway.com/

          導航

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統計

          常用鏈接

          留言簿(2)

          隨筆分類(21)

          隨筆檔案(18)

          常去的地方

          技術站點

          朋友的Blog

          搜索

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 青海省| 苍溪县| 昭平县| 建瓯市| 蚌埠市| 弋阳县| 苗栗市| 文昌市| 钦州市| 南澳县| 桃江县| 永仁县| 深泽县| 安仁县| 长宁区| 邢台县| 屯昌县| 永嘉县| 永平县| 开原市| 浪卡子县| 扎赉特旗| 东兰县| 长治市| 淮滨县| 蒲江县| 漠河县| 津市市| 通城县| 中江县| 梧州市| 横山县| 军事| 繁峙县| 家居| 玉林市| 新干县| 佳木斯市| 伊春市| 临泽县| 洪湖市|