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

【RoR】Ruby on Rails Part17

■ このスレッドは過去ログ倉庫に格納されています
0001質問常連者 感謝感謝2013/10/18(金) 20:57:07.83ID:NnVzWy/v
前
http://kohada.2ch.net/test/read.cgi/php/1359587251/
http://unkar.org/r/php/1341589839

■参考サイト
<英語>
本家:http://rubyonrails.org
API document:http://api.rubyonrails.com/
開発者のblog:http://weblog.rubyonrails.org/
参考wiki:http://wiki.rubyonrails.org/rails
http://ruby-toolbox.com/
http://rubygems.org/
http://agilewebdevelopment.com/plugins/top_rated

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

http://doc.ruby-lang.org/ja/1.9.3/doc/index.html
0376nobodyさん2013/11/01(金) 06:09:16.81ID:???
ActiveRecordが遅いというか、データをインスタンス化する処理が重い
SQL直接かいても、結果セットをActiveRecordオブジェクトとして扱うならSQLで直接書いたら早いなんてことはほぼ無い。
プリミティブ型がある言語なら、平易なプリミティブ型の配列で結果セットを扱えばボトルネックにはならないだろうけど
そもそもRubyにはプリミティブ型がないからな
0377nobodyさん2013/11/01(金) 07:04:24.34ID:???
必要なカラムだけselectするようにするとか
0378nobodyさん2013/11/01(金) 07:11:08.94ID:???
>>377
ARでそんなことは無理だよね?
sql()文を使わない限り
0379nobodyさん2013/11/01(金) 07:25:39.34ID:???
>>378
できるよ
select がある
0380nobodyさん2013/11/01(金) 07:37:10.19ID:???
他にも、pluck ってのもあるな
0381nobodyさん2013/11/01(金) 07:58:51.25ID:???
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パフォーマンスチューニングのためのインデックスの基礎知識
http://d.hatena.ne.jp/kiyo560808/20101117/1289952549
0382nobodyさん2013/11/01(金) 21:15:43.92ID:UJndpzCa
pluckは比較的最近(3.2以降)だけど、selectなんてRails1からあるぞ。
0383nobodyさん2013/11/01(金) 22:43:45.62ID:???
Ruby on Rails やってみた。
なんじゃこりゃw

HTMLでホムペ作ってた頃みたいな懐かしい感触
0384nobodyさん2013/11/02(土) 00:25:24.68ID:???
>>383
RoRスレは閉鎖されます
消え失せてください
0385nobodyさん2013/11/02(土) 01:30:39.73ID:???
>>381
アンチパターンのオンパレードだな
MySQLとARの相性が悪いのはよくわかった
0386nobodyさん2013/11/02(土) 01:51:39.99ID:???
インタビュー:[楽天]Ruby活用事例とROMA,Fairy|gihyo.jp … 技術評論社
http://gihyo.jp/dev/column/01/prog/2010/030801?page=2
RailsとCakePHPを比べたところ,高負荷時にはRails のほうが大幅に応答性能が高いという結果が出たことですね。
これは200リクエスト/秒くらいからPHPの応答性能が急激に下がるのが原因です。
Rubyはそれほど大きくはパフォーマンスが落ちないんです。
0387nobodyさん2013/11/02(土) 02:51:19.45ID:???
>>385
オンパレードって、ARとMySQLの組み合わせの問題は1つだけじゃん
0388nobodyさん2013/11/02(土) 03:48:42.67ID:???
まるでRailsが悪いかのように言ってるけどmysql自体の問題だからどの言語使っても変わらないんだけど……
0389nobodyさん2013/11/02(土) 09:50:30.59ID:???
>>388
ActiveRecordパターンとmysqlの相性が悪いってことじゃないの?
0390nobodyさん2013/11/02(土) 10:15:49.83ID:???
>>386
古い記事持ってくるのはやめようよ。
0391nobodyさん2013/11/02(土) 10:19:03.38ID:???
webstorageに最後にアクセスしたページを保存して
次回アクセス時にそのページを最初に開きたいです。

その判定をroutes.rbやcontroller.rbでは行えないのでしょうか?
0392nobodyさん2013/11/02(土) 10:30:34.83ID:???
今のところそれ系の記事はみかけたことないな
そもそもwebstorageを使うのが今はまだ早いし
やりたいことによるけど、applicationコントローラーにbefore_filter貼って捕まえてやればいいんじゃない?

