トップページphp
1001コメント336KB

【Ruby】Ruby on Rails Part6

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/10/24(金) 17:46:53ID:???
■前 Ruby on Rails のスレ が
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/
0637nobodyさん2009/03/18(水) 22:54:30ID:???
シンプルなSQLはMySQLよりも良いとか聞いたけど
チューニングの有無で決まるんじゃね?

あとSQLiteは以外と頑張る子だと最近知った
0638nobodyさん2009/03/18(水) 23:03:10ID:???
>>636
機能に関してはここ。
ttp://ml.postgresql.jp/pipermail/pgsql-jp/2004-December/017980.html

まあ実際に使ってる限りにおいて、Oracleはデータ型が少なかったり(booleanもないとか
ありえん)、sqlplusを始めコマンドラインツールが死ぬほど使いにくかったりするので、
個人的には比べるべくもないところなんだが。

パフォーマンスに関しては最新バージョンの具体的な比較例はなかったが、2007年当時の
Oracle10 vs Postgre8.2 ではわずかに劣る程度というデータ。
ttp://slashdot.jp/it/article.pl?sid=07/07/10/1059217

8.2→8.3では1.3〜1.5倍のパフォーマンス向上があったという話なので、今やOracleと同等
以上のはず。Web屋のネタ帳でもそう言ってた。
ttp://neta.ywcafe.net/000960.html
0639nobodyさん2009/03/19(木) 01:13:38ID:???
>>638
mysql4とかいつの話だよ
0640nobodyさん2009/03/19(木) 02:04:06ID:???
なぜOracleにboolean型がないのかわからんとは。

DBの性能は設計とチューニングで別物といっていいくらい変わるから、
そんな資料じゃ全く参考にならないのだが。
0641nobodyさん2009/03/19(木) 02:58:54ID:???
業務で使うなら、RedhatかOracleぐらいのサポート無いと使えないよ。
リナックスやDBソフトのメンテしたい訳じゃないし。

StrtusとかJSFとかJavaの世界のほうがフレームワークを業務で使い易い。書籍もセミナーも充実してるし。
こんな感じって提案するのにRoRは気軽でいいけど、そのまま運用はしないよ。メンテ大変。
0642nobodyさん2009/03/19(木) 03:27:38ID:???
企業のサポートがあるって言うけど、お世話になったことなんて
セキュリティパッチやバージョンアップの通知くらいで
ユーザサポートに頼ったことなんて一度もないわ
頼る必要がないくらい成熟してるとも言えるけど
0643nobodyさん2009/03/19(木) 08:11:45ID:???
ユーザーサポートは「ある」ということが重要なのだよ
それが仮にあみだくじ程度のレベルであっても
0644nobodyさん2009/03/19(木) 09:17:40ID:???
そんなこと自慢げに言うなよ
自分の仕事に責任持て
そういうのお役所仕事って言うんだよ
0645nobodyさん2009/03/19(木) 10:10:35ID:???
昔は企業サポートなんていらねーと思っていたが、
技術が分からないお偉いさんたちは技術云々ではなく、
自分が理解できるサポート有無なんかを気にする。

そして、技術的に意味のないサポートでも、
売上の桁が変わるので、ビジネス的に意味がある。

Rails も、技術的に最高に面白いが、
ビジネス的には変更が激しくて保守&運用コストを考えると向かない、というだけ。
0646nobodyさん2009/03/19(木) 10:27:33ID:???
>>644
言いたいことはわかるけどね、それじゃ回らない現場がたくさんあるんだよ
個々人のやる気だけではどうにもならない組織構造や大規模システム等
0647nobodyさん2009/03/19(木) 11:42:38ID:???
Rails のスレで書くことじゃないけど、
ビジネスやエンタープライズ向けのフレームワークがほしい
0648nobodyさん2009/03/19(木) 12:01:10ID:???
>>644
じゃあうっかり500万くらい損益出てもキミの貯金で補填してくれるよね
0649nobodyさん2009/03/19(木) 17:57:50ID:???
パッチ作るのも、バージョンアップチェックするのも、不具合パッチ作るのも余計な仕事。
組織で動いてると、いろいろあるからな。付加価値の高い仕事を自分たちで遣って、生産性を上げるのが高い給料の維持につながる。
0650nobodyさん2009/03/19(木) 21:34:09ID:???
と、夢を語る安い給料の人
0651nobodyさん2009/03/19(木) 21:45:31ID:???
Railsはクリステンセンが言うところの「破壊的イノベーション」に位置する
技術なんだよ。
メーカー保証のプラットフォーム上でJavaの技術者を何十人も集めて、高い
人月で何ヶ月もかけて作っていたものが、Railsなら数人で1〜2ヶ月で作れ
てしまう。

