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

【Ruby】Ruby on Rails Part10

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/08/28(土) 19:27:42ID:Er5MNJZv
■前
【Ruby】Ruby on Rails Part9
http://hibari.2ch.net/test/read.cgi/php/1266563593/

■参考サイト
<英語>
本家: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/

http://twitter.com/dhh
http://www.loudthinking.com/

0067nobodyさん2010/09/08(水) 16:34:18ID:dxWVL6Ut

創業六年で時価総額3000億円はすごい。
http://twitter.com/tnatsu/status/18396228025
0068nobodyさん2010/09/08(水) 17:18:29ID:YNe1GdWN
GREEってRuby使ってんの?
0069nobodyさん2010/09/08(水) 17:45:48ID:???
>>68
使ってないんじゃない?
PHPの Ethna だったとおもうが

(バックグラウンドとか社内ツールで使っているかどうかはわからないけど)
0070nobodyさん2010/09/08(水) 18:23:51ID:???
>>66 は楽天でRuby使ってるからわかるけど
>>67 はイミフ
0071nobodyさん2010/09/09(木) 01:18:44ID:???
楽天はjavaでoracleじゃないの?
rorでケチらなきゃ逝けないほど金に困ってる訳でもないだろうし。
0072nobodyさん2010/09/09(木) 01:39:15ID:???
楽天の中の人に聞いたことがあるけど、
システムによっていくつか言語が違うらしい。

Java + Oracle のやつもあれば、PHP で作っているのもある。
んで、最近(といっても2年ぐらい前から?)、新規に作るやつは
Java じゃなくて rails でつくろう、なんて言っていたような

いずれにせよ ruby には傾倒しているけど、楽天内のすべてを
ruby に置き換えるつもりではないみたい。
0073nobodyさん2010/09/09(木) 07:37:43ID:???
http://www.rakuten.co.jp/sitemap/
買収しまくりだし開発環境が統一とかありえない。
0074nobodyさん2010/09/09(木) 08:54:34ID:???
派閥争いがあって淘汰されたりされなかったり
0075nobodyさん2010/09/09(木) 13:02:17ID:???
楽天ゴールデンイーグルスがRuby製だという噂が流れている
0076nobodyさん2010/09/09(木) 13:56:14ID:???
楽天は技術が無くて、コンサルの良いカモになってた覚えしか無い。
0077nobodyさん2010/09/09(木) 13:59:29ID:???
楽天の知り合いは、全然Ruby使ってないって言ってたけど
0078nobodyさん2010/09/09(木) 21:11:27ID:yHM/Vjx3

Ruby on Railsのパフォーマンス向上に関する10のtips
http://blog.tkmr.org/tatsuya/show/268-ruby-on-rails-10-tips
findメソッドはパワフルだけど基本SELECT * FROMなので場合によっては:selectで必要なカラムだけ読み込む、また:limitや:offsetを活用する

ごくごく基本的な Ruby on Rails のパフォーマンスチューニング
http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20071114
:conditions オプションでキーに使われるようなカラムにはインデックスを作成すべし

:selectで取得するカラムを絞ったらパフォーマンスが倍に
http://brass.to/blog/active_record_select_option.html
レコード件数は110万件くらい
カラム数は30程度
インデックスは効いている(explainで確認済み)

Rails で MySQL を使うときの注意点 | METAREAL
http://www.metareal.org/2007/07/24/notes-on-rubyonrails-with-mysql/
SQL を二段階に分けるといい
まず、最初の SQL でレコードの ID だけを SELECT する(int だけなので、このときの一時テーブルはメモリ上に作られる)
次に、その ID で必要な TEXT や BLOB を SELECT するんだ(これは ID による単純な検索なので一時テーブルは使われない)

これを知っておかないと、MySQLサーバの再起動でDBデータの不整合が発生するかもしれません! - よかろうもん!
http://d.hatena.ne.jp/interu/20100817/1282041840