ページを開く度にそのページのurlをクッキーにいれて、リファラが入ってない状態でページが開かれたらクッキーのurlにリダイレクトではだめなの?
0393nobodyさん2013/11/02(土) 10:52:12.02ID:???
cookie
0394nobodyさん2013/11/02(土) 11:09:57.18ID:???
>>392,393
返信ありがとうございます。
cookiesがcontroller.rbで使えそうなのでこれで行きます。
0395nobodyさん2013/11/02(土) 11:36:32.78ID:???
Cookie使うならちゃんとredirect_toさせてね
0396nobodyさん2013/11/03(日) 09:49:52.37ID:???
質問させてください。

Rails3のソースコードってどうやって確認するんでしょうか?
たとえば、form_forがどのように書かれているかなどを確認したいです。
書かれているファイル名などが分からず質問させていただきました。

よろしくお願いいたします。
0397nobodyさん2013/11/03(日) 10:55:24.05ID:???
>>396
どっかのサイトで動いてるコードを見たいってこと?
それなら無理
サーバサイドのコードを見る方法はない
0398あ2013/11/03(日) 11:12:07.04ID:???
Method#source_location()
0399nobodyさん2013/11/03(日) 11:42:32.64ID:???
>>396
Rails公式サイトのリファレンスはメソッド名で検索できるよ
0400nobodyさん2013/11/03(日) 12:07:22.90ID:8mIOsgs6
>>397

Rails3の、と書いてあるからアプリのコードじゃなくてフレームワークのコード

>>399 のいうようにリファレンスに
Source: show: インライン表示 on github: githubの該当個所へ
がある。
0401nobodyさん2013/11/03(日) 13:16:06.05ID:GXN5+Ugk
URLが文字列の中にあったら自動でリンクをはる方法はないでしょうか。
<%= @str%>の@strの中にURLがあったら自動でリンクにしてくれるようなものです。

2chでURLを入力すると自動でリンクが張られるような感じで
0402 ◆aKBLHKF66Y 2013/11/03(日) 13:19:40.66ID:???
rails autolinkというgemがあります
0403nobodyさん2013/11/03(日) 15:04:15.16ID:GXN5+Ugk
>>402
サンクス!!!!!!!!
FOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
0404nobodyさん2013/11/04(月) 10:40:49.17ID:???
ポスグレは transactional DDL がつかえるけど、mysqlでは使えない。
ということは、railsのマイグレーションをmysqlで使ってて、もしマイグレーション中にエラーがおこったら、スキーマが中途半端な状態になっちゃうってこと?
これどうすんの・・・
0405nobodyさん2013/11/04(月) 12:26:49.64ID:???
>>404
以前それになった

MySQLのDBのほうをphpmyadminからカラム削除するなどして
マイグレート前の状態に調整したら
元に戻った
0406nobodyさん2013/11/04(月) 12:36:29.11ID:???
>>404
手で治す
OracleかPostgreSQLを使う
0407nobodyさん2013/11/04(月) 15:00:44.77ID:???
クラウド上でマイグレーションして整合性取れなくなるとなける
0408nobodyさん2013/11/04(月) 21:20:31.67ID:???
>>407
そうなったときはどう対処してる?
0409nobodyさん2013/11/05(火) 06:35:47.52ID:???
バックアップしてから、マイグレーション
0410nobodyさん2013/11/05(火) 14:31:57.45ID:???
バックアップしてからは当たり前だけど
DBスキーマ変えるのにサービス止めなきゃいけないのか
知らなかった
0411nobodyさん2013/11/05(火) 14:43:04.24ID:???
「MySQLが技術的なギャップを縮めてきているものの、PostgreSQLは優秀で人気がある」
http://www.computerworld.jp/topics/601/

MySQLにはDDLトランザクション処理がないので、
http://www.infoq.com/jp/news/2009/05/heroku-provisionless-revolution

MySQL :: MySQL 5.1 リファレンスマニュアル :: 12.4.2 ロールバックできないステートメント
http://dev.mysql.com/doc/refman/5.1/ja/cannot-roll-back.html
0412nobodyさん2013/11/05(火) 20:45:51.97ID:MlEIQ3yb
>>364
◆aKBLHKF66Y氏は忙しいんだよ
自分で調べろボケ
0413nobodyさん2013/11/05(火) 20:57:39.26ID:???
随分前のレスに噛み付くな…
0414nobodyさん2013/11/05(火) 21:00:17.17ID:MlEIQ3yb
>>292
お前もな
0415nobodyさん2013/11/05(火) 21:06:28.08ID:MlEIQ3yb
>>57
自惚れ過ぎw
0416nobodyさん2013/11/05(火) 21:10:52.19ID:MlEIQ3yb
>>413
ゴミが
04173962013/11/06(水) 00:20:49.79ID:???
>>397
ありがとうございます。
そうではなく、フレームワークのコードを確認したいという意味でした。
説明が不足し、失礼しました。