大手のSIerみたいな立場から見れば、客から大した金は取れないわ、保証が
ないから責任を他に転嫁できないわでロクな技術に見えないだろう。
だが市場の下の方から徐々に浸食されていき、次第に完成度も高くなって
いくので、いつのまにか立場を逆転してついには既存の技術を追い落として
しまう。

それを本能的に感じ取っている技術者が今、Railsに手を出してるんだと
思うんだが。
Javaやその他の枯れた技術に比べてRailsが使えないと思うなら、どうぞ
そちらのほうにしがみついていてもらって全く差し支えないよ。
0652nobodyさん2009/03/19(木) 23:21:44ID:???
> メーカー保証のプラットフォーム上でJavaの技術者を何十人も集めて、高い
> 人月で何ヶ月もかけて作っていたものが、Railsなら数人で1〜2ヶ月で作れ
> てしまう。

んなわけねーだろ
想像で語るな

大体JavaとRailsって比較するものが違う
0653nobodyさん2009/03/19(木) 23:28:26ID:???
想像って、ここに来てるのは現場のエンジニアがほとんどだろ。

いいからRedhatやOracle買ってStrutsでも使ってろよ。そんでもうここに来んな。
0654nobodyさん2009/03/19(木) 23:34:37ID:???
単に人選が悪いだけじゃんwww
Java=Strutsだとでも思ってるんだろうか
0655nobodyさん2009/03/19(木) 23:38:00ID:MR9LtcQe
「ある会社で億単位の見積もりが出されたシステムが数百万で構築できました」みたいな話も実際にでてきてるだろ
0656nobodyさん2009/03/19(木) 23:47:20ID:???
楽天とかでもRailsの生産効率の検証してて、慣れないエンジニアが作った
場合でも対PHP比1.5倍、Javaで2倍程度の効率向上が見られたみたいな
ことをカンファレンスで聞いた記憶がある。

そもそもプログラマが1日に書けるコードの量はだいたい決まっているので、
余計な記述を長々と書かせるJavaの効率が悪いのは火を見るよりも明らか。

Javaの世界でもSeeSaa等の試みもあるが、あまり成功しているようには見えない。
0657nobodyさん2009/03/19(木) 23:48:44ID:???
まあSeeSaaとか使うんなら、それこそJRuby on Railsでいいじゃんという話にもなるわな。
0658nobodyさん2009/03/19(木) 23:52:30ID:???
Seasar・・・です。
0659nobodyさん2009/03/19(木) 23:54:47ID:???
そいつは失礼。
ただおぼえにくいつづりがマーケティングがうまくいかない一因になってるかもね。
0660nobodyさん2009/03/19(木) 23:59:29ID:???
RHELとか使ったことないんだけど,どういうところが嬉しいの?
まだ個人でしかLinux使ってないからだろうけど
セキュリティのアップデートとかいう話ならCentOSとかのyumみたいなので別に不満感じないけどなあ
Redhatのセキュリティのメーリングリスト見とけばそんなに問題なさそうだし

