【Ruby】Ruby on Rails Part6
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/10/24(金) 17:46:53ID:???http://pc11.2ch.net/test/read.cgi/php/1207425569/
■参考サイト
<英語>
本家:http://www.rubyonrails.org
API document:http://api.rubyonrails.com/
開発者のblog:http://weblog.rubyonrails.org/
参考wiki:http://wiki.rubyonrails.org/rails
<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/
■参考スレ
Rubyについて Part 33
http://pc11.2ch.net/test/read.cgi/tech/1223709050/
Ruby 初心者スレッド Part 22
http://pc11.2ch.net/test/read.cgi/tech/1221467121/
0511nobodyさん
2009/03/08(日) 11:25:07ID:???508はごくごく正論だと思うが。
ここはそもそも教えてスレじゃないんだから、答えるのは飽くまでその人の善意。
自分のほしい答えがもらえなかったからって逆ギレしなさんな。
0512nobodyさん
2009/03/08(日) 12:09:33ID:???測定したわけじゃないから体感レベルだが確かに速い。
1日10万とか20万PVくらいまでなら1.8でもいいが、
100万を超えるなら1.9だろう。
あと個人的なべき論を、
まるで正統かのようにレスするのはおれもどうかと思う。
0513nobodyさん
2009/03/08(日) 13:05:37ID:???Rubyist Magazine - Ruby 1.9 で Web アプリを想定したベンチマークをとってみた
http://jp.rubyist.net/magazine/?0025-Ruby19_Performance
> ベンチマークの最後として、データベース処理を含めたベンチマークを実行してみます。
> 内容はコメントつきの Blog アプリケーションであり、使用したデータベースとデータ件数は
> 以下の通りです。
>
> * MySQL バージョン: 5.0.67
> * データ件数: ユーザ 10 人 + ブログエントリ 5000 件 + コメント 10000 件
(中略)
> この結果から、次のようなことがわかります。
>
> * Ruby による消費時間を比べると、Ruby 1.8.7 より 1.9.1 のほうが約 1 % ほど速い。
> * 全体の実行時間のうち、Ruby による消費時間はわずか数パーセントにすぎない。
結論:
1.9系で速くなったのは科学計算等で使うようなアルゴリズムの部分であって、基本的に
文字列操作がメインのWebアプリケーションでは目立った高速化はない。
またWebアプリケーションのボトルネックはDBであることがほとんどであり、Ruby処理系
が数倍高速になったとしても、全体のパフォーマンスに与える影響は限定的なものである
場合が多い。
0515nobodyさん
2009/03/08(日) 13:38:23ID:???0516nobodyさん
2009/03/08(日) 13:42:11ID:???webアプリにとって大きいんじゃないの?
0517nobodyさん
2009/03/08(日) 15:30:33ID:???長期的にはそうだね。
ただ今の時点でRailsのスレッドセーフオプションを有効にして、さらにRuby1.9で
動かすのは人柱以外の何者でもない。
何か問題があっても自己解決できないような素人にはオススメできないのは当然。
0518nobodyさん
2009/03/08(日) 16:12:24ID:???こんな例で比べられてもw
MySQLのくそ頭の悪いオプティマイザー+エンジンで結合使うとかそれこそ自殺行為だからw
純粋な計算処理とViewのところは参考になったけど
あと1.8と1.9の両方で動くプログラムで比べても意味ないから
まんま入れ替えて動作して高速化してとか期待してないし、
そもそも動かないだろうし
0519nobodyさん
2009/03/08(日) 17:00:41ID:???DBはどれがいいの? やっぱりオラクル?
0520nobodyさん
2009/03/08(日) 18:03:31ID:???言われてただろ。
MatzだったかささださんだったかYuguiさんだったか誰か忘れたけど、そういう趣旨
の話をどっかで聞いた記憶がある。
0521nobodyさん
2009/03/08(日) 18:19:54ID:???EngineYardの計測データだと、素のPHPには負けてもCakePHPみたいな
フレームワークと比べると数倍は速いらしい。(さらにそれよりもMerbの
ほうが速いというオチはついてるが)
Railsの何が問題かというと、メモリの爆食い。
これはMerbにも共通することなので、3.0で統合されても当面解決しそうにない。
メモリ使用量の少ないフレームワークにはWavesとかSinatraとかあるら
しいが、いまいちマイナーで実績がなさそうなのが難点。
0522nobodyさん
2009/03/08(日) 18:54:45ID:???いらんライブラリー読みまくってるとか、アクティブレコードで消費してるとかか?
0524nobodyさん
2009/03/08(日) 22:04:45ID:???メモリを節約して使うという設計になってないだけだ
メモリを節約するとCPU時間を食うから、メモリを使うように設計しただけ
メモリのほうが大事な人はRuby使ったら駄目
0525nobodyさん
2009/03/08(日) 22:24:38ID:???速度を重視するなら、メモリにコンテンツ展開して外部記憶(HDD)へのアクセスを減らす
空間(メモリ節約)重視なら、必要になる度にHDDから読み込んで使い終わったらすぐ開放
0526nobodyさん
2009/03/08(日) 22:27:06ID:???はやいし
0527nobodyさん
2009/03/08(日) 23:05:04ID:???PythonをRubyと同じ動作するように作ったら、Rubyと同じ速さになる
たとえば、Rubyからeval機能を無くせば一定の速度向上が望めるが、それはきっとRubyではない
0528nobodyさん
2009/03/08(日) 23:11:42ID:???ttp://blog.prokrams.com/2008/08/27/ironruby-vs-jruby-vs-mri-performance-mini-shootout/
まだ、Railsがちゃんと動くまでにはなってないみたいだが。
0529nobodyさん
2009/03/08(日) 23:12:26ID:???使えないな。
0530nobodyさん
2009/03/08(日) 23:17:11ID:???CRubyより速くならない処理があるのなら、そこはCRubyよりずっと遅く動く
速くなる部分だけIronRubyが使えればいいが、そううまくいくかね
0531nobodyさん
2009/03/09(月) 00:50:35ID:???DLRとかがもうそんなに発達してるってこと?
CRubyにはJRubyにもIronRubyにも負けてほしくないなあ
0532nobodyさん
2009/03/09(月) 00:55:23ID:???おれはそれを期待している
Railsが動くようになるなら、相当互換性は高いだろうから
0534nobodyさん
2009/03/09(月) 06:18:44ID:???0535nobodyさん
2009/03/09(月) 10:56:08ID:???0536nobodyさん
2009/03/09(月) 11:35:01ID:???0539nobodyさん
2009/03/09(月) 21:12:50ID:???0540nobodyさん
2009/03/09(月) 21:37:13ID:???0541nobodyさん
2009/03/10(火) 13:45:45ID:???0542nobodyさん
2009/03/10(火) 19:53:36ID:???0543nobodyさん
2009/03/10(火) 20:59:58ID:???Macサーバー買うの?
0544nobodyさん
2009/03/10(火) 21:23:50ID:???なんで実運用までMacでやらにゃあかん?
0545nobodyさん
2009/03/10(火) 22:04:47ID:???0546nobodyさん
2009/03/10(火) 22:06:25ID:???マクの10マソ鯖なんて無いだろ。
0547nobodyさん
2009/03/10(火) 22:10:32ID:???0548nobodyさん
2009/03/10(火) 22:11:12ID:???0549nobodyさん
2009/03/10(火) 22:29:21ID:???Macで開発したらバカなの?
儲からないの?しぬの?
0551nobodyさん
2009/03/11(水) 00:25:38ID:???ttp://www.infoq.com/jp/news/2008/03/waves-ruby-framework
古い記事だが、WavesなんかはRailsと比べてメモリ消費量が1/3〜1/4なんだそうだ。
開発者の手前味噌なんで、数字の鵜呑みはできないが。
0552nobodyさん
2009/03/11(水) 00:33:41ID:???<% render :partial => "hoge" %>
で、_hoge.html.erb を読み込ませても、中のHTMLが表示されない。
2.1、2.2、2.3の三つのバージョンで試しても全く同じ。
ファイル名を変更するとエラーになるし、_hoge.html.erb の中で <% p "AAAAAAA" %> とかやると
WEBrickのログのほうに"AAAAAAA"が出力されるので、読み込まれているのは確かなんだけど。
使い方が間違ってるんだろうか。
0553nobodyさん
2009/03/11(水) 00:37:26ID:???~~~~
=を付けてないんじゃまいか?
0554552
2009/03/11(水) 00:44:00ID:???あーなるほど。=をつけなきゃいけないということをすっかり忘れてました。
いやお恥ずかしいかぎり。
自分では気づけなくて今日半日くらいつぶしたので、感謝です。
0555nobodyさん
2009/03/11(水) 01:50:21ID:???0556nobodyさん
2009/03/11(水) 03:47:54ID:???0558nobodyさん
2009/03/11(水) 08:55:59ID:???0559nobodyさん
2009/03/11(水) 09:23:16ID:???Macはマウスだけじゃなくてキーボードと併用するのが普通
初代さんが見たらこの現状きっと泣くだろうなと思って研究室で使ってた
0560nobodyさん
2009/03/11(水) 09:44:58ID:???そんなことは知っているが、使いやすいと評判な意味はまったくわからなかったな。
しかも普通に2ボタンマウス使えば右クリック使えるというのがまたふざけてる。
いちいちボタンひとつにしてる理由が全く無い。
0561sage
2009/03/11(水) 09:56:51ID:La0qmAhbフォームの項目が頻繁に変更・追加・削除され、
そのたびに入力用テンプレートと確認用テンプレートを編集してます。
入力と確認用のテンプレートはほぼ同じ内容なので
ちっとも DRY じゃないなーと。
みなさんはどうしてますか?
入力&確認テンプレートを吐き出すプログラムを別途用意?
それとも何か便利なプラグインが???
0562nobodyさん
2009/03/11(水) 16:21:19ID:???オブジェクト指向なんだから使い回せるように工夫すれば?
0563nobodyさん
2009/03/11(水) 16:52:00ID:???いちいち、「俺、Mac使ってる」とかいう奴なんなの?特別な存在だと思われたいの?
と、言ってみる。
0565nobodyさん
2009/03/11(水) 18:51:49ID:???いちいち、「俺、Mac嫌ってる」とかいう奴なんなの?特別な存在だと思われたいの?
0566nobodyさん
2009/03/11(水) 19:03:57ID:???0567561
2009/03/11(水) 19:14:46ID:???0568nobodyさん
2009/03/11(水) 21:09:08ID:???0570nobodyさん
2009/03/11(水) 21:18:23ID:???どうせ最初から理想の設計にはならないので、フォーム項目が安定しないうちは
べた書きでいいんじゃない?
安定したらまた考える。
0572nobodyさん
2009/03/11(水) 22:42:17ID:???「確認用はフォームではなく編集不可のHTMLとして表示する。
間違いを見つけたら編集ボタンを押して、現在値入力済みの
入力フォームへ飛ぶ」だと個別作成になるかね。
0573nobodyさん
2009/03/11(水) 23:21:07ID:???actionでinputとインスタンス変数表示切り換えるヘルパー作っちゃえば?
input confirmつながりで、
confirm時は皆hiddenに突っ込んでる?
それともセッション?
個人的には
セッションにあまり値入れたくない派だけど
皆どうなのか気になって聞いてみた
0574nobodyさん
2009/03/11(水) 23:55:23ID:???0575507
2009/03/12(木) 00:15:41ID:JHPTnQN+結局rubyのバージョンを1.8.7に落としてやることにしました。
>>510
は俺じゃないっす。
すいません、また聞きたいことができたのですが、
ActiveRecordの定義ってどこにありましでしょうか?メソッドの一覧を見てみたいと思いまして。。
ご教示頂きたくm(_ _)m
0576nobodyさん
2009/03/12(木) 00:22:00ID:???とりあえず
ActiveRecord::Base
ActiveRecord::Associations::ClassMethods
あたりを見れば基本のメソッドはわかる。
0577507
2009/03/12(木) 00:28:17ID:JHPTnQN+すいませんActiveRecord そのものの定義はどのファイルに書いてあるんでしょうか?
grepしても分からないんです><
0578nobodyさん
2009/03/12(木) 00:33:22ID:???IEだと戻った時に、画面再読み込みみたいになっちゃうし、
入力画面にAjaxで選択するような項目があると、その際に消えてしまう。
なのでセッションに入れてる。
0579nobodyさん
2009/03/12(木) 00:42:49ID:???0580507
2009/03/12(木) 00:52:05ID:JHPTnQN+ActiveRecordっていうクラスがあるんじゃないんですか?
モジュールっていうことはActiveRecordっていうファイル名?
0581nobodyさん
2009/03/12(木) 01:29:30ID:???たぶん君が見たいファイルはこのへんにある
/opt/lib/ruby/gems/1.8/gems/activerecord-2.3.0/lib/active_record/base.rb
でも定義見てもたぶんわかりにくいよ
method_missingとかも使ってるしね
とりあえず >>576 で十分なので満足してくれ
ソース見るのはまだ早いと思われる
0583nobodyさん
2009/03/12(木) 02:53:09ID:???素直にみんなと同じPC使えよ。マカって典型的なKYだしな。協調性無い。
0586nobodyさん
2009/03/12(木) 10:28:53ID:???0587nobodyさん
2009/03/12(木) 11:26:09ID:???ActiveRecordを読み下すには、まずActiveSupportでいろいろ拡張されてる
ModuleやClassのクラスメソッドを一通り読んでおくことをおすすめする。
Method chainとか、知らなきゃハマるよ。tags探しても_without_hogeなんてどこにもないし。
あと静的なコードだけ読むんじゃなくて、ruby-debugを活用して
実行時に実際にどこのコードを使っているのか追っかけるのもいいと思う。
単純にメソッドリストが見たいだけなら、rdocを作ってgem serverか、api.rubyonrails.orgへGO
0589561
2009/03/12(木) 13:12:19ID:???>>569-574
ありがとうございます。
フォームの項目なんて変化するものだし、
何十もフォームを作る場合はベタなんてありえないし、
部分テンプレは textarea で隠れる行とかあるしで、
573 氏のヘルパー路線で考えたいと思います。
ヘルパーにしても車輪の再発明の気がするので
既存にないものかと調べてもないし…。
SKIP, redmine, typo, fastladder みても確認画面ないし。
確認画面は鬼門なんですかねぇ。
0590nobodyさん
2009/03/12(木) 14:35:32ID:OX3C3H1crequire 'net/http'
Net::HTTP.version_1_2
Net::HTTP.start('be.2ch.net', 80) {|http|
response = http.post('/test/p.php',"i=6811")
puts response.body
}
と書いて、BEプロフを見たいと思ったのですが、うまくいきません。
解説お願いします。
0591590
2009/03/12(木) 14:49:30ID:OX3C3H1c取り下げます
0592nobodyさん
2009/03/16(月) 12:38:35ID:???0593507
2009/03/16(月) 20:29:13ID:a70xmYHv0594nobodyさん
2009/03/16(月) 22:22:45ID:???JavaのライブラリがRubyのクラスとして普通に使えてしまう。もうJavaいらないじゃんw
JRuby on RailsならアプリをWARで固めて一発デプロイできるし、ネイティブスレッド
なので、素のRailsより負荷に耐えられる。
GlassFishならホットデプロイも一瞬だし、コネクションプーリングも標準装備。
なんでわざわざJavaのVM上でRubyを動かさなきゃならんのだと思ってたが、触って
みて評価が一変した。
0595nobodyさん
2009/03/16(月) 23:55:22ID:???0596nobodyさん
2009/03/17(火) 00:04:49ID:???0597nobodyさん
2009/03/17(火) 08:24:59ID:???Railsの性能で比較するとCRubyより遅いんだけどな。
0598nobodyさん
2009/03/17(火) 09:35:28ID:???0599nobodyさん
2009/03/17(火) 10:06:19ID:???Rubyで面倒なこと・Javaのほうが簡単or柔軟にできることの切り替えが容易
CRubyならたとえばCで拡張ライブラリ書いたり既存のを探したりしなければならないことが、Javaとの連携で即座に可能
速攻で書いて速攻で動かしてから実際の負荷とか考える、というRuby/Railsにぴったりだと言えばそうかもしれん
強力な実働用途に使ってる人はまだおらんだろう
0600nobodyさん
2009/03/17(火) 10:10:59ID:???みなさんControllerにベタ書きしてるのかな?
0601nobodyさん
2009/03/17(火) 17:06:36ID:???$ rails xxx
したあと、毎回
config/database.yml の host を変更するのが面倒なのですが、
どこかに書いておくことで反映される方法はないでしょうか?
( Controller はあくまでも Controller だけにして、Model に関係なくても Model に書いているかなぁ >>600 )
0602nobodyさん
2009/03/17(火) 17:27:26ID:???でよくないっすか。
production のホストはコレで、development のホストはアレってことだと
いよいよawkの出番ですね! :)
0603601
2009/03/17(火) 17:45:15ID:???やっぱそういうことになっちゃいますか。
Rails2.3 の Application Template に少し期待したのだけど、
どうも、そこまではしてくれないみたいなので。
development & test も変えたいので perl で書くことにします><
0604nobodyさん
2009/03/17(火) 17:47:48ID:???0605nobodyさん
2009/03/17(火) 18:22:10ID:???数カ月おきのバージョンアップに追随してますか?
0606nobodyさん
2009/03/17(火) 21:43:28ID:???0607nobodyさん
2009/03/17(火) 22:24:40ID:???0608nobodyさん
2009/03/17(火) 22:47:19ID:???0609nobodyさん
2009/03/17(火) 23:32:27ID:???rexmlのときは修正gem出たからそれ使ったけど。
0610nobodyさん
2009/03/18(水) 01:28:13ID:???■ このスレッドは過去ログ倉庫に格納されています