トップページtech
1001コメント319KB

Ruby on Rails

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/10/03(水) 12:18:26
Ruby on Railsスレ
みんな語ろう。
0002デフォルトの名無しさん2007/10/03(水) 12:27:08
【Ruby】Ruby on Rails Part3
http://pc11.2ch.net/test/read.cgi/php/1170760209/l50
0003デフォルトの名無しさん2007/10/03(水) 16:58:22
おもちゃしか作れない(笑)
0004デフォルトの名無しさん2007/10/03(水) 18:00:44
Ruby on Railsは本当に使えるのかっていうとはっきりいうとまだまだです。

Javaの数倍の開発効率と言われるが、早いのは、一つのテーブルにアクセスする
最低限の機能を実装するまでで、その後は、毎度おなじみの地味な作業が待っている。

おそらく、その辺はEclipseを使ってJavaで作った方が早いかも。

過度な期待をすると、とんでもないことになる。

パフォーマンスについても、ちょっと表現は厳しいかも知れないが、
Javaでいうと、Appletで遊んでいた頃に近いかも。

つまり、遅い。
0005デフォルトの名無しさん2007/10/05(金) 17:46:54
おもちゃでも作る時間が1/10になるなら医院で内科医
0006デフォルトの名無しさん2007/10/05(金) 21:23:33
たまーに1ヶ月に1回くらい

[FATAL] failed to allocate memory

で死んでることがある
いまのところどんな条件で再現するとか分からないので
実務で使うのが不安で仕方ない

たまにアクセスして死んでたら手動で再起動するか
監視プロセス走らせて自動で再起動かけるか
0007デフォルトの名無しさん2007/10/05(金) 21:50:10
俺のところはずっと動きっぱなしだなぁ。
アクセス数がちがうのか。
0008デフォルトの名無しさん2007/10/05(金) 22:08:21
>>6
Rubyに興味が湧いてここ覗いたばかりの用語すら知らない
初心者で申し訳ないんだけど、なんか相互参照とかでオブジェクトが
リークしているとかの可能性は?

あとはたまに動くデータアクセス系の処理で、とんでもない
レコード数を読み込むのがいるとか。
0009デフォルトの名無しさん2007/10/06(土) 01:26:21
あー、いるね。以前select * from zipとかいって、
郵便番号テーブル全部読み込んでforで回してなんか探してるコードを見て
卒倒しそうになった。
0010デフォルトの名無しさん2007/10/06(土) 01:30:48
>>9
全部読み込んで回してたらもはやRubyもRailsも関係ないよね?
0011デフォルトの名無しさん2007/10/06(土) 02:04:41
うんないw
0012デフォルトの名無しさん2007/10/06(土) 03:52:32
なんとなく共用のレンタルサーバで、
プロセス数限界ぎりぎりか、
他のユーザにメモリ取られている感じがする。
0013デフォルトの名無しさん2007/10/06(土) 08:27:02
>>7-12
みなさんありがとうございます
本に載ってたサンプルのお手本をちょっといじって
テスト的に作ったものなので複雑なことは全くしてません

>>12
それのような気がします

今は気付いたら再起動してるのですが
0014デフォルトの名無しさん2007/10/06(土) 11:39:24
前、さくらの専用鯖(Efficionのブレード上のLinux)で動かしてたら、
ちょっとプロセス増やすとすぐにメモリ足りなくなることがあって、
しらべたらswapパーティションがunmountされてたことがあったな。

0015デフォルトの名無しさん2007/10/06(土) 11:40:35
間違えた。unmountじゃない。swap offか。

0016デフォルトの名無しさん2007/10/06(土) 14:50:31
Linuxはメモリが足りなくなると「ランダムに」プロセスを殺すという狂った仕様だからなー。
0017デフォルトの名無しさん2007/10/06(土) 15:17:25
すべての親であるinitを殺せばメモリはいらないな
0018デフォルトの名無しさん2007/10/06(土) 16:00:28
時期と環境くらい書いてくれんと何の参考にもならんな
0019デフォルトの名無しさん2007/10/06(土) 18:38:56
便乗だけど

[FATAL] failed to allocate memory