サポートってなにしてくれるんだか謎
>>648見て思ったけど,別に不具合のせいで業務に支障きたして損失起きたからって保証してくれるわけではないんでしょ
0661nobodyさん2009/03/20(金) 00:09:11ID:???
言い訳できるんじゃね?
0662nobodyさん2009/03/20(金) 00:45:35ID:???
保障が無いならcentでいいよね
0663nobodyさん2009/03/20(金) 00:53:26ID:???
500万の損益と言われても。
損なのか益なのか。
揚げ足取りにすぎないけどさ。
0664nobodyさん2009/03/20(金) 00:54:53ID:???
>>653
数十人→数人
何ヶ月→1〜2ヶ月

何十倍なんだよ。計算もできない低脳が。
おまえがくるんじゃねーよ。
「現場のエンジニア」でひとくくりにするなwアホ。
0665nobodyさん2009/03/20(金) 00:58:39ID:???
なんだこのゆとりは。
こんなとこ来てないでちゃんと学校の勉強しろ。
0666nobodyさん2009/03/20(金) 01:09:49ID:???
Javaが登場してオブジェクト指向が注目を集めたときも、
生産効率が○○倍になったとかやってたな。結局は能力。
例外なく生産効率を劇的に押し上げたのはRDBくらいかな。
0667nobodyさん2009/03/20(金) 04:46:56ID:???
rubyも登場した頃は、生産効率が○○倍になったとかやってた。結局は能力。
何も変わらない。

億単位の案件取って儲けたほうが給料いいのに、数百万の案件にして給料安くしてるから底辺だろ。
0668nobodyさん2009/03/20(金) 06:40:32ID:???
>>667
億単位の案件て何人月くらいになるん?
0669nobodyさん2009/03/20(金) 07:23:33ID:???
割り算すれば出るだろ
0670nobodyさん2009/03/20(金) 09:54:50ID:???
億単位の案件なんて責任ばっか多くてやる気しねぇわ。
底辺でも数百万乱発の方がいいな。
少人数で好きなようにできるし。
0671nobodyさん2009/03/20(金) 10:17:50ID:???
生産性○倍とか幻想。

実際は、仕事量○倍が関の山w
0672nobodyさん2009/03/20(金) 12:03:36ID:???
>>663
500万の損益って言ったら益に決まってるだろ。
損なら、マイナス500万の損益か、500万の損失だ。
0673nobodyさん2009/03/20(金) 12:13:59ID:???
開発だけ見れば生産性は確かに上がるよね。
仕事量n倍は無いな。

うちは早めに仕上げてお客さんに使ってもらうようにしてるんだけど、
そうするとちょこちょこ修正依頼や仕様変更が来る。
期間内でお客さんと一緒に細かく詰めて、仕上げて行く感じ。
同じくらいの工数をかけても、お客さんの満足度は高いと思う。

あと政府系とか金額が大きい案件は、そんなに技術要らなかったりする。
金額が大きい割に暇だった。
儲けられても、技術的にはあまり面白くない感じ。
0674nobodyさん2009/03/20(金) 13:59:42ID:???
研修でJavaを詰め込んだだけのエンジニアの頭数を大量投入して人月費を稼ぎ、
客に買わせたベンダー謹製のバカ高いプラットフォーム上で、ネームバリューで
取ってきた技術力のいらない案件で何億も請求するような仕事のやり方がこの先
も続くと考えられるエンジニアはおめでたいな。

まあでもここに来て情報収集してるだけマシかもね。

