軟件絕對(duì)領(lǐng)域

          2007年5月10日

          http://thekaiway.com
          posted @ 2007-11-12 16:53 _Kai_ 閱讀(275) | 評(píng)論 (0)編輯 收藏
          原文地址
          下午無(wú)聊翻譯一下,看看ruby官方怎么和java對(duì)比

          相同點(diǎn):

          類(lèi)似于java,在ruby中:

            內(nèi)存管理都是由GC(garbage collector)負(fù)責(zé)。
            都是強(qiáng)類(lèi)型語(yǔ)言。
            都有public,private,protected的方法可見(jiàn)性之分。
            都有嵌入式文檔工具(ruby的叫做RDoc)。rdoc生成的文檔看起來(lái)非常像由javadoc生成的。


          不同:

          于java不同的是,在ruby中:

          你不必編譯代碼,你只需要直接運(yùn)行代碼。
          Gui開(kāi)發(fā)包不同。比如,ruby的用戶(hù)會(huì)嘗試WxRuby,F(xiàn)XRuby,Ruby-GNOME2,或者基于Ruby Tk庫(kù)。
          你要在定義任何事物(像class)后面加上關(guān)鍵字end,而不是用花括號(hào)({})來(lái)包圍代碼塊。
          使用了require代替了import。
          所有的成員變量(屬性)都是private級(jí)的。在類(lèi)外訪問(wèn)任何事物要通過(guò)方法調(diào)用。
          什么都是對(duì)象,包括2和3.14159。
          沒(méi)有靜態(tài)類(lèi)型檢查。
          變量名都只是標(biāo)簽,它們沒(méi)有與類(lèi)型相關(guān)。
          不用聲明變量類(lèi)型,你只需要賦值給新的變量名就可以了(例子,a = [1,2,3] 相當(dāng)于 int[] a = {1,2,3};)。
          沒(méi)有類(lèi)型強(qiáng)制轉(zhuǎn)換這個(gè)概念,只管調(diào)用方法就好了。
          用 foo = Foo.new( "hi") 取代這樣新建對(duì)象的方法 Foo foo = new Foo( "hi" )。
          構(gòu)造方法一直都叫“initialize”,不是和class同名的方法。
          使用“混入” 代替 “接口”。
          YAML 比 XML 更受歡迎。
          這里用nil代替null。
          ==和equals()方法處理方法不同。當(dāng)你想要測(cè)試相等性時(shí)就使用 == 操作符(就像Java的equals()方法)。當(dāng)要想要知道兩個(gè)對(duì)象是否是同一個(gè)時(shí)就使用equal?()方法(就像Java中的==)。
          posted @ 2007-10-07 19:55 _Kai_ 閱讀(621) | 評(píng)論 (0)編輯 收藏
               摘要: 早上看了Ruby論壇中有人(blackanger)寫(xiě)的TDD by Ex這本書(shū)里的資金例子,自己也想寫(xiě)一寫(xiě)。和他不同,我是全過(guò)程詳細(xì)寫(xiě)出來(lái)。第一次用Ruby寫(xiě)代碼,第一次用Ruby的Unit框架,而且下午睡醒后迷迷糊糊寫(xiě)的,可能有很多錯(cuò)誤,請(qǐng)多多指正。  閱讀全文
          posted @ 2007-10-03 21:02 _Kai_ 閱讀(850) | 評(píng)論 (0)編輯 收藏
          在Ubuntu下通過(guò)apt包管理器安裝ror環(huán)境是很方便的。我自己寫(xiě)了一個(gè)腳本:

          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


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

          我發(fā)現(xiàn)網(wǎng)上很多在安裝gem的命令都是錯(cuò)的,在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.

          這個(gè)包和ruby一點(diǎn)關(guān)系都沒(méi)有。正確的應(yīng)該是rubygems包。不知道為什么到處有人都是寫(xiě)sudo?apt-get?install gem的,很多都是轉(zhuǎn)載,有的連轉(zhuǎn)載都不聲明,直接試都不試把錯(cuò)的東西直接貼出來(lái)。

          另有人說(shuō)源里的gem很過(guò)時(shí),其實(shí)也不會(huì)。
          posted @ 2007-08-31 12:28 _Kai_ 閱讀(1994) | 評(píng)論 (0)編輯 收藏


          轉(zhuǎn)載自:http://blog.csdn.net/bvbook/archive/2007/08/20/1751786.aspx


          一、148 頁(yè)

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

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

          代碼中 flash[:notice] 應(yīng)為flash.now[:notice]

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

          兩處的 /article/1 應(yīng)為/articles/1
          ?? ??? ??? ??? ??? ??? ??? ??? ?
          七、456頁(yè)
          ?? ??? ??? ??? ??? ??? ?
          原文:默認(rèn)配置下,cache 只有在產(chǎn)品環(huán)境下才生效
          改為:默認(rèn)配置下,cache 只有在生產(chǎn)環(huán)境下才生效
          ?? ??? ??? ??? ?
          八、535頁(yè)
          ?? ??? ??? ??? ??? ??? ?
          原文:這個(gè)輔助方法就是把 remote_function 一個(gè)remote_function
          改為:這個(gè)輔助方法就是把一個(gè)remote_function

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


          我自己還發(fā)現(xiàn)了:
          P119
          代碼

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


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

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

          posted @ 2007-08-28 16:07 _Kai_ 閱讀(476) | 評(píng)論 (2)編輯 收藏
          前天用我的X1650GT和同學(xué)換了一塊7300GT,在Ubuntu折騰了一下,終于如愿以?xún)數(shù)亻_(kāi)啟了Compiz Fusion的效果,并且用gDesklets在桌面加了一些實(shí)用工具挺好玩的。

          過(guò)程也挺折騰的,先是安裝了ati的顯卡驅(qū)動(dòng)后要裝nv的驅(qū)動(dòng)碰到問(wèn)題,然后再是開(kāi)啟特效后窗口沒(méi)有了邊框。在安裝ati驅(qū)動(dòng)后裝nv的驅(qū)動(dòng)先要?jiǎng)h除幾個(gè)庫(kù)文件(libGL.so),看他提示哪個(gè)就刪除哪個(gè),然后nv驅(qū)動(dòng)才可以正常安裝。nv顯卡開(kāi)特效的邊框的問(wèn)題 只要運(yùn)行一下sudo nvidia-xconfig --add-argb-glx-visuals就OK了。

          現(xiàn)在上圖看看:









          ?




          posted @ 2007-08-28 16:03 _Kai_ 閱讀(649) | 評(píng)論 (0)編輯 收藏
          用了Ubuntu7.04一個(gè)多星期了覺(jué)得挺很不錯(cuò),很多方面比在windows下好很多。方便的硬盤(pán)安裝。一開(kāi)始是在家里的電腦安裝的,之后把硬盤(pán)拿到學(xué)校的電腦一插上去就可以用了,只需在命令行界面配置顯卡和校園網(wǎng)就OK了。Ubuntu的硬件的兼容性真是沒(méi)得說(shuō),還有人還制作了一個(gè)可以放在U盤(pán)的精簡(jiǎn)版本。Linux的整個(gè)系統(tǒng)加上所有的常用軟件比windows加上所有常用軟件的磁盤(pán)占用小很多。

          記得剛剛接觸電腦的時(shí)候就用了一段時(shí)間的RH9,覺(jué)得很神秘很帥。后來(lái)來(lái)到學(xué)校后發(fā)現(xiàn)校園網(wǎng)上不到網(wǎng),用xrgsu要么掉線要么上不到,試了sesu和fc都是這樣。因?yàn)槿f(wàn)惡的銳捷又不能用虛擬機(jī)上網(wǎng)。這次是因?yàn)橛袀€(gè)師兄用ubuntu7.04成功的上到了所以我又用回了Linux,用回了久違的VI。我不知為什么學(xué)了vi和emacs兩個(gè)編輯器,但是一直都用不慣emacs,vi就用得很順手。Linux下的編輯器就好在可以雙手不離開(kāi)鍵盤(pán),不用去用到鼠標(biāo),不過(guò)太久沒(méi)有用了,時(shí)不時(shí)手還是會(huì)想去摸鼠標(biāo),然后想一想手又縮回來(lái)按快捷鍵。

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

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

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

          不過(guò)有時(shí)一些軟件還是自己手動(dòng)安裝好。第一有個(gè)權(quán)限問(wèn)題,我的電腦還是主要用來(lái)做開(kāi)發(fā)和學(xué)習(xí)的,而且又是我自己一個(gè)人用,對(duì)于Linux系統(tǒng)一向來(lái)的用戶(hù)安全機(jī)制對(duì)我來(lái)說(shuō)有點(diǎn)多余。自動(dòng)安裝的一些軟件,有時(shí)要設(shè)置權(quán)限,比較麻煩。第二就是版本問(wèn)題,軟件源里的軟件雖說(shuō)都是穩(wěn)定版本,但是我有時(shí)想要新一點(diǎn)的版本,比如Eclilpse3.3,NetBeans6。

          在開(kāi)發(fā)時(shí)最大的好處就是編碼問(wèn)題在Linux下對(duì)utf-8的支持很好。還有好像一些ide在Linux下好像速度快一點(diǎn),還有ruby也是,反應(yīng)快了很多。正在試著Gvim+rails.vim的感覺(jué)。不過(guò)還是習(xí)慣eclipse。Linux下的軟件,要么是gtk的,要么是Qt,要么java的,感覺(jué)上至少比win32程序用起來(lái)覺(jué)得舒服一點(diǎn),完全是心理作用。

          最后有兩件事讓我不爽,一個(gè)是特效開(kāi)不到,我的顯卡是Ati 的X1650,萬(wàn)惡的ati官方驅(qū)動(dòng)不支持XGL,開(kāi)源驅(qū)動(dòng)又不支持X1650。另一件事是我用eva和QQ2006上了幾天之后登錄的時(shí)候竟然說(shuō)我“您的IP不能用低版本的QQ”,真是萬(wàn)惡的騰訊。我最后找了飄云版的QQ2007(因?yàn)椴粠фI盤(pán)鎖)才能用wine跑QQ2007。用wine+qq的時(shí)候發(fā)現(xiàn)打字那個(gè)提示框很快會(huì)不見(jiàn),我用的是fcitx,還有我不能發(fā)起語(yǔ)音請(qǐng)求,發(fā)起時(shí)qq會(huì)崩潰,別人發(fā)起我接受就正常。

          Ubuntu好好玩。

          posted @ 2007-08-22 17:22 _Kai_ 閱讀(608) | 評(píng)論 (0)編輯 收藏
          這個(gè)暑假過(guò)了一大半了,過(guò)得比較郁悶。

          今天是暑假第一次在家上網(wǎng),因?yàn)榧依镫娔X壞了,主板拿去保修,修了20天后拿回來(lái)發(fā)現(xiàn)壞得更嚴(yán)重,又要不知道修到什么時(shí)候。(體驗(yàn)了華碩的售后實(shí)在不敢恭維)只好上個(gè)星期叫同學(xué)在網(wǎng)上幫我買(mǎi)了塊二手主板,現(xiàn)在終于有電腦用一下。

          暑假前已經(jīng)計(jì)劃好了要做什么,就是要把這個(gè)學(xué)期還沒(méi)有做好的幾個(gè)應(yīng)用做好它,把picocontainer的1.0版的代碼分析和文檔漢化做完(在期末考試前因?yàn)闊o(wú)聊所以就做了這個(gè)事),還有再寫(xiě)一些有趣的代碼,比如一個(gè)簡(jiǎn)單的XML倉(cāng)庫(kù)。

          讀書(shū)的計(jì)劃提前完成了,看完了《領(lǐng)域模型驅(qū)動(dòng)》,《web開(kāi)發(fā)敏捷之道》(新鮮熱辣),《Ruby for rails》。看了一半《對(duì)象設(shè)計(jì)》,還有把《重構(gòu)》又看了一遍。

          還好帶了一些英語(yǔ)資料,手機(jī)里也存了一些英語(yǔ)的對(duì)話,每天背一篇短文,沒(méi)事練習(xí)聽(tīng)著英語(yǔ)大聲念幾句。感覺(jué)還好。

          今天看了一下敏捷大會(huì)的消息,又看了一下Thoughtworks里的強(qiáng)人的博客,覺(jué)得畢業(yè)后去那里的希望很渺茫。英語(yǔ)又差,技術(shù)和那些強(qiáng)人差了幾個(gè)數(shù)量級(jí),看來(lái)要更加更加努力。
          posted @ 2007-08-14 00:05 _Kai_ 閱讀(324) | 評(píng)論 (0)編輯 收藏
          今晚想update一下rails,結(jié)果在升級(jí)gem時(shí)出現(xiàn)錯(cuò)誤。搜索了一下找到答案

          升級(jí)Rubygems到0.9.2時(shí),會(huì)產(chǎn)生一個(gè)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下。

          運(yùn)行g(shù)em update --system升級(jí)

          轉(zhuǎn)載自:http://www.cnzxh.net/blog/Index.php?do=readArticle&articleId=145
          posted @ 2007-08-13 23:42 _Kai_ 閱讀(482) | 評(píng)論 (0)編輯 收藏
               摘要: JCreator是個(gè)輕量級(jí)的JAVA開(kāi)發(fā)工具,對(duì)JAVA文件,JSP文件和XML文件編輯有比較好的支持。因?yàn)檎娴氖呛茌p量級(jí),所以功能也很弱,沒(méi)有 JUnit集成,也沒(méi)有代碼格式化。我自己也是用管了eclipse,其中的JUnit當(dāng)然是最常用的功能,其余常用功能還有重構(gòu)和代碼整理和格式化。有時(shí)要改一點(diǎn)代碼或者實(shí)驗(yàn)一些代碼又不可能打開(kāi)一個(gè)eclipse那么笨重的工具,但是用比如JCreator,又太弱。所以我就想著把JUnit和代碼格式化功能集成到JCreator中。

          ......  閱讀全文
          posted @ 2007-05-10 00:06 _Kai_ 閱讀(2729) | 評(píng)論 (11)編輯 收藏

          公告

          碼農(nóng)一枚

          歡迎大家發(fā)E-mail到 與我討論關(guān)于軟件開(kāi)發(fā)的各種看法。

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

          導(dǎo)航

          <2007年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          統(tǒng)計(jì)

          常用鏈接

          留言簿(2)

          隨筆分類(lèi)(21)

          隨筆檔案(18)

          常去的地方

          技術(shù)站點(diǎn)

          朋友的Blog

          搜索

          最新評(píng)論

          閱讀排行榜

          主站蜘蛛池模板: 洛南县| 马龙县| 军事| 舞钢市| 司法| 古浪县| 错那县| 义马市| 出国| 合山市| 湘西| 临沂市| 澄城县| 皮山县| 乌鲁木齐县| 仁怀市| 康乐县| 阿鲁科尔沁旗| 镇宁| 罗甸县| 游戏| 陕西省| 蒙山县| 洛宁县| 壤塘县| 泰州市| 黑龙江省| 渭南市| 佛山市| 清苑县| 筠连县| 江源县| 册亨县| 七台河市| 绥德县| 房山区| 靖江市| 仁化县| 双流县| 镇巴县| 库车县|