0079nobodyさん2010/09/09(木) 21:20:31ID:iLoz/ZWh
[Rails] query-reviewerでRailsアプリのボトルネックを見つける
http://d.hatena.ne.jp/tkng/20080811/1218442298

SpecialWarningというプラグイン
http://d.hatena.ne.jp/authorNari/20090205/1233840189

N+1問題などを監視してパフォーマンスを改善するRailsプラグインBullet
http://blog.digital-squad.net/article/149685338.html

複合キー
compositekeys ActiveRecord Composite Primary Keys
http://compositekeys.rubyforge.org/

Martin Fowler's Bliki in Japanese - エンタープライズRails
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?EnterpriseRails

MOONGIFT: ? Railsを見える化「RailRoad」:オープンソースを毎日紹介
http://www.moongift.jp/2007/07/railroad/

「has_many :through の関連テーブル名には、relation_ の接頭辞を用いる」
http://d.hatena.ne.jp/hichiriki/20100622#1277195810
0080nobodyさん2010/09/09(木) 22:41:35ID:???
これはいいまとめGJ
0081nobodyさん2010/09/09(木) 22:46:36ID:???
まとめには見えないが。
0082nobodyさん2010/09/09(木) 22:56:37ID:???
このRailRoadってのいいな
ER図きっちり作って、schema.rbからマイグレーションファイル作って、みたいにしてたけど
実験的なアプリ開発なら、もういきなり マイグレーション書いて ER図に吐いての細かい繰り返しサイクルで開発やれそう
0083nobodyさん2010/09/09(木) 23:24:11ID:+vsgCbxf

annotate_models は、テーブルの情報をModelとFixtureのファイルに コメントとして書き込んでくれる非常に便利なプラグイン
http://blog.s21g.com/articles/318
http://www13.atwiki.jp/maimuzo/pages/41.html

Railsで、マイグレーション作成時に、カラムにコメントを設定し、それをデータベースに設定する ColumnComments という便利なプラグイン
http://ishikawa.r-stone.net/2008/08/rails-migration-column-comment.html


0084nobodyさん2010/09/11(土) 17:27:51ID:VbHgmvp5

rails myapp
cd myapp
git init
git add .
git commit -m "my new app"
heroku create
git push heroku master


cd myapp
git remote add heroku git@heroku.com:myapp.git


http://docs.heroku.com/quickstart
http://docs.heroku.com/collab
$ heroku keys:add
$ git clone git@heroku.com:APPNAME.git -o production
$ git commit -a -m "log of the changes I made"
$ git push production master

0085nobodyさん2010/09/11(土) 19:22:23ID:mIHqz2pl

=== Example story:

rails myapp
cd myapp
(...make edits...)
git init
git add .
git commit -m "my new app"
heroku create myapp
git remote add heroku git@heroku.com:myapp.git
git push heroku master

http://docs.heroku.com/heroku-command

0086nobodyさん2010/09/12(日) 00:59:46ID:jzrNePn4


「無限マラソン」リリースから16日間で会員数100万人
http://twitter.com/tanakayoshikazu/status/22231969025
0087nobodyさん2010/09/12(日) 13:49:52ID:???
>>86
で、それはRailsなの?
0088nobodyさん2010/09/12(日) 16:47:55ID:XbXEHY8U

【怪盗ロワイヤル】 ボス戦 (マイアミ)
http://www.youtube.com/watch?v=RoyN2Q8pqwY

http://blog.esuteru.com/archives/941019.html
0089nobodyさん2010/09/12(日) 17:40:02ID:???
数日前からクリー関連の宣伝リンクを貼り続けてる阿呆がいるので運営に通報しておいた
今後は無視の方向で
0090nobodyさん2010/09/13(月) 15:56:41ID:ONonsrRL
Ruby on Rails を高速化する N+1 クエリー問題を解消する
http://www.ibm.com/developerworks/jp/opensource/library/os-railsn1/

出発進行! Rails 3 の紹介
http://www.ibm.com/developerworks/jp/web/library/wa-introrails3/