自分で技術書を買うこともしなければ、新しく言語を身につけようなどという考えを
持ったこともないエンジニアが上記のような会社では大半を占めているようだが、
さっさとそういうのは淘汰されてほしい。
0675nobodyさん2009/03/20(金) 14:11:00ID:???
>>674
3年先まで有効であるだけで充分だ
見下さないと精神の安定を保てないならやめちまえ
0676nobodyさん2009/03/20(金) 14:43:05ID:???
3年やってダメになったら他にジョブチェンジすればいいと考えてるような
君と違って、こっちは一生エンジニアでやっていこうと思ってるからね。
そんくらいでやめられないんだよ。
0677nobodyさん2009/03/20(金) 14:58:53ID:???
そういう泥臭い話はマ板で。
0678nobodyさん2009/03/20(金) 16:20:14ID:???
>>676
童貞はこれだから困る
0679nobodyさん2009/03/20(金) 17:23:46ID:???
>>676
よう初心者
0680nobodyさん2009/03/20(金) 17:31:31ID:???
ピュッピュッ
0681nobodyさん2009/03/20(金) 18:55:04ID:???
エンジニア()笑
0682nobodyさん2009/03/20(金) 19:47:02ID:???
条件反射的に煽るしか能のないゆとり脳がたくさん湧いてるな。
いいから涙拭けよ。そんなに慌てずに、括弧のズレくらい投稿前に確認したほうがいいぞ。
0683nobodyさん2009/03/20(金) 20:10:53ID:???
・・・
0684nobodyさん2009/03/20(金) 20:30:24ID:???
涙 拭 け よ
0685nobodyさん2009/03/20(金) 21:04:41ID:???
いくら拭いても止まらないよ
0686nobodyさん2009/03/20(金) 21:12:27ID:???
クリステンセンくらいは読んどいたほうがいいぞ。おもちゃと思われてた技術が市場をひっくり返した事例がたくさんある。
0687nobodyさん2009/03/20(金) 22:01:39ID:+2bPeyVS
そういえばJSP/Servletも当初はおもちゃおもちゃと冷笑されていたな
いやたしかに最初の頃は本当にひどかったが
0688nobodyさん2009/03/21(土) 03:01:08ID:???
今のうちに億稼いでおいたほうが、いい暮らし出来るだろ。
数百万の案件なんてピンハネだけして下請けに丸投げしたほうが儲かる。
0689nobodyさん2009/03/21(土) 09:32:16ID:???
すばらしく日本のゼネコンSIer的思考の典型で清々しいが、なんでここに
来てるのかがわからん。
市場の変化を感じられるポジションにいないんだろうが、3年先と言わず
すでにそのやり方は通用しなくなりつつあるよ。

ttp://japan.cnet.com/blog/0026/2009/02/27/entry_27020722/

秋田でベンダーが2億円と見積もりしたIP電話の導入を、市の職員が
オープンソースを活用することで800万で構築した例がちょっと前に
騒がれたが、今後見積もりの際に客からああいう例を引き合いに
出されるようになるよ。

通常、不景気の影響はIT業界に押し寄せるのは1年のブランクが
あるというが、今回は半年とたたずに影響が出てる。
あと半年もしないうちに、大手のネームバリューだけで億の案件が
受注できる時代は、もう過去のものになってるよ。
0690nobodyさん2009/03/21(土) 10:04:53ID:???
Rails won
ttp://withoutane.com/rants/2009/03/rails-won

信者のおかげかー。
0691nobodyさん2009/03/21(土) 10:21:40ID:???
RubyやRailsは、大手SIerから中小が客を奪うための武器になるとおも。
まあせいぜい今の内に、下請けが使うおもちゃとバカにしていてくれ。
そのほうがやりやすい。
0692nobodyさん2009/03/21(土) 11:08:41ID:???
馬鹿が一人でレスしてるな…
0693nobodyさん2009/03/21(土) 11:26:02ID:???
現在のrailsはunstableだから、いくら開発効率が高くてもrailsのバージョンアップによる保守で帳消しになってしまう。

railsがstable(になることあるのか疑問だが)になったらおもちゃから脱却できるとは思うが。
0694nobodyさん2009/03/21(土) 11:38:27ID:???
>>676
他の業種にジョブチェンジも悪くないなと思ったんだが、
エンジニア失格ですか。
0695nobodyさん2009/03/21(土) 11:41:27ID:???
うちは稼働中のやつで1.2.6から2.2まで面倒見てるけど
それなりになんとかなるもんだよ。
0696nobodyさん2009/03/21(土) 11:51:01ID:???
2.2→2.3の一番の変更点は、デフォルトのコントローラが application.rb から
application_controller.rb に変わったとこだろう。

いきなり意味不明なエラーが出るので、この変更点を知らないとハマる。
0697nobodyさん2009/03/21(土) 12:18:16ID:???
>>696