これって malloc とかに失敗して NULL が返ったときに
出るエラー?
0020デフォルトの名無しさん2007/10/06(土) 19:06:33
うむ。
0021デフォルトの名無しさん2007/10/06(土) 19:42:10
しばらく様子見して確保出来るようになるまで待ってくれたりしないの?
0022デフォルトの名無しさん2007/10/07(日) 02:50:32
GCはやってみるんじゃなかったっけ?
それでやっぱダメなら諦めて死んでた気がする。
0023デフォルトの名無しさん2007/10/07(日) 02:58:47
rhtmlがいいものだと思ってる人はいるのだろうか・・・
0024デフォルトの名無しさん2007/10/09(火) 13:02:59
imagemagickとか使うとメモリが開放されないっぽいので、
うちは一定時間起動してるmongrelインスタンスをランダムに再起動してる。
別にcronjobで一日一回再起動でもいいと思うけど。

>>16
いちおうlinuxのoom-killerはランダムじゃなくてメモリの大きい奴とあとなんかのパラメータを見て
プロセスを殺してた気がする。たぶん角度とか。
0025デフォルトの名無しさん2007/10/09(火) 17:50:50
RailsからMySQLにUTF-8で書き込み、Railsで表示→OK
RubyのCGIからMySQLにUTFで書き込み、CGIで表示→OK
CGIから書き込んだものをRailsで表示→文字化け
Railsで書き込んだものをRailsで表示→文字化け

化け具合からするとRailsの方が怪しい(CGIで2バイト文字が????)んだが、この現象の解消法誰かわからないかな?
0026デフォルトの名無しさん2007/10/09(火) 17:55:18
‘/PHP.で使えるcoding.は、基本的には何と何と何が在るのですか?
何処ぞの知識豊富な方、御教養の程をお願いします。
0027デフォルトの名無しさん2007/10/09(火) 18:40:10
>>25
いろんなところに可能性があって分からん。
config/database.ymlでdbのencodingはちゃんとした?
HTTPのcharsetもチェック。
MySQLのテーブルのエンコーディングはUTF8になっているか?
あと
・RailsからMySQLにUTF-8で書き込み、Railsで表示→OK

・Railsで書き込んだものをRailsで表示→文字化け
は何が違うんだ?

CGIのほうは使ったこと無いから知らね
0028デフォルトの名無しさん2007/10/10(水) 09:15:11
WebProg板行けよ
0029デフォルトの名無しさん2007/10/12(金) 16:10:28
>>28
Web制作板に行ってみたが、rubyのスレなかったよ。

ruby on railsって見たけれど、チームの決めるローカルな仕様をライブラリに持ち込んだ
って感じだね。
0030デフォルトの名無しさん2007/10/12(金) 16:34:56
WebProgのRailsスレ、落ちたっぽいな
おいおい
0031デフォルトの名無しさん2007/10/12(金) 16:44:40
落ちたってか、>>1が次スレを何故かここに立てちゃったんだよ
0032デフォルトの名無しさん2007/10/12(金) 16:54:54
【Ruby】Ruby on Rails Part3
http://pc11.2ch.net/test/read.cgi/php/1170760209/

  990 名前:nobodyさん[sage] 投稿日:2007/10/03(水) 19:43:26 ID:???
  次スレたてちゃっていいかね
 
  991 名前:nobodyさん[sage] 投稿日:2007/10/03(水) 20:51:59 ID:???
  >>990
  いいんじゃね?

  992 名前:nobodyさん[sage] 投稿日:2007/10/03(水) 22:27:23 ID:???
  Ruby on Rails Part4
  http://pc11.2ch.net/test/read.cgi/tech/1191381506/

  993 名前:nobodyさん[sage] 投稿日:2007/10/03(水) 22:36:05 ID:???
  あれ、ム板に移動?

ワラタw
0033デフォルトの名無しさん2007/10/12(金) 17:51:33
>>30-32
こっちに書いて良いの? それとも削除するの?
0034デフォルトの名無しさん2007/10/12(金) 18:17:14
別にどっちでもいいよ。どうせどっちの板も見てるし
0035デフォルトの名無しさん2007/10/12(金) 18:23:42
吹いた
0036デフォルトの名無しさん2007/10/12(金) 21:45:18
せっかくなので

