<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    http://mypages.javaeye.com/blog/291991

    posted @ 2010-02-21 02:53 leekiang 閱讀(218) | 評論 (0)編輯 收藏

    http://andyhu1007.javaeye.com/blog/450384

    posted @ 2010-02-21 02:20 leekiang 閱讀(259) | 評論 (0)編輯 收藏

    根據 Joel Spolsky 的說法:“所有非簡單抽象,都存在某種程度的泄漏”。
    http://local.joelonsoftware.com/wiki/Chinese_%28Simplified%29

    GORM 有助于緩解抽象泄漏問題,它支持使用對 Groovy 有意義的方式表示對象模型,由 GORM 在幕后處理關系數據庫的問題。但是正如即將看到的,如果需要,覆蓋默認設置也很容易。GORM 并不是隱藏數據庫細節的不透明的 抽象層,而是一個半透明的 層 — 它嘗試在不進行用戶干預的情況下執行正確的工作,但是如果用戶需要對它的行為進行自定義,它也可以提供支持。

    http://blog.csdn.net/g9yuayon/archive/2007/03/02/1518916.aspx
    http://www.ibm.com/developerworks/cn/java/j-gaej3.html
    https://www.ibm.com/developerworks/cn/java/j-grails02128/

    posted @ 2010-02-20 23:15 leekiang 閱讀(530) | 評論 (0)編輯 收藏

    open-uri庫是ruby的標準附加庫中所帶的,路徑
    C:\Ruby1.8.7\lib\ruby\1.8\open-uri.rb

    require?'open-uri'
    open(
    'c:/boot.ini'){|file|
    ??puts?file.
    class??#File
    }
    open(
    'http://coderlee.cnblogs.com'){|file|
    ??puts?file.
    class??#Tempfile
    }
    可以看出,打開一個本機文件的塊參數是File類型,而打開一個uri的塊參數是一個Tempfile類型。還有一點要注意,就是open-uri里面的open方法會自動對302 redirection重定向地址進行追蹤訪問,而Net::HTTP#get方法則不會自動追蹤302重定向地址。(摘自這里)

    require?'nokogiri'
    require?
    'open-uri'
    doc?=?Nokogiri::HTML(open('http://www.huomo.cn'))
    doc.search(
    "//h2/a").each?do?|link|
    ??puts?link.inner_text
    ??puts?link[:href]
    end

    url?=?'http://www.google.cn/search?hl=zh-CN&q=%BC%D6%B1%A6%D3%F1'
    doc?
    =?Nokogiri::HTML.parse(open(url),?nil,?'gb2312')#不這樣寫會有亂碼

    doc.css(
    'h3.r?a.l').each?do?|link|
    ??puts?link.inner_text
    end

    doc.xpath(
    '//h3/a[@class="l"]').each?do?|link|
    ??puts?link.content
    end

    doc.search(
    'h3.r?a.l',?'//h3/a[@class="l"]').each?do?|link|
    ??puts?link.content
    end

    參考http://www.javaeye.com/topic/557485

    posted @ 2010-02-20 18:14 leekiang 閱讀(1138) | 評論 (0)編輯 收藏

    另一個常見的問題是當應用軟件要執行一個需時長的請求時,處理不當。如果實現得不好,會讓處理這個web請求的handler很長時間沒有反應。

    這個問題是在人機界面方面很普遍,而且也有一個普遍的解決方法 -- 把任務交給一個背景運行的過程或線程。任何開發過桌面應用的人都會覺得很熟悉。但是有時候如果開發者把切換和通信做得不好,也會碰到麻煩。

    一個我覺得較好的辦法,而幸好我的ThoughtWorks同事們也同意,就是使用一個actor。在這個模型里,web請求的handler把需時長的請求包裝為一個命令(command),然后放進隊列(queue)內。在背景運行的actor就監察著這個queue,從queue中提出并且執行這個命令。當它把這個命令執行完了,就通知前臺界面的actor。通常這個queue一開始會是數據庫的一個表,之后如有需要的話,再把它改為一個消息隊列(message queue)。

    和ActiveRecord的漏洞一樣,我提起這個不是因為它是Rails里特有的問題;我們在各種應用也會看到同樣的問題。值得在這里帶出是因為用Rails的人們往往很容易忘了有這樣的情況發生,也忘了有這樣的模式去解決。我們發現Rails把web開發中重復又重復的環節變得簡易和快,但是復雜的環節是仍然存在的。

    來源:http://rickylui.com/lionwiki/index.php?page=Ruby+at+ThoughtWorks
    ???? http://martinfowler.com/articles/rubyAtThoughtWorks.html

    posted @ 2010-02-20 04:42 leekiang 閱讀(374) | 評論 (0)編輯 收藏

    在netbeans6.8(使用ruby1.8.6)的一個rails項目上右鍵點擊"調試",提示未安裝版本與0\.4\..*模式匹配的ruby-debug-ide 點擊"安裝快速調試器",出現如下的錯誤:
    ------------------------------------------------------
    Building native extensions.? This could take a while...
    ERROR:? Error installing ruby-debug-ide:
    ??? ERROR: Failed to build gem native extension.

    c:/ruby/bin/ruby.exe mkrf_conf.rb
    Building native extensions.? This could take a while...

    Gem files will remain installed in c:/ruby/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.9 for inspection.
    Results logged to c:/ruby/lib/ruby/gems/1.8/gems/ruby-debug-ide-0.4.9/ext/gem_make.out
    ------------------------------------------------------
    然后在C:\ruby\lib\ruby\gems\1.8\gems下發現了剛剛生成的ruby-debug-ide-0.4.9目錄和ruby-debug-base-0.10.3目錄。

    接著在cmd里gem install ruby-debug,也報錯:
    ------------------------------
    Building native extensions.? This could take a while...
    ERROR:? Error installing ruby-debug:
    ??????? ERROR: Failed to build gem native extension.

    c:/ruby/bin/ruby.exe extconf.rb
    creating Makefile
    nmake
    'nmake' 不是內部或外部命令,也不是可運行的程序
    或批處理文件。

    Gem files will remain installed in c:/ruby/lib/ruby/gems/1.8/gems/ruby-debug-bas
    e-0.10.3 for inspection.
    Results logged to c:/ruby/lib/ruby/gems/1.8/gems/ruby-debug-base-0.10.3/ext/gem_
    make.out
    -------------------------------
    然后發現ruby-debug-base-0.10.3目錄重新生成了。

    現在說一下解決步驟:
    1,下載http://rubyforge.iasi.roedu.net/gems/ruby-debug-base-0.9.3-mswin32.gem
    ?? gem install ruby-debug-base-0.9.3-mswin32.gem
    2, 去http://rubyforge.org/projects/debug-commons/下載ruby-debug-ide-0.4.6.gem
    ?? gem install ruby-debug-ide-0.4.6.gem
    ?? 版本不能高于0.4.6,如果高了都報???????
    ????? ERROR: Failed to build gem native extension.
    ?? 0.4.7見ruby-debug-ide-0.4.7\ext\extconf.rb
    ?? 0.4.9見ruby-debug-ide-0.4.9\ext\mkrf_conf.rb
    ?? 0.4.6壓根就沒有ext目錄
    ?? 有人說要裝什么linecache.gem,我沒安裝。
    ?? 還有人裝了ruby-debug.gem,我也沒安裝。
    ?? 在http://rubyforge.mirrors.roedu.net/gems里能找到老版本。

    感謝http://hlee.javaeye.com/blog/576237

    在netbeans里調試時發現有問題,那個綠三角不能點多了,否則會影響后面的調試。


    另外不明白gem除了把文件拷到gems目錄下,還做了什么。



    后面都是記錄,僅供參考。
    How to enable Ruby debug in RubyMine 2.0 on Windows里說
    (If you installed Ruby with the zip binary, reinstall it using the one-click installer as found here. That's because currently the ruby debugger ide only works on Windows using a RubyInstaller installation). Also verify that Ruby's root path doesn't include spaces.
    1. ...略
    2. ...略
    3. ...略
    4. Open with a text editor the file command.rb that's part of the installed ruby-debug-ide19 gem. In my case, that file was under folder C:\Programmi\Ruby19\lib\ruby\gems\1.9.1\gems\ruby-debug-ide19-0.4.12\lib\ruby-debug
    5. Modify the beginning of procedure debug_eval (at line 120) so to enter a new statement between statements str = str.to_s and max_time = 10. The new statement to enter is:
      return "" if str == "$FILENAME"

      At the end, the procedure debug_eval should begin like this:
      def debug_eval(str, b = get_binding)
      ??begin str = str.to_s
      ??return "" if str == "$FILENAME"
      ??max_time = 10
      ??to_inspect = str.gsub(/\\n/, "\n")

    ruby-debug to Ruby 1.9
    如果使用的是ruby1.9,則Installation: IDE versionNetBeans 6.7.1 IDE updates.ruby-debug19 only works on Windows using a RubyInstaller installation,Do not install to a path that has a space inside of it.In both cases, you will also need to download and install the DevKit.
    原來在ruby-debug-ide 0.4.7 的release notes里說了原因:
    Patch by Mark Moseley supporting ruby-debug-base19.
    ? Dynamically installs right ruby-debug-base dependency depending on the
    ? version of a Ruby platform being used. ruby-debug-base19 is the only solution
    ? these days for 1.9 debugging, so might be temporary solution until ruby-debug
    ? projects brings official version.
    另外參見Ruby 2.0 Beta Issue: Error installing ruby-debug-ide19
    ??????? Debug supported for ruby 1.8.7?

    從下午弄到深夜還沒解決關于ruby-debug-ide的問題發現有人解決了:
    我試了下ruby1.8.6還是不行,還是報那個異常。沒法換成NetBeans6.8集成的jruby,集成的jruby中自帶ruby-debug-ide,OK了。在這里提示一下,不要選jruby.exe要選jruby.bat,希望對遇到同樣問題的人有所幫助。
    問題解決,解決步驟:1.下載rubyinstaller,安裝;2.下載devkit,解壓到根目錄后,修改 “ruby路徑”\devkit\msys\1.0.11\etc\fstab為
    “ruby路徑”/devkit/gcc/3.4.5/mingw32
    “ruby路徑”/devkit/msys/1.0.11/usr/local /usr/local
    然后在命令行窗口,gem install linecache19 這個要好長時間,耐心等待。然后gem install ruby-debug-ide19,這個就快了。這就OK了,不要在rubymine中安裝ruby-debug-ide19和linecache19,會報錯。


    某人的解決辦法:
    在RubyMine里調試提示需要安裝ruby-debug-ide,但是安裝的過程有問題,提示:
    ? ERROR: Failed to build gem native extension.
    于是想解開gem包,把里面的extension去掉。但是編輯完之后再用winrar打包gem就認不出來了。看來壓縮的格式也很重要。于是找來了tar和gzip兩個工具,tar還好,用gzip解壓和壓縮過的文件還是認不出來。只有另想別的辦法了。突然想到把文件解壓之后,應該可以用gem的工具來生成一個gem安裝文件吧。于是找了一篇制作gem的教程,把extension去掉之后制作了一個gem,居然可以順序安裝了。然后重新打開 RubyMine也可以調試了。

    Trying to install ruby-debug-ide on jruby 1.2.0
    http://youtrack.jetbrains.net/issue/RUBY-5341
    好帖Ruby調試器一覽
    一個視頻
    http://netbeans.org/kb/60/ruby/debugger-screencast.html


    201010補充:
    根本沒有那么復雜,
    裝DevKit,把DevKit\bin設置為環境變量,然后就可以在netbean中安裝和執行了

    posted @ 2010-02-19 23:22 leekiang 閱讀(1806) | 評論 (0)編輯 收藏

    posts_url ?? ?????????? http://localhost:3000/posts
    posts_path ?? ????????? /posts
    new_post_path ?? ?????? /posts/new
    edit_post_path(post)??? /post/:id/edit
    redirect_to(@post)???? 會重定向到/post/:id嗎,也就是posts_controller的show

    Expected response to be a <:redirect>, but was <200>
    測試時報錯,后發現是測試里提供的數據沒有通過驗證

    posted @ 2010-02-18 02:42 leekiang 閱讀(276) | 評論 (0)編輯 收藏

    運行redmine的測試時報錯
    Missing these required gems:
    thoughtbot-shoulda
    nofxx-object_daddy
    mocha
    在控制臺里執行gem install mocha
    gem install shoulda
    和gem install object_daddy
    到C:\ruby\lib\ruby\gems\1.8\gems下去看
    發現多了object_daddy-0.4.1,shoulda-2.10.3和mocha-0.9.8這3個目錄
    再執行測試,不報缺少mocha了,但還報缺少另外兩個jar

    在http://www.redmine.org/boards/2/topics/11130找到了辦法
    rake gems:install RAILS_ENV=test
    以下是在netbeans控制臺里輸出的信息
    gem.bat install thoughtbot-shoulda --source http://gems.github.com
    Successfully installed thoughtbot-shoulda-2.10.2
    gem.bat install nofxx-object_daddy --source http://gems.github.com
    Successfully installed nofxx-object_daddy-0.4.1

    然后到C:\ruby\lib\ruby\gems\1.8\gems下去看,發現多了兩個目錄
    nofxx-object_daddy-0.4.1和thoughtbot-shoulda-2.10.2,
    奇怪的是與前面相比,目錄名和大小都變了。

    posted @ 2010-02-17 20:01 leekiang 閱讀(448) | 評論 (0)編輯 收藏

    1,在ruby中,一個方法的最后一個表達式求值所得的值就是該方法的返回值,這時可以去掉return
    2,ruby的符號(symbol)
    ? symbol都以冒號作為前綴。rails常常用符號來給方法參數命名,以及用作hash的鍵。譬如說:
    ? redirect_to :action=>"edit",:id=>params[:id]
    3,
    class?Order?<?ActiveRecord::Base
    ?has_many?:line_items
    ?
    ?
    def?self.find_all_unpaid
    ???find(:all,?
    'paid?=?0'?)
    ?end

    ?
    def?total
    ???sum?
    =?0
    ???line_items.each?{
    |li|?sum?+=?li.total}
    ?end
    end
    在方法前加上"self.",該方法就變為類方法,可以在類層面上直接調用:Order.find_all_unpaid

    4,實例變量的名字以"@"開頭
    5,在rails項目下rake doc:app可以為rails項目創建html格式的文檔,放在doc/app目錄里。
    6,模塊(module)與類差不多,區別是無法創建模塊的實例。
    ? 我的感覺就是module是代碼片段,可以在任何類里引入作為該類的一部分。

    posted @ 2010-02-17 11:47 leekiang 閱讀(276) | 評論 (0)編輯 收藏

    				assert_select
    				assert_not_nil assigns(:people)
    				
    assigns是一個特殊的變量。如果您在控制器中創建了一個實例變量,那么這個變量
    就可以直接在視圖模板中使用。這一機制背后的原理其實很簡單:Rails首先通過反射
    將控制器中的變量拷貝到一個容器中,其后又將該容器中的變量拷貝回視圖實例。
    而這個容器其實就是上面提到的assigns,所以前面的斷言可以被理解為“控制器應該
    創建一個名為people的非空變量”。

    http://www.javaeye.com/topic/481193
    http://www.infoq.com/cn/articles/rails-for-java-excerpt
    http://www.ibm.com/developerworks/cn/web/wa-rails4/
    http://www.tkk7.com/cap/articles/rails_test.html

    新書Rails Test Prescriptions

    posted @ 2010-02-15 19:22 leekiang 閱讀(301) | 評論 (0)編輯 收藏

    僅列出標題
    共54頁: First 上一頁 15 16 17 18 19 20 21 22 23 下一頁 Last 
    主站蜘蛛池模板: 午夜免费啪视频在线观看| 无码精品人妻一区二区三区免费| 久久成人无码国产免费播放| 亚洲乱码日产精品a级毛片久久| 黄色a三级三级三级免费看| 国产一级淫片视频免费看| 老子影院午夜伦不卡亚洲| 四虎在线播放免费永久视频| 污视频网站免费观看| 亚洲精品视频久久久| 三级网站免费观看| 久久久亚洲欧洲日产国码二区| 91精品国产免费入口| 亚洲日本人成中文字幕| 超pen个人视频国产免费观看| 婷婷亚洲综合一区二区| 亚洲欧洲精品成人久久曰影片| 在线观看免费黄网站| 亚洲色欲www综合网| 好男人视频在线观看免费看片| 美女尿口扒开图片免费| 亚洲人成网亚洲欧洲无码久久 | sss在线观看免费高清| 国产午夜亚洲不卡| 91精品手机国产免费| 亚洲乱亚洲乱妇24p| 精品亚洲视频在线观看 | 在线播放高清国语自产拍免费| 朝桐光亚洲专区在线中文字幕| 国产亚洲老熟女视频| 足恋玩丝袜脚视频免费网站| 亚洲国产aⅴ成人精品无吗| 国产亚洲精品资在线| 免费人成网站在线观看10分钟| 免费夜色污私人影院网站| 亚洲黄色在线播放| 四虎影视永久免费观看网址| 久久免费公开视频| 美女又黄又免费的视频| 亚洲精品综合久久中文字幕| 亚洲AV无码之日韩精品|