つ rake rails:update
0698nobodyさん2009/03/21(土) 12:35:40ID:???
>>697
なるほど。そんな便利なコマンドがあったのか。
サンクス。
0699nobodyさん2009/03/21(土) 14:38:08ID:???
>>695
そりゃ力技なりで「なんとか」なるけどさ、
その必要がない選択肢があるからねー。

なんとかしなくても RoR で出来るようになると LoL
0700nobodyさん2009/03/21(土) 15:39:31ID:???
>>690
口は悪いけど弱気な奴だな。
0701nobodyさん2009/03/21(土) 17:48:54ID:???
説得するのに必要なことはテスト方法だと思う
0702nobodyさん2009/03/21(土) 21:37:28ID:???
2.2.2→2.3.2にしたらvalidates_uniqueness_ofに
日本語を格納しているカラムを指定するとSQL実行エラーで例外が発生するになったので、
$RUBY_HOME/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/validations.rb
を見たら、こうなってた。
729  value = column.limit ? value.to_s[0, column.limit] : value.to_s
この部分をとりあえず、
value = column.limit ? value.to_s.split(//)[0, column.limit].join : value.to_s
と書き換えて対応した。
varchar(255)→255文字を意味するDBMSの場合だけど(PostgrSQL+UTF-8)とか。
varchar(255)→255バイトという意味になるDBMSなら、単にvalue.to_sだけするほうが良さそう。
07037022009/03/21(土) 21:43:36ID:???
ちなみに上記のエラーの根本的な原因はコレだと思う。
$KCODE = 'u'
require 'jcode'
s = 'テスト'
s[0,5]
=> "テ・"
文字化けというか文字が壊れた状態でSQLが投げられて、
SQLの構文エラーが発生するみたい。
0704nobodyさん2009/03/21(土) 22:10:22ID:???
また互換性が・・・
0705nobodyさん2009/03/21(土) 22:25:54ID:???
>>703
Rubyのバージョンはいくつなの?
0706nobodyさん2009/03/21(土) 22:44:43ID:???
>>705
1.8.7-p72。
スクリプトのエンコーディングはUTF-8。
ところで、文字列の扱いってエンコーディングごとに異なるのかな。
いつもUTF-8しか使っていないから、以下の動きを想定していつもコーディングしてる。

$KCODE = 'u'
str = 'あいえうお'
=> "あいえうお"
str.split(//)
=> ["あ", "い", "え", "う", "お"]
str.split(//)[0, 2]
=> ["あ", "い"]
str.split(//)[0,2].join
=> "あい"
str[0,2]
=> ""
0707nobodyさん2009/03/21(土) 22:48:46ID:???
1.8系でstr[0,4]とかやるとバイト基準になるから、
バイト数が違うとダメだろうな。
1.9系なら文字基準だけど。

試してないからなんとも言えないんだが、
>>702を見る限りRails2.3はRuby1.9系がふさわしいな。
0708nobodyさん2009/03/21(土) 22:55:50ID:???
>>707
DBMSがvarchar(255)→255バイトまたは255文字という
感じで仕様が分かれているから、あえてここは何もしないほうがいい気がしてきた。

実際、2.2.2のvalidates_uniqueness_ofの定義は同じ729行目でこうなっていた。
729 value = value.to_s
0709nobodyさん2009/03/22(日) 04:17:57ID:???
中小ITだと、客が相手にもしてくれないけどな。
0710nobodyさん2009/03/22(日) 05:42:49ID:CRGV4RkC
担当者によるな
でその担当者が辞めると同時に仕事もなくなる
0711nobodyさん2009/03/22(日) 05:56:27ID:???
スレ違いの話題をまだ続けるのか・・・
0712nobodyさん2009/03/22(日) 11:30:23ID:???
今2.1使ってるけど3が出るまではバージョンアップしない予定
夏頃には出るんですよね?
0713nobodyさん2009/03/22(日) 11:43:11ID:???
Merbとの統合という大手術になるから、その頃安定して使えるとは思えんな。
5月のRailsConfでβという希望的観測だったかな。

正直な話、新規プロジェクトでない限りあえて最新を追いかける必要もないんじゃ。
0714nobodyさん2009/03/22(日) 13:32:32ID:???
提案に行って、最終2社あたりまで残って、
競合の事を聞いたら向こうもRailsだったみたいなことが出てきた。
結構みなさんがんばっているんだな。
0715nobodyさん2009/03/22(日) 13:50:19ID:???
Rails本体はともかくプラグインが3に対応するのに時間がかかりそう。安定するのは年末ぐらいかな
0716nobodyさん2009/03/22(日) 14:33:05ID:???
3 が安定する前に、大掛かりな修正を加えた 3 の軌道修正をするための 3.1, 3.2 を追いかけないといけないだろうな。
0717nobodyさん2009/03/22(日) 20:12:44ID:???
手元で最新版の機能を使えるのに、運用で使えないのはストレス堪ると思うが。

値段ではJavaの案件は高額だしな。RoRのほうが残るだろう。
0718nobodyさん2009/03/23(月) 00:41:13ID:???
最新の機能ってそんなに需要あるのかな?
それよりメモリ食いを押さえる方が喜ぶ人は多いと思うんだ

機能が肥大化して習熟コストが高くなるのも歓迎されないと思う
0719nobodyさん2009/03/23(月) 04:41:04ID:???
>>717
言語指定されてる時点で、下っ端なのが分かるな。
0720nobodyさん2009/03/23(月) 04:59:55ID:???
>>718
開発効率が上がるような機能であれば歓迎するけどね。
2.1から使えるようになったnamed_scopeはかなり重宝してる。
0721nobodyさん2009/03/23(月) 19:32:08ID:???
今から始めるなら2.2でいいの?
0722nobodyさん2009/03/23(月) 20:17:29ID:???
まあ2.2か2.3じゃね
どっちにしろ日本語リソースのみでは勉強にならないけどね
0723nobodyさん2009/03/23(月) 20:34:54ID:???
日本語リソースってなんじゃ?
0724nobodyさん2009/03/23(月) 21:14:00ID:???
ここでのリソースは参考資料・情報源といった意味でしょうな。



0725nobodyさん2009/03/23(月) 21:55:47ID:???
今さら2.2はないだろ常考。
Rack対応やらi18nやら重要なアップデートが多いので、これを使わない手はない。

そしてRuby1.9.1にRails2.3.2。これ最強。
しかし日本語の資料がほとんどないという諸刃の剣。素人にはお薦めできない。
0726nobodyさん2009/03/23(月) 21:59:07ID:???
Ruby1.9って開発版だろ。
0727nobodyさん2009/03/23(月) 22:24:53ID:???
はあ?
0728nobodyさん2009/03/23(月) 22:29:25ID:???
>>726
1.9.1は安定版
0729nobodyさん2009/03/23(月) 22:35:45ID:???
使ってるライブラリが1.9.1対応するまでは1.8.7つかっとけ。

hpricotとrspecが対応したから個人的にはそろそろ移行のタイミング。
0730nobodyさん2009/03/23(月) 22:48:10ID:???
今からやる初心者に2.3勧めない方がいいんじゃないかな
0731nobodyさん2009/03/23(月) 23:48:39ID:???
本がないから?
0732nobodyさん2009/03/24(火) 01:30:01ID:???
>>724
それはソースじゃなくて?
0733nobodyさん2009/03/24(火) 03:41:22ID:???
1.9.xは互換性無いからな。
普通は偶数のほうが安定板。1.9.2を待つのが正しい。
0734nobodyさん2009/03/24(火) 08:47:33ID:???
>>732
リソースであってる。
>>733
そんなコンベンションはとっくになくなっている。
0735nobodyさん2009/03/24(火) 10:05:09ID:???
そんなに急がないなら5月に出るRails 3.xから追いかけたほうがいいかも
0736nobodyさん2009/03/24(火) 11:03:13ID:???
きりがないからおれはもう追いかけてる
■ このスレッドは過去ログ倉庫に格納されています