<英語>
本家: http://www.rubyonrails.org
API: http://api.rubyonrails.com/
Documents&Tutorials: http://documentation.rubyonrails.com/

<日本語>
Rails' wiki: http://wiki.fdiary.net/rails/

今すぐ始めるRubyガイド
http://i.loveruby.net/ja/rhg/book/index.html
http://www.aoky.net/articles/why_poignant_guide_to_ruby/
0037デフォルトの名無しさん2007/10/12(金) 22:56:46
>>36

0038デフォルトの名無しさん2007/10/13(土) 00:32:32
>>4
元々、プログラマなんて知的ブルーカラーなんだから。
1つのDBで済むのなら、やっぱり早いんじゃないの? 車輪の再発明をする必要がない
だけ便利。
0039デフォルトの名無しさん2007/10/13(土) 00:36:41
コピペだよ
0040デフォルトの名無しさん2007/10/13(土) 00:37:44
>>38
日本語でおk
0041前スレ9902007/10/13(土) 01:33:40
>>32
違うんだよ、立てようかなと思ってスレ見たら
次スレ貼られてたから、あっもう誰か立ててくれたんだと思ったんだよ
でよく見たらここだった、でそのあとすぐ落ちた
0042デフォルトの名無しさん2007/10/13(土) 02:23:38
すんません。
RORで作られたredminってBTS使おうと社内で頑張ってるんですが、
ガントチャートで日付が表示されないってのですごい不評買ってます。。

自分で修正しようにもRubyを触ったことないんでお手上げです。
解決方法または修正方法ってどんなかんじでしょか。
0043デフォルトの名無しさん2007/10/13(土) 03:12:16
おなかが吹田
0044デフォルトの名無しさん2007/10/13(土) 07:43:36
>>42
redMineのMLがあるので聞いてみては
http://groups.google.com/group/redmine-users-ja?hl=ja
0045デフォルトの名無しさん2007/10/13(土) 14:42:19
>>44
おぉ、専用のがあったのですね。
ありがとうございました。
0046デフォルトの名無しさん2007/10/17(水) 01:49:58
仕事をするなら最高の環境で。Rails、Mongrel、Capistranoが組み込まれたLeopardは、Ruby on Rails開発に理想的なプラットフォームです。

Railsだけじゃなかったんだな。デザとかが気軽に試したりするのかな
0047デフォルトの名無しさん2007/10/17(水) 08:46:12
デザってデザイナー?
いまどきのMacはべつにデザイナー御用達ってわけじゃないけど。

0048デフォルトの名無しさん2007/10/17(水) 11:55:56
Mongrelって結構落ちるな。
ログみても特に情報でてないから、何が原因かわからん……
0049デフォルトの名無しさん2007/10/17(水) 14:49:46
まじで?
ウチはぜんぜん落ちたことないけど...
なんか、だいぶ前にはたまに落ちたことあるけど、今は安定してる。

MLを検索して類似の問題がなかったら、
地道にログレベルを上げるとか、vmstatでシステムの監視とかして、
尻尾を掴んだらgdbかなにかで追っかけるしかないのでは。

あるいは死んでたら再起動するとか、そういう運用で凌ぐか。
0050デフォルトの名無しさん2007/10/17(水) 15:37:33
うちも落ちないけど、負荷少ないからな
0051482007/10/17(水) 17:30:00
マシンに高負荷かけると落ちてるだけとは思う。
apacheの方が先に落ちると思ったのが、mongleが先に落ちたので意外だっただけ

0052デフォルトの名無しさん2007/10/17(水) 20:34:08

大昔に NeXTでサーバやってたときには、
アクセス集中すると、カーネルごと落ちて大変だった

