【Ruby】Ruby on Rails Part8
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2009/09/13(日) 20:49:34ID:kz4rC4Dxhttp://pc11.2ch.net/test/read.cgi/php/1241100447/
■参考サイト
<英語>
本家: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 37
http://pc12.2ch.net/test/read.cgi/tech/1251029267/
Ruby 初心者スレッド Part 30
http://pc12.2ch.net/test/read.cgi/tech/1249687283/
0867nobodyさん
2010/02/06(土) 03:04:04ID:WHjoDDD7これは酷い
君が誰だが知らないがたとえDHHだったとしても賛同できない発言だな
そもそもRailsってwebアプリケーション・フレームワークだろ
アプリ層以外のところにエンジニアが気をとられすぎてる現状は改善されるべき
0868nobodyさん
2010/02/06(土) 03:25:02ID:sFPKz/Glruby\rails\hello>rails generate controller hello
ruby/lib/ruby/gems/1.8/gems/railties-3.0.0.beta/bin/rails:2:in `exec'
: Exec format error - ruby/rails/hello/script/rails (Errno::ENOEXEC)
from ruby/lib/ruby/gems/1.8/gems/railties-3.0.0.beta/bin/rail
s:2
from ruby/bin/rails:19:in `load'
from ruby/bin/rails:19
0869nobodyさん
2010/02/06(土) 03:27:48ID:???増えないどころか周りに合わせてPHPなんぞやらされたら死にたくなるよ
0870nobodyさん
2010/02/06(土) 05:32:26ID:WcJ7lKTj5行でrails3
$ rails example
$ cd example
$ ruby script/rails generate scaffold todo title:string body:text done:boolean due:datetime
$ rake db:migrate
$ ruby script/rails server
http://localhost:3000/todos/
0873nobodyさん
2010/02/06(土) 09:26:17ID:???jdbcmysqlアダプターで一部の操作が未サポートだって言われてる。
rakeを-t付きで実行して、どのタスクが未サポートか確認。
0874nobodyさん
2010/02/06(土) 09:42:28ID:sFPKz/GlRubyGems version 1.3.5
Rack version 1.1
Rails version 3.0.0.beta
Active Record version 3.0.0.beta
Action Pack version 3.0.0.beta
Active Resource version 3.0.0.beta
Action Mailer version 3.0.0.beta
Active Support version 3.0.0.beta
Middleware ActionDispatch::Static
Rack::Lock
Rack::Runtime
Rails::Rack::Logger
ActionDispatch::ShowExceptions
ActionDispatch::Callbacks
ActionDispatch::Cookies
ActionDispatch::Session::CookieStore
ActionDispatch::Flash
ActionDispatch::ParamsParser
Rack::MethodOverride
ActionDispatch::Head
ActiveRecord::ConnectionAdapters::ConnectionManagement
ActiveRecord::QueryCache
0875nobodyさん
2010/02/06(土) 09:43:44ID:sFPKz/GlRuby version 1.8.7 (i386-mswin32)
RubyGems version 1.3.5
Rack version 1.1
Rails version 3.0.0.beta
Active Record version 3.0.0.beta
Action Pack version 3.0.0.beta
Active Resource version 3.0.0.beta
Action Mailer version 3.0.0.beta
Active Support version 3.0.0.beta
Middleware
ActionDispatch::Static
Rack::Lock
Rack::Runtime
Rails::Rack::Logger
ActionDispatch::ShowExceptions
ActionDispatch::Callbacks
ActionDispatch::Cookies
ActionDispatch::Session::CookieStore
ActionDispatch::Flash
ActionDispatch::ParamsParser
Rack::MethodOverride
ActionDispatch::Head
ActiveRecord::ConnectionAdapters::ConnectionManagement
ActiveRecord::QueryCache
0876nobodyさん
2010/02/06(土) 13:34:13ID:???今はcomfig.gemで管理してもgemがうまく動かなかったりして
結局pluginにして入れる事も多いので。
0877nobodyさん
2010/02/06(土) 15:03:10ID:???0878nobodyさん
2010/02/06(土) 15:30:41ID:???今はgem bundleというgemのサブコマンドではなく、独立したbundleという
コマンドになってる。
0.9以降でそれまでとだいぶ変わったな。
0879866
2010/02/06(土) 15:39:36ID:YL0PbaBD10分どころか10日も厳しい
>>873
まだコマンドプロンプトからの実行ができていないのですが
rakeのタスク一覧にはdb:test:prepareがあります。
いろいろ調べても、db:test:prepareはさらっと流されてるので
できないほうが珍しいのかな。
最初のソースはグダグダになるのが目に見えているので
テスト駆動にしといて後で直したいんですけどねぇ
0880nobodyさん
2010/02/06(土) 17:07:11ID:???0881nobodyさん
2010/02/06(土) 17:13:43ID:???1. config/database.yml に設定を書く。
2. mysqlでアクセスするユーザーを作っておく。(grant)
3. 開発用DBを作る。rake db:create
4. テスト用DBを作る。 rake db:create RAILS_ENV=test
db:test:prepareはそのあと。
mysql の前に sqlite3 でやったほうが楽だと思うけど、jrubyだとドライバないのかね。
0882nobodyさん
2010/02/06(土) 17:16:34ID:???ちゃんと動作確認しながら書かれたものなんだろうか。
0883nobodyさん
2010/02/06(土) 18:20:25ID:???0884866
2010/02/06(土) 18:50:43ID:O1uZpKfZレスありがとうございます
実は
rake db:create
rake db:create RAILS_ENV=test
も上手く言ってないです。エラーは出ないけどもDBも作成されて無いです。
ただ、Rubyのブログを10分で〜のページに、そういう場合は
「サービス」ウィンドウで、MySQL サーバーのノードを右クリックし、「データベースを作成」
と記述してあったので 手動で作成しています。
jruby、mysqlはnetbeansのデフォルトなので、そのあたりは触らないほうが
余計なリスクを背負い込まなくてすむと思ったんですけどね
とりあえず mysql⇒sqllite3 jruby⇒ruby でそれぞれ実験して
問題の切り分けをしてみたいと思います。
0885nobodyさん
2010/02/06(土) 19:28:29ID:???0886nobodyさん
2010/02/06(土) 20:13:44ID:???0887nobodyさん
2010/02/06(土) 20:41:12ID:???最近JRubyで動作試したことあるけど、jdbcmysqlだとrake db:createとかが上手く動かない
必要ない限りJRubyは選ばない方が無難
0888nobodyさん
2010/02/06(土) 20:44:13ID:???0889nobodyさん
2010/02/07(日) 03:39:00ID:lH6tE8FWLooking for a few beta users of our Ruby 1.8.7 & Ruby 1.9 (& Rails 3) stack. Drop beta@heroku.com an email. Feedback required.
http://twitter.com/heroku/status/8649329782
0890nobodyさん
2010/02/07(日) 04:07:15ID:lH6tE8FWRails 3.0 Beta の Release Notesを読んでみる
http://blog.livedoor.jp/maru_tak/archives/50808747.html
Rails3 リリースノート全文和訳 (ただし適当)
http://d.hatena.ne.jp/gom68/20100206/1265469879
Rails 3.0 リリースノート和訳 - 前編
http://d.hatena.ne.jp/willnet/20100206/1265467594
0891nobodyさん
2010/02/07(日) 08:42:26ID:???多分これから各所で聞かれるだろうから想定回答を用意しておきたい
0892nobodyさん
2010/02/07(日) 08:55:11ID:???確かに鯖管理が面倒というのはあるね。
フレームワークとは違うけどwordpressとかphpbbの作者はスクリプトの普及のため
その辺はものすごく意識しているみたい。
要するにレン鯖で動くようにすることに執念を燃やしている。
WordPressに見るオープンソースWebアプリに向いた設計とは - p0t
http://docs.komagata.org/2815
phpはmod_php動作はともかく、一旦普及してデフォで採用されているのがデカイんだろうなー
mod_php相当のpassengerはいいんだけど、いまいち普及してないよね・・・。
海外だとDreamhostあたりは入ってたと記憶
>>846のherokuみたいにデプロイ簡単で、managedなサーバーはよいね。もう少し安ければいいけどw
ただ、無粋なので言うのやめようかとおもったけど、
動かそうと思えば、xreaとかcoreserverでCGI駆動でも動かせるよ?
どうせサービス作っても流行るかどうかはわからんのだから、人少ないうちはCGI駆動でも問題ないよ!
0893nobodyさん
2010/02/07(日) 10:05:09ID:lH6tE8FW0894nobodyさん
2010/02/07(日) 15:47:44ID:???さくらのphpみたいにrubyも上位サービス契約しないと使えない様にされるだけだ。
まともに出来ないレベルで仕事に仕様というのは無茶だな。
そんなレベルで金受け取って仕事される客も困るだろうw
0895866
2010/02/07(日) 20:54:16ID:AwzzZZa9ただ、MySQL5.1も問題ありみたいですね。とりあえず
ここを参考にして、エラーは回避しました。
http://d.hatena.ne.jp/kusakari/20091202/1259683140
SUNでまとめときゃ大丈夫と思ったのが甘かったみたいです。
それともwindowsが合わないのかな。
レスくれた方々には感謝してます。
0896nobodyさん
2010/02/07(日) 21:34:57ID:???Google App Engine とかもあったけど、「○○で動いた」みたいな報告は、
ごく一部の機能を動かしただけで、実際の開発には耐えられないんじゃないだろうか。
0897nobodyさん
2010/02/08(月) 13:58:49ID:UWYpis5jhttp://www.flickr.com/photos/46457493@N00/sets/72157623251011769/show/
How to use both Rails and Sinatra in the same application: http://bit.ly/9nGcR2 -- love how easy this is!
http://twitter.com/dhh/status/8771056696
0898nobodyさん
2010/02/08(月) 14:51:50ID:???サン純正でまとめるならちゃんとjavaで組んだほうがいい。
時代はoracle enterprise linux + oracle weblogic application server + oracle databaseかもしれないが。
0899nobodyさん
2010/02/08(月) 19:43:14ID:???一部の機能がモジュール化されて取替え可能になるだけか
0900nobodyさん
2010/02/08(月) 20:05:25ID:???0901nobodyさん
2010/02/08(月) 22:59:49ID:???0902nobodyさん
2010/02/08(月) 23:23:01ID:???0903nobodyさん
2010/02/10(水) 06:22:01ID:F6Q2dOp+Ruby on Rails によるシステム開発事例集 - 株式会社オイアクス
ttp://www.oiax.co.jp/cases
0904nobodyさん
2010/02/10(水) 13:09:43ID:L494lCPsTwilog - Twitterのつぶやきをブログ形式で保存
http://twilog.org/
ひとりで作るネットサービス:
ただしイケメンに限……らない! ネットならフリーターでも生活できる――ロプロスさん
http://bizmakoto.jp/bizid/articles/1002/10/news032_2.html
「今振り返ると勉強してよかったです。これから作るWebサービスもRubyで作ります。
やっぱり純粋なオブジェクト指向がすばらしいというか、
PHPで数行かかるところも1行で書けてしまったり、かゆいところに手が届く言語ですね」。
「よく言われることですが」と前置きしつつ
「やっぱりRubyは書いていて楽しい」という。
0905nobodyさん
2010/02/11(木) 08:39:51ID:???しかし、開発環境がRDEの男の人って・・・
0906nobodyさん
2010/02/11(木) 11:54:04ID:???0907nobodyさん
2010/02/11(木) 12:56:06ID:d9Kyh7+cWebサーバ1台、DBサーバ1台。
それぞれ専用サーバで、メモリは4GB。CPUはCore2DuoT8100。サーバ1台あたり月額14,700円
Apache + mongrel + PostgreSQL8.3。
Rubyのバージョンは1.8.7。
稼動年数は4年くらい。
0908nobodyさん
2010/02/11(木) 14:17:14ID:???日ベース常時1万に乗っけるのが難しい。
自分のサイトはなぜか休日にアクセス数激減してしまう
パフォーマンス意識しなきゃいけないほどのマンモスサイトを早く作りたい
0909907
2010/02/11(木) 15:10:07ID:???上のサイトはPCサイトのみのアクセス数なんだけど、やっぱり土日や祝日はアクセスが減るね。
休日も見てもらえるようなコンテンツを用意しないといけないんだろうけど、今はアイデアがない。
ちなみに、1日で約11万pvだから、月だと11*31=341万pv。
当初は、月10万まで行くのも苦労したんだけど、簡単にいけるもんなのか・・・
0910nobodyさん
2010/02/11(木) 16:48:41ID:???0911nobodyさん
2010/02/11(木) 16:56:25ID:XTMQuQu/ミニブログの Twitterのstats(統計)データ。
http://kaworu.jpn.org/kaworu/2008-01-16-2.php
- 350,000を超えるユーザ。
- 秒間600リクエスト
- 平均毎秒200-300コネクション。最大時は秒間800コネクション
- MySQLは秒間2,400リクエストを処理する
- 180のRailsインスタンスがある。MongrelのWebサーバを使っている。
- 1つのMySQLサーバ(1つの大きな 8コアのサーバ)と1つのスレーブ。スレーブは、統計とレポートのための読み込み専用(リードオンリー)。
- 雑用処理をするための30+のプロセス
- 8台のSun X4100s
- Railsでのリクエストの処理時間は200 msec
- データベースにかかる時間の平均は、50-100 msec
- 16GBの memcached
0912nobodyさん
2010/02/11(木) 17:09:17ID:XTMQuQu/RORのままアーキテクチャの変更で10000%高速化したとな。
ttp://b.hatena.ne.jp/entry/highscalability.com/scaling-twitter-making-twitter-10000-percent-faster
0913nobodyさん
2010/02/11(木) 18:00:46ID:???ツイッターのエンジニアもそのあたりの失敗を認めてたような
ここまで使われると思ってなかったんだろうけど
0914nobodyさん
2010/02/11(木) 19:27:35ID:???K氏と一緒に稼ぐチンパン団 入団20日目
http://pc12.2ch.net/test/read.cgi/affiliate/1262801285/
スレタイトルのチンパン団はインタビューで小一時間説明したのに華麗にスルーされたとかw
0915nobodyさん
2010/02/12(金) 00:23:36ID:???0916nobodyさん
2010/02/12(金) 06:49:51ID:GlKVK1JQというか今もmemcachedとか普通に使われてないか?
0917nobodyさん
2010/02/12(金) 08:49:26ID:???0918nobodyさん
2010/02/12(金) 09:32:46ID:???StoryモデルとStoriesコントロールがあったとして、
>stories_path
(/stories を期待している)
としても、そんなメソッドはないと言われてしまいます。
0919nobodyさん
2010/02/12(金) 10:47:03ID:???map.resourcesで作られるURLを表すメソッドだよね?
ActionController::Routing::Routes.install_helpers して helper.stories_path かなー
と思ったんだけど、違った。
認識されるURLパターンを見るだけなら rake routes でいいんだけど。
0920nobodyさん
2010/02/12(金) 12:44:06ID:???レスありがとうございます。
はい、map.resourcesで作られる4つの関数です。
結局、protectedメソッドらしく確認できないっぽいです。
0921nobodyさん
2010/02/13(土) 00:53:22ID:???0922nobodyさん
2010/02/13(土) 01:02:56ID:???その中身をごっそり送るような仕組みが出来ない限り無理じゃないか?
0923921
2010/02/13(土) 01:09:26ID:???昔作ったやつでフォルダ一括って出来たんだけど、
確かDBにバイナリで格納してたから重かった気がした。
最近paperclipって知ったからコレは!って思ったんだが…
会社行ったら前どうやって作ったのか確認してみます。
0924nobodyさん
2010/02/13(土) 01:39:55ID:???0925nobodyさん
2010/02/13(土) 11:03:58ID:???フォルダ一括はそもそもブラウザに機能ないから、何か工夫しないといけないはず。
↓フォルダは無理だが複数一括ならこんなのとか
MOONGIFT: ≫ 華麗にアップロード「SWFUpload」:オープンソースを毎日紹介
http://www.moongift.jp/2007/07/swfupload/
って公式サイト死んでるがな・・・
あとはzipで圧縮したのをアップロードして、サーバー側で展開とか。一手間増えるが
0926nobodyさん
2010/02/14(日) 00:55:54ID:???Flash(ActionScript)を使えば一度に複数選択できるのか。
0927nobodyさん
2010/02/14(日) 13:54:20ID:6lVOAOxGlink_to_remoteを使って「ほげ」をクリックすることで"hoge"の内容が
書き変わるようにしています。
<%= link_to_remote 'ほげ',
:update => "hoge",
:url => {:controller => 'foo', :action => 'index'} %>
<div id="hoge"></div>
これをクリックとかの能動的な操作を必要とせずに、画面の初期表示段階で
{:controller => 'foo', :action => 'index'}を実行させるようにしたいです。
何か良い方法はありませんか?
よろしくお願い致します。
0929nobodyさん
2010/02/14(日) 16:24:39ID:???function foo() {
<%= remote_function(オプション) %>
}
document.observe('dom:loaded', foo)
かな
0930nobodyさん
2010/02/14(日) 17:21:58ID:6lVOAOxGありがとうございます。
おかげさまで、うまく実装できました。
当方、jQueryを使っておりますので以下のようになりました。
jQueryでdocument.observe('dom:loaded', foo)に相当するものを探すのに
時間が掛かってしまいました。
<%= link_to_remote 'ほげ',
:update => "hoge",
:url => {:controller => 'foo', :action => 'index'} %>
<div id="hoge">
<script type="text/javascript">
function foo() {
<%= remote_function(:update => "user_week_block",
:url => {:controller => 'user_week', :action => 'index'}) %>
}
$(document).ready(foo)
</script>
</div>
0931nobodyさん
2010/02/14(日) 19:00:42ID:???0932nobodyさん
2010/02/14(日) 19:12:56ID:???まあ、ありでしょ。jQueryもメリットある。
remote_function 使うんだからPrototypeもロードしてるはずだけど。
0933nobodyさん
2010/02/14(日) 19:13:48ID:???0935nobodyさん
2010/02/14(日) 19:17:56ID:???0936nobodyさん
2010/02/14(日) 20:31:43ID:???タグにいちいち :class => "label" ってやるのは DRY じゃないと思い
alias_method_chain で FormHelper のメソッドをオーバーライドしようと
label メソッドだけは上書きしてみたんですが
これを、text_field やら form_for やら同じようにやってくのは
これまたDRYじゃないと思い、そこでいきづまりました
:class が nil ならタグ名をクラスとする、スマートな方法があったら教えて下さい
0937936
2010/02/14(日) 21:36:39ID:???groundworkなるプロジェクトテンプレートが参考になりそうですね
Windows環境だと使えなさそうなので、Linux環境構築中…
0938nobodyさん
2010/02/14(日) 22:56:50ID:???状況と好みによって選択だな。
jQuery は動的に DOM をバシバシいじるのは確かに楽だ。
配列や文字列なんかのユーティリティ系は Prototype のが素直に書けるよね。
0939nobodyさん
2010/02/14(日) 23:01:35ID:???0940nobodyさん
2010/02/14(日) 23:28:02ID:???0941nobodyさん
2010/02/14(日) 23:47:56ID:???結局生で書くことになったりするから、混在させるのが嫌だなあ
0942nobodyさん
2010/02/15(月) 07:55:38ID:???0943nobodyさん
2010/02/15(月) 07:58:05ID:???他のフレームワークで結構採用されてんのね。
0944nobodyさん
2010/02/15(月) 15:02:24ID:???もしできるなら勉強してみるかな
0946921
2010/02/15(月) 16:20:19ID:???入ってる複数の画像ファイルをjavascriptで持ってきてた。
1年以上前に書いたモノだから今見ると欠片もワカラン。
paperclip使って1ファイルづつ登録するしかないかな…
3000ファイルくらいあるけど
0947nobodyさん
2010/02/15(月) 18:42:58ID:9Iqj2ojJRails基礎文法最速マスター - cod.note
http://d.hatena.ne.jp/codnote/20100214/1266132768
0949nobodyさん
2010/02/15(月) 19:54:14ID:???何で☆付いてんだろw
0950nobodyさん
2010/02/15(月) 20:01:34ID:???0952nobodyさん
2010/02/15(月) 20:15:15ID:???別にメソッドと呼ぶほどのものではなかろう。
あ、でもアフィは入ってくるのか。
0953nobodyさん
2010/02/15(月) 20:16:06ID:???0954nobodyさん
2010/02/15(月) 20:43:43ID:???ありがとうございます。まだβでしたか。
新サービスをRailsで作りたいのに3を待つか2で行っちゃうかでウズウズ…
0955nobodyさん
2010/02/15(月) 20:50:13ID:???* モンキーパッチするなど、実装の深いところを触るのは避ける
* プラグインは全滅するので使わない
というレベルでとりあえず2.3.5で作りはじめておくくらいなら、大丈夫かも。
0956nobodyさん
2010/02/15(月) 21:03:13ID:???たぶんそれなりに開発できるようになるには半年くらいかかるように思う
リリースが大幅に遅れたプロジェクトは要注意。勉強なら平行してやればいいし
0957nobodyさん
2010/02/16(火) 00:18:29ID:???サーバーはどれがいい(動く)の?
Mongrel? LightTPD? thin?
0959nobodyさん
2010/02/16(火) 04:43:08ID:???ってファイルを手動で消さないと起動しないことあるんだけど
installの仕方間違えたのかな
0960nobodyさん
2010/02/16(火) 14:33:15ID:???簡単な流れの画面作ってんだけど
検索画面の入力チェックってcontrollerにもりもり書いていいの?
0961nobodyさん
2010/02/16(火) 15:12:55ID:vr/Y6Irj0962nobodyさん
2010/02/16(火) 19:26:00ID:???検索ワードのことなら、俺ならコントローラに書く。
検索ワードの入力チェック的なこと、そんなにいらなさそう。
検索式の中に入れるならエスケープは必要だけど。
0963nobodyさん
2010/02/16(火) 19:39:38ID:???0964960
2010/02/16(火) 20:02:05ID:???検索ワードです。
>>963
プレースホルダ使ってるのでSQLInjectionなら大丈夫です。
ttp://gendosu.ddo.jp/redmine/projects/rails/wiki/モデルとは関係ない検索条件などのパラメータをviewとcontrollerでやりとりする
とりあえずここみながらmodelに書いてみた。
controllerの方がもりもりいけるけど、汚い。
modelだと専用class用意すんのがちょっと面倒。
大抵の人はcontrollerなのかな。
0965nobodyさん
2010/02/16(火) 20:40:30ID:???アプリすべての処理が簡単に行えるのが理想だと思ってる
0966nobodyさん
2010/02/16(火) 21:17:26ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。