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

【RoR】Ruby on Rails Part18

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2014/01/11(土) 20:04:00.68ID:???
前
http://kohada.2ch.net/test/read.cgi/php/1382097427/
http://unkar.org/r/php/1382097427/

■参考サイト
<英語>
本家: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
0893nobodyさん2014/08/20(水) 17:06:51.14ID:???
find_all
where
0894nobodyさん2014/08/20(水) 17:21:01.35ID:???
>>889
1日平均10万PVくらいだよ

DB鯖とAppサーバーを分けるのは高速化したいなら必須というかまず最初にやるべき
さくらのSSD使ってるなら石狩でしょ?ローカル接続で繋げられるから遅延0だよ
0895nobodyさん2014/08/20(水) 19:53:08.64ID:???
>>894
ありがとう
ローカル接続って特殊なことしなきゃダメ?
それともconfigのproductionのデータベース接続で普通に直IPを指定してやればいいだけなのかな?
08968912014/08/20(水) 22:44:35.44ID:???
>>893
ありがとう
ずっとrails3の仕様みてました(汗

>>892
IDってこれでいいの?
0897nobodyさん2014/08/21(木) 02:05:58.32ID:???
>>895
流石にそれはスレチだからぐぐってくれ
0898nobodyさん2014/08/21(木) 19:01:38.82ID:???
>>864
>>888
>>895

いざと言う時には答えられないよ、こいつらはw
0899nobodyさん2014/08/21(木) 21:16:32.00ID:???
煽って回答貰おうとするとか惨め過ぎるだろ
0900nobodyさん2014/08/21(木) 21:20:42.03ID:???
>>897
>>898
>>899


↑こいつら同一人物注意

以前ここで質問するも
あまりにも稚拙な質問だったためスルーされた

それを機にこのスレの住人に敵意むきだし
0901nobodyさん2014/08/21(木) 21:32:40.70ID:???
>>900
おたく「稚拙な質問」と言うくらいレベル高いなら手始めに>>898>>899あたり答えてみれば?
答えられないから煽り教えて君とか言って逃げるだろうけどw
0902nobodyさん2014/08/21(木) 21:34:42.47ID:???
あっ、>>888>>895な
>>864あたりだとさすがに即答だろうしつまらんし
0903nobodyさん2014/08/21(木) 21:39:05.41ID:???
質問者が少しレベルの高い質問をする
→答えられる奴不在
→レベル低いスレ住民と馬鹿にする人間が出現
→煽り教えて君と自己防御

こればかりだなw実際は質問者と馬鹿にしている人間は全く別なんだが、逃げ方が頭悪いからワンパターンw
0904nobodyさん2014/08/21(木) 22:07:38.36ID:???
煽り教えて君w
的確な表現だな
09052532014/08/21(木) 22:15:49.58ID:OGslXsxj
>>895
Rails側はdatabase.ymlを書き換えてDB鯖を見に行くようにすればok
0906nobodyさん2014/08/21(木) 22:51:23.41ID:???
>>905
やっと"煽られて"一問答えられる奴が出てきたな
基本は何も答えられない>>904みたいな愚図ばかりw
0907nobodyさん2014/08/21(木) 23:13:03.44ID:???
>>904
どうした?雲隠れか?残った問題でも解いて名誉挽回してみろよw
虫けらが
0908nobodyさん2014/08/21(木) 23:24:01.91ID:OGslXsxj
>>888
漠然とした問いなんで漠然とした答えしか書けないが、
DBのロールバックかけつつ、エラーメッセージ出したりエラーログ吐いたりアラートメール飛ばしたり、とかかね。

システムの運用保守体制やら考慮して、としか答えられんわ…
0909nobodyさん2014/08/21(木) 23:30:18.13ID:OGslXsxj
そういえば、皆はRailsで作ったサイトの死活監視やらリソース監視とか何使ってる?
0910nobodyさん2014/08/21(木) 23:47:29.79ID:???
ワンパな煽りw
0911nobodyさん2014/08/22(金) 00:01:51.00ID:???
>>910
結局答えられない虫けらかよ
俺は解答こそすれ一回も質問したことないんだがw
答える気もないなら、なんでここに常駐してるんだ?皆煽り〜君に見えるんだろ?
お前みたいなゴミクズはどこにいても役に立たないから、存在価値なし。バイオ燃料にでもしてもらっとけよ、下等生物が
0912nobodyさん2014/08/22(金) 00:03:44.34ID:???
>>909
zabbixなどの一般的な監視システムじゃね。
JavaでのJMXのような仕組みがRubyにはない(ある?)から、もう少し突っ込んだ情報が欲しいとなると、作り込みになるけど。
0913nobodyさん2014/08/22(金) 00:17:38.77ID:???
>>900
悪いけど
>>872
>>894
>>897
これは全部俺だよ
疑心暗鬼になるのは別にいいけどところ構わず噛み付くのは良くないと思うよ

>>897の発言だけど
それ以前の内容は実際に運営してる人じゃないと答えられないことだから答えたけど
別IPのDBにアクセスするなんて初心者用教本にも載ってるレベルの内容だし
流石にググったほうがいいでしょ
「rails database.yml 別サーバー」とかで検索すればいくらでも出るじゃん?
例:http://d.hatena.ne.jp/japanrock_pg/20070920/1190288070
1から100まで教えるのがこのスレの目的って言うなら教えるけど流石にそのレベルまで教えなきゃいけないんだったら
悪いが俺はROMるわ


くだらない煽りあいするくらいなら次スレ以降
質問者はIDを出して初出レスNoを名前欄に出すでいいんじゃない?
09149132014/08/22(金) 00:20:47.27ID:???
ああ、違うわ
レス読み直したら俺がぐぐれって言ったのは

「さくらVPS同士をつなげる方法」と、「特殊な対応」の点だな
これはRailsまったく関係ないからスレチって言ったんだ
このスレはRails関係ないとこまで懇切丁寧に教えるべきなの?
09159112014/08/22(金) 00:23:11.83ID:???
ちゃうで
ほとんど答えられない虫けらが疑心暗鬼さだけ曝け出しているのがこのスレだから、たまに矯正してやらなあかんのよ
おつかれさん
0916nobodyさん2014/08/22(金) 04:02:06.32ID:???
http://jobinjapan.jp/job-listing/keyword-ruby-on-rails.html
0917nobodyさん2014/08/22(金) 07:46:06.04ID:X3q7esOV
>>912
やはり、ZABBIX辺りになりますか。
昔、監視項目の設定で挫折したけど、もう一度チャレンジしてみるか…
0918nobodyさん2014/08/22(金) 23:09:27.40ID:???
煽っても回答貰えなくて悔しいです
0919nobodyさん2014/08/23(土) 11:05:49.58ID:???
>>918
横レス悪いけど君みたいなの死んでよし
0920nobodyさん2014/08/23(土) 12:20:33.39ID:???
【翻訳】Go言語がダメな理由 | POSTD
http://b.hatena.ne.jp/entry/postd.cc/why-go-is-not-good/

Farewell Node.js (翻訳) - from scratch
http://b.hatena.ne.jp/entry/yosuke-furukawa.hatenablog.com/entry/2014/07/06/094617

PHP、かつてWebで人気だった言語が下火になりつつある | ReadWrite Japan
http://b.hatena.ne.jp/entry/readwrite.jp/archives/12295

Why do so many developers hate PHP?
http://www.reddit.com/r/PHP/comments/1fy71s/why_do_so_many_developers_hate_php/
0921nobodyさん2014/08/23(土) 22:50:38.87ID:???
>>918
俺もこういう奴消えて良いと思う
質問を選別するからいつまでもこのスレが荒れたままなのだろう
0922nobodyさん2014/08/23(土) 23:30:37.26ID:???
会員制サイトやってるんだけど
大してアクセス数がないのに重すぎます。

会員制なだけにページキャッシュの選択肢は難しいですし、
フラグメントキャッシュは大して効果がないと聞いています。

こんな状態で

アプリケーションサーバーとDBサーバーを分けるだけでレスポンスが早くなるもんでしょうか?
0923nobodyさん2014/08/23(土) 23:38:43.79ID:???
DB設定から疑う。
メモリ割り当てが極端に小さくなっていないか、とか。
0924nobodyさん2014/08/23(土) 23:53:01.70ID:???
まずはプロファイリングだね
どこが遅いかを突き止めないと
0925nobodyさん2014/08/24(日) 00:42:41.93ID:???
>>918
こういう虫けらいらない
0926nobodyさん2014/08/24(日) 00:50:47.69ID:???
>>922
dbは何?バージョンは?
max_connectionsはいくつ?
ピーク時のconnection数は?
0927nobodyさん2014/08/24(日) 00:51:02.60ID:???
>>923
どのくらい割り当ててる?

>>924
sqlのロードだけで1000ms近くかかってる
0928nobodyさん2014/08/24(日) 00:55:15.32ID:???
>>927
じゃ、次はそのSQLの内容を見て、なぜ遅いかを突き止めることだね
DBの実行計画を見るとかね
0929nobodyさん2014/08/24(日) 00:57:00.63ID:???
>>926 ありがとうございます。メモリはさくらSSD VPSの2GBで
DBはMySQL5.1でmy.cnfは下記のとおりです

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-external-locking
key_buffer_size = 512M
table_cache = 256
tmp_table_size = 256MB
join_buffer_size = 1M
thread_cache = 8
thread_concurrency = 8
thread_cache_size = 60
query_cache_size = 32M
max_connections = 100
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 1M
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
character_set-server=utf8
innodb_buffer_pool_size=384M
innodb_log_file_size=128M
slow_query_log=ON
slow_query_log_file=mysql-slow.log
long_query_time=1
0930nobodyさん2014/08/24(日) 00:57:35.43ID:???
[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
default_character_set=utf8

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout
0931nobodyさん2014/08/24(日) 03:34:53.65ID:???
ちなみにアプリサーバーとDBサーバーを切り分けることを試してみました。
DBサーバーのMySQL5.5の設定は
>>929、>>930の設定と同様にしました。

結果としては、速度向上は体感できませんでした。

やはり>>929、>>930の設定
もしくは、発行しているSQLに問題があるのでしょうか。。。。
0932nobodyさん2014/08/24(日) 10:00:58.98ID:???
ここはRailsスレだ
はっきり言うがスレチだ
せめてActiveRecordでこういう風に発行してるくらいあるならまだ答えるけど
Mysqlの設定ズラズラ並べるならここで聞くよりからその話題に関してはMysqlスレ行ったほうがいい
そっちのほうが質のいい答え帰ってくるから

あとSQLもindexもテーブル構成も貼らないのにエスパーは出来んよ……
ちなみにそれに関してもSQLスレがあるからそっちでどうぞ

Railsとあまりにも関係ないことは専門の人が居るとこ言ったほうがいいよマジで
ここはRailsスレだからインフラ周りは仕方なくやってる人が多いだろうし専門の人は少ないだろう
0933nobodyさん2014/08/24(日) 11:19:14.15ID:???
>>932
ご指摘ありがとうございます
せめてDBサーバーとアプリサーバーの切り分けの効果について教えていただけませんか?

Railsでこれが本来どれほどの効果をもたらすのかは知りたいところです
0934nobodyさん2014/08/24(日) 11:20:08.56ID:???
>>931
分けて同じなら、DBでほぼ間違いないだろうな。
0935nobodyさん2014/08/24(日) 13:45:18.63ID:???
>>900>>904>>910>>918
こういうのって一問も答えられないのにこの板を荒らしに来る荒らしだと思われ
完全スルーすべき無能な下層の人々だと思う
現実世界では確実にニーズない人材
0936nobodyさん2014/08/24(日) 14:13:14.47ID:???
>>933
そんなのはケースによるとしか

一般論としてはDBがCPUやメモリやディスクIOを食いまくっててRailsのプロセスにリソースが
まわってきてない状態だったら分ける効果はあるだろうけど

何にせよパフォーマンス改善は闇雲にやるんじゃなくて、きちんとした原因追跡が最重要
小手先でこねくりまわす暇があったら状況分析に力を注ぎましょう
0937nobodyさん2014/08/24(日) 15:05:31.38ID:???
>>936
ありがとうMySQLチューナーとか使って色々ためしましたが
あまり効果がないようです

やはりページキャッシュ化していくしかないようです
しかし、会員制サイトなので難しいです。
かといってフラグメントキャッシュは効果的じゃないみたいですね
0938nobodyさん2014/08/24(日) 18:59:48.46ID:???
dbの最大同時接続数はいくつ?
show global status like 'Max_used_connections';
0939nobodyさん2014/08/24(日) 19:02:35.41ID:???
>>937
色々試すんじゃなくて、原因をしっかり特定しろと言ってるんだよ
原因が分からない状態で対策の立てようなんかないだろ?
0940nobodyさん2014/08/24(日) 19:52:13.44ID:???
>>938
6でした
0941nobodyさん2014/08/24(日) 20:34:48.03ID:???
Max_used_connectionsが6ならば、appサーバとdbサーバを分割する必要は全くない。
0942nobodyさん2014/08/24(日) 22:31:51.30ID:???
トータル2GBしかないから、逆にメモリ割り当てが大きすぎる?

この辺
key_buffer_size = 512M
tmp_table_size = 256MB
innodb_buffer_pool_size=384M

InnoDBつかってるなら、上二つをもう少し減らせる(最低限システム用があればいいから)。
MyISAMつかってるなら、そもそもskip-innodbしてしまうとか。
09439322014/08/24(日) 23:38:52.39ID:???
>>933
切り分けの効果と言われてもケースバイケースだからなんとも言えない
アプリがほぼ静的だったら切り分けても効果ない

他の人も言ってるけどまずは特定しろ
「料理がまずいです。鍋が悪いと思うので包丁交換したほうがいいですか?」
君の発言はこんなレベル
しょっぱいのかこげたのかも何もわからないし何もアドバイス出来ない
原因もわからず塩追加したり水いれたり火力下げたり

それで直るわけ無いじゃん
0944nobodyさん2014/08/25(月) 16:34:00.83ID:???
クックパッドのRailsリニューアル
http://www.slideshare.net/hashikem/rails-presentation-667968

ページキャッシュをしようとした場合の問題
ログイン情報による動的な変化

「○○さんようこそ」
アクセスログ
広告配信

この3つについて、 Ajax の1リクエストで処理
0945nobodyさん2014/08/27(水) 00:23:02.48ID:NypxgQhc
配列にnilを追加する方法はありますか?
後で、compactを使って消し去るので、空白処理よりnilで処理しておいた方がやりやすいのですが
0946nobodyさん2014/08/27(水) 00:54:12.76ID:???
>>945
nil でも何でも追加できるけど?

[] << nil << nil
=> [nil, nil]
0947nobodyさん2014/08/27(水) 01:00:37.73ID:NypxgQhc
>>946
ありがとうございます!!
0948nobodyさん2014/08/27(水) 04:04:24.17ID:???
二度と来るなクズ
0949nobodyさん2014/08/27(水) 07:27:56.85ID:???
これは>>948に同意せざるをえない。
0950nobodyさん2014/08/27(水) 19:31:13.97ID:???
>>947>>948>>949
二度と来るな虫けらが
0951nobodyさん2014/08/27(水) 20:19:15.81ID:???
Rubyなんて冗長な糞言語にRoRなんて欠陥だらけの糞FWとか終わってんな
0952nobodyさん2014/08/27(水) 22:31:46.96ID:???
>>944
具体的に言うとどういうこと?
0953nobodyさん2014/08/27(水) 23:24:21.51ID:???
>>952
自分で調べろカス
0954nobodyさん2014/08/28(木) 08:28:08.21ID:???
>>953
ガキはふ菓子がしでも食ってろ
09559322014/08/28(木) 10:39:54.71ID:???
Railsが欠陥だらけの糞FWってのはまあ主観だけどRubyが冗長って……
PHPで比べても3倍以上行数削減できるのに
0956nobodyさん2014/08/28(木) 14:46:31.19ID:???
Railsが欠陥だらけの糞FWは主観ではなく事実でありRubyが冗長なのは事実である
まともなやつPythonを使いRubyなんて使うのは馬鹿なやつ
PHPと比べて3倍以上行数削減なんてのも嘘っぱち
09579322014/08/28(木) 15:19:27.04ID:???
これに関しては流石に>>956はアホすぎるとしか言い様がない
09589322014/08/28(木) 15:29:58.55ID:???
>>956は死ぬべき
09599322014/08/28(木) 15:30:28.18ID:???
こういう馬鹿がいるからRailsスレはゴミなんだよ
0960nobodyさん2014/08/28(木) 20:44:11.12ID:???
だなw>>959みたいな馬鹿がいるRubyは完全に糞
0961nobodyさん2014/08/28(木) 21:01:12.19ID:???
Railsは国内での開発案件が急上昇でPHPに並んだらしいな。
来年は追い抜くことになるけど、はたしてどの位差がつくか。
0962nobodyさん2014/08/28(木) 23:40:32.90ID:???
d1 = "user_id = ?" + " AND money = ?"
d2 = ", #{params[:user_id]}, #{params[:money]}"

if params[:unko]
d1 += " AND unko = ?"
d2 += ", #{params[:unko]}"
end
if params[:manko]
d1 += " AND manko = ?"
d2 += ", #{params[:manko]}"
end
d=d1+d2
results = Hogero.where(d)

こういう感じで複数の検索条件を使った検索をしたいと思っているのでが、プレースホルダのところにハマってくれずうまくいきません。
プレースホルダを使ったやり方は難しいのでしょうか?自前でやるとするとどういうやり方があるのでしょうか?
0963nobodyさん2014/08/28(木) 23:43:30.38ID:???
where でつないでいった方がはるかに簡単

user = User.where(user_id: params[:user_id).where(money: params[:money]
user = user.where(unko: params[:unko]) if params[:unko]
user = user.where(manko: params[:manko]) if params[:manko]
0964nobodyさん2014/08/28(木) 23:54:27.43ID:???
>>962
自分で解決出来ない低能
0965nobodyさん2014/08/28(木) 23:56:56.49ID:???
>>963
失った時間で何回シコシコできたことか・・・
あっ、すみません、ありがとうございました!!
ORでつなぐのは難しいけど、ANDは簡単なものが用意されてたんすね
0966nobodyさん2014/08/28(木) 23:57:50.56ID:???
>>964
ここで荒らしてる低能と同じレベルだよ
チンシコして眠ろうぜ愚民同士
0967nobodyさん2014/08/29(金) 00:09:00.84ID:???
>>964
おい!ゴミクズのお前が次スレ立てとけ!どうせ暇なんだから
0968nobodyさん2014/08/29(金) 00:32:05.93ID:???
>>965
二度と来るな低能
0969nobodyさん2014/08/29(金) 00:33:40.64ID:???
>>968
毎日のように質問者にイチャモンつけてる低能だろ
お前みたいな奴がいるからこのスレ荒廃してんだよ
お前みたいなクズはどこでも誰からも必要とされないんだよ
0970nobodyさん2014/08/29(金) 01:06:52.50ID:???
何を今更
Rubyなんてもともと荒廃してんだろ
0971nobodyさん2014/08/29(金) 23:07:13.87ID:???
recommendify使うのとmahoutで自作するのどちらがオススメですか?
私はmahoutで自作してます
0972nobodyさん2014/08/29(金) 23:37:14.32ID:???
>>971
どちらもオススメでない
なぜなら荒廃してる糞なもので何を作っても無駄だからである
0973nobodyさん2014/08/29(金) 23:51:10.22ID:???
アンチがいるのは世間に認められている証拠だね
本当にダメダメなら完全に無視されるだけだから
0974nobodyさん2014/08/30(土) 00:59:25.61ID:???
>>972
相対的にどうなのかをアンケートしているわけで、
その順位を答えられないレベルの人間は答えなくていいよ。
どっちも使ったことないんだろ、どうせ。
0975nobodyさん2014/08/30(土) 01:17:50.08ID:???
認められてるわけないだろ
笑わせんな( ^∀^)ゲラゲラ
0976nobodyさん2014/08/30(土) 01:21:48.21ID:???
RoRはゆとりがさっくり糞重いアプリケーションを量産するセキュリティ欠陥だらけの欠陥システム
0977nobodyさん2014/08/30(土) 01:32:07.24ID:???
>>972>>975
最近低レベルな分際で質問者を罵倒したりしてんのもこいつだろうな
使えないと認定しているもののスレに来て毎日くそみたいなレスしていくってどんだけ効率悪い人生なんだろう
ここでツバ吐いてもお前のその虫けら相当額の給料は一銭も変わらないというのにw
社会から認められていないゴミクズの行動は非常に非合理的だよ(笑)
その滑稽さで楽しませてくれw貧民のクズ野郎が
0978nobodyさん2014/08/30(土) 01:34:58.17ID:???
>>972>>975>>976
あっ、こいつ、うちの窓際です!
リストラ寸前の最下層なんですが、会社では一言もしゃべりません!
こんなところでペラペラしゃべっていたんですね!
うちの会社の虫けらがご迷惑おかけしました!間もなくクビにできますのでご容赦を!
0979nobodyさん2014/08/30(土) 01:37:06.71ID:???
Rubyなんてやってるとこのように頭がおかしくなってしまうから初心者は注意
妄想だけで生きてるガチクズの集まりそれがRoRスレ
0980nobodyさん2014/08/30(土) 01:41:38.83ID:???
>>972>>975>>976>>979
会社の人が迎えに来てるんだから帰れよw
薄給でクビ寸前なんだろ?努力しないの?
違う所で鬱憤を消費しちゃうから君はいつまでもクズなのだよ^^
お前ごときが統計分かるわけねえだろwじゃあな
0981nobodyさん2014/08/30(土) 01:45:34.96ID:???
>>980
もう二度と来るなクズ
0982nobodyさん2014/08/30(土) 01:49:09.17ID:???
>>981
お前も消えろよここでも社会でも必要ないんだよゲロ野郎が
0983nobodyさん2014/08/30(土) 01:56:59.61ID:???
妄想こじらせた信者の集まり
オー怖い怖い
初心者はこんなところさっさとさりましょう
洗脳されて変な人になります
0984nobodyさん2014/08/30(土) 02:56:40.60ID:???
おまいら Rails最後のスレなんだから 後17レス大切に使え!
0985nobodyさん2014/08/30(土) 04:29:09.19ID:???
>>984
卒業おめでとう。達者でな。
0986nobodyさん2014/08/30(土) 06:42:04.99ID:???
RubyもRoRも終了したから次スレはいらんな
0987nobodyさん2014/08/30(土) 11:03:26.68ID:???
>>986
じゃ、お前は次スレに来なくていいよ
RubyもRoRも終了してるんだから次スレも過疎るだけのはずだもんね!
0988nobodyさん2014/08/30(土) 19:35:50.21ID:???
RailsアプリからTwitterにツイートを送信したいです。

ググったところ、コールバックを利用して
各ユーザーごとでTwitterにログイン→認証して、各ユーザーのTwitterへツイートを送信
という例は沢山あります。

しかし、やりたいのは
各ユーザーがいちいちログイン認証せずとも
こちら側で用意した1つのTwitterアカウントに
一律毎回ツイートを送信したいです。

何か参考になる方法をご存知の方がいましたらご教授ください
0989nobodyさん2014/08/30(土) 19:55:14.39ID:???
>>988
キチガイ
0990nobodyさん2014/08/30(土) 19:55:39.92ID:???
>>988
こいつはマジでクズ
0991nobodyさん2014/08/30(土) 20:11:11.97ID:???
>>989みたいな基地害って
なんで他人に頼る前提でプログラミング始めるんだろ
0992nobodyさん2014/08/30(土) 20:46:22.65ID:???
>>988
自分で用意したアカウントなら、単純にログインしてツイートすればいいだけじゃね?
レス数が950を超えています。1000を超えると書き込みができなくなります。