CGIとかwebサーバとか、そういう問題じゃねーかんじで。
0053デフォルトの名無しさん2007/10/17(水) 21:39:18
個人的な経験では、mongrel_railsをクラスタ化して複数プロセス
走らせてて、かつ標準のLoggerを使ってた頃によく死んでたな。
同時に2つ以上のプロセスがログをローテーションしようとしてな。
プロセス内の排他はLogger内でやってたはずだが、プロセスをまたがるとダメぽい。
面倒だったのでSyslogLoggerに乗り換えた。
0054デフォルトの名無しさん2007/10/20(土) 18:42:14
RailsによるアジャイルWebアプリケーション開発
第2版
もうすぐだね〜
http://www.amazon.co.jp/Rails%E3%81%AB%E3%82%88%E3%82%8B%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%ABWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA-%E7%AC%AC2%E7%89%88-Dave-Thomas/dp/4274066967/
0055デフォルトの名無しさん2007/10/22(月) 17:51:40
ttp://www.itmedia.co.jp/enterprise/articles/0710/22/news002.html
ttp://itpro.nikkeibp.co.jp/article/NEWS/20071022/285089/?ST=oss
ttp://itpro.nikkeibp.co.jp/99/ruby/index.html
0056デフォルトの名無しさん2007/10/22(月) 18:09:04
> 食べログ.comは,ユーザーの評価に基づきレストランをレーティングするサイト。2005年3月に
>サービスを開始し,2007年9月末で登録レストラン件数は約13万店,登録レビュー約29万件,登録
>写真約24万点,月間利用者約380万人,月間約2900万PV(ページビュー)となっている。サイト利用
>者数で見ると1年前の約3倍と,アクセスが急増しているという。

価格コムってこんなのもやってたのね…ぜんぜん知らなんだ
0057デフォルトの名無しさん2007/10/22(月) 23:45:51
月間380万かぁ・・・まだまだ少ないな
0058デフォルトの名無しさん2007/10/23(火) 13:01:21
Ruby on Railsについて質問があるのですが、もしどなたか
知ってましたら教えて下さい。。
(質問するとこではないかもしれませんが、他に見つからなくて)

モデルに varidates_xxx を定義し、viewでerror_messages_forを
呼ぶとエラーを出力してくれますが、モデルで検出されるエラー
以外も同じ形式のフォーマットで出力したいと思っています。

モデルのエラーと、その他のエラーの形式を合わせるのに、
皆さんどのようにしているのでしょうか?
宜しくお願いします。
0059デフォルトの名無しさん2007/10/23(火) 14:05:36
あんまりやったこと無いので間違えてるかも。
@requestor.errors.push
でフィールド名付きor無しでメッセージつっこむ。
詳しくはドキュメントでError(s?)を探して見てくれ。
0060デフォルトの名無しさん2007/10/23(火) 14:24:20
まちがえた
0061デフォルトの名無しさん2007/10/23(火) 20:00:09
add_to_base
0062デフォルトの名無しさん2007/10/23(火) 20:00:14
render :text => "errorです" :status => 555

の時に下の"Hoge Error"に相当するメッセージを指示する手段ってありますか?

HTTP/1.x 555 Hoge Error
0063デフォルトの名無しさん2007/10/23(火) 20:50:00
それなんてHTTP?
0064デフォルトの名無しさん2007/10/23(火) 22:12:43
>>59-61
ありがとうございます〜、調べながらやってみます。
RailsのAPIリファレンスとかどうも読みなれてないもんで
苦労してます。。。
0065デフォルトの名無しさん2007/10/23(火) 23:59:08
>>64
grepしちゃえ
0066デフォルトの名無しさん2007/10/24(水) 15:48:26
>>62
多分 :status => "404 Not found" とでもすればいいはず。
0067デフォルトの名無しさん2007/10/24(水) 20:45:55
今朝通勤ラッシュ前の山手線乗ってたら
RoRの本を読んでる若者を発見した
しばらく観察してたら彼は居眠りを始めた
0068デフォルトの名無しさん2007/10/24(水) 21:20:56
>>66
それでいいなら最近は :status => :not_found と書ける。