>>399, >>400
お二人とも、ありがとうございます。

下記の一覧ページから、任意の項目のページへ遷移し
ソースコード>ソースコードを見る にて確認できました。
http://railsdoc.com/references/

ありがとうございましたm(_ _)m
0418nobodyさん2013/11/06(水) 01:47:07.00ID:fnAHEEcY
>>417

そこ公式じゃないからな。念のため。

公式は
http://api.rubyonrails.org/
http://api.rubyonrails.org/v3.2.15/
04193962013/11/06(水) 05:01:53.54ID:???
質問失礼します。

このブログで(http://d.hatena.ne.jp/IwamotoTakashi/20110705/p1)、
「(a)文字エンコーディングの妥当性検証」と書かれていることについて、
Rails3で実装する際どのように考えたら良いのか分からず質問させていただきました。

例えば「&#169;パラメータ文字列の妥当性検証」であればモデルでおこなう
バリデーションで実装できるとすぐに分かるのですが、
文字エンコーディングの妥当性検証も
モデルのバリデーションで実装するものなのでしょうか?

それともフレームワーク側でフォームヘルパーの
XSS対策のサニタイジングのように何らかの対策が講じられているのでしょうか?

ざっくりで申し訳ありませんが、
みなさんの考えを教えていただけると幸いです。
よろしくお願いいたします。
04203962013/11/06(水) 05:03:00.02ID:???
>>418
ありがとうございますm(_ _)m
0421nobodyさん2013/11/06(水) 08:13:13.16ID:???
>>420
基礎的な質問してんじゃねえよカスが
ここは質問スレじゃねえんだよ
04223962013/11/06(水) 21:03:08.95ID:???
>>421
黙れ虫けらが
次スレ建てるなよ
0423nobodyさん2013/11/06(水) 22:35:30.68ID:???
>>419
> それともフレームワーク側でフォームヘルパーの
> XSS対策のサニタイジングのように何らかの対策が講じられているのでしょうか?
これを確認するために何をしましたか?
そのときどういう結果が得られましたか?
どういう結果が得られるのを想定していますか?

ざっくりとしてると自分で思ってるなら、調査してみましょう
答える側もこのままでは答えようがなさすぎる
04243962013/11/06(水) 23:06:16.75ID:???
>>423
消え失せろ
虫けら
04253962013/11/07(木) 00:06:36.35ID:???
>>423
ご返答いただきありがとうございます。

ご指摘の通り自分で色々試してみようと思います。

恥ずかしながら、文字エンコーディングの妥当性検証という考え方で文字コードを考えたことがなく、
そもそも通常おこなっているモデルのバリデーションと同じものなのか?
というところをまず疑問に思い、この質問を書いている途中に、
ご指摘いただいた「XSS対策のサニタイジングのように何らかの対策が講じられているのでしょうか?」
という箇所を連想し追記した次第です。

こちらについて、どのような検査が可能か今の段階では想像もつきませんが、
ご指摘いただいたことで、調査が可能であることが分かりましたので、
模索してみようと思います。

なお、422と424の発言は私ではありません。

ご回答いただきありがとうございました。
0426nobodyさん2013/11/07(木) 00:19:24.40ID:???
>>425
見苦しい嘘はやめろ
0427nobodyさん2013/11/07(木) 00:20:44.68ID:???
>>425
簡単な質問をしやがって
ここは無料相談所じゃないんだよ
0428nobodyさん2013/11/07(木) 00:46:52.65ID:???
低レベルな回答者ばかりだからこんなに荒れたんだろうね
南無南無
0429nobodyさん2013/11/07(木) 07:13:12.50ID:???
荒らしてるのは煽り教えて君一人だよ
0430nobodyさん2013/11/07(木) 17:39:47.14ID:???
select("join_table_name.date AS other_date")みたいに別名つけると日付が文字列で返って来るのですが、Date型のままにすることは出来ないのでしょうか?
0431 ◆aKBLHKF66Y 2013/11/07(木) 19:49:37.42ID:???
>>430
それは仕様として正しいので素直にDateTime.parse()すべきかなーと思います
0432nobodyさん2013/11/07(木) 20:49:20.67ID:???
>>430
ggrカス
こんな簡単な言語で躓くようなら話にならん
ここは無料相談所じゃないと認識しておけ
0433nobodyさん2013/11/08(金) 07:44:15.44ID:???
このスレって常に教えてもらえなかった人間が粘着して
新たに質問してくる人間を排除しようと躍起してるよね。

そして、また新たな粘着クンが生まれる

この悪循環

CakePHPスレとかは見てて爽やかなのに
どうしてここは非生産的なやりとりしか行われないんだろ
お互いを批判しあうためだけに存在してるスレとか
Vipに立ってるクソスレと変わらない
0434nobodyさん2013/11/08(金) 08:36:58.16ID:???
質問自由、ただし返答しない自由があり返答要求は嵐ですって、テンプレに書けばー
0435nobodyさん2013/11/08(金) 08:54:35.53ID:???
Cakeも昔は荒れてたんだし
底辺が集まるFWのスレが荒れるのは昔から定番
0436nobodyさん2013/11/08(金) 09:19:52.85ID:???
Rubyなんて流行らない宗教やってないでPythonやろうぜ
0437 ◆aKBLHKF66Y 2013/11/08(金) 09:26:02.50ID:???
>>436
世界レベルで見てもpythonとrubyなんて50歩100歩ですよ
それを言うならphpやろうぜ!ですね
http://www.google.co.jp/trends/explore#q=python,php,perl,ruby&;date=today+12-m
0438nobodyさん2013/11/08(金) 09:36:44.00ID:???
アホか
世界規模だとPythonが50倍100倍は使われてるわ
0439nobodyさん2013/11/08(金) 10:00:57.91ID:???
世界規模で100倍も使われてる言語がgoogleでは検索数ほとんど変わらないのかお前の脳内ソース面白いな
0440 ◆aKBLHKF66Y 2013/11/08(金) 10:10:42.68ID:???
トレンドでは宝石のrubyも入ってくるので正確にはpythonのほうが検索ボリュームは上です
でもwebだけで見るとrubyのほうが2倍近く使われてます
w3tech情報なんで信憑性は高いかと

http://w3techs.com/technologies/overview/programming_language/all

ですがそんな底辺で言い合ったところでトップシェアのphpはpythonの400倍使われてますし50歩100歩じゃないでしょうか
フレームワークのスレに言語闘争を持ち込むこと自体ナンセンスですね
0441nobodyさん2013/11/08(金) 10:14:00.01ID:???
100倍wwwwwwww使われてるwwwwwww
0442nobodyさん2013/11/08(金) 10:19:07.27ID:???
こっちでやれ

Rubyについて Part49
http://toro.2ch.net/test/read.cgi/tech/1382307475/
0443nobodyさん2013/11/08(金) 10:23:00.60ID:???
>googleでは検索数ほとんど変わらない
50倍100倍はありえないけどそれで比較するのはないから
全部表示してるわけじゃないし検索なんて所詮検索だから
0444nobodyさん2013/11/08(金) 10:36:46.68ID:???
プログラマーに世界で一番使われてる検索エンジンの検索ボリュームでシェアが計れないってお前統計学全面否定なの?
0445nobodyさん2013/11/08(金) 10:43:12.20ID:???
統計学とかかっこいい言葉使えば優位に立てるとでも思ったの?
意味わかって使ってんの?
google.com google.co.jp google.co.uk etc
グーグルの検索アルゴリズムも分散システムも内部事情を何1つ理解できない外野が
プログラマーってだけで知ったように語るな
0446nobodyさん2013/11/08(金) 11:46:41.66ID:???
phpってwordpressか
そりゃな世界で一番使われてるさ
0447nobodyさん2013/11/08(金) 11:52:01.54ID:???
世界ではPythonとPostgreSQLが今HOT
0448nobodyさん2013/11/08(金) 11:58:14.24ID:???
JavaScriptとMongoDBがHOT
0449nobodyさん2013/11/08(金) 12:11:42.20ID:???
PostgreSQL 9.4 and the Postgres community
http://www.ustream.tv/recorded/40568656
0450nobodyさん2013/11/08(金) 12:16:42.12ID:???
postgreはデータ件数が増えた時に激遅になるのが何とも
ソーシャル系では使えん
0451nobodyさん2013/11/08(金) 12:19:24.74ID:???
俺馬鹿だから教えて欲しいんだけどgoogle検索数がシェアにならないのはなんで?
0452nobodyさん2013/11/08(金) 12:32:56.78ID:???
>>450
それは技術者側の問題だろ
0453nobodyさん2013/11/08(金) 12:35:31.67ID:???
AWSのRedshiftでもPostgreSQL採用されたし
ビッグデータの世界でPostgreSQLホットだわな
日本では完全に取り残されてる

>>450
おいおいレベルが低すぎるぞ
0454nobodyさん2013/11/08(金) 12:36:41.90ID:???
検索キーワードがそもそもおかしいだろ・・・
検索数ほとんど変わらないなんてのは、
日本googleでRubyとPythonって入れたんだろうけど、

Ruby Program 約5000万件
Python Program 約3億件
0455nobodyさん2013/11/08(金) 13:14:24.39ID:???
>>454
上に出てるのは日本だけじゃなくて全世界のデータだよ
0456nobodyさん2013/11/08(金) 13:17:23.71ID:???
世界でのRubyのシェアより
日本でのRubyのシェアの方が
低い事実があるからな
0457nobodyさん2013/11/08(金) 13:20:09.69ID:???
確かに日本よりアメリカの方がrubyのシェアは高いだろうね
pythonにror以上の画期的なフレームワークがでない限りwebでの優位性は変わらないと思うよ
0458nobodyさん2013/11/08(金) 13:20:23.52ID:???
Rubyなんて流行ってるのは日本だけ
しかも鳥取が中心で東京じゃ使わない
0459nobodyさん2013/11/08(金) 13:24:27.69ID:???
>>458が世間知らず過ぎて見てるこっちが恥ずかしいわ

他の言語も含めた統計
50倍どころか3倍程度じゃん、しかもこれだけボリュームあるのにwebではダブルスコアつけられてるってことはwebにはとことん向いてない言語って良く分かるね
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
0460nobodyさん2013/11/08(金) 13:28:40.98ID:???
Ruby厨顔真っ赤wwwwwww
0461nobodyさん2013/11/08(金) 13:30:03.70ID:???
どうでもいいから他所でやれ
RoRより生産性の高いフレームワークがでたらみんな勝手に移動するだろ
0462nobodyさん2013/11/08(金) 13:35:04.73ID:???
RoRが生産性高いってのも怪しいが
0463nobodyさん2013/11/08(金) 13:36:26.62ID:???
>>462がRoRより生産性の高いフレームワーク教えてくれるってよ
0464nobodyさん2013/11/08(金) 13:54:58.86ID:???
RoRライクとかもう流行らない
0465nobodyさん2013/11/08(金) 14:01:55.40ID:???
>>435
フレームワーカーってやっぱり底辺なの?
0466nobodyさん2013/11/08(金) 15:18:35.20ID:???
フレームワークの中身を理解しないで使ってる奴は底辺じゃね?
0467nobodyさん2013/11/08(金) 15:24:37.75ID:???
理解して使ってるやつなんてプロでも極稀だろ
0468nobodyさん2013/11/08(金) 15:27:36.81ID:???
仕事で使っていればプロだっけ?
0469nobodyさん2013/11/08(金) 15:34:49.12ID:???
金が絡んでくるならプロ
0470nobodyさん2013/11/08(金) 16:15:00.57ID:???
仕事だと作業分担だし、フレームワークの中身をジロジロ見て理解するような時間がない
0471nobodyさん2013/11/08(金) 16:24:47.11ID:???
やっぱ底辺だな
0472nobodyさん2013/11/08(金) 16:30:54.64ID:???
底辺とか言ってる奴こそどうせ職もないクソニートだろ
0473nobodyさん2013/11/08(金) 16:34:09.22ID:???
そもそも開発者側が理解しなくていいように作ってあるのに
わざわざ理解しろって阿呆の言うことだ
0474nobodyさん2013/11/08(金) 16:35:36.04ID:???
フレームワークを駆使して高いパフォーマンスを発揮するのが仕事なのに
F1レーサーに対してお前は車の仕組みもわからないなんて底辺だというようなものだなw
0475nobodyさん2013/11/08(金) 17:44:06.04ID:???
>>465
フレームワーカーしかできないとやっぱ底辺だよ
昔はStruts、今のRails、途中PHPのいろいろ
■ このスレッドは過去ログ倉庫に格納されています