Rails3対応プラグイン
http://railsplugins.org/plugins?criteria%5B%5D=1
http://railsplugins.org/plugins


0091nobodyさん2010/09/13(月) 18:31:19ID:PfCQNJg5
ruby on rails

SNS

lovdbyless
http://lovdbyless.com/
OneBody
http://www.moongift.jp/2007/12/onebody/
Community Engine
http://www.moongift.jp/2008/05/communityengine/
松江SNS
http://matsuesns.jp/
tog
http://www.toghq.com/
skip
http://www.openskip.org/ja/
insoshi
http://github.com/insoshi/insoshi

グループウェア groupware

thetis
http://sysphonic.com/ja/thetis.html
eNote for Community
http://community.enote.jp/
KnowledgeOn
http://www.knowledgeon.com/


0092nobodyさん2010/09/14(火) 11:33:14ID:???
rspec-railsを習得したいのですが、いい勉強材料ってないでしょうか。
0093nobodyさん2010/09/15(水) 02:19:21ID:???
もちろん、あります。









0094nobodyさん2010/09/15(水) 02:25:56ID:???
>>92
rspecではなくrspec-rails?
rspecならt-wadaのブログの写経がオススメだが。
0095nobodyさん2010/09/15(水) 23:34:20ID:vBg5ejVy

hirb
script/console時にActiveRecordの結果を表形式で出力してくれる
http://d.hatena.ne.jp/rochefort/20100915/p1
0096nobodyさん2010/09/16(木) 17:55:19ID:ZkbggsMn

hirbでActiveRecordの検索結果を見やすく表示する方法
http://memo.yomukaku.net/entries/10-hirbでActiveRecordの検索結果を見やすく表示する方法
0097nobodyさん2010/09/16(木) 18:18:23ID:xsNpRW02

Railsのクールなデザインを一瞬で自動生成する「Web App Theme」がステキ - 医者を志す妻を応援する夫の日記
http://d.hatena.ne.jp/shunsuk/20091020/1256038822
app/views/layouts/memos.html.erbは、削除しておいてください。
$ script/generate theme
$ rm app/views/layouts/memos.html.erb


Webシステム開発者に送る便利なテンプレート「Web App Theme」
http://www.moongift.jp/2009/06/web_app_theme/

http://github.com/pilu/web-app-theme
sudo gem install web-app-theme -s http://gemcutter.org

Pluginが広げるRailsの魅力
http://www.slideshare.net/dara/pluginrails



PHPのフレームワーク「Yii」
http://takaakl.blog107.fc2.com/blog-entry-4.html
0098nobodyさん2010/09/16(木) 23:59:45ID:???
>>92
>>14にあるのはどう?

RSpecとCucumberを使った振舞駆動開発(BDD)
 ・The RSpec Book(英語, ベータ)
 http://www.pragprog.com/titles/achbd/the-rspec-book

Railsでのテスト駆動開発(TDD)の書籍。Tset::Unitから始まり、RSpec, Shoulda, Cucumber, Factory Girl, Rcovなども
 ・The Pragmatic Bookshelf | Rails Test Prescriptions
 http://www.pragprog.com/titles/nrtest/rails-test-prescriptions
0099nobodyさん2010/09/18(土) 01:07:25ID:???
最近リンク貼りまくる奴がいるけど何なの?ウザいんだけど
0100nobodyさん2010/09/18(土) 01:08:50ID:???
>>99
最近じゃない。ずっと前からいる、たぶんボット。
0101nobodyさん2010/09/18(土) 02:14:52ID:???
前スレでリンク貼られるのが嫌な香具師が
別スレ作ったけどスルーされてスレ落ちてたくらいだ
0102nobodyさん2010/09/18(土) 13:17:23ID:sMHwPaVb
Ruby初心者スレッドから誘導されてきました。

tableA
id|first_name|last_name|code

tableB
id|first_name|last_name|address|code

上記のようなテーブルがあり(ActiveRecordで作ったSQLite3)
tableBのlast_nameが未入力であるもののidと,それにcodeで対応しているtableAのidを同時に取得したいというのが目的です。
(両方のテーブルのidを取得するのが目的です。)