public/404.html みたいな話のことかと思ったんだが違うのかな。
0069デフォルトの名無しさん2007/10/24(水) 21:52:38
だから
404 Not Found, You Fool!
のような出力にしたいという話ではないのか
0070デフォルトの名無しさん2007/10/24(水) 22:09:49
というわけでpublic/555.htmlを作って public/.htaccessで
ErrorDocument 555 /555.html
とか。
あ、Apache限定か。
0071デフォルトの名無しさん2007/10/25(木) 00:20:56
rails用のIDEはどれがオススメですか?
0072デフォルトの名無しさん2007/10/25(木) 00:25:00
>>71
Emacs
0073デフォルトの名無しさん2007/10/25(木) 00:34:30
>>72
Emacs使い方わからないです。今はvi。WinだとRDE
できればwinでGUIなやつを。
Komodoは有料だからRadRails? でも不安定らしいしJavaアプリだから非力なPCじゃツライ
RDEはUTF-8にすると変になるのを解決できないので。
0074デフォルトの名無しさん2007/10/25(木) 00:44:09
>>73
JmEditor
0075デフォルトの名無しさん2007/10/25(木) 09:19:51
RoR やってるひとに Vim ユーザって多くないの?
0076デフォルトの名無しさん2007/10/25(木) 09:25:43
>>71
3rdRails
0077デフォルトの名無しさん2007/10/25(木) 19:17:27
>>71
ttp://www.aptana.com/
0078デフォルトの名無しさん2007/10/26(金) 11:41:06
じゃあ一応TextMateって言ってみようか
Windowsで動かないし、IDEでもないが
0079デフォルトの名無しさん2007/10/26(金) 11:48:27
あと名前出てないけどNetBeansもかなり良いんじゃない。
機能は豊富だし、無料で手に入るし。
0080デフォルトの名無しさん2007/10/27(土) 09:31:42
MacOS X 10.5 Leopard入れてみた。

Rubyがただの/usr/へのインストールではなくFrameworkとして入ってる。
Railsは1.2.3がgemとして入ってる。
capistrano 2とかmongrelとかもある。

ls /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems

RedCloth-3.0.4/ cgi_multipart_eof_fix-2.2/ hpricot-0.6/ ruby-openid-1.1.4/
actionmailer-1.3.3/ daemons-1.0.7/ libxml-ruby-0.3.8.4/ ruby-yadis-0.3.4/
actionpack-1.13.3/ dnssd-0.6.0/ mongrel-1.0.1/ rubynode-0.1.3/
actionwebservice-1.2.3/ fastthread-1.0/ needle-1.3.0/ sources-0.0.1/
activerecord-1.15.3/ fcgi-0.8.7/ net-sftp-1.1.0/ sqlite3-ruby-1.2.1/
activesupport-1.4.2/ ferret-0.11.4/ net-ssh-1.1.2/ termios-0.9.4/
acts_as_ferret-0.4.1/ gem_plugin-0.2.2/ rails-1.2.3/
capistrano-2.0.0/ highline-1.2.9/ rake-0.7.3/
0081デフォルトの名無しさん2007/10/27(土) 09:32:46
あ、rubyのバージョンは1.8.6-p36
0082デフォルトの名無しさん2007/10/27(土) 22:54:52
喜び勇んで leopard を入れてみたものの
mysql/ruby が入れられない...
だめぽ
0083デフォルトの名無しさん2007/10/28(日) 03:40:07
●railsのバグ?をハケーンしたので、メモっておきます。
当方、初心者なので、自分のバグだったらごめん。

レイルズプラグイン(自作)をscript/generateしたとき、
migirateのcreate_ファイルが複数形になってしまいmigrateが通らない。
sを削除したら、migrateが通る。

D:\isearch\isearch>ruby script/generate photo photo
exists app/controllers/
・・・・
create app/views/photo/show.rhtml
exists db/migrate
create db/migrate/002_create_photos.rb
★↑複数形になっていて、migrateがとおらない!★
D:\isearch\isearch>rake migrate
(in D:/isearch/isearch)
rake aborted!
uninitialized constant CreatePhotos

(See full trace by running task with --trace)
★ここで、ファイル名を002_create_photo.rbに変更。(sを削除)★
D:\isearch\isearch>rake migrate
(in D:/isearch/isearch)
== CreatePhoto: migrating =====================================================
-- create_table("photos", {:force=>true})
-> 0.1570s
-- execute("alter table photos change data data longblob")
・・・・・
0084デフォルトの名無しさん2007/10/28(日) 03:40:58
バージョンは、1.2.3でした。
0085デフォルトの名無しさん2007/10/28(日) 04:31:39
D:\isearch\isearch>ruby script/generate photos photos
0086822007/10/28(日) 08:17:57
何かと思ったら、OSXのrubyがuniversalになっていて、
拡張ライブラリもuniversalで作らなきゃだめっぽい。
おかげで MySQL も universal で作らなきゃだめっぽい。