SELECT tableA.id AS A_id, tableA.last_name, tableB.id AS B_id from tableA LEFT OUTER JOIN tableB USING(code) WHERE tableA.code IN (SELECT code FROM tableB WHERE last_name = '');
とすると次のように結果が得られました(確認のため)。
A_id|last_name|B_id
....
....

ところが、Active Recordで
Table_A.find_by_sql(["select tableA.id AS A_id, talbeA.last_name, tableB.id AS B_id from tableA left outer join tableB using(code) where tableA.code in (select code from tableB where last_name = :name)", {:name => ''}])
としても
Table_B.find(:all,
:select => 'tableA.id as A_id, tableA.last_name, tableB.id as B_id',
:joins => 'LEFT OUTER JOIN tableB USING(code)',
:conditions => 'tableA.code IN (select code from tableB where last_nam = "")')
としても同じ結果を得られません。
(-> [#<Table_A last_name: "ほげほげ">]みたいなかんじでで,肝心のtableA.idとtableB.idがない。)
構文のどの辺りが間違っているのでしょうか?
あるいは、上記目的を達成する方法を教えてください。
よろしくお願いいたします。
0103nobodyさん2010/09/18(土) 14:17:24ID:???
試してみたいからRailsのバージョンを。
2と3でARまわりだいぶ違うから。
0104nobodyさん2010/09/18(土) 14:35:33ID:???
>>102
出てきたオブジェクトに実際にA_idとかB_idとかいうメソッドは
送ってみたかい?
もともと持ってるもの以外はinspectでは出てこないよ。
01051022010/09/18(土) 17:42:07ID:sMHwPaVb
>103
うっかりしてました。Rails 2.3.8,ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
です。
>104
なるほど、メソッドを送ってみるという検証方法は気づきませんでした。勉強になります。
ですが、結果は、だめでした。
ためしに、Table_B.first.addressとすれば問題ないところ(当たり前ですが)、
上記のfindの結果(配列のアイテムのうちの一つ)に対する.addressもだめでした。

取得するオブジェクト(の配列)がいったい何のサブクラスかが検討つきません。
(この場合Table_AでもTable_Bでもないようなので)
0106nobodyさん2010/09/18(土) 21:47:19ID:03PFOD2t
netbeans で jruby mysql はxpまで
すぐ接続できます。

jdbcでvistaで接続できません。
なにか方法ありますか?
0107nobodyさん2010/09/18(土) 22:03:08ID:???
まー端的に言ってしまえば、物中心の考え方は土人の思考だ。
そのほうが考えやすいって奴は、昔風の人ってこったろう。
それはそれで別にかまわないんだけど、今は21世紀だし、そんな思考回路じゃそのうち干されちゃうよ。
数学習ったんだろ?コミュニケーションが大事だって散々言われてるんだろ?
物事の関係を抽出して上手くまとめて機能させる、それが創造性だろ?
神は細部に宿るって言うだろ?目では見ること出来ない「関係」に神は宿ってるんだよ。
少なくとも「物」には神は宿らないよ、八百万の神じゃあるまいし、古臭い。
発展途上国の人たちはバイクのことをホンダと言い、トラクターのことをクボタと言うらしいが、
まだまだ機能で考える文化が無いんだろうね。これからに期待しよう。
でもお前らは運よく日本で生まれて中学校まで義務教育で、大体の奴は高校へ行き、今なら大学行くのも当たり前で、
高等な教育を受けれるラッキーな環境で育ったんだから、もうちょっと頑張れるよな。
0108nobodyさん2010/09/18(土) 22:13:10ID:???
>>106
Vista以降いろいろセキュリティ厳しくなってるせいとかだったりしないの?
とりあえずRailsそのものは関係なさげ。
0109nobodyさん2010/09/18(土) 23:26:02ID:???
>>105
なにが悪いかなんて明白じゃないか
0110nobodyさん2010/09/19(日) 03:18:26ID:???
馬鹿にはrorは無理。
0111nobodyさん2010/09/19(日) 03:47:29ID:hij6MWS8

Rails 3 in Action
8. File uploads - AVAILABLE
http://www.manning.com/katz/
0112nobodyさん2010/09/19(日) 13:58:39ID:???
最近Railsの勉強始めましたが素晴らしい設計ですね。
ソース読めば読むほど感動する。
考え方が一貫しているからなのか、
フレームワークのソースを素人でも読めるのも素晴らしい。
テストフレームワークも素晴らしかった。
Rails3のソースも早く読みたい。
とにかくJavaに戻る気にはもうなれない。
カオス状態のJava関連のフレームワーク連携を強みにしてたが
自分の存在価値すら薄っぺらく感じてしまった。
Javaの仕事しかない現職から転職しようか真剣に考え始めてるぐらいだ。
0113nobodyさん2010/09/19(日) 14:41:51ID:???
>>102
とりあえずtypoは直そう、な。
0114nobodyさん2010/09/19(日) 15:08:21ID:???
>>102 やってみたが、とりあえず、同じ結果が得られた、とだけ。
$ script/dbconsole
sqlite3> select * from tableA;
id first_name last code
---- ------------- ---- ----
1 AAA BBB 123
2 CCC DDD 456
sqlite> select * from tableB;
id first_name last addr code
---- ------------- ---- ---- ----
1 AAA BBB ZZZ 123
2 CCC DDD YYY 456
sqlite> select tableA.id AS A_id, tableA.last_name, tableB.id AS B_id from tableA left outer join tableB using(code) where tableA.code IN (select code from tableB where last_name = 'DDD');
A_id last_name B_id
---- ------------- ----
2 DDD 2

$ script/console
result = Table_A.find_by_sql(['select tableA.id AS A_id, tableA.last_name, tableB.id AS B_id from tableA left outer join tableB using(code) where tableA.code in (select code from tableB where last_name = :name)', :name => 'DDD'])
=> [#<Table_A last_name: "DDD">]
>> result.first.A_id #=> 2
>> result.first.B_id #=> 2
>> result.first.last_name # => "DDD"
最後の、Table_BじゃなくてTable_Aじゃね?
>> result = Table_A.find(:all, :select => 'tableA.id AS A_id, tableA.last_name, tableB.id AS B_id', :joins => 'LEFT OUTER JOIN tableB using(code)', :conditions => 'tableA.code IN (select code from tableB where last_name = "DDD")')
=> [#<Table_A last_name: "DDD">]
>> result.first.A_id #=> 2
>> result.first.B_id #=> 2
>> result.first.last_name # => "DDD"
0115nobodyさん2010/09/19(日) 16:31:07ID:???
Rails3でもページネーションはmislav入れないといけないの?
どうしてウェブアプリにおいて必須の機能をデフォルトにしないんでしょうかね。。
0116nobodyさん2010/09/19(日) 16:53:58ID:???
必須な機能だからこそ、プラグイン形式にして分離してるんだと思うけど
0117nobodyさん2010/09/19(日) 18:27:03ID:???
>>102 は釣り&マルチ
0118nobodyさん2010/09/19(日) 20:10:43ID:???
>>116
そういう考え方はRailsの精神に反してるような気がするのですが。
まぁRails3からはモジューラブルになるから適してるのかもしれないけど。
0119nobodyさん2010/09/19(日) 21:37:02ID:???
acts_as_*と同様に必ずしも必須じゃないから分離したんだと思う。
RailsにバンドルだとリリースタイミングがRailsと同じになってしまうので、
エコシステムに任せた方が進化が早い。
あと分離すればRailsコアとしてメンテナンスしなくてもよくなるので、
より重要な部分にリソースを避ける。
0120nobodyさん2010/09/19(日) 22:45:35ID:???
app/models/test/hogehoge.rbとした場合
コントローラーからHogehogeを呼び出すにはどう記述すればいいのかな?
0121nobodyさん2010/09/19(日) 22:58:31ID:???
Test::Hogehoge.new
0122nobodyさん2010/09/19(日) 23:58:48ID:???
やっぱり
vistaでnetbeans で rubyは動かない。
なにをどうやっても通らない。odbcはつながるが、jdbcでmysql接続はできない。
0123nobodyさん2010/09/20(月) 00:07:52ID:???
jdbc ?
0124nobodyさん2010/09/20(月) 00:23:07ID:???
>>121

でけた ありがとう
0125nobodyさん2010/09/20(月) 01:13:42ID:???
どうしてJDBCが出てくるんだろうな。
0126nobodyさん2010/09/20(月) 10:19:29ID:FkCzXQJr
Active Record Query Interface
原文
Active Recordクエリのインターフェイス(Active Record Query Interface)
1 データベースからオブジェクトの取得(Retrieving Objects from the Database)
1.1 単一オブジェクトの取得(Retrieving a Single Object)
1.2 複数のオブジェクトの取得(Retrieving Multiple Objects)
1.3 バッチで複数のオブジェクトの取得(Retrieving Multiple Objects in Batches)
http://wiki.usagee.co.jp/ruby/rails/RailsGuides%E3%82%92%E3%82%86%E3%81%A3%E3%81%8F%E3%82%8A%E5%92%8C%E8%A8%B3%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%82%88/Active%20Record%20Query%20Interface
0127nobodyさん2010/09/20(月) 14:28:10ID:???
なぜjdbc
0128nobodyさん2010/09/20(月) 16:02:09ID:???
rdbcを作るべきだな。
jniごしにjdbcを読んでもいいけど。
0129nobodyさん2010/09/20(月) 19:23:27ID:???
Active Recordで悩むくらいなら、はじめから普通にSQL使っとけば?
っていう発想は間違いなの?
0130nobodyさん2010/09/20(月) 20:09:15ID:???
ok
0131nobodyさん2010/09/20(月) 20:38:51ID:???
>>129
同感だね。
遊び/評価/実験/プロトタイプでARを使うなら、ほとんどE-Rモデルや
SQLの知識が無くても、ARがすべて自動マッピングしてくれるけど、
現実のWebアプリ開発ともなると性能チューニングが必要になるから、
SQLの知識は間違いなく必須のものになる。

それだったら、ARはDBインターフェイス仕様の差異を吸収するだけの
薄い皮で十分であり、旧来のE-Rモデルによる設計とSQLによるアクセスで
Modelを実装できたなら自由度があって良いのに....と考えてしまう。

 Martin Fowler's Bliki in Japanese - ドメインロジックとSQL
  http://capsctrl.que.jp/kdmsnr/wiki/bliki/?DomainLogicAndSQL
0132nobodyさん2010/09/20(月) 21:17:11ID:???
ActiveRecordで困ったことは1度も無いけど
自由度が無くて不便と感じるのは例えばどんな時?
0133nobodyさん2010/09/20(月) 21:32:17ID:???
条件に見あうレコードを探し出す程度なら困ることはないと思うけど、
集計レポート作るみたいな作業は、ARに落とし込めるSQLの範囲でがんばっ
たり、Ruby側でfindの結果を操作する(=ARインスタンスを作りまくる)より
SQLを直に書いたほうがのほうが分かりやすいし、メモリ効率もマシ。
0134nobodyさん2010/09/20(月) 21:51:58ID:???
死ぬほどアクセス数が多いサイトを扱ったことがある奴じゃないと
負荷とかメモリ使用量なんて考えたことないんだよ。

そういうサイトではo/rマッピングで吐き出したSQLもチューニングの対象になるわけ。
だったらはじめからチューニングの必要があるものなんて使わないという単純な発想。

しょぼいサイトしか扱ったことがない奴には想像できない世界かもしれんがな。
0135nobodyさん2010/09/20(月) 22:05:19ID:???
月間ページビュー数億程度のサイトしか持ってないけどActiveRecordで全く困らんなぁ
パフォーマンスで気を配ってるのはデフォルトのキャッシュ機能で画像キャッシュしてるぐらい。
AmazonEC2だからチューニング次第でもっと安く済ませられるんだろうけど。
0136nobodyさん2010/09/20(月) 22:42:20ID:???
ようは開発コストと運用コストのバランス
0137nobodyさん2010/09/20(月) 22:48:24ID:???
スピードだけが問題なら、どっちが早いと決めつけずにベンチマークを取るべし。
0138nobodyさん2010/09/20(月) 23:02:46ID:???
ORMとして使う分にはそんなに困らないよ。
>>113 が言っているような集計レポート作成は
オブジェクトにマッピングする処理じゃないので
ORMの仕事としては範疇外であって、
それはそれで別のライブラリがあるとよいとは思う。
0139nobodyさん2010/09/20(月) 23:05:37ID:???
動的にメソッド生成したり数十のモジュールインクルードしたり、
裏でごちゃごちゃやってんだから遅くなるのは当たり前だろ。
速さ追求するならそもそもRailsなんて使うな。
0140nobodyさん2010/09/20(月) 23:32:18ID:cM0dJhO+
アセンブリ言語
アセンブラ
0141nobodyさん2010/09/20(月) 23:46:10ID:???
なんでこんなに議論しているのかわからんのだけど、
はじめは ActiveRecord の O/R マッパーを使っておき、
どうしても直接 SQL 書きたかったら、その Model クラスに
find_by_sql() みたいなメソッド定義して直接 SQL 書いて、
コントローラからはそっちを呼ぶようにすればいいんじゃないの?
0142nobodyさん2010/09/20(月) 23:56:52ID:???
>>141
実際そうだと思う

Cookpadとか大規模サイトのプレゼン資料とか見てたら、大変そうだったな
分散DB使わずに、でもよくスケールしにくいRDBでやってるよなー

俺には当分関係なさそうな話だが
0143nobodyさん2010/09/21(火) 00:03:11ID:???
Amazon使ってりゃサーバの知識なんてほとんど要らんよマジで。
0144nobodyさん2010/09/21(火) 00:31:09ID:jz0vkh7o
Scaling Twitter
600 requests per second.
180 Rails Instances (Mongrel).
1 Database Server (MySQL) + 1 Slave.
30-odd Processes for Misc. Jobs
8 Sun X4100s
http://www.slideshare.net/Blaine/scaling-twitter

Twitterのトラブルから見る、DB分割でスケーラブルなRailsサイト構築:TKMR.blog.show
http://blog.tkmr.org/tatsuya/show/311-twitter-db-rails

RORのままアーキテクチャの変更で10000%高速化したとな。
ttp://b.hatena.ne.jp/entry/highscalability.com/scaling-twitter-making-twitter-10000-percent-faster

ミニブログの 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
0145nobodyさん2010/09/21(火) 00:44:05ID:???
おまえらがそんな話で盛り上がるから、
手動スパムボットが作動したじゃないか
0146nobodyさん2010/09/21(火) 01:40:14ID:???
>>143
kwsk

herokuならmanagedだから分かるけど、AmazonはスケールしやすいVPSみたいなイメージだあるんだけど
だとしたらサーバー管理面倒じゃないか?
0147nobodyさん2010/09/21(火) 05:39:57ID:???
そもそも外にデータ置くとかあり得ないし。
0148nobodyさん2010/09/21(火) 10:36:49ID:XX6rG7Le

This site is running on Instiki 0.18.1(MML+)
Powered by Ruby on Rails 2.3.5
http://instiki.org/show/HomePage


Instiki
Ruby on Railsを利用したWikiエンジンです。
http://www.moongift.jp/2005/11/825/
http://www.moongift.jp/2009/07/instiki/


http://rubyforge.org/projects/instiki/

0149nobodyさん2010/09/21(火) 10:54:01ID:???
>>143
さすがにそれは傲慢な考えだしいつか痛い目みると思うよ
パフォーマンスじゃなくセキュリティの方で
0150nobodyさん2010/09/21(火) 12:07:17ID:???
>>120
environments.rb のloadpathに書いておけば XXX::hoge ではなく
hoge の形式で呼び出せるのでそっちのがいい
0151nobodyさん2010/09/21(火) 13:40:49ID:BefxMKov

Instiki
http://instiki.org/show/HomePage

windows
http://rubyforge.org/frs/download.php/71696/instiki-0.18.1.zip
http://rubyforge.org/frs/?group_id=186&release_id=44144
http://rubyforge.org/projects/instiki/

$ instiki.cmd
http://127.0.0.1:2500/





0152nobodyさん2010/09/22(水) 01:42:54ID:UZwM+8Vu
Hiki
http://hikiwiki.org/ja/

AsWiki
http://aswiki.sourceforge.net/

Instiki
http://instiki.org/show/HomePage

BitChannel
http://i.loveruby.net/w/BitChannel.html

Ruwiki
http://ruwiki.rubyforge.org/ruwiki.cgi/Ruwiki/ProjectIndex

http://www.moongift.jp/2009/03/wiki_on_rails/
http://www.moongift.jp/2007/10/groupswiki/
http://www.moongift.jp/2008/05/bitswiki/
http://www.moongift.jp/2008/03/signal_wiki/







0153nobodyさん2010/09/22(水) 11:10:33ID:???
SQLで直接DBをいじっているうちに、マイグレーションファイルとの差異が大きくなりすぎました
こういう場合どうすればよいのでしょうか
0154nobodyさん2010/09/22(水) 11:44:55ID:???
残念ながら、手遅れです。
一度マイグレーションを使うと決めたら、二度とスキーマを直接いじってはダメです。
この場合、マイグレーション機能をあきらめ、この先ずっとSQLいじりを続けるしかありません。
それがお嫌でしたら、自分の無能さを嘆きつつ、泣きながら手作業でSQLいじりの内容を
マイグレーションファイルへ反映させてください。
0155nobodyさん2010/09/22(水) 12:35:39ID:???
別に泣きながらというほどでもなかろう
0156nobodyさん2010/09/22(水) 13:57:51ID:???
>>154
無能はおまえだ。無知はこわいな
0157nobodyさん2010/09/22(水) 14:13:03ID:???
他人を無能呼ばわりしておきながら、
自分では>>153へ何ら対処方法を示すことができない男の人って、
0158nobodyさん2010/09/22(水) 14:37:00ID:???
女ですが何か?
0159nobodyさん2010/09/22(水) 15:09:30ID:???
デワ、

他人を無能呼ばわりしておきながら、
自分では>>153へ何ら対処方法を示すことができない女ってさ、
0160nobodyさん2010/09/22(水) 15:33:25ID:???
マジレスすると db/migrate/* を全部消して schema.rb を元に
一つだけmigrationを作ったあと>>153を首にする
0161nobodyさん2010/09/22(水) 19:38:21ID:???
>>160
もっといい方法はないですか?
schema.rb は コピペするだけでは済まないような内容になってしまっていて・・・
いろいろ編集しないとそのまま使えないので大変です
0162nobodyさん2010/09/22(水) 19:41:54ID:???
どう済まないのか具体的に書けよ
それでわかるわけないだろ
0163nobodyさん2010/09/22(水) 20:11:37ID:???
>>162
classの宣言がないのでとにかく不便なんです。
class A < ActiveRecord::Base
みたいな部分です。
0164nobodyさん2010/09/22(水) 20:31:11ID:???
> schema.rb は コピペするだけでは済まないような内容

DBの設計ミスですね。
0165nobodyさん2010/09/22(水) 20:34:41ID:???
schema.rb はテーブル構造やインデックスを構成するために使い、
ARで作るデータはseeds.rbで流し込む。
0166nobodyさん2010/09/22(水) 21:34:00ID:???
>>163
おまいはどうしてそんなに説明が下手なんだよ
■ このスレッドは過去ログ倉庫に格納されています