これじゃ、自分でrubyから入れ直した方が早そう。。
0087デフォルトの名無しさん2007/10/28(日) 11:42:50
83です。
>85
ありがと。自分の重大なバグでした。
すれ汚し失礼しました。
0088822007/10/28(日) 11:58:20
>>86
解決しました。
http://trac.macosforge.org/projects/ruby/wiki/Troubleshooting
の手順でできました。
$ sudo ln -s . /usr/local/mysql/lib/mysql
は /usr/local/mysql/lib にて実施。
0089デフォルトの名無しさん2007/10/28(日) 14:10:13
ユーザ毎にブックマークを管理するウェブサイトをつくるとします。
そして各ユーザのブックマークには、ユーザ毎に管理された連番を付加することとします。

以下のようにテーブルを設計しました。
usersテーブルのbookmark_last_noがそのユーザで最後に使用されたブックマークの連番、
bookmarksテーブルのnoがそのブックマークに付加された連番に当たります。

create_table :users do |t|
 t.column :user, :string
 t.column :bookmark_last_no, :integer
end

create_table :bookmarks do |t|
 t.column :no, :integer
 t.column :user_id, :integer
 t.column :url, :string
end

このように設計したのですがもっと綺麗に出来る設計はあるでしょうか?
また、この設計で良い場合、
bookmark_last_noをインクリメントするのはModelで行うべきでしょうか、
それともControllerで行うべきでしょうか。
どなたかアドバイスしていただけると嬉しいです。。
0090デフォルトの名無しさん2007/10/28(日) 14:56:53
>>89
bookmarkのテーブルと、userのテーブルと、
bookmarkとユーザーをつなぐテーブルを作るのが良さそうだけど。
0091デフォルトの名無しさん2007/10/28(日) 16:31:34
> このように設計したのですがもっと綺麗に出来る設計はあるでしょうか?

今のままでいいんじゃない?

> bookmark_last_noをインクリメントするのはModelで行うべきでしょうか、
> それともControllerで行うべきでしょうか。

どっちでも良いけど、この場合はcontrollerだろな
0092デフォルトの名無しさん2007/10/28(日) 18:13:54
rubyを見つけてくれた、どこかの外国人様に感謝(笑)。
0093デフォルトの名無しさん2007/10/29(月) 02:53:05
Railsを携帯対応にしたいのですが、おすすめのプラグインってありますか?
0094デフォルトの名無しさん2007/10/29(月) 03:02:17
>>93

jpmobile とか?

俺も使ってないのでどれくらいイケてるのか知りたい。

0095デフォルトの名無しさん2007/10/30(火) 00:46:52
絵文字の変換とかもやってくれるらしい
0096デフォルトの名無しさん2007/10/30(火) 00:57:03
Ajax関連です。

link_to_remoteなんだけど、パラメータを幾つか渡したい。
でもフォームを作成するほどではない。
こんな場合は、どうやって渡すべきでしょう?
GETとPOSTのどっちを使った方がベターでしょう?
0097デフォルトの名無しさん2007/10/30(火) 01:02:40
結構意味不明
0098デフォルトの名無しさん2007/10/30(火) 16:59:32
>>94
 サンクス。試しに使ってみた。

 携帯の機種判別は問題なく動いたが、携帯電話viewの自動振分けはうまく動かず、仕方なくコントローラーを別に作って対応した。
 サンプル: http://news.a01.biz/m/
0099デフォルトの名無しさん2007/10/30(火) 20:31:39
http://www.atmarkit.co.jp/news/200710/29/rubycert.html
第1回Ruby検定は45人が受験


45人って…(笑
0100デフォルトの名無しさん2007/10/30(火) 20:33:06
100
0101デフォルトの名無しさん2007/10/30(火) 21:28:24
>>99
何を期待してたんだ?
■ このスレッドは過去ログ倉庫に格納されています