【RoR】Ruby on Rails Part18

このエントリーをはてなブックマークに追加
1nobodyさん
2nobodyさん:2014/01/11(土) 20:07:19.72 ID:???
【ヘロク】 Heroku Part1 【PostgreSQL】
http://toro.2ch.net/test/read.cgi/hosting/1329378677/


■■ 国内クラウド/VPSスレ 8 ■■
http://toro.2ch.net/test/read.cgi/hosting/1378124154/
3nobodyさん:2014/01/12(日) 01:27:24.84 ID:q2C1gqcI
debianで、rails -vでバージョン確認すると、2.3.14とでます。
バージョンを上げた方が良いと思うんですけど、どうやれば良いんでしょう?
初心者でわかりません。教えてください。
43:2014/01/12(日) 01:50:32.50 ID:q2C1gqcI
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': iconv will be deprecated in the future, use String#encode instead.
/usr/lib/ruby/vendor_ruby/railties/lib/rails_generator/generators/applications/app/app_generator.rb:7: Use RbConfig instead of obsolete and deprecated Config.
このあとダラダラでて、怒られてるような気がするんですけど、どうすれば良いでしょうか?
初心者だから、教えて欲しいです。
5nobodyさん:2014/01/12(日) 03:44:14.59 ID:???
gem install rails --version "~>4.0.2"

gem install バージョンでググレば山のように出てくる
あとエラーメッセージは自力で嫁 その程度の英語が読めないならRubyに限らずプログラミングは困難
63:2014/01/12(日) 04:36:25.96 ID:q2C1gqcI
う〜ん、日本語で書かれてても理解できなさそう。
>>4の一行目は、iconfは将来的に廃止されるから,String#encodeを代わりに使えって言われても謎。
一応、そのファイルの36行目周辺を見ても、iconfの文字はないし。
>>4の2行目は、ConfigとRbConfigって何ってなってしまう。
7nobodyさん:2014/01/12(日) 11:32:10.72 ID:???
>>3
まずはrvmかrbenvを入れて、Rubyのバージョンを上げよう
83:2014/01/12(日) 14:59:20.08 ID:q2C1gqcI
>>7
ruby -vで確認すると、
rubyのバージョンは、1.9.3p194(2012-4-20)ってでるんですけど、
バージョン低いんですかね?
確かに、2012の4月でちょっと昔そうではあるんですけど
93:2014/01/12(日) 15:02:42.21 ID:q2C1gqcI
http://inokara.hateblo.jp/entry/2013/03/23/133515
一応、これ見ながら、何も考えずにwgetのとこのコマンド打ちました。
103:2014/01/12(日) 15:05:43.22 ID:q2C1gqcI
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz
このコマンドうったときって、どっから拾ってきてるんですかね?
言い方を変えると、こういうのって誰が作ってるんですか?ってことが知りたい。
11nobodyさん:2014/01/12(日) 16:00:02.26 ID:???
>>9
rvmかrbenvを使いましょう
12nobodyさん:2014/01/12(日) 17:23:14.60 ID:???
133:2014/01/12(日) 18:32:54.67 ID:q2C1gqcI
rbenvを使って、なんだかrubyのバージョンは上げられました。
1.9.3-p484です
ですが、またそこから謎です。
14nobodyさん:2014/01/12(日) 19:01:59.35 ID:???
>>13
いちいち手取り足取り全部教えてくれというのはきついよ。
金払ってどこかの研修にでも行け。

http://railstutorial.jp/
くらいでも君にはきつそうだ。
15nobodyさん:2014/01/12(日) 20:08:22.31 ID:???
教えて君
相手の負担を考えず、自分への奉仕を要求する。

教えて君には回答を与えない。
回答してしまうと、質問者だけでなく他の人まで「この質問の仕方で良い」と思ってしまう。
メンバー全体に迷惑をかけることになる。
http://www.geocities.jp/stardust774/
16nobodyさん:2014/01/12(日) 20:37:51.84 ID:???
ここには教えられるレベルの人間は来ていないからな
私みたいに出来るレベルの人間はたまに暇潰しに覗いてツバを吐いて出ていくだけ
文面から分かるけど、教えて君とか何とか言っているのは常連の無能だよ

そんじゃノシ
17nobodyさん:2014/01/12(日) 23:56:36.42 ID:???
うそはうそであると見抜ける人でないと(掲示板を使うのは)難しい
http://dic.nicovideo.jp/a/うそはうそであると見抜ける人でないと(掲示板を使うのは)難しい
183:2014/01/13(月) 01:19:26.70 ID:mgMypIex
色々教えてくれた方、ありがとうございます。
色々やってみましたが、rubyのバージョンを最新版に上げたのに、少し下げたりと、
なんか色々な方法を試して失敗してるみたいな感じです(よくわからない)。
railsはbundleなんとかまで上手くいったのですが、
gitあたりになんか色々詰め込んで、requireで指定するか、消すかで、
よくわからないんで、しばらく諦めようと思います。
とりあえず、linux周りの勉強をもっとして、先輩あたりに聞いてみたいと思います。では。
19nobodyさん:2014/01/13(月) 01:20:33.12 ID:???
rspecが全然わからん
どういうときに、何を書けばいいんだ
こういうコード書いてるから、こういうテストスクリプト書くっていう
例を教えてくだちい
20nobodyさん:2014/01/13(月) 02:13:12.40 ID:???
>>19
消えろ虫けら
二度と来るな
ここには教えられるレベルの奴は来てない
21nobodyさん:2014/01/13(月) 02:59:16.64 ID:???
>>19
rspecで何を書けばいいかはプロジェクトによるとしか言えない
自前のプロジェクトなら自分が気になるとこだけやっておけばいいんじゃなかろうか
22nobodyさん:2014/01/13(月) 10:03:57.18 ID:???
>>20
残念でちゅ

>>21
そういうものですか。
単体テストというと、ifでの分岐とか
クラスから生成したら、そいつがちゃんとクラスかとか
そういうの見ればいいのでしょうか

どうにも基準がわからなかったのです
23nobodyさん:2014/01/13(月) 10:56:29.89 ID:???
>>22
世の中に基準は色々あれど、採用するかどうかはプロジェクトによる
24nobodyさん:2014/01/13(月) 13:41:15.25 ID:???
>>22
simplecovなどと合わせてカバレッジを見るようにしてみると
最低限のテストにはなるんじゃないかな。
25nobodyさん:2014/01/13(月) 19:04:15.78 ID:???
>>19
例えばAPIを書いていて下方互換が必要かつ、バージョンアップごとに機能を追加する場合

当然データベース構造やモデルのメソッドやスコープをいじることになるが
その時にいちいちブラウザで全てのバージョンごとに動作確認するのは時間の無駄だし、絶対に漏れがでる

rpsecであらゆるパターンごとの結果を検証していれば適切な動作になるかが一目瞭然だし
失敗している場合もどこをどう修正すればいいのか明確になる

ウェブアプリで下方互換の必要がなくても、モジュール化された部分が変更されると
どこに影響が生じるかは判別しづらいし、その度にブラウザポチポチするのは確実でない

最も大きいのはRailsのバージョンアップで、あらゆる箇所に影響を与えるから
テストを書いていないと事実上バージョンアップに耐えられなくなる
26nobodyさん:2014/01/13(月) 19:32:35.92 ID:???
Rails の ActiveRecord モデルテストの書き方ガイドライン - passingloopの日記
http://b.hatena.ne.jp/entry/d.hatena.ne.jp/passingloop/20111125/how_to_write_rails_activerecord_model_tests
27nobodyさん:2014/01/15(水) 04:52:17.94 ID:???
【PHP】フレームワーク CakePHP 16ホール目【v2.4】
http://kohada.2ch.net/test/read.cgi/php/1378659370/
28nobodyさん:2014/01/15(水) 21:56:30.82 ID:???
def [](hoge)
all[hoge]
end

def all(reload = false)

end

この記述の仕方ってどういうことを挿してるのでしょうか
def [] でググってもあたらなくて。
29nobodyさん:2014/01/15(水) 22:01:21.72 ID:XpYxBZdp
obj[hoge] の形で呼び出す [] メソッドの定義だよ
30nobodyさん:2014/01/15(水) 22:10:14.30 ID:???
すみません、いまいちイメージがつかめず
objで呼び出すとはどういうことですか

あと ||= の演算子もよくわからず
31nobodyさん:2014/01/15(水) 22:23:39.83 ID:???
普通、メソッド呼び出しは

obj.hoge

みたいに呼び出すよね?それに加えて、

obj[huga]

という書き方でobjというオブジェクトの[]というメソッドを呼び出す
ことができるんだ。この[]というメソッドを定義しているのが

def [](hoge)

というわけ。あと、

a ||= b



a = a || b

の省略形
32nobodyさん:2014/01/15(水) 22:33:32.63 ID:???
>>31
おお、なんとなく判った気がします
丁寧な解説で助かりました
ありがとうございまう
33nobodyさん:2014/01/15(水) 22:50:21.57 ID:???
すぐにぐぐらずに〜マニュアルを〜よ〜め〜
34nobodyさん:2014/01/16(木) 00:42:42.08 ID:???
age
35:2014/01/17(金) 05:18:28.10 ID:???
Support for Ruby version 1.9.3 will end on February 23, 2015.
We highly recommend you upgrade to Ruby 2.1 or 2.0.0 as soon as possible.

https://www.ruby-lang.org/en/news/2014/01/10/ruby-1-9-3-will-end-on-2015/
36nobodyさん:2014/01/17(金) 10:55:06.60 ID:???
Ruby 1.9.3、サポート終了は2015年2月 | マイナビニュース
http://news.mynavi.jp/news/2014/01/15/060/
37nobodyさん:2014/01/18(土) 03:30:34.27 ID:nh9P47yc
あ、localhost:3000に繋がった! やったね!
38nobodyさん:2014/01/18(土) 03:35:27.19 ID:nh9P47yc
>>37 = >>3
39nobodyさん:2014/01/19(日) 15:33:19.88 ID:???
マカフィー株式会社 | McAfee Blog -高度なマルウェアに関する神話 第1話: 『課題は、高度なマルウェアは検知できないということだ』
http://www.mcafee.com/japan/security/mcafee_labs/blog/content.asp?id=1379

New York Timesの記事によれば、同紙は米Symantecのウイルス対策製品を使っていたが、
Mandiantが調べた結果、攻撃者が使った45種類のカスタム版マルウェアのうち、Symantecの製品で検出できたのは1種類のみだったという。
http://bylines.news.yahoo.co.jp/yamamotoichiro/20130204-00023332/

ソニーPSNの個人情報漏洩に英国で約3500万円の罰金支払い命令、「防げた事件」と判定 - Engadget Japanese
http://japanese.engadget.com/2013/01/24/psn-3500/
40nobodyさん:2014/01/21(火) 09:07:00.73 ID:???
日々是横着 - 「サーバ」に対する誤った認識

自分でサーバ立てるのってなんか楽しそうだしスゴそうだよね?
サーバ立てるのなんてちょっとパソコンに詳しければ簡単にできるんでしょ?
ハードウェアの多重化なんて必要?
企業で使うとかじゃなく個人的に細々と立てたサーバが攻撃されることなんて滅多にないよね?
攻撃が来るって言ったって大した数じゃないんでしょ?
攻撃されたって大したことは起きないんでしょ?
http://b.hatena.ne.jp/entry/tmaeda.s45.xrea.com/20041101.html
41nobodyさん:2014/01/21(火) 09:07:48.71 ID:???
ITmedia エンタープライズ:自社サーバがフィッシングサイトに「踏み台化」されたら? (1/3)
また、電源を切ってしまうことも良い対応ではない。
オンメモリ上で稼働しているフィッシングサイトの場合は、電源を切ることによって、すべてのデータが消えてしまい、原因究明や対応に遅れなどが出ることも考えられるからだ。
 事実、フィッシングサイトを構成するツールの中には、後に証拠が残らないよう、すべてがオンメモリ上で動作するものがある。
このような場合、再起動や電源オフによって、メモリ上にあるすべてのプログラムやファイルが消え、事実や原因の確認が困難になる。
http://www.itmedia.co.jp/enterprise/articles/0603/17/news004.html
42nobodyさん:2014/01/22(水) 18:54:34.66 ID:???
43nobodyさん:2014/01/25(土) 10:10:12.36 ID:KuoCcVFE
Amazon.co.jp: 強いチームはオフィスを捨てる: 37シグナルズが考える「働き方革命」: ジェイソン・フリード, デイヴィッド・ハイネマイヤー・ハンソン, 高橋 璃子: 本
http://www.amazon.co.jp/gp/product/4152094338
44nobodyさん:2014/01/26(日) 10:58:22.87 ID:WqthtWoB
a
45nobodyさん:2014/01/26(日) 21:26:03.56 ID:WqthtWoB
jQuery-File-Uploadを使っていますが、addでアップロード中のテンプレートを紐づけた後、
アップロード完了後に別のテンプレートを紐づけたいと思っています。
この場合、doneを使えば良いのでしょうか?
かなりマイナーな質問ですが宜しくお願いします。
46nobodyさん:2014/01/26(日) 21:38:54.14 ID:???
場違いかもしれないですが、他に適切なスレが無かったので質問させてください。

今までずっとRailsの開発をしていて、今回初めてsinatraの開発をすることになりました。
Ajaxのレスポンスで、Railsではjs.erbのように、変数を埋め込むjs を返せましたが、sinatraでこれを実現する術が見つかりません。
そのためレスポンスはいつも静的なjsやhtmlを返す必要があるため、コントローラ側でインスタンス変数を用意しておいてviewでそれを使う、といったことが出来ません。
これを実現する方法は無いでしょうか。
47nobodyさん:2014/01/26(日) 22:09:25.42 ID:???
48nobodyさん:2014/01/26(日) 22:31:21.87 ID:WqthtWoB
一応解決しましたが、アップロードがループしてるみたいで、何個も重複でされてしまいますw
助けて欲しいですが、もう少し悪戦苦闘してみます。
49nobodyさん:2014/01/26(日) 23:15:38.96 ID:WqthtWoB
上級者にはこの説明だけで分かるかと思いますが、
createアクションで何をどう返せば良いのかが分かりません。

使用しているのはdataTypeはscriptです。
50nobodyさん:2014/01/26(日) 23:16:13.53 ID:???
久々の煽り教えて君
51nobodyさん:2014/01/26(日) 23:18:38.09 ID:???
どう見てもRailsの話じゃない
JavaScriptスレ行け
52nobodyさん:2014/01/26(日) 23:18:43.70 ID:???
>>50
久々の無能解答者
53nobodyさん:2014/01/26(日) 23:23:00.46 ID:???
>>51
どう見てもrailsの話だろ railscastにももろ載っている分野w
質問者の聞いていることはダイレクトには載っていないから試しにきたのか はたまたただの質問か
>>51のようにrailsとは関わりもないと思う低能ワーカーが多いから面白そうだ
まぁ私は答えられるが君たちの実力でも見物させてもらうことにするお
54nobodyさん:2014/01/26(日) 23:24:16.50 ID:???
>>53
JavaScriptの話はJavaScriptスレの方が適切な回答を得られる
5553:2014/01/26(日) 23:26:52.59 ID:???
>>51 = >>54
分からないnaraごたごた語るなよw
Railscastにも載っている分野と言っているだろうが
しかもjavascriptに限定した問題じゃねえからw
馬鹿丸出しだなw
こんなことも分からずどんな仕事してんの?w
しかもここに何しに来てんの?w
56nobodyさん:2014/01/26(日) 23:29:22.07 ID:???
>>55
せっかく適切な場所に誘導してやってるのに、問題を解決したいんじゃないのかい?
(なお君が質問者本人であることはバレバレなので)
5753:2014/01/26(日) 23:30:32.44 ID:???
>>49
俺は分かったけど ここにいるゴミたちはもう少しヒントがないと分からないと思うぞ
その存在すら知らないで糞サイト作ってるやつばかりだから
javascript絡みと認定する"上級者"の発言見て笑い転げてるんだろ?w
58nobodyさん:2014/01/26(日) 23:57:06.80 ID:???
次の方どうぞー
59nobodyさん:2014/01/27(月) 00:04:31.31 ID:???
ここは相変わらずだな〜
上級者は荒らしに来て、下級者は自分が答えられる低レベル質問だけに答えて悦に浸る
気持ち悪い輩が多いからしばらく見ていなかったがレベルは低いままだw
60nobodyさん:2014/01/27(月) 00:12:54.68 ID:???
>>49
doneのところでreturn data.submit()やってるだろ?多分
それがあるなら消してやってみな
うちの部下も間違えていたからそれじゃないかな?
もし違ったらまたここで言いな
でもここ俺みたいに応えられる人間それほどいないから、ググりまくったり試行錯誤しまくったりの方が実力つくよ
すでにここにいるゴミよりはレベル高いから頑張り奈
6153:2014/01/27(月) 00:15:27.44 ID:???
>>60
あっ、俺ね
多分これ答えられるの俺だけ
君が試験しているのなら、君と俺だけ
javascriptの問題と思ってるアホがいて辟易としただろ?w
railsCastも読み漁っていないワープアばかりなんだよここは
俺と君除いてね
ほんじゃノシ
62nobodyさん:2014/01/27(月) 00:39:39.10 ID:e6GdOtI/
>>61
おおおおおいけましたああああああ!!!!!!!!
試験?いえ、そんなレベルは高くないです^^;
今後ともご指導宜しくお願い致します。
63nobodyさん:2014/01/27(月) 01:04:42.54 ID:???
1人で何やってんのw
64nobodyさん:2014/01/27(月) 01:07:45.49 ID:???
俺もRuby Railerだが
てめぇらクズのせいで
一括りにクズ扱いされるのはゴメンだ
65nobodyさん:2014/01/27(月) 01:15:52.43 ID:???
>>63
気付かないフリしてやれ
66nobodyさん:2014/01/27(月) 01:17:25.06 ID:???
答えられなかった低脳が戻って来たね
あっ、俺以外全員かw
プライドだけは高いから自演による罠だとでも思っているようだw
まぁ、君たちは糞サイト作って一生終われば良いよw
67nobodyさん:2014/01/27(月) 01:19:33.45 ID:???
こいつらじゃ絶対にクリエイティブなものは生まれない
レベルが低すぎるし、プライドはアンバランスに高すぎる
こんな問題も答えられずにグダグダこのスレに住み着いている
屑どもだ
私は失敬するよ
ゴミ臭さが移る
68nobodyさん:2014/01/27(月) 01:22:00.75 ID:???
分かったからさっさと消えろよ
お前つまんね
69nobodyさん:2014/01/27(月) 01:46:53.84 ID:???
>>68
心に傷を負ったか?
チェリーボーイさん
70nobodyさん:2014/01/27(月) 02:10:39.34 ID:???
本当につまんないね
71nobodyさん:2014/01/27(月) 11:07:08.34 ID:???
必要以上に親切にしない。教えて君はエスカレートする。
最初は自分で努力しようと考えている人も、親切にされるとそれを当たり前だと思い、次からはもっと人に頼るようになる。
甘やかすことは、その人から向上心やプライドを奪うことでもある。
http://ja.uncyclopedia.info/wiki/教えて君
72nobodyさん:2014/01/30(木) 00:32:31.65 ID:YnHSSLC6
has_manyとhas_oneのデータベース上の違いがわかりません。
両方とも外部テーブルの主キーを外部キーとして持つんですよね?

languages
| id | name |person_id |
|─┼──┼───┤
| 01| PHP |   02  |
| 02| Ruby |    03 |
| 03| Perl |    01 |

persons
| id | name          |
|─┼─────────┤
| 01| Larry Wal        |
| 02| Rasmus Lerdorf     |
| 03| Yukihiro Matsumoto  |

frameworks
| id | name      | language_id |
|─┼──────┼─────┤
| 01| Ruby On Rails |       02 |
| 02| CakePHP    |       01 |
| 03| Catalyst    |       03 |
| 04| Sinatra     |       02 |
| 05|Symfony    |       03 |


この場合、languageはhas_one person、lanaugesはhas_many frameworksとするのが妥当ですが、
これはModel側の記述であり、DB上は特にhas_oneとhas_manyに違いはないですよね?
73nobodyさん:2014/01/30(木) 01:51:06.32 ID:???
>>72
has_oneはlimit 1がつく
74nobodyさん:2014/01/30(木) 12:05:51.35 ID:SFIRhpo1
Gyazo ブログ: 「Rails+Mongoで日本最大規模」 - Gyazo.comがRuby on Rails+ MongoDBで月間600万ユーザーのサイトを全面再構築。イベントも開催
http://blogjp.gyazo.com/2014/01/gyazo-rails-mongodb.html
75nobodyさん:2014/01/30(木) 19:18:14.28 ID:SFIRhpo1
MySQLなんて、1億レコードもあったら、確実に固まります(笑)。
http://ascii.jp/elem/000/000/856/856173/index-3.html
76nobodyさん:2014/01/30(木) 19:58:36.39 ID:???
facebookもtwitterもMySQL使って何十億単位で捌いてるけどそれはどうなん?
77nobodyさん:2014/01/30(木) 20:13:27.09 ID:???
sharding
78nobodyさん:2014/01/30(木) 21:59:47.52 ID:???
MySQLで1億レコード保持するテーブルの横断検索について。 現在2.. - 人力検索はてな
http://q.hatena.ne.jp/1322544557
79nobodyさん:2014/01/30(木) 23:49:22.97 ID:???
>>73
ありがとうございます
違いはそれだけですか?
80nobodyさん:2014/01/31(金) 00:36:01.57 ID:???
>>79
データベース上はそれだけ
Rails上での扱いやパフォーマンスは異なる
81nobodyさん:2014/01/31(金) 00:58:17.26 ID:???
rake test
を実行するとdevelopmentの方のDBが使われちゃうんだけど、これはどこを直せばいいんだろうか?
rake test RAILS_ENV=test
これならうまく動くんだが
82nobodyさん:2014/01/31(金) 01:02:27.14 ID:???
83nobodyさん:2014/01/31(金) 01:22:58.47 ID:???
>>82
関係有るかな?ちなみにRails4.0.0
ただtest_helper.rbをENV["RAILS_ENV"] = "test"に
直しても同じなんだよなー
84nobodyさん:2014/01/31(金) 08:27:25.38 ID:???
>>80
ありがとうございます。
85nobodyさん:2014/02/01(土) 23:47:38.22 ID:???
クエリーの結果が

[
 { id: 1, category: "game", title: "foo" },
 { id: 2, category: "game" ,title: "bar" },
 { id: 3 ,category: "anime", title: "baz" },
 { id: 4, category: "manga", title: "hoge" },
 { id: 5, category: "manga", title: "fuga" }
]

というハッシュの配列なのですが、扱いにくいので

{
 "game": [ { id: 1, title: "foo" }, { id: 2, title: "bar" } ],
 "anime": [ { id: 3, title: "baz" } ],
 "manga": [ { id: 4, title: "hoge" }, { id: 5, title: "fuga" } ]
}

という形式にしたいのです。
ActiveRecord側でやるとしたら、

{ "game": Table.where(:category=>"game").pluck(:title),
"anime": Table.where(:category=>"anime").pluck(:title),
"manga": Table.where(:category=>"manga").pluck(:title) }

ですが、リモートDBに3回もアクセスしてしまうのがネックです。


Ruby側でflatternの反対みたいなことしたいのですが、無理なのでしょうか?
8685:2014/02/01(土) 23:53:35.89 ID:3TbUHFmS
Enumerable#group_byがありました
87nobodyさん:2014/02/02(日) 00:03:08.70 ID:???
お、おう
88nobodyさん:2014/02/02(日) 04:27:31.92 ID:PCf1V6FE
(1..6).group_by {|i| i%3} #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]}
89nobodyさん:2014/02/04(火) 20:24:52.19 ID:6aYeGabM
Quantcast - Top Ranking International Websites
https://www.quantcast.com/top-sites
90nobodyさん:2014/02/04(火) 23:50:47.19 ID:gU4r7kTu
ブログ記事があって、そのブログ記事に貼り付けるタグ(複数)も同時に編集できる画面があります。


そのタグは、既存のタグを@tags = Tag.where(:article_id=>@article.id)とかで持ってくるのですが、
その既存タグたちを編集するときの仕様が困っています。

@tags.each do |tag|
form_for tag

とかやってしまうとタグの数だけformが作られてしまいます。

form_tag
@tag_each do |tag|

とすればいいのですが、formよりもjQueryでエンドポイントにそのままputするほうがスマートでしょうか?


Railsでどういう作り方が推奨されてるのでしょうか。
91nobodyさん:2014/02/05(水) 00:22:36.80 ID:???
>>90
has_many through と fields_for あたりでググればなんか出てくるよ
92nobodyさん:2014/02/05(水) 23:58:56.05 ID:CUveIPVW
>>91
has_many :throughは中間テーブルがあるとき限定っぽいです
93nobodyさん:2014/02/06(木) 00:08:00.85 ID:na+0nu86
めずらしいな。

>>90 の実装だと同じ字面のタグが複数できちゃうから、taggings みたいな
中間テーブル作って has_many trhough が常套手段だけど。

それはともかく、本体は fields_for なのでそっちも調べてよ。
94nobodyさん:2014/02/06(木) 03:18:59.78 ID:???
今日から勉強し始めた正直なんか複雑で難しい
95nobodyさん:2014/02/06(木) 04:51:06.58 ID:???
2,3年フルタイムで使ってるけど未だに使いこなせないし
どんどんRails自体の機能やライブラリが新しくなって2,3年前の記事が参考にならないくらいだから
初めは取っ付きづらくて当たり前だと思う

むしろ下手に習熟してアプリケーションが肥大化するとバージョンアップにとてつもなく苦労する
96nobodyさん:2014/02/06(木) 07:08:23.67 ID:???
実務でRails使えるなんて幸せだね
97nobodyさん:2014/02/06(木) 11:24:18.66 ID:???
>>96
何使ってるの?
98nobodyさん:2014/02/06(木) 17:48:33.77 ID:???
>>97
「最大公約数的な考え方をするとPHPしかない(キリッ」って言われて
どうしてもPHPなんだよね。
実務レベルでRails使えるエンジニアなんて求人出しても応募してこないでしょ。
99nobodyさん:2014/02/07(金) 01:08:55.49 ID:???
新規事業だとRailsの方が多いんだけどね
受託系だとどうしてもPHPしか選択肢がない
100nobodyさん:2014/02/07(金) 11:57:43.26 ID:???
>>99
そうなの?そんな感覚受けないけどな。
101nobodyさん:2014/02/07(金) 12:42:29.67 ID:???
実際開発に使ってるところはIDEとか開発環境何でやってんだろ
102nobodyさん:2014/02/07(金) 13:46:29.73 ID:???
netbeansのrailsプラグインはなぜか
railsプロジェクトだと自動scpアップロード機能が使えなくてがっかりした。
103nobodyさん:2014/02/07(金) 15:37:10.32 ID:???
最初二つはIDEじゃないけどVim、Sublime、intelliJ(RubyMine)じゃないんかな
104nobodyさん:2014/02/07(金) 18:06:36.60 ID:???
Vimとかでがっつり開発してるのかな
sshでWinからやんのかね
なんかWeb開発ってGUIじゃないと捗らなそう
105nobodyさん:2014/02/07(金) 19:18:08.86 ID:???
Vimは普通にGUIのあるし、プラグインも腐るほどあるぞ
106nobodyさん:2014/02/07(金) 19:46:01.66 ID:???
RubyはIDEの性能がいまいちだからな

そのせいで会社がRailsに移行してくれん
JavaとPHPから抜け出せん
107nobodyさん:2014/02/07(金) 21:41:23.68 ID:VfrloKNC
なんでvim使う程度でsshが出てくるかと思えば窓か。
108nobodyさん:2014/02/07(金) 21:54:24.56 ID:???
Linux上で直接開発すんのか?
109nobodyさん:2014/02/07(金) 22:17:23.69 ID:???
仮想環境にSSHするのが普通だわな。林檎だけどな
110nobodyさん:2014/02/07(金) 22:43:48.93 ID:???
いや普通にMacで開発しろよw
111nobodyさん:2014/02/07(金) 23:16:17.12 ID:???
Rails始めたいと思うんだがとりあえず本の通りにショッピングサイトみたいの作った方が良いですかね
ちょっと舐めてたのもあるけど一通りやらないと自分で自由に出来ない予感がする
112nobodyさん:2014/02/07(金) 23:22:44.92 ID:???
実務でrailsやってるけど
macbook airでvimだな
最近はこれぐらいライトな開発環境が多いと思う。
javaとかcとか俺には絶対無理だし
113nobodyさん:2014/02/08(土) 00:25:55.91 ID:???
>>111
もちろんその度にググレば場当たり的に対応できるけど、
ライブラリも交えて自由にショッピングサイト作れるようになるまでフルタイムで1年くらいかかるぞ

そもそもRails自体一人で扱うには範囲が広すぎて、新機能・ライブラリとのいたちごっこみたいにになる
114nobodyさん:2014/02/08(土) 00:32:08.64 ID:???
前まではmacで開発してたけど
今は知り合いも会社もvagrant

会社ではvagrantで開発環境作るのがルールになってる
依存で悩む経験するとmacじゃ開発できなくなってくる
115nobodyさん:2014/02/08(土) 00:39:06.62 ID:???
rails案件ばかりだとエンジニアとしては本当に馬鹿になるよな
116nobodyさん:2014/02/08(土) 00:52:14.76 ID:???
何を求められてるかによるでしょ

ライブラリをカスタマイズしたりと自分で何かを生み出す能力は身につかないけど
既存ライブラリとRailsの特性を活かしてレールに乗れた時の生産性は非常に高い

前者を求める企業には適合しないけど、少ないリソースでいくらかの成果を求める分には適合する
117nobodyさん:2014/02/08(土) 00:59:50.35 ID:???
Rails力という独特な能力ですな
118nobodyさん:2014/02/08(土) 01:15:20.16 ID:???
Railsを書くのにRubyを知らなくてもいいなんて
Matzの対談で出るぐらいのことだからな

驚きですよ
119nobodyさん:2014/02/08(土) 13:20:37.97 ID:NPzdtZy4
Ruby on Railsの求人・仕事を探すなら【クラウドワークス】
ttp://crowdworks.jp/public/job_skills/33
120nobodyさん:2014/02/08(土) 14:43:57.63 ID:???
Rails得意そうな会社ってクックパッドとドリコムくらいしか思いつかない。
121nobodyさん:2014/02/08(土) 15:13:19.89 ID:???
クックパッドはRailsじゃなくてサーバでしょ。
アプリケーションエンジニアは平凡な人たちだよ。言葉悪いけど。

できたてのWEBサービス系ベンチャーのRails率は半端ないよ。
122nobodyさん:2014/02/08(土) 15:45:41.97 ID:NPzdtZy4
Rubyエンジニアのブラックホール
http://engineer.typemag.jp/article/forkwellxcookpad
123nobodyさん:2014/02/08(土) 15:49:44.16 ID:???
twitterがRailsのまんまだったら代表的な例として挙げられたのに
クックパッドだといまいちインパクトに欠ける気がする
124nobodyさん:2014/02/08(土) 16:00:28.97 ID:???
え?twitterってフロントもscalaにしたの?
125nobodyさん:2014/02/08(土) 16:02:44.89 ID:???
>>123
アメリカで新興だけど1000万人規模のサービスとか結構Railsで作られてるよ
>>121の通り、世界的にベンチャーのRails採用率は異常に高い
126nobodyさん:2014/02/08(土) 16:03:57.73 ID:???
>>124
あ、ごめん
詳しいことは全然知らん
127nobodyさん:2014/02/08(土) 16:07:59.45 ID:???
フロントとバックエンドの分離ってデータベースの整合性どうしてるんだろう
ストアドプロシージャをメインで使うのかね
128nobodyさん:2014/02/08(土) 16:18:27.50 ID:???
俺の知らない用語を使うなカス
129nobodyさん:2014/02/08(土) 23:34:09.50 ID:???
>>93
ありがとうございました
fields_forでやっと出来ました
buildとか必要だったことがなかなか分かりませんでした


次はhas_many throughでテーブルから組みなおします
130nobodyさん:2014/02/09(日) 00:04:41.99 ID:???
fields_for使わないほうがいいよ。そういうのをフレームワークに任せると細かい挙動が予測できないでしょ。
131nobodyさん:2014/02/09(日) 01:34:01.29 ID:???
fields_for使わないで何をつかうというんだw
132nobodyさん:2014/02/09(日) 02:22:01.84 ID:???
自前だよ。params二つ受け取って自分で親子関係設定すればいいだけ。
133nobodyさん:2014/02/09(日) 03:10:12.90 ID:???
バカは放置
134nobodyさん:2014/02/10(月) 08:17:25.78 ID:J/5zHJ5d
Egor Homakov: Paperclip vulnerability leading to XSS or RCE.
http://homakov.blogspot.com/2014/02/paperclip-vulnerability-leading-to-xss.html
135nobodyさん:2014/02/10(月) 08:18:28.09 ID:J/5zHJ5d
RoR Paperclip infested by content type spoofing bug • The Register
http://www.theregister.co.uk/2014/02/09/content_type_spoofing_bug_in_ror_paperclip/
136nobodyさん:2014/02/10(月) 12:40:24.77 ID:???
>>124
フロントScala
バックJava

RailsはRubyと一緒に捨てた
137nobodyさん:2014/02/10(月) 15:11:01.57 ID:???
>>136
ソースはどこ?
138nobodyさん:2014/02/10(月) 19:42:03.77 ID:???
TwitterってPHPエンジニアの募集してるんな
どこで使ってるんだろう
139nobodyさん:2014/02/10(月) 20:26:03.63 ID:???
特定のコントローラーの特定のアクションだけ:layout=>falseにしたいのですが
before_filter exceptみたいな感じで指定することはできないのでしょうか

どうしてもrenderの直前にならざるをえないのでしょうか
140nobodyさん:2014/02/10(月) 22:14:36.36 ID:???
141nobodyさん:2014/02/10(月) 23:48:40.06 ID:???
>>140
すいません
クラスメソッドだと条件文が使えないのでフィルター(インスタンスメソッド)で使いたいのですが
方法はないのでしょうか
142nobodyさん:2014/02/11(火) 00:01:14.27 ID:???
>>138
apiをphpで使うことを想定してテストとかやらすんや
143nobodyさん:2014/02/11(火) 02:01:21.34 ID:oikpYNJm
>>141

> Symbol
> call the method specified by the symbol, which will return the template name

これ、コントローラのインスタンスメソッドなんだよね。
144nobodyさん:2014/02/11(火) 02:25:45.15 ID:iwHGH8gS
145nobodyさん:2014/02/12(水) 02:41:27.20 ID:???
本の通りにやってるつもりだがうまくいかねぇな
学習コスト高いわ
146nobodyさん:2014/02/12(水) 04:13:31.94 ID:???
# myapp.rb
require 'sinatra'
get '/' do
'Hello world!'
end

gemをインストールして動かしてみる。
gem install sinatra
ruby myapp.rb

localhost:4567 を見る。
http://www.sinatrarb.com/intro-jp.html
147nobodyさん:2014/02/12(水) 13:55:38.32 ID:???
>>145
むしろ学習コスト高く無いとどこで思ったんだ?
148nobodyさん:2014/02/13(木) 06:40:07.00 ID:???
Rails Hub情報局: 素人がWebサービスを作ってみて分かった9つのこと
手元で書いて動くコードは1分でできるのに、
例外処理をして9割の完成度に上げるのには、とてつもなく時間がかかる場合がある
http://el.jibun.atmarkit.co.jp/rails/2011/09/web9-1e8b.html

スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ - Masatomo Nakano Blog
6. サーバ周りの人材をしっかり確保しよう
http://b.hatena.ne.jp/entry/blog.madoro.org/mn/84

Ruby on Rails が簡単というのはウソ - #生存戦略 、それは - subtech
http://subtech.g.hatena.ne.jp/secondlife/20120309/1331279496

今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 | つい全力ツッコミしてしまうエンジニアCEOのブログ | sumyapp
http://b.hatena.ne.jp/entry/blog.sumyapp.com/2013/07/no-recommend-rails/
149nobodyさん:2014/02/13(木) 06:41:23.89 ID:???
自分でサーバ立てるのってなんか楽しそうだしスゴそうだよね?
サーバ立てるのなんてちょっとパソコンに詳しければ簡単にできるんでしょ?
ハードウェアの多重化なんて必要?
企業で使うとかじゃなく個人的に細々と立てたサーバが攻撃されることなんて滅多にないよね?
攻撃が来るって言ったって大した数じゃないんでしょ?
攻撃されたって大したことは起きないんでしょ?
http://b.hatena.ne.jp/entry/tmaeda.s45.xrea.com/20041101.html

運用中のApache Webサーバの大半にセキュリティ脆弱性 | マイナビニュース
http://news.mynavi.jp/news/2014/02/11/038/
150nobodyさん:2014/02/14(金) 12:01:08.20 ID:???
400GbpsのDDoS攻撃発生、「NTP増幅」で過去最大規模に - ITmedia エンタープライズ
http://www.itmedia.co.jp/enterprise/articles/1402/13/news043.html

ntpd の monlist 機能を使った DDoS 攻撃に関する注意喚起
http://www.jpcert.or.jp/at/2014/at140001.html
151nobodyさん:2014/02/15(土) 01:45:41.24 ID:???
>>125
huluに続くと言われてる
sidereelもRailsだよ

日本はどうしてRails需要がこんなにもないのか?
152nobodyさん:2014/02/15(土) 02:00:18.58 ID:???
>>151
Rubyが日本発だから勘違いしてる人もいるかもしれないが、Railsは英語が使えない人は
お断りレベルで英語情報中心だからだと思われる
153nobodyさん:2014/02/15(土) 09:53:45.58 ID:???
Railsのセキュリティ面が英語の情報に偏りすぎてて
日本で小規模で始めるには情報が足りなさ過ぎることだろうな
154nobodyさん:2014/02/15(土) 10:54:35.90 ID:???
Rails Guideや和書で勉強した程度のRailsエンジニアに自社サービスを作ってほしくないもんな
パフォーマンスとか何も考えずに作るし
155nobodyさん:2014/02/15(土) 11:02:51.85 ID:???
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
156nobodyさん:2014/02/15(土) 16:41:03.81 ID:???
Railsに限らずウェブ系の仕事で飯食うのに英語読めないのはさすがに致命的
157nobodyさん:2014/02/15(土) 16:44:08.36 ID:???
そうか?JavaやPHPは日本語の資料がそろっててすごいと思うよ
158nobodyさん:2014/02/15(土) 16:59:29.59 ID:???
まぁ進歩の早いWEB系で英語力が重要なのは確か。
海外留学して英語がネイティブな人と仕事したことあるけどどう頑張っても勝てそうに無いと思った
159nobodyさん:2014/02/15(土) 17:42:49.20 ID:???
これまで2ch連中と同じくグローバル化www状態だったのが
ウェブ系の仕事に就いたらまさに英語力が命だったでござるの巻
160nobodyさん:2014/02/19(水) 10:20:17.36 ID:ELco+zCc
Riding Rails: Rails 3.2.17, 4.0.3 and 4.1.0.beta2 have been released!
http://weblog.rubyonrails.org/2014/2/18/Rails_3_2_17_4_0_3_and_4_1_0_beta2_have_been_released/
161nobodyさん:2014/02/20(木) 01:42:55.72 ID:???
http://hoge.com/:paramってなっていて、ルートの直下に割とどんなパラメーターも受け付けるサイトなんですが、
管理画面でモデルを管理するとき、http://hoge.com/admin/モデル名にしようと思っています

このモデル自体はアプリケーション全体から参照されているんですけど、
ルートにこういう記述をしたら
namespace :admin do
resources :model
end

コントローラーだけでなくmodelも参照するときは常にAdmin::Modelって感じに参照しないとダメだって怒られました。
でもそれは煩雑なのですが・・・どうすればいいんですかね?
162nobodyさん:2014/02/20(木) 07:04:05.02 ID:???
scope '/admin' do
resources :model
end
163nobodyさん:2014/02/20(木) 10:26:12.50 ID:ATjg5jOf
cakephp と ruby on railsの比較 - 田舎の技術者が奮闘中
http://piko.hateblo.jp/entry/2013/10/09/111746
164nobodyさん:2014/02/20(木) 13:10:05.02 ID:???
>>163
>結局のところクルマを運転する上で、中身なんぞ知らなくてもいいだろ?使う奴は運転する技術だけ習得してこいって考え方がrailsだと思います。

土方向きだけのことはあるな
165nobodyさん:2014/02/20(木) 23:12:58.86 ID:???
>>162
ありがとうございます
166nobodyさん:2014/02/23(日) 14:40:29.71 ID:iS1220ph
class_eval()について訳がわからなくなってきた。

my_class = MyClass.new

my_class.class_eval do
 def m1; 'hello!'; end
 def self.m2; 'hello!'; end
end

上記の場合、カレントクラスのMyClassにm1というインスタンスメソッドが追加されて、
カレントクラスのMyClassの特異クラスにm2という特異メソッドが追加されるとう理解でいいですか?
167166:2014/02/23(日) 15:12:35.43 ID:iS1220ph
>>166のことは忘れて下さい。
168nobodyさん:2014/02/25(火) 23:28:09.96 ID:???
ドメインモデルではない情報で、管理者設定画面などで管理できるものを扱う際は
データベースは作らず、読み書きできるYAMLを作るのが普通ですか?
169nobodyさん:2014/02/26(水) 00:46:37.59 ID:???
管理者設定画面で設定できるものはDBに突っ込むべきだと思う
configみたいなテーブルでも作って。
170nobodyさん:2014/02/26(水) 02:08:48.86 ID:???
wordpressだと汎用テーブル作ってとりあえずぶち込んでるな
171nobodyさん:2014/02/26(水) 21:18:20.42 ID:kpHlwgHZ
はてなブックマーク - Ruby on Rails on MySQL チューニング入門
http://b.hatena.ne.jp/entry/www.slideshare.net/eccyan/ruby-on-rails-on-mysql
172nobodyさん:2014/02/27(木) 00:32:44.15 ID:???
自分でサーバ立てるのってなんか楽しそうだしスゴそうだよね?
サーバ立てるのなんてちょっとパソコンに詳しければ簡単にできるんでしょ?
ハードウェアの多重化なんて必要?
企業で使うとかじゃなく個人的に細々と立てたサーバが攻撃されることなんて滅多にないよね?
攻撃が来るって言ったって大した数じゃないんでしょ?
攻撃されたって大したことは起きないんでしょ?
http://b.hatena.ne.jp/entry/tmaeda.s45.xrea.com/20041101.html

運用中のApache Webサーバの大半にセキュリティ脆弱性 | マイナビニュース
http://news.mynavi.jp/news/2014/02/11/038/

VPSに来た攻撃観察記
http://www.slideshare.net/ozuma5119/vps-26061504

VPSに来る悪い人を観察して通報してインターネットを少し良くする
http://www.slideshare.net/ozuma5119/vps-tuho
173168:2014/02/27(木) 00:58:46.01 ID:???
ありがとうございます
でもConfigモデルを作るとしてキーバリュー式だとform_forとかと相性悪いんですよね・・・
かといって1行しかあり得ないレコード作るのってどうなんでしょうか

Railsでなければ 本番 開発用 テスト用って感じで3レコードは作るのですが
174nobodyさん:2014/02/27(木) 05:29:33.48 ID:???
ああ・・・次はMongoidだ
175nobodyさん:2014/02/28(金) 21:18:49.55 ID:Sd8nPPeF
顧客からの要望で、異なるモデル(つながりは全くない)を一つのフォームで更新してほしいとのことなんですが、
この場合、Postするコントローラーはどこにすべきなんでしょうか?

resources: foo
resources: bar

とあって、foos#updateとbars#updaterがあるのですが
この場合、foosbars_controllerに#updateを作るべきなのでしょうか?
176nobodyさん:2014/02/28(金) 21:37:18.82 ID:???
>>175
> この場合、foosbars_controllerに#updateを作るべきなのでしょうか?
色々考え方はあるけど、これが一番素直じゃないかな
177nobodyさん:2014/02/28(金) 22:09:35.94 ID:???
【ruby】ActiveModelを使ってDBと関係ないFormを作成する【Rails】 - tanihiro.log
http://tanihiro.hatenablog.com/entry/2014/01/09/193720
178nobodyさん:2014/02/28(金) 22:17:40.49 ID:???
自分はリソースという切り分けから、
レイヤーがもうちょい上になる業務よりのレイヤーで切り分ける感じにするかな
businessA_controller#updateみたいな感じで。
色んなリソース持ってるユーザーのマイページをmypage_controllerであれこれ処理したりしてる
179nobodyさん:2014/03/01(土) 16:53:35.83 ID:kyl0LBj5
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
http://toro.2ch.net/test/read.cgi/tech/1393660194/2
180nobodyさん:2014/03/01(土) 22:23:30.44 ID:???
>>176
>>178
ありがとうございました。
参考にします

>>177
ありがとうございました。
Rails4限定なんですね
181nobodyさん:2014/03/02(日) 16:04:33.91 ID:???
Rails4で、あるモデルの関連オブジェクトの数のテストが何回やっても通らないと悩んでいたのですが

調べてみたところshop.itemsは実際は3レコードあるのに、
shop.items.count => 1
shop.items.size => 3

このようにcountだと1が返ってました。
どういうことなんでしょう・・・
182181:2014/03/02(日) 16:09:38.67 ID:???
さらにこんな不思議な現象が

puts shop.items.map(&:name)
=>
item1
item2
item3

puts shop.items.pluck(:name)
=>
item3
183nobodyさん:2014/03/02(日) 19:09:13.57 ID:???
Rails3で
AbstractController::ActionNotFoundを表示しない方法ってありませんか?
存在しないアクション叩かれてエラーログが大量になるので困ってます
184:2014/03/02(日) 19:42:02.77 ID:???
counter_cache
185nobodyさん:2014/03/02(日) 19:43:53.19 ID:???
config.log_tags site:stackoverflow.com
186nobodyさん:2014/03/02(日) 21:06:18.23 ID:f/Pqujp3
Imagesテーブルがあって、モデルが2つ画像を持っており、片方はimage_idというカラム名ですが
もうひとつはbackup_image_idというカラム名です。

@model.backup_imageとプロパティにアクセスしたときに、自動的にImageテーブルにクエリー走らせることはできないのでしょうか?
187nobodyさん:2014/03/02(日) 21:12:10.87 ID:???
belongs_to :backup_image, class_name: 'Image'
188nobodyさん:2014/03/03(月) 00:15:09.71 ID:???
count、size、lengthの違い - うんたらかんたらRuby - Rubyist
http://rubyist.g.hatena.ne.jp/rochefort/20090802/p1
189nobodyさん:2014/03/03(月) 00:42:54.12 ID:eHHADPWD
>>187 ありがとうございます
190nobodyさん:2014/03/03(月) 01:01:41.74 ID:???
一つのVPS鯖の中でマルチドメイン作って
複数のRailsアプリ(複数ドメイン)を走らせてる猛者はいる?

Railsアプリ1つにつきVPSを1つ契約するのが勿体なく感じてきた
191nobodyさん:2014/03/03(月) 01:03:32.20 ID:???
別に猛者でもなんでもないと思うが…
192nobodyさん:2014/03/03(月) 11:32:43.29 ID:???
結局Railsアプリのプロセスがどれだけメモリを食うかの問題じゃね
193nobodyさん:2014/03/03(月) 12:05:52.25 ID:tPpkCX6/
マカフィー株式会社 | McAfee Blog -高度なマルウェアに関する神話 第1話: 『課題は、高度なマルウェアは検知できないということだ』
http://www.mcafee.com/japan/security/mcafee_labs/blog/content.asp?id=1379

New York Timesの記事によれば、同紙は米Symantecのウイルス対策製品を使っていたが、
Mandiantが調べた結果、攻撃者が使った45種類のカスタム版マルウェアのうち、Symantecの製品で検出できたのは1種類のみだったという。
http://bylines.news.yahoo.co.jp/yamamotoichiro/20130204-00023332/

ソニーPSNの個人情報漏洩に英国で約3500万円の罰金支払い命令、「防げた事件」と判定 - Engadget Japanese
http://japanese.engadget.com/2013/01/24/psn-3500/

Adobeにサイバー攻撃、顧客情報290万人分抜き取り、製品のソースコードも -INTERNET Watch
http://internet.watch.impress.co.jp/docs/news/20131004_618168.html
194nobodyさん:2014/03/03(月) 12:07:24.76 ID:???
日々是横着 - 「サーバ」に対する誤った認識

自分でサーバ立てるのってなんか楽しそうだしスゴそうだよね?
サーバ立てるのなんてちょっとパソコンに詳しければ簡単にできるんでしょ?
ハードウェアの多重化なんて必要?
企業で使うとかじゃなく個人的に細々と立てたサーバが攻撃されることなんて滅多にないよね?
攻撃が来るって言ったって大した数じゃないんでしょ?
攻撃されたって大したことは起きないんでしょ?
http://b.hatena.ne.jp/entry/tmaeda.s45.xrea.com/20041101.html
195nobodyさん:2014/03/03(月) 12:43:05.49 ID:???
なんで複数ドメインの話でまたこのコピペなんだよw
196nobodyさん:2014/03/04(火) 00:14:26.81 ID:???
ただの宣伝でしょ
リンク踏んだらアフィリ貼りまくってるぺーじだったし
197nobodyさん:2014/03/04(火) 02:27:29.26 ID:???
Rails4.0.1でclockworkを使い、
定期的にでっかいサイズのCSVファイルを作成してFTPサーバーにアップする処理をしています。
しかしこの処理が何回か実行されるといつもメモリオーバーのエラーになってしまいます。
どうやら一回のバッチのたびにメモリ使用量が20%ぐらい上がり、処理が終わっても下がらず
それが積み重なっていつか溢れてしまう、という現象のようです。
しかしどこが悪いのか分かりません。アドバイスいただけないでしょうか。

具体的には以下のような流れです。

csv = CSV.generate do |csv|
# 巨大なCSVを書き込む処理
end

ftp = Net::FTP.open('test-server.com', 'id', 'pass')
f = Tempfile.new('myfile.csv')
f.write(csv)
ftp.put(f.path, 'myfile.csv')
f.close
ftp.close

このバッチをclockworkで定期的に走らせています。
何かのリソースが解放されないままになっているのでしょうか?
198nobodyさん:2014/03/04(火) 02:31:49.04 ID:???
↑ちなみにメモリ使用量はtopコマンドで確認しています。

バッチが2回ほど回ったときにtopコマンドを叩くと
メモリ使用量が40%ぐらいになってます。
ここでclockworkを再起動すると、また0%近くまで戻ります。
199nobodyさん:2014/03/04(火) 08:20:37.89 ID:???
GC.start
200nobodyさん:2014/03/04(火) 21:56:50.40 ID:???
>>199
ありがとうございます。
タスクの終わりにGC.startを入れてみましたが、メモリ使用量は下がらなかったです。
とりあえず1時間ごとぐらいに再起動することで乗り切りることにします。
低レイヤのこと分かってないとこういうのが辛いなあ
201nobodyさん:2014/03/04(火) 22:25:57.36 ID:???
とりあえず巨大なCSVをオンメモリで作るのやめたら?
202197:2014/03/04(火) 23:07:49.36 ID:???
>>201
意味するところがちょっと分からないです><
途中でTempfileを使っているのがオンメモリということでしょうか?
Fileクラスを使うということですか?この場合もFileオブジェクトを作るから同じですよね。
見当違いのことを言っていたらすいません。
203nobodyさん:2014/03/04(火) 23:16:13.55 ID:???
最初の csv = のとこだよ
204197:2014/03/04(火) 23:43:42.65 ID:???
CSV.generateを使わないということですか?
csvを作る処理は違うプロセスでやって
clockworkでは作成済みのCSVファイルをftpにアップするだけ、という流れでしょうか
205nobodyさん:2014/03/04(火) 23:56:04.97 ID:???
最初の csv = で巨大な CSV 文字列を作ってるってことだろ?
それじゃメモリに巨大な文字列がのっかってるってことじゃん

じゃなくて、1行ずつファイルに書き込めって話

CSV.open は IO を引数に取れるから、詳しくはマニュアルを読め
206nobodyさん:2014/03/05(水) 00:05:46.31 ID:???
> CSV.open は IO を引数に取れるから、詳しくはマニュアルを読め
間違えた。CSV.new な
207nobodyさん:2014/03/05(水) 00:08:04.53 ID:???
>>206
わかりづらいです
もっと詳しく教えてくださいよ
208197:2014/03/05(水) 00:26:50.66 ID:???
丁寧にありがとうございます!実践してみます。
209nobodyさん:2014/03/05(水) 01:28:25.87 ID:???
巨大なString作ったらもう終わりってこと?
メモリ解放する術は無いの?nil入れても無駄だし。GC.startってそもそもちゃんと働くのかね
210nobodyさん:2014/03/05(水) 02:02:07.37 ID:???
>>209
プロセスは一度確保したメモリは解放しないことが多いよ
これはRubyレベルの問題ではなく、OSレベルの問題

それ以前の問題として、巨大な文字列を作らずに済む方法があるんだから
まずはそれを試したらどうだい?
211nobodyさん:2014/03/05(水) 02:05:30.78 ID:???
プログラミングって動くものは誰でも作れるけどパフォーマンスで差が付くよな
212nobodyさん:2014/03/05(水) 03:13:39.75 ID:???
巨大って言ってるけど本当にメモリ食いつぶすほどでかいのかね
213nobodyさん:2014/03/05(水) 07:19:15.16 ID:???
Rails Hub情報局: 素人がWebサービスを作ってみて分かった9つのこと
手元で書いて動くコードは1分でできるのに、
例外処理をして9割の完成度に上げるのには、とてつもなく時間がかかる場合がある
http://el.jibun.atmarkit.co.jp/rails/2011/09/web9-1e8b.html

スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ - Masatomo Nakano Blog
6. サーバ周りの人材をしっかり確保しよう
http://b.hatena.ne.jp/entry/blog.madoro.org/mn/84

Ruby on Rails が簡単というのはウソ - #生存戦略 、それは - subtech
http://subtech.g.hatena.ne.jp/secondlife/20120309/1331279496

今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 | つい全力ツッコミしてしまうエンジニアCEOのブログ | sumyapp
http://b.hatena.ne.jp/entry/blog.sumyapp.com/2013/07/no-recommend-rails/
214nobodyさん:2014/03/05(水) 11:34:41.73 ID:???
>>210
普通は他のプロセスが利用しようとしたら手放すよ
RubyはGCに問題が多々あるといわれるから、そこじゃねか
215nobodyさん:2014/03/05(水) 23:11:59.25 ID:???
というかプロセスがメモリ解放できなかったら常駐プログラムとかどうするんだ?
C言語のfree()とかってOSレベルではメモリ解放してるわけじゃないのかな
216nobodyさん:2014/03/05(水) 23:41:07.71 ID:???
何にせよ常駐プログラムで巨大メモリを使うのはよろしくないね
巨大メモリを使わないようにするか、fork するなどして別プロセスで動かすようにするかのどっちか
217nobodyさん:2014/03/05(水) 23:44:19.51 ID:???
いや巨大どうこうじゃなくて、メモリ解放できないならどんなにチビチビ使っててもいつかメモリが破綻するじゃん
常駐の体を成してないよねそれ
218nobodyさん:2014/03/05(水) 23:45:29.65 ID:???
スレッドタイプのWEBサーバーなんかはどうやってメモリ管理してるんだろうな
すげー興味でてきた
219nobodyさん:2014/03/05(水) 23:47:43.77 ID:???
>>217
使わなくなったメモリを再利用すれば多くの場合は問題ない
巨大な文字列などは連続した領域が必要なので再利用できない場合がある
チビチビ使う方が再利用しやすい
220nobodyさん:2014/03/05(水) 23:51:55.94 ID:???
ほ〜勉強になるなぁ
フラグメンテーションとかそういう話だっけw
文系出身な俺には重いな
221nobodyさん:2014/03/05(水) 23:55:29.43 ID:???
>>220
そうそう
RubyのGCはメモリコンパクション(デフラグメンテーション)をやらないので、今回ような使い方をすれば問題になる可能性がある
222nobodyさん:2014/03/06(木) 01:11:41.99 ID:???
おお!やっぱそのことですね。RHG読んだ時に見た覚えがあるなぁ
Rubyが採用してるGCのスタイルがコンパクションと相性悪いとか何とか
223nobodyさん:2014/03/06(木) 10:57:14.72 ID:???
やっぱRubyの弱点はGCだな
224nobodyさん:2014/03/06(木) 15:47:34.23 ID:???
GCってGameCube? 何いってんの
225nobodyさん:2014/03/08(土) 01:09:20.34 ID:???
高度なマルウエアは防げない、「アフターテクノロジー」が重要:ITpro
http://itpro.nikkeibp.co.jp/article/Interview/20131022/512834/

マカフィー株式会社 | McAfee Blog -高度なマルウェアに関する神話 第1話: 『課題は、高度なマルウェアは検知できないということだ』
http://www.mcafee.com/japan/security/mcafee_labs/blog/content.asp?id=1379

New York Timesの記事によれば、同紙は米Symantecのウイルス対策製品を使っていたが、
Mandiantが調べた結果、攻撃者が使った45種類のカスタム版マルウェアのうち、Symantecの製品で検出できたのは1種類のみだったという。
http://bylines.news.yahoo.co.jp/yamamotoichiro/20130204-00023332/

ソニーPSNの個人情報漏洩に英国で約3500万円の罰金支払い命令、「防げた事件」と判定 - Engadget Japanese
http://japanese.engadget.com/2013/01/24/psn-3500/

Adobeにサイバー攻撃、顧客情報290万人分抜き取り、製品のソースコードも -INTERNET Watch
http://internet.watch.impress.co.jp/docs/news/20131004_618168.html
226nobodyさん:2014/03/09(日) 01:42:11.20 ID:givZU1Ab
ボタンが押されたとき、JavaScriptでHTMLの一部を描画したいんですが、

$.get("api/action", {}, function(data) {
 $("bar"),append ($(data));
});

def action
 render :partial=>"foo"
end


とか書いていたら、dataには改行コードしかありませんでした
コンソール見たら、actionは呼び出されており、指定したパーシャルがrenderされていることは確認できたのですが・・・
227:2014/03/09(日) 02:05:33.45 ID:???
Ruby on Rails 3 の Ajax いろいろ - @yuumi3のお仕事日記
http://b.hatena.ne.jp/entry/d.hatena.ne.jp/yuum3/20120903/1346653974
228nobodyさん:2014/03/09(日) 19:10:25.85 ID:???
画像や幾つかのテキストを投稿できるシステムがあり投稿前にプレビューできるんですが、

get 'articles/edit'
post 'articles/preview'
post 'articles/post'

class ArticlesController < ApplicationController

def edit
end

def preview
end

def post
end

end


こんな感じで、編集画面でフォーム送信 → プレビュー → プレビューで確認して投稿 というのを考えてましたが、
edit → preview でfile_fieldの値が引き継がれません。

file_fieldの値を別の画面に引き継ぐことは無理なのでしょうか? 
229nobodyさん:2014/03/09(日) 19:20:09.30 ID:???
質問する時はソースを略すな
230nobodyさん:2014/03/09(日) 20:44:39.41 ID:???
>>228
無理です
231nobodyさん:2014/03/09(日) 21:40:32.82 ID:???
>>229
すいません
他にどの辺りのソースも書けばいいでしょうか・・・

>>230
無理なんですか・・・
ユーザがアップロードした画像をメモリの中におさめて別の画面の<input type="file">にセットするとかはできないんですね・・・
232nobodyさん:2014/03/09(日) 21:48:09.82 ID:???
>>231
無理です
233nobodyさん:2014/03/09(日) 23:24:37.25 ID:rV1atWDh
以前やったときは:

投稿に確定フラグを用意して、
確認画面に行くときに確定フラグOFFで保存(画像も)してしまい、
確認取れたら確定フラグをONにする。
別途、長時間(1時間とか1日とか)確定フラグOFFのままのものは、バッチで削除する。

とした。

面倒だし、未確定のものが見えてしまうことを避けるためにscopeの設定に注意、
という残念なアプローチなので、あまりお勧めはしない。
234nobodyさん:2014/03/09(日) 23:34:39.34 ID:???
>>233
もっと詳しく書いて下さい
あまりにも説明がザックリすぎます。。。
235nobodyさん:2014/03/09(日) 23:35:11.57 ID:???
>>233
できればコードで!
236nobodyさん:2014/03/09(日) 23:36:35.19 ID:???
>>234
>>233 で分からないようならかなり勉強が足りない
Railsは広範な知識が前提になるから、君にはまだ早いかもしれない
237nobodyさん:2014/03/09(日) 23:40:35.43 ID:???
>>236
すいません、>>234>>235は私ではありません

>>233
ありがとうございます
そういう無理矢理な方法を取らないといけないという時点で大きなヒント
IE8ではHTML5も使えないですし、
やはりユーザーが一度プレビューでも確認しようとする画像はサーバーにあげるしかないんですね
238nobodyさん:2014/03/09(日) 23:42:42.92 ID:???
>>237
HTML5とか関係ないよ
セキュリティ上の制約からfileフィールドに値を与えることは不可能
それができたら、ローカルのファイルを取り放題になるからね
サーバに上げる以外の方法はない
239nobodyさん:2014/03/10(月) 01:24:02.67 ID:???
tmpファイル作るでは駄目なの?
何で悩んでるのかがイマイチ分からん

画像の保存先がDBにしろファイルシステムにしろ
そこへアップするのではなくtmpファイル作る
240nobodyさん:2014/03/10(月) 02:47:48.52 ID:???
241nobodyさん:2014/03/10(月) 11:58:24.19 ID:???
一対多の親子関係の2つのテーブルがあって親のレコードを取得する時に
あるビューでは子のレコードを最新の5件だけ、別のビューでは10件という風に
したいんですけど可能でしょうか?
242nobodyさん:2014/03/10(月) 13:24:50.06 ID:???
scope
243「ガスライティング 集団ストーカー カルト」で検索を!:2014/03/10(月) 14:21:04.90 ID:CT4FzesB
★マインドコントロールの手法★

・沢山の人が偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法


↑マスコミや、カルトのネット工作員がやっていること

TVなどが、偏った思想や考え方に染まっているフリや常識が通じないフリをする人間をよく出演させるのは、
カルトよりキチガイに見える人たちを作ることで批判の矛先をカルトから逸らすことが目的。

リアルでもネットでも、偽装左翼は自分たちの主張に理がないことをわかっているのでまともに議論をしようとしないのが特徴。
,,,
244nobodyさん:2014/03/14(金) 06:16:01.68 ID:???
windowsのrailsでnewしてできるファイルのエンコードをデフォルトでutf-8にすることはできますか?
railsinstaller-2.2.1使用
245nobodyさん:2014/03/14(金) 07:07:13.95 ID:???
すべてのファイルにマジックコメントをつけろってこと?
246nobodyさん:2014/03/14(金) 08:11:26.02 ID:???
Ruby 2.0.0-p0 リリース
https://www.ruby-lang.org/ja/news/2013/02/24/ruby-2-0-0-p0-is-released/

default UTF-8 encoding: 多くのマジックコメントが不要に
247nobodyさん:2014/03/14(金) 08:22:50.53 ID:???
ruby on rails - railsinstaller 2.2.1 fails on windows - Stack Overflow  
http://stackoverflow.com/questions/17917660/railsinstaller-2-2-1-fails-on-windows
248nobodyさん:2014/03/16(日) 00:46:27.85 ID:sX6tK28V
MySQLのVARCHAR型のカラムにこんなデータがあり

テストですよ!\r\nテスト!\r\nテスト!テスト!テスト!

そのまま出すと([email protected])

テストですよ!\r\nテスト!\r\nテスト!テスト!テスト!


こうなるんです


=simple_format @hoge.text
[email protected](/\r\n/, '<br/>')


こんな風にしても


テストですよ!\r\nテスト!\r\nテスト!テスト!テスト!


こうなるんです・・・



MySQLでの\r\nがどうして\r\nで置換できないのでしょうか
249nobodyさん:2014/03/16(日) 00:49:17.26 ID:???
こうなるってどうなるの?
250nobodyさん:2014/03/16(日) 00:54:37.66 ID:???
\\r\\nってオチでしょ
251248:2014/03/16(日) 00:59:39.49 ID:???
こうなるというのは「テストですよ!\r\nテスト!\r\nテスト!テスト!テスト!」が表示されるという意味です・・・
でも確かに.gsub(/\\r\\n/, '<br/>')でしたら置換されました・・・

MySQLで\r\nで登録されている文字列はビューに来る頃には\\r\\nになってるんですか・・・
それでしたら組み込み関数のsimple_formatも使えないことになりませんか?
252nobodyさん:2014/03/16(日) 01:02:18.80 ID:???
こうなるじゃわからん。
ちゃんと口で説明しろ
253nobodyさん:2014/03/16(日) 01:20:55.82 ID:5H4+EUWX
>>251
250が言わんとしている事をもう少し分かりやすく言うと、
今回のケースではMySQLには改行コードではなくて
'&#165;r&#165;n'
っていう文字列そのものが入ってる。

Rubyで
print '&#165;r&#165;n' # 改行されずに&#165;r&#165;nっていう文字列そのものが表示される

print "&#165;r&#165;n" # 改行される
の実行結果を比較すると理解できるかと。
254253:2014/03/16(日) 01:25:22.32 ID:5H4+EUWX
>>253
で文字化けしてる部分はバックスラッシュの事だと読み替えてください
255nobodyさん:2014/03/16(日) 16:29:56.38 ID:???
nl br rails site:stackoverflow.com
256nobodyさん:2014/03/19(水) 13:34:27.57 ID:XfOUweW8
http://d.hatena.ne.jp/shio_chan/20120103/1325530100
この記事と同じところで躓いているのですが、
一番下の「追記 解決しました」はどういうことなのでしょうか?
「テストで作成しているデータが10文字以下だった」ら、
どこをどう変えれば解決するのでしょうか。
257nobodyさん:2014/03/19(水) 15:28:10.08 ID:???
10文字より長くすれば?
258nobodyさん:2014/03/19(水) 17:20:29.04 ID:XfOUweW8
>>257
レスありがとうございます。
何を10文字より長くすればいいのでしょうか?
259nobodyさん:2014/03/19(水) 18:33:11.75 ID:???
description
260nobodyさん:2014/03/19(水) 18:46:53.11 ID:XfOUweW8
>>259
descriptionを10文字より長くしても駄目でした。

Failed assertion, no message given.
1 failures
のままです。
261nobodyさん:2014/03/20(木) 07:58:58.79 ID:8noYVroQ
>>256
>>257

解決しました。ありがとうございました。
262nobodyさん:2014/03/20(木) 10:48:45.83 ID:???
app/assets/stylesheets/配下のCSS(SCSS)ファイルはAsset Piplineでコンパイルされて一つになるので、
コントローラごとに適用されるCSSを分けることは出来ないのでしょうか?
263nobodyさん:2014/03/20(木) 17:48:14.89 ID:???
layouts/application.html.erb に
<body class="<%= controller_name %>">
と書き換えて、後は scss で分ける。
scss だったら一段階層を増やしてあげるだけ。
264nobodyさん:2014/03/20(木) 18:03:04.96 ID:???
>>263
なるほど、クラスで分けるのがデフォなんですね。ありがとうございます!
265nobodyさん:2014/03/23(日) 21:14:41.33 ID:???
「KADOKAWA」サーバに不正侵入、フィッシングメールの踏み台にされた恐れ サイト閉鎖 - ITmedia ニュース
http://www.itmedia.co.jp/news/articles/1403/23/news011.html

KADOKAWAの公式サイトが改ざん 閲覧者がマルウェア感染の恐れ - ITmedia ニュース
http://www.itmedia.co.jp/news/articles/1401/17/news047.html
266nobodyさん:2014/03/25(火) 10:58:40.13 ID:cbd1slMB
『RailsによるアジャイルWebアプリケーション開発 』で
アプリケーションを作っている途中、カートを作るところまでいったのに
サーバーを実行しても、初期の"Welcome aboard"のページになってしまう
ようになってしまいました。
ファイルはあるのですが、ファイルを読み込むようにすることはできるのでしょうか。
267nobodyさん:2014/03/26(水) 06:35:55.97 ID:XaAxxKBe
rm public/index.html
268nobodyさん:2014/03/29(土) 08:51:33.04 ID:???
質問です。
[[親A.-子1-孫1], [親A-子2.], [親B-子1-孫1], [親A-子1-孫2], [親C]]
のような配列があり、各関係はハイフンで区切られています

この配列を
[親A[子1[孫1,孫2],子2], 親B[子1[孫1]], 親C]
のように親子関係を、同じ位のものは同じ階層の配列に
下のものはその中に配列として格納

というようなことをしたいのですが、rubyに慣れておらずサンプルコードいただけませんでしょうか
269nobodyさん:2014/03/29(土) 11:06:27.49 ID:???
Ruby初心者スレへどうぞ
270nobodyさん:2014/04/04(金) 17:14:47.47 ID:???
migrationを最近のDBからフラットに生成する方法ってありませんか
既存アプリをベースに新規アプリを作りたいのですが
既存アプリはDBの拡張ライブラリを使っていた時期があって
その環境を整えないとmigrationが通らないのですが今は使っていないのでスキップしたい
271nobodyさん:2014/04/04(金) 17:17:55.16 ID:???
db/schema.rbにありました
サンクス
272nobodyさん:2014/04/05(土) 11:38:17.94 ID:???
kyoto-u.com > 談話室 > 法学部・経済学部 > 帰国子女ロンダに関する考察
http://www.kyoto-u.com/lounge/tokeidai/html/200602/06020020.html
273nobodyさん:2014/04/05(土) 12:55:04.90 ID:???
274nobodyさん:2014/04/05(土) 13:57:23.96 ID:???
275nobodyさん:2014/04/06(日) 00:47:41.08 ID:???
RoRをやり始めてから早2年

コーディングなんかよりも
環境のデプロイが辛すぎる

使い慣れたgemを使おうにも
新たに契約したVPSでは
毎度のこと環境(選択できるOS)が変わる

それに合わせてRubyだのPHPだのphp-fpmだのnginxだのapacheだのImageMagickだのと入れていくわけだが

バージョン相違の依存度のせいで動かなくなったりエラーが出たり頻発

いろいろ試してやっとで動かせるようにしても
また次回も新たにホスティングを契約すると同じことをしなくちゃならない

これだけで実に丸2〜3日は掛かる
正直辛すぎる
276nobodyさん:2014/04/06(日) 00:54:26.05 ID:???
あらかじめ
コマンド一つで
決められた環境を全てデプロイしてくれるような自動化が作れればいいのになぁ
277nobodyさん:2014/04/06(日) 03:26:20.30 ID:???
bundler使いましょう
278nobodyさん:2014/04/06(日) 05:16:19.81 ID:???
>>275
依存関係を弱くするのは初心者にとって難しいかもな。がんばれ。
279nobodyさん:2014/04/06(日) 08:16:32.72 ID:???
chef
vagrant
docker
280nobodyさん:2014/04/06(日) 09:34:39.96 ID:???
chef使わなくても慣れれば普通に数時間以内で終わる件
281nobodyさん:2014/04/06(日) 23:13:05.66 ID:???
高度なマルウエアは防げない、「アフターテクノロジー」が重要:ITpro
http://itpro.nikkeibp.co.jp/article/Interview/20131022/512834/

マカフィー株式会社 | McAfee Blog -高度なマルウェアに関する神話 第1話: 『課題は、高度なマルウェアは検知できないということだ』
http://www.mcafee.com/japan/security/mcafee_labs/blog/content.asp?id=1379

New York Timesの記事によれば、同紙は米Symantecのウイルス対策製品を使っていたが、
Mandiantが調べた結果、攻撃者が使った45種類のカスタム版マルウェアのうち、Symantecの製品で検出できたのは1種類のみだったという。
http://bylines.news.yahoo.co.jp/yamamotoichiro/20130204-00023332/

ソニーPSNの個人情報漏洩に英国で約3500万円の罰金支払い命令、「防げた事件」と判定 - Engadget Japanese
http://japanese.engadget.com/2013/01/24/psn-3500/

Adobeにサイバー攻撃、顧客情報290万人分抜き取り、製品のソースコードも -INTERNET Watch
http://internet.watch.impress.co.jp/docs/news/20131004_618168.html
282nobodyさん:2014/04/08(火) 11:49:50.27 ID:???
新型マルウェア、54%は対策ソフトで検知できず――NTTグループが分析 - ITmedia エンタープライズ
http://www.itmedia.co.jp/enterprise/articles/1403/28/news118.html
283nobodyさん:2014/04/18(金) 00:39:33.69 ID:???
こんなブログ記事があったのだが

今すぐ辞めて欲しい、「Ruby on Rails勉強してます」
http://blog.sumyapp.com/2013/07/no-recommend-rails/

で、記事の途中にこんなくだりがあった。

>この記事にぐさっときた人、プログラミング初心者にとっておすすめしたいのはこの書籍だ。
>なれる!SE 2週間でわかる?SE入門 (電撃文庫)
>ぜひ頭の硬いプログラミング見習いの方には読んで頂きたい。技術職における最も大事なことはこの本に全て書いてある

やはりをなれるSEを読むようなクレバーな技術者はRuby on Railsなんてオモチャは
遠ざけるのだな。
284nobodyさん:2014/04/18(金) 03:16:15.18 ID:???
285nobodyさん:2014/04/18(金) 11:10:09.23 ID:???
抽象化のバランスでいうと、今のRailsを初めとするフレームワークじゃ、
結局DB、SQLやWebサーバの詳細を結局勉強するはめになるわけで、
アセンブラやC言語を知らずにRubyを使えるレベル、とまでにはなってないよね。

いきなりRailsをやるより、PHPとApacheで素のWEBアプリをまず作ったり
した後の方がRailsのありがたみが良くわかるんじゃないだろうか。
286nobodyさん:2014/04/18(金) 12:10:11.41 ID:???
>>285
Rails使わずにRubyでWEBアプリならまだしも、PHPはちょっと
287nobodyさん:2014/04/18(金) 14:11:40.28 ID:???
>>283
それ、後の方の巻で出てくるソフト開発の描画が酷かったやつだな。
288nobodyさん:2014/04/18(金) 19:51:14.01 ID:HvjAAhgy
289nobodyさん:2014/04/18(金) 20:36:48.22 ID:???
>>286
素のRubyとの比較だと、やっぱりPHPの方が何かと簡単だ(例えばSessionとか)。
個人的には、Rackから始めるのがいいと思うが、Rackを入り口に扱っている情報ってあんまりないよね。
290nobodyさん:2014/04/19(土) 16:05:29.73 ID:h92l0Mdq
>>288

Web制作板のスレタイを SEO で探したほうが答えが手に入る可能性が高い
291:2014/04/20(日) 19:26:42.59 ID:???
Google
パンダアップデート
ペンギンアップデート
292nobodyさん:2014/04/23(水) 01:16:16.25 ID:dat1Z6dq
お気に入り機能の実装ってどういう感じでやってますか?
293nobodyさん:2014/04/23(水) 09:41:35.29 ID:???
294nobodyさん:2014/04/24(木) 01:05:04.94 ID:Xeh6xycu
class Product < ActiveRecord::Base
 has_many :tagging,
 has_many :tags, :through=>:tagging
end

class Tag < ActiveRecord::Base
 has_many :tagging
 has_many :products, :through=>:tagging
 validates :text, :presence=>true, :uniqueness=>true
end

class Tagging < ActiveRecord::Base
 belongs_to :product
 belongs_to :tag
end

こういう状態で、ProductのページでTagも追加するようなフォームを作っているのです。

= form_for(@product) do |f|
  = f.fields_for :tags do |f2|
    = f2.hidden_field :id
    = f2.text_field :text

しかし、
@入力したタグがDBに存在しない場合は、tagsに新レコード追加し、taggingも更新
A入力したタグがDBに存在する場合は、taggingだけ更新
という挙動を期待しているのに、実際は、POSTされたtagsのパラメーターにidが存在しない場合は、
常にtagsを新規作成しようとしてしまいます(結果として、ユニーク制約に引っ掛かってエラー)

望むような挙動をさせたい場合はどうすればいいのでしょうか?

既存のtagはセレクトボックス、新規作成の場合はテキストボックスなどでわけられるのが理想なのですが・・・
295:2014/04/24(木) 09:03:50.11 ID:???
ASCII.jp:開発者はビットコイン採掘を狙うハッカーに備えて Amazon の請求書を確認すべき
オーストラリアのセキュリティ専門家が先月に実施したGitHubの検索では、約1万件のAWS 認証情報が発見されている。
http://ascii.jp/elem/000/000/886/886650/
296nobodyさん:2014/04/24(木) 12:42:49.45 ID:???
>>294
taggingはproductに毎回付随していて、tagは全てのタグの一覧と言う認識でOK?
それならfields_forで入力させるのはtaggingで、taggingを保存する際にafter_saveで
そのタグが新規かどうかを判定して新規ならtagsを保存すればいいんじゃないのかな

といっても要件がよく理解できてないから的はずれかも
297nobodyさん:2014/04/24(木) 19:50:38.29 ID:???
>>296
ありがとうございました。

ただし fields_forで:taggingを指定しても出てこないです・・・。
298294, 297:2014/04/24(木) 20:10:06.47 ID:???
ループで回してnew_record?で判定することにしました
ありがとうございました。
299:2014/04/25(金) 16:27:02.89 ID:???
国内セキュリティ企業が相次いで注意喚起:Struts 2の脆弱性は最新版でも未修正、Struts 1にも同様の脆弱性が存在 - @IT
http://www.atmarkit.co.jp/ait/articles/1404/24/news172.html

運用中のApache Webサーバの大半にセキュリティ脆弱性 | マイナビニュース
http://news.mynavi.jp/news/2014/02/11/038/
300nobodyさん:2014/04/25(金) 20:15:36.90 ID:???
Ruby on Railsで作られた有名サイトの紹介 | PbTimes 情報誌
http://pb-times.jp/P_529d87c5b28d6
301nobodyさん:2014/04/29(火) 16:24:14.83 ID:???
最近はじめたのですが、scaffoldってデータの管理画面を作るものって考えであってますか?
302:2014/04/29(火) 20:13:42.89 ID:???
CRUD(クラッド)とは、ほとんど全てのコンピュータソフトウェアが持つ永続性[1]の4つの基本機能のイニシャルを並べた用語。
その4つとは、
Create(生成)、
Read(読み取り)、
Update(更新)、
Delete(削除)である。
ユーザインタフェースが備えるべき機能(情報の参照/検索/更新)を指す用語としても使われる。

ttp://ja.wikipedia.org/wiki/CRUD
303nobodyさん:2014/04/29(火) 23:21:27.82 ID:???
>>301

scaffold - (建築・修繕・改装の際の)足場, 仮構え (scaffolding);
 (高層建築のガラス窓拭き用や画家の制作の際の)つり足場, (高所作業用の)ゴンドラ

(研究社 新英和大辞典 第6版から引用)
304nobodyさん:2014/04/30(水) 14:47:16.19 ID:???
>>301
ぶっちゃけ商用レベルで管理画面作る時は使わない
手軽にRESTfulなMVCモデルを作れるものくらいの認識
305nobodyさん:2014/04/30(水) 22:15:24.71 ID:CrhybghX
>>303-304
なるほど、thx!
306:2014/05/07(水) 01:41:55.35 ID:???
Riding Rails: Rails 3.2.18, 4.0.5 and 4.1.1 have been released!
http://weblog.rubyonrails.org/2014/5/6/Rails_3_2_18_4_0_5_and_4_1_1_have_been_released/
307nobodyさん:2014/05/07(水) 22:53:01.45 ID:???
Hoge.find(:all, include: :fuga)


これってRails2.0時代の記法なんですかね?
3.2とか4系だとfindは検索したい列名しかとらない気がするんですが
308nobodyさん:2014/05/08(木) 07:01:03.36 ID:???
>>307
そうです
3.xからは Hoge.all でいけます
309nobodyさん:2014/05/08(木) 23:23:32.55 ID:???
>>308
ありがとうございます

bullet使っていると、:includeつけろってうるさいんですが
これってこのgemが3系のまま変わってないってことですよね
310nobodyさん:2014/05/09(金) 00:04:20.97 ID:???
>>309
とりあえずこの辺読んでRails3以降のクエリの書き方をお勉強なされ
http://guides.rubyonrails.org/active_record_querying.html
311nobodyさん:2014/05/13(火) 00:47:11.48 ID:jc+wbYf6
>>293
thank you.
you are good japanese!
312nobodyさん:2014/05/13(火) 16:10:33.81 ID:???
良い日本人がいるんじゃなくて、日本人はみんな良い人だよ
313nobodyさん:2014/05/13(火) 23:07:46.16 ID:???
このスレ、外国の人も住んでるの?
314nobodyさん:2014/05/14(水) 07:59:55.63 ID:???
>>312
素で言ってるとも思えんので何某かのネタなんだろうけど、笑う所が解らん。
流行りのコピペなのかな。
315nobodyさん:2014/05/14(水) 22:34:19.83 ID:???
日本語のサイトである2chに英語のリンク貼ったって役に立たねーじゃねーか
という皮肉かと
316nobodyさん:2014/05/14(水) 23:43:03.92 ID:0Cc29kMy
Railsのview(haml)でselfであるクラスの名前知りたいんですが、

self.class.nameがnilです。

名前がないクラスなんですかね?
317nobodyさん:2014/05/16(金) 21:13:11.48 ID:uX+vzxIx
>>315
いや、俺が質問者で、英語の検索結果くれたから、英語で返事したんだよ。
当方TOEIC900近くはあるから問題なく読めて解決した。
皮肉のつもりはないよ。ありがとさん
318nobodyさん:2014/05/17(土) 19:48:44.85 ID:???
Amazon.co.jp: 暴露:スノーデンが私に託したファイル: グレン・グリーンウォルド, 田口俊樹, 濱野大道, 武藤陽生: 本
スパイソフトを埋め込んだ米国製PC、ルーター、サーバーが、日本を含む世界へ拡散
http://www.amazon.co.jp/gp/product/4105066919
319nobodyさん:2014/05/18(日) 23:12:34.62 ID:hk8drueV
達人な皆様Rails4で複数画像アップロード方法の詳しい説明がのっているサイト知りませんでしょうか?
320nobodyさん:2014/05/18(日) 23:16:10.04 ID:???
321nobodyさん:2014/05/18(日) 23:23:47.40 ID:hk8drueV
早速のggrks有難うございます。ですが大体がRails3情報で4が一部あるんですが詳細なコードがなく、
できればjquery-fileupload-railsあたりを使いたいと考えています。

jquery-fileupload-rails+carrierwave+Rails4このあたりで詳細サイト知っていたら教えて下さいませんか?
322nobodyさん:2014/05/18(日) 23:33:47.58 ID:???
3も4も大して変わらん
3のサイトのやつを4で試して動かなかったらまた聞けばいい
まずは試せ、手を動かせ
323nobodyさん:2014/05/21(水) 16:47:14.11 ID:???
324nobodyさん:2014/05/22(木) 21:33:08.41 ID:???
Railsって便利だけど、便利がゆえに振り回されたりした記憶もある。

例えばvalidation。
多対多(Hoges : Moges)の関係にあるモデルの一方(Moge)をsaveしようとすると
"Hoge can't be blank"というvalidation errorが発生して
saveが失敗してしまい困った記憶がある。

慣れないfield_forを使っていたせいもあり、
どうしたら良いのか分からずその時は敗北宣言的に迂回してしまったが、
未だに気になってる。そういうのがチラホラあるので勉強しなきゃなと。。
325nobodyさん:2014/05/22(木) 22:21:50.23 ID:R9eMlpe5
railsってわけじゃないけど、客が住所入力した時に自動的にエリア入力できるようなシステム作ったことある人いる?
例えば上野浅草エリアとか
326nobodyさん:2014/05/22(木) 23:02:48.21 ID:???
またこりゃざっくり仕様だね
327nobodyさん:2014/05/22(木) 23:41:19.05 ID:???
うんこって書いたらトイレとかが自動で選択できるやつだろ?
328nobodyさん:2014/05/23(金) 11:57:24.92 ID:???
googlemapsgeocoding使ったのなら
329nobodyさん:2014/05/23(金) 14:47:19.40 ID:stzGS3lF
330nobodyさん:2014/05/23(金) 15:25:30.61 ID:???
ふくおかまで来いってか
331nobodyさん:2014/05/23(金) 21:14:44.51 ID:shajvKcu
http://tabelog.com/rst/auth_rst_entry?pcd=0
良い例見つけました!
こういうので住所入れたらエリアが自動で出てきます。
この仕組みが知りたいっす。
332nobodyさん:2014/05/23(金) 22:34:01.29 ID:???
単純に変換テーブル持ってるだけでしょ
333nobodyさん:2014/05/24(土) 05:04:07.32 ID:???
>>331
googleのapiつかわんのなら、国土交通省のサイトから座標データのcsvとってきて作れ
334nobodyさん:2014/05/24(土) 21:26:52.46 ID:1qo8C4Ld
Runしたらこんなエラーが出るんだけど
Documents/Aptana Studio 3 Workspace/sybentpro/app/controllers/application_controller.rb:1:in `<main>': uninitialized constant ActionController (NameError)
335nobodyさん:2014/05/25(日) 16:55:17.98 ID:???
NameErrorだから、名無しなんだろ
336nobodyさん:2014/05/26(月) 02:20:32.01 ID:5+hysLvg
>>332
ありがとうございます!
>>333
api使えば世界対応も可能っちゅうことかもしれませんね。あざす!!
337nobodyさん:2014/05/28(水) 01:47:46.31 ID:???
ネットワークゲーム作ってて単にControllerからJSON返したいだけなのだが、ruby tutorial読んでても全然出てこないのだが何を見て勉強すべきだったんでしょうか?
338nobodyさん:2014/05/28(水) 07:08:14.63 ID:???
rails render json でぐぐれ
339nobodyさん:2014/05/28(水) 07:14:59.02 ID:???
>>337
算数の教科書見て応用力を身につけるべき。
340nobodyさん:2014/05/28(水) 08:45:35.41 ID:???
プログラミングなんて決まったフォーマットの作業手順書を書いてるのと同じなんだけどなぁ
341nobodyさん:2014/05/28(水) 09:57:26.54 ID:???
>>338-340
おお、優しい人々よありがとうございます。
342nobodyさん:2014/05/28(水) 13:52:34.02 ID:???
なんだかんだで教えるツンデレーズ
343nobodyさん:2014/05/31(土) 18:11:46.95 ID:???
モデルインスタンスの全てのカラムの値を削除したいんですが、そういう場合に

@instance = nil
@instance = Model.new

ってやる以外にいい方法ないでしょうか?
動的にModelを変更したいのでカラム名などがリテラルで書けないので、なんか良い方法ないかなと思ってます。
344nobodyさん:2014/05/31(土) 18:38:38.82 ID:J5yjoJnZ
最初に nil を代入する意図は?
345343:2014/05/31(土) 19:24:39.23 ID:???
>344
ありがとうございます。@instance = Model.new だけで十分でしたね。。
346nobodyさん:2014/05/31(土) 19:24:52.08 ID:???
SQL直でいいだろ
347343:2014/05/31(土) 19:28:59.33 ID:???
>>346
あ、確かに。そっちの方がいい。
348nobodyさん:2014/05/31(土) 20:33:30.11 ID:J5yjoJnZ
newしちゃう(新しいidを振る)のが嫌なら #attributes= というメソッドもある。
349nobodyさん:2014/05/31(土) 21:36:29.54 ID:???
Model.update_all(column: nil)
350nobodyさん:2014/06/01(日) 17:47:59.67 ID:MVvg2g7w
皆様、最寄駅を表示するシステムってどうやって作ってます?
あれって、何個まで表示するとか、何かやっておかなければならないアルゴリズムってあるんですか?

海外バージョンでもやるとしたら、また気をつけなきゃならんことがありますでしょうか?

グーグルだけでもいけちゃいますかね?
351nobodyさん:2014/06/01(日) 19:47:49.55 ID:???
なんというザックリな質問
352nobodyさん:2014/06/02(月) 01:04:22.83 ID:cdjAC42f
>>351
すんません。ざっくりとしかイメージがわいていないのでw
国内対応だけだったら駅と緯度経度データベース作って、距離検索でしょうけど。グーグルとかの最寄駅はどういうアルゴで出るのかね。
海外対応までしようと思ったらグーグル使わんとにっちもさっちもいかんのか。
経験者がいれば、ざっくりとした回答が欲しかった
353nobodyさん:2014/06/02(月) 17:13:24.71 ID:???
現在位置とズーム量から
表示中のランドマーク取得でいけそう
354nobodyさん:2014/06/02(月) 21:41:15.02 ID:IKV43VQr
下記の方は以下の方法では成功していないようですが、これを成功させる記述法はあるのでしょうか?
<label>の生書きでなく、f.labelを使ってできませんか?
この方が書いてるもう一個の方法はできるのですが、labelのブロックで色々大きさとか調節したいんです。

http://gpsoft.dip.jp/hiki/?Rails%A4%C7%A5%C1%A5%A7%A5%C3%A5%AF%A5%DC%A5%C3%A5%AF%A5%B9%A4%CE%A5%E9%A5%D9%A5%EB%A4%F2%A5%AF%A5%EA%A5%C3%A5%AF%A4%B9%A4%EB

&#8226;<input>を<label>の子要素とする
<label><input type="checkbox" name="check1" />Check1</label>
355nobodyさん:2014/06/03(火) 08:00:47.64 ID:???
> labelのブロックで色々大きさとか調節したい
すればいいじゃん
356nobodyさん:2014/06/03(火) 08:59:59.19 ID:???
新しいプログラミング言語 Swift
http://dev.classmethod.jp/smartphone/swift/

米アップル、iOSアプリの新開発言語にSwiftを導入
http://ggsoku.com/2014/06/ios-8-swift/
米アップルは2日(現地時間)、iOS 8に新開発言語「Swift」を導入すると発表した。

Swiftは非常に軽快に動くことが特徴であり、Objective-CとC言語の中間に位置するようなイメージであるという。
コード体系はC言語を踏襲。
CocoaやCocoa Touchに対応することはもちろん、LLVMコンパイラを利用してビルドされる。

LLVM
http://ja.wikipedia.org/wiki/LLVM
LLVM とは、コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤である。

LLVM は、JavaとJava VMの関係のように、まず仮想機械をターゲットとした中間コード(ビットコード)を生成し、その仮想機械向けコードを特定のマシンの機械語に変換する。

playgrounds を使うとインタラクティブに実行できる。
https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/Art/largeshot_2x.png
357nobodyさん:2014/06/03(火) 12:38:52.70 ID:???
Swiftがキモい件はがいしゅつです
358nobodyさん:2014/06/03(火) 17:17:13.70 ID:???
Rspecでエンドツーテストをする際、
コントローラのメソッドから特定の返り値を取得したいのですが、
stubを使って書く際のObjectをどのように指定したら良いか分かりません。

[ここに何かが必要だと思うけど分かりません].stub(:method).and_return(value)

スタブで取得することは可能でしょうか?
可能な場合どのようにオブジェクト指定したらよいのでしょうか?
359nobodyさん:2014/06/03(火) 20:38:27.53 ID:Ip12GRTV
>>355
えぇ、それはできますよ。
>>354にある通り、ラジオボタンやチェックボックスを内包したラベルを作りたいのです。
これがrailsから導く方法が難しいんですよね。
360nobodyさん:2014/06/03(火) 21:05:32.19 ID:???
>>359
FormBuilder#label はブロックを取れる
361nobodyさん:2014/06/04(水) 19:29:38.02 ID:6xizC0Ei
>>360
なるほど。なかなかハードル高そうですが、手っ取り早く記述だけで何とかなるもんじゃないんですね。
先の例のもう片方のように。
362nobodyさん:2014/06/04(水) 20:10:21.69 ID:???
<%= f.check_box 'check1' %>
<% f.label 'check1' do %>
<font size=7>Check1</font>
<% end %>
363nobodyさん:2014/06/04(水) 21:51:45.24 ID:efQEBuMU
>>362
ありがとうございます!!!!!
さすがです!!
364nobodyさん:2014/06/06(金) 05:18:00.21 ID:???
相談させてください

今までDeviseとconfirmableを使い
メール認証のみで会員登録制度を強いてきました。

しかし、この度OmniAuthを使い
FacebookやTwitterを利用し当サイト利用の敷居を低くしようと思っています。

しかし気になる問題があります。

今までは会員登録だったため
登録が行われると
UserテーブルにUserレコードが生成され
且つ関連テーブルのProfileにもレコードが出来ていました。

Userには登録メアドのemailカラムを含め、アカウント名であるaccountカラムが、
Profileにはニックネームのnicknameカラムなどがあります。

そして、会員が投稿すると、これらアカウント名やニックネームが表示されたり、
サイト内でのメッセージのやりとりはemail宛へ転送されます。

もし、facebookやtwiter認証した場合はこれらは全てnilになりますよね?

OmniAuthで認証した会員の場合はUserレコードやProfileレコードは生成されませんよね?
となると、何を元に誰が投稿したのか?といったものを取得できるのでしょうか?
365nobodyさん:2014/06/06(金) 05:59:22.66 ID:???
facebookやtwiter認証したアカウントと今までの会員のバインディング情報は?
366nobodyさん:2014/06/06(金) 06:25:27.83 ID:???
>>365
そこらへんをどうするかイマイチぴんと来ていません

調べたところOmniAuthでもTwitterの場合だとメアドが取得できないみたいなので
どのようにして正しいメアドを取得してUserテーブルのemailカラムに格納するか?

今までの数千に渡るユーザーのuid(ユニーク)はどうするかなど


似たようなこと(deviseのメール認証必須会員登録制→OmniAuthでTwitter、Facebookでも登録できるように)をしたことある人がいたらアドバイスをください
367nobodyさん:2014/06/06(金) 06:34:40.87 ID:???
こういうやり方が定石?

初ユーザーが訪問

Facebookアカウントで登録ログイン

トークンごしに取得できたauth['name']など
ユーザーの各種情報を利用して
Userレコードを追加(メール認証しなくてオーケー)

それ以降のコールバックについては、userレコードが存在する場合はuserレコードの追加は行わず
ただのログイン処理だと見なす

ただし、この場合Twitterだけメアドが手には入らないから切り分けが必要そう。。。。
そもそも登録の際にニックネームとメアドしか聞いてなかったから
Twitter認証してメアド登録してもらうほうが手間がかかってしまう気がする。。。。
368nobodyさん:2014/06/08(日) 10:47:59.45 ID:???
Rails3で
なんらかのリンクをクリック
非同期通信
結果を表示

という事をよくやるのですが、大抵のサイトではクリックしたあとにグルグルと画像が回ると思います
これをRailsでやろうと思うとjqueryで無理やりフックしないとダメですか?なにかしらスマートな方法がないかなーと考えていたのですが
369nobodyさん:2014/06/08(日) 13:59:51.28 ID:???
馬鹿には無理
370nobodyさん:2014/06/08(日) 14:19:06.97 ID:???
ワロタw
371nobodyさん:2014/06/08(日) 14:27:10.31 ID:???
ajax:send、ajax:complete あたりに引っ掛けるのが自然ではなかろうかね
372nobodyさん:2014/06/11(水) 12:14:10.18 ID:???
railsって
アクティブユーザーがそこそこ賑わっていて常にユーザー情報の更新や
投稿が行われるサイトは
よーく設計してdalliとかredisを使いつつページキャッシュやフラグメントキャッシュも使いこなさないと激重くない?
indexとかも貼るべきには貼ってるし検索とかはsolrを使ってる

しかし糞重い

ページがサクサクロードできるようなサイトって
変更あったら書き出してページキャッシュか何かにしてんの?


さくらVPS SSD2GB 2コアを使ってても
こんなに遅く感じる
373nobodyさん:2014/06/11(水) 13:54:35.52 ID:???
>>372
何が重いの?プロファイリングしてみた?

Railsで重いサイトは大体は集約関数周りでこけてることが多いな

ページキャッシュはある程度の規模からやってるとは思うけど
フラグメントキャッシュまでやってるところはあまりなくね?
374nobodyさん:2014/06/11(水) 15:08:34.00 ID:???
>>373
miniprofiler使ってる
時間がかかってるのは
複数のテーブルを紐づけて
関連先のカラムでソートかけて取り出したりとかが重いね
それにロードするごとに沢山のコードが動く
会員制だから仕方ないよね


ちなみに会員制敷いてると
ページキャッシュ無理じゃね?
375nobodyさん:2014/06/11(水) 15:15:12.82 ID:???
あと毎ページのロードでメッセージ件数はリアルタイムでcountしてるんだが
カウンターキャッシュみたいに
countカラムを用意するのが定石?

そしてメッセージの送信後に送信先相手のcount件数を計って更新ってな具合にすべきかな?
376nobodyさん:2014/06/11(水) 15:53:19.51 ID:???
>>374
各会員専用が主だとページキャッシュは無理だね
一部なら、そこだけ非同期にしてキャッシュする

MySQLかな?JOIN先ソートとか苦手だけど、それが重いなら対処すべきよ
きちんとインデックス使われてるのかね?

たくさんのコードってSQL?会員制だから仕方ないとかは内容次第だろうね
共通部分をできる限りキャッシュするしね
377nobodyさん:2014/06/11(水) 20:13:40.78 ID:???
ソートがインデックス使ってないというオチだろ。
378nobodyさん:2014/06/11(水) 20:36:00.81 ID:???
>>376
一部ならそこは非同期ってなると
結局フラグメントキャッシュになるよね?

>>376, >>377
そうMySQL
きちんとインデックスって
これらを守ってインデックス貼ってるんだけど

 ・○○○_idなどアソシエーションに使われるカラムには全てindexを貼っている
 ・検索対象となるカラムには全てindexを貼っている(且つsolrを利用)
379nobodyさん:2014/06/11(水) 20:36:33.73 ID:???
え、なに、スロークエリすらチェックしないで質問してんの?
380nobodyさん:2014/06/11(水) 20:37:05.37 ID:???
redisは爆速とか聞くけど
そんなに早いの?
ニコ生みたいにリアルタイムで更新されまくるような仕組みもイケちゃう系?
381nobodyさん:2014/06/11(水) 20:38:21.89 ID:???
>>379
SQLクエリ見たところで
何がボトルネックになって
こんなに時間がかかってるのか分からない

1つのコード実行した、それだけでも時間がかかりまくってるし
382nobodyさん:2014/06/11(水) 20:40:37.57 ID:???
>>378
非同期部分を除いてキャッシュするって意味
フラグメントキャッシュは概念全然別

>>381
時間がかかっていることが多いSQLの実行計画を見るのは定石
383nobodyさん:2014/06/11(水) 21:41:42.39 ID:???
explainしたりslow.log見たり、ぼやく前にまだやれることはたくさんあるぞ
384nobodyさん:2014/06/12(木) 00:20:17.16 ID:???
>>383
slow.log見ても理由は分からんだろう
385nobodyさん:2014/06/12(木) 05:44:15.06 ID:???
10万人の会員持ってるサイトあるけどアプリサーバーさくら8GB+DBサーバーさくら4GBだけで全然回ってるぞ
キャッシュも殆ど使ってないしリアルタイム制すごい高いけど余裕で400ms以内で返せてる
Railsが悪いんじゃなくて設計が悪いんじゃない
何が遅いかも調べられてないのにスペックだけ良くしても意味が無いよ
386nobodyさん:2014/06/12(木) 07:49:02.68 ID:???
>>385
例えば常にアクティブユーザーが100人いたとして
ツイートするごとにユーザーのポイントが加算されるような
究極のリアルタイム性の高い計算と更新が行われるような会員制だと
キャッシュなしじゃ厳しくないか?
387nobodyさん:2014/06/12(木) 07:50:37.57 ID:???
>>385
ちなみに
apache?
nginx?


だとしたらMySQLの設定側(チューニング)に問題あるのかな

混んでないときでも
1ページ開くときにクエリ実行だけで1300msとかかる

重いページだと3000ms以上
どうなってんだー
388nobodyさん:2014/06/12(木) 09:36:29.91 ID:Jzl38UQK
なぜTwitterは低遅延のままスケールできたのか 秒間120万つぶやきを処理、Twitterシステムの“今” − @IT
http://www.atmarkit.co.jp/news/201004/19/twitter.html

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
389nobodyさん:2014/06/12(木) 10:39:48.53 ID:???
>>388
ミスリーディングってやつか
390nobodyさん:2014/06/13(金) 10:36:58.72 ID:???
image tag使うと
出力時になぜか

○○○.jpg?758856
みたいに訳の分からないパラメーターが勝手につくんだけと
これって無くせる?
391nobodyさん:2014/06/13(金) 11:00:11.81 ID:???
キャッシュされないようにか
392nobodyさん:2014/06/13(金) 11:12:13.86 ID:???
>>391
えっ?
?173747みたいなのがつくとキャッシュされてるの?

assets使ってprecompileしてるから
?27447みたいなのが付くのかな


これが付くとgoogleの画像検索とかにヒットしなくなりそうじゃない?
393nobodyさん:2014/06/13(金) 16:06:57.01 ID:???
>>392
Rails関係ないからこれはおまけだからな!

画像ファイルをキャッシュする設定にしていた場合ブラウザは

「キャッシュが残っていればそれを使うし、サーバーには問い合わせない」

から、サーバー上でファイルを変更してもその変更したファイルを取得してくれない
これは画像だけじゃなくてcssとかもそう。変更したのに変更されてない不具合の9割はこれ

その対策としてどうすればいいかというと
hoge-hoge.jpgってファイルを使っていたなら、ファイル名をhogehoge-hoge2.jpgみたいに変更すれば違うファイルとして扱われるからキャッシュを無視してリロードしてくれる
でも全ファイル毎回ちょこっとずつファイル名かえるなんて正気じゃないよな?

そこで、hoge-hoge.jpg?20140613みたいな感じで?とキーを送る、そうすると?以降だけ変えれば違う名前のファイルとしてキャッシュを取り直してくれるんだ
これによって俺らはファイル名を毎回変更するなんて手間をかけずにみんなに新しいファイルを届けられてるわけだ

んで、この手法はもう15年以上使われてるから画像検索うんぬんとかなんも心配しなくてもいい感じにやってくれるよ
394nobodyさん:2014/06/13(金) 17:08:50.74 ID:???
>>393
非常にわかりやすい説明をありがとう
なるほどね前回のキャッシュを読み込ませないための工夫だったってことね

そして、Googleなど検索エンジンは
?以降は無視して画像をインデックス化していってくれてるってことか

ありがとう
395nobodyさん:2014/06/13(金) 19:09:01.06 ID:???
rails4に移行していないオイラに
turbolinksの素晴らしさと優位性を力説してもらえないだろうか?
396nobodyさん:2014/06/13(金) 20:18:11.06 ID:???
>>395
リンクをクリックすると、ページ遷移ではなく Ajax でサーバにアクセスする
返ってきた結果から body 要素の内容だけ抜き出して置き換えてくれる
またブラウザのヒストリも書き換えてくれるので、戻るボタンもきく

スタイルシートやスクリプトを評価しなおさなくて済む分、早い
プログラマは上記の処理内容をほとんど意識する必要がなく、お手軽
397nobodyさん:2014/06/13(金) 21:24:40.13 ID:???
へぇ、便利そう。

ゲームサーバとしてJSONしか返さんのならrails3で十分?
398nobodyさん:2014/06/13(金) 22:22:55.28 ID:???
JSONしか返さんのならrailsであることが余計
399nobodyさん:2014/06/14(土) 00:36:00.18 ID:???
>>396
どれくらい早くなるの?
俺の見解だと
Rails3みたいに違うページをロードしても
同じスタイルシートやjsが指定されていたら
キャッシュから読み込まれるから早い遅いをあまり感じなく思えるんだけど
400nobodyさん:2014/06/14(土) 00:37:52.20 ID:???
>>396
それにページによってヘッダ内の読み込むjsを変えてる場合
それだとturbolinksは使えないってこと?
要は<head>内のスタイルシートやjsを固定して読み込みを早くしませんか?ってことだよね?
401nobodyさん:2014/06/14(土) 00:40:18.62 ID:???
>>400
jsを変えてる場合は使えない
ただ普通はsprocketsで連結してる前提
402nobodyさん:2014/06/14(土) 02:12:05.87 ID:???
>>398
いや圧倒的に楽だろ
テストも含めて
403nobodyさん:2014/06/14(土) 02:19:07.17 ID:???
>>399
読み込む速度だけではなく、それを評価する速度も含む
404nobodyさん:2014/06/14(土) 02:26:01.35 ID:???
>>398
むむ、なるほど。
405nobodyさん:2014/06/14(土) 02:26:54.30 ID:???
>>403
あれ、そうなのか。じゃこのまま使うことにします。
406nobodyさん:2014/06/14(土) 02:27:54.60 ID:???
違った>>402
407nobodyさん:2014/06/14(土) 09:07:21.64 ID:???
>>403
railsで俗に遅い遅いと言われる所以は
そこよりもクエリの問題になっている場合がほとんど?
408nobodyさん:2014/06/14(土) 09:50:36.58 ID:???
ruby
409nobodyさん:2014/06/14(土) 11:59:37.49 ID:???
>>407
そうね

言語が効いてくるには Twitter ぐらいのアクセス数がないとね
410nobodyさん:2014/06/14(土) 12:24:13.21 ID:???
>>407
railsが遅い問題とturbolinksで解決できる問題は関係ない
turbolinksが解決してるのはクライアントサイドの速度

レスポンスが遅いのとスループットが低いのを混同する奴がいるけど
アクセスが少なくてもレスポンスの遅さは影響する

Railsが遅いのはRubyとアプリサーバの影響の部分が大きい
フレームワークの性能が悪くて遅いCakePHPなどとは一緒にしてはいけない
411nobodyさん:2014/06/14(土) 13:16:46.10 ID:???
>>410
Rubyやアプリケーションサーバが覿面に効いてくるのは相当のアクセス数がある場合だけだよ
たいていはDBアクセスがネック
412nobodyさん:2014/06/14(土) 13:25:48.62 ID:???
>>410
RubyはJSON処理やアルゴリズム系は速いが
DBアクセスのライブラリなどが糞だと有名だな
413nobodyさん:2014/06/14(土) 13:59:30.64 ID:???
ActiveRecordはお手軽だがパフォーマンスめっさ悪そう、とチュートリアルやりながら思ってた
414nobodyさん:2014/06/14(土) 14:11:20.22 ID:???
某有名FWの比較ランキングを見ると
JSONに変換して返すだけの計測は健闘しているけども
DBが絡むとボロボロな結果が出てるよね
415nobodyさん:2014/06/14(土) 14:13:35.20 ID:???
>>412
RubyのDBアクセスライブラリはほとんどCライブラリのラッパだよ
それがクソってことはCライブラリがクソってことかいな?

>>413
SQLでもパフォーマンスを出すためにはテクニックが必要なように、
ActiveRecordもパフォーマンスを出すにはそれなりのコツは要るね
416nobodyさん:2014/06/14(土) 14:42:10.53 ID:???
丁度ActiveRecordのパフォーマンスの話が上がってるから教えてください。下記のやり方でサイト内メッセージシステムを実装しています。
「メッセージ受信ページ」を開くと、たった10件表示するだけなのに4秒近くかかります。
コードがシンプルなはずなのにページのローディングが遅すぎて問題点も特定できません。どこがネックになっているか分かる方はいらっしゃいませんか?

gem「mailboxer(https://github.com/mailboxer/mailboxer)」
 -notifications 10万レコード
 -conversations 10万レコード(上記テーブルと対にしている)
 -receipts    20万レコード(上記テーブルにぶら下がる。つまり1つのconversations(メッセージ)に対し「送信者」と「受信者」の2レコードがぶら下がる)
上記3テーブルから構成。メッセージのやりとりを可能にするgemが「mailboxer」

これを利用して現在ログイン中の受信メッセージを表示する時に下記のように記述しています。

【コントローラ】
@messages = current_user.mailbox.inbox.page(params[:page]).per(10)

【ビュー】ここで表示しているのは送信者の名前と、送信者のプロフィールページへのリンク。題名とメッセージ詳細ページへのリンク。それと受信日時くらい

<% @messages.each do |m| %>
 <tr <%= 'class=unread’ if m.is_unread?(current_user) %> >
  <td><%= check_box_tag "id[]",m.id %></td>
  <td>
   <% if m.is_read?(current_user) %>
    既読
   <% else %>
    未読
   <% end %>
  </td>
  <td> <%= profile_link(m.last_sender) if m.last_sender != current_user %><%= "自分" if m.last_sender == current_user %> </td>
  <td><%= link_to m.subject, show_messages_path(:id => m) %></td>
  <td><%= today_datetime(m.last_message.created_at) %></td>
 </tr>
417nobodyさん:2014/06/14(土) 14:47:48.74 ID:???
>>416
細かくは見てないが N+1 問題じゃなかろうか
詳しくはぐぐればいっぱい出てくる
418nobodyさん:2014/06/14(土) 14:48:14.31 ID:???
>>415
mysqlでlibmysql以外のC実装のものを教えてください
419nobodyさん:2014/06/14(土) 14:53:41.79 ID:???
>>417
include付ければいいだけってこと?
420nobodyさん:2014/06/14(土) 14:55:44.27 ID:???
>>419
もし N+1 問題が原因ならね
421nobodyさん:2014/06/14(土) 14:57:11.55 ID:???
>>416
まずはログを見よう
そして原因を突き止めるのが先決だ
422nobodyさん:2014/06/14(土) 15:04:12.96 ID:???
>>420
とりあえず簡単に試せそうだからやってみた

@messages = current_user.mailbox.inbox.page(params[:page]).per(10).includes(:profile)

としたら下のエラーが出たよ
Association named 'profile' was not found; perhaps you misspelled it?)


テーブル名は100%間違えていない
profileテーブルはuserテーブルに属していて「nickname」などのカラムを持つ

なぜエラーになるんだorz
423nobodyさん:2014/06/14(土) 15:13:23.21 ID:???
>>418
俺も興味ある

mysql2だとライセンス問題あるからね
424nobodyさん:2014/06/14(土) 19:49:20.60 ID:???
>>422
複数形試してみて
425nobodyさん:2014/06/14(土) 22:33:19.14 ID:???
>>424
全く同じエラーが出てます
426nobodyさん:2014/06/14(土) 23:41:06.34 ID:???
RailsってMySQLに対してPostgreSQLの採用比率が
他の言語、フレームワークより高いみたいね
特に海外で

herokuが理由かね?
427nobodyさん:2014/06/15(日) 06:42:29.71 ID:4wiy7qvn
「新版リリースのたびに他製品を選ぶ理由が薄れる」--PostgreSQL開発者インタビュー(前編) - ZDNet Japan
http://b.hatena.ne.jp/entry/japan.zdnet.com/business-application/sp/35049207/
428nobodyさん:2014/06/15(日) 18:32:22.22 ID:???
「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
429nobodyさん:2014/06/15(日) 18:34:46.84 ID:???
MariaDB 10登場 - Google/Wikipediaら、採用相次ぐ - エキサイトニュース
http://www.excite.co.jp/News/column_g/20140402/Cobs_49962.html

バグ報告に対するMySQL(Oracle)とMariaDBの対応の違い | スラッシュドット・ジャパン オープンソース
http://opensource.slashdot.jp/story/13/09/11/0431225/バグ報告に対するMySQL(Oracle)とMariaDBの対応の違い
430nobodyさん:2014/06/15(日) 21:18:37.12 ID:???
mysqlはphpが大好きでphpにだけ特権を与えてるのは有名な話

しかしphpにはフラレて
mysqlへの接続でGPLでないCライブラリが使えるのはphpだけってのも有名な話
431nobodyさん:2014/06/15(日) 23:58:13.28 ID:???
はい、mysql叩きが始まりました
432nobodyさん:2014/06/16(月) 17:42:43.28 ID:???
mariaにしたらlibmysqlから解放されるの?
433nobodyさん:2014/06/16(月) 18:24:31.83 ID:???
socket経由なら関係ないだろ。
434nobodyさん:2014/06/16(月) 18:44:58.58 ID:???
>>433
突然socket経由とは何ぞや
435nobodyさん:2014/06/16(月) 18:53:02.87 ID:???
Railsの作者DHH、ルマン24時間耐久レース アマの部で勝利 | A-Listers
http://tech.a-listers.jp/2014/06/16/dhh-won-lemans/
436nobodyさん:2014/06/16(月) 20:07:18.06 ID:???
gem のcancanってmodelの構造がほぼ同じものを役割のみで分けるために使うものですか?

modelのカラムが全然違うものを無理やりくっつけて、cancanを使うと変になりますか?

model

 ・admin
 ・operator

に分ける場合、役割だけが違う。modelの基本的なカラムは大体同じ



 ・human
 ・dog
 ・bird

に分ける場合、基本的なカラムが違う。
これをcancanで分けると、、なんか難しくなる。

ちゃんと説明できてますでしょうか。。
437nobodyさん:2014/06/16(月) 20:10:14.89 ID:???
ふげー分かりにくい説明だ
438nobodyさん:2014/06/16(月) 20:50:56.20 ID:???
Twitterで言う通知メール(フォローされましたとか)をいい感じにラップしたgemないですか?
一個一個送信処理書けばそれでいいってのはそうなんですが
439nobodyさん:2014/06/17(火) 02:21:46.07 ID:/dvue0X5
rails4.1+rspecのプロジェクトで初めてGuardをやって見てるんだけど、
ただINFO:Runnningテストファイル名しか表示されなくて、肝心のテスト結果がわからないんだけど、
これってどういうことなの?
440nobodyさん:2014/06/17(火) 11:52:40.62 ID:???
受託開発でmysql2を使っているのですが
何かライセンス問題があるのでしょうか?
MITライセンスですよ
441nobodyさん:2014/06/17(火) 13:09:28.88 ID:???
442nobodyさん:2014/06/17(火) 23:45:27.91 ID:???
Twitter作ってるんですが
フォローしてるユーザーのタイムラインの表示ってかなり時間かかっちゃうと思うんですがいい方法ありませんか?

User
id:
account:

Follow
id:
user_id:
follow_id:

Tweet
id:
text:
user_id:

こんな感じのDBだとして
user_ids = Follow.where(user_id: session[:user_id]).select("follow_id")
tweet_list = Tweet.where(user_id: user_ids).order("id DESC")
こういうふうに取得してるんですが取得するデータが増えてくるとめちゃくちゃ重くなります
443nobodyさん:2014/06/17(火) 23:52:47.83 ID:???
>>442
log見れば発行されてるSQLが出てるので、それを持ってDB板へGo!
444nobodyさん:2014/06/18(水) 00:03:18.88 ID:???
>>443
ありがとうございます行ってみます
445nobodyさん:2014/06/18(水) 08:48:35.40 ID:???
ひどい誘導だ
446nobodyさん:2014/06/18(水) 11:01:55.47 ID:???
>>441
受託開発でもmysqlを使用するだけであればライセンスは問題ないと思っていました

大体をライセンス譲渡としているので問題なさそうです。他はGPLにすれば良さそうです。無理ならばmysql2をやめる選択でしょうか
447nobodyさん:2014/06/18(水) 12:03:49.47 ID:???
>>442
答えが>>388に載ってる
448nobodyさん:2014/06/18(水) 15:16:09.61 ID:???
>>447
DBでやってることとRedisでやってることを同一視してそれで解決ってアホか
449nobodyさん:2014/06/18(水) 15:32:05.66 ID:???
つまり、
- 8台のSun X4100s
- 16GBの memcached
で解決かw
450nobodyさん:2014/06/18(水) 15:33:31.99 ID:???
これ遅いんだけど→スパコン使えばいい(ドヤ顔
こんなレベル
451nobodyさん:2014/06/18(水) 17:50:58.41 ID:???
ぶっちゃけカリカリにチューニングするために人雇うより金で鯖買ったほうが安いことはよくある
452nobodyさん:2014/06/18(水) 19:35:39.49 ID:???
今はサーバ買うより、クラウドだな。
453nobodyさん:2014/06/18(水) 19:39:56.36 ID:???
DBの件数が問題で遅いに対して、何を言ってるんだ
454nobodyさん:2014/06/18(水) 23:26:49.31 ID:???
>>442について俺も知りたい
レコード件数が10万とかに増えてきたらredisとか使わないとダメなの?


ActiveRecordで抽出するときにparams[:page]
使おうが軽くはならない?
455nobodyさん:2014/06/18(水) 23:41:33.82 ID:???
>>454
IN使ってるのが問題ってだけだろうね
456nobodyさん:2014/06/18(水) 23:44:54.90 ID:???
>>455
どういう書き方すればいいの?
457nobodyさん:2014/06/18(水) 23:51:31.49 ID:???
>>456
arelでexistsかjoinで書けば良いんじゃない
458nobodyさん:2014/06/19(木) 02:07:11.41 ID:iQHtmoMn
殺伐としすぎでワロタwやっぱ専門板はこうでないとな
雑談系板に立つプログラミングスレとはえらい違いだよ



wwwwwwwwwwwwwwwwwwwwwwwwwwwwww
459nobodyさん:2014/06/19(木) 09:42:42.87 ID:???
チューニングの余地はいっぱいあるし、この程度の件数で遅いのは確実になおせる
460nobodyさん:2014/06/19(木) 10:10:23.05 ID:???
>>459
ちょっと気になったんだけどどこにチューニングの余地あんの?
Twitter社もこの方法では1000ms以内に結果返すの無理だからって理由で断念して違う手法とったんだが
461nobodyさん:2014/06/19(木) 10:12:46.71 ID:???
>>460
何桁違うと思ってるんだよ
462nobodyさん:2014/06/19(木) 10:24:29.06 ID:???
>>461
どう考えてもこれは桁の問題じゃないだろ
10万件程度のデータでもメモリに載り切らなくなるのはわかりきってるしTwitterみたいに大きくないから大丈夫なんて言える問題じゃない
463nobodyさん:2014/06/19(木) 10:26:31.68 ID:???
メモリに乗るかどうかで判断してるのはDB触ったことないんだろうな
464nobodyさん:2014/06/19(木) 10:29:14.49 ID:???
とにかく、データが増えて遅くなったと言ってるやつのほとんどは
SQLでIN使ってる
465nobodyさん:2014/06/19(木) 10:39:29.92 ID:???
>>463
横からで悪いんだが今回のケースではどうしても巨大なデータをソートすることになるよね?
>メモリに乗るかどうかで判断してるのはDB触ったことないんだろうな
の意味がわからないから是非教えて欲しいんだけど
466nobodyさん:2014/06/19(木) 10:47:48.37 ID:???
おまえら
SQLスレで解決したのになにをやっている

6桁解決だぞ
467nobodyさん:2014/06/19(木) 10:59:10.34 ID:???
>>466
じゃあその解決したレスのURLぐらい晒せやボケが。
468nobodyさん:2014/06/19(木) 11:53:09.08 ID:???
彼は解決したって書いてるけどjoinを使うことでサブクエリが先に消化されてソート対象がメモリ上に乗るサイズになっただけで結局もっと数が増えたらメモリに乗らなくなってまた遅くなるよ
だからこの問題に関しては>>462が正解
469nobodyさん:2014/06/19(木) 12:02:54.22 ID:???
>>468
SQLの勉強からやり直した方が良いよ

>結局もっと数が増えたら
これが桁の問題だろ。>>462は間違い
470nobodyさん:2014/06/19(木) 12:10:39.42 ID:???
突然出て来てるソートって何ぞ?
471nobodyさん:2014/06/19(木) 12:10:54.46 ID:???
間違ってる間違ってるとは喚くけれど何が間違ってるのかも指摘せず
使ったことがない、勉強しなおせと一方的なレッテル貼り
でも正しい答えは書けない

面白いなあ
472nobodyさん:2014/06/19(木) 12:11:56.28 ID:???
>>470
お前みたいな素人が来る場所じゃないからSQLの勉強からやり直した方が良いよ
473nobodyさん:2014/06/19(木) 12:16:14.72 ID:???
>>472
何ぞ?
474nobodyさん:2014/06/19(木) 12:19:42.81 ID:???
>>469
その会話はTwitterみたいな”ケタ違い”じゃなくても普通のサイトの規模でも簡単に起こるレベルの問題かどうか 
が論点なわけだろ?>>462が言ってるのであってんじゃんお前の読解力がないだけじゃないの

ID出るようにしろよ面倒くさい
475nobodyさん:2014/06/19(木) 12:37:46.53 ID:???
10万件でデータサイズどれくらいになると思ってるんですかね。
まさか OR/M に乗っかったときの話なんてしてないよね?
476nobodyさん:2014/06/19(木) 12:43:39.91 ID:???
>>474
根本の論点、遅くなってる理由がソートでなくてINだよ
477nobodyさん:2014/06/19(木) 12:47:57.82 ID:???
転載
>ご指摘どおり joinへの置換えを行った所
>10000ms→4000ms→0.04msまで落ちました
478nobodyさん:2014/06/19(木) 13:50:43.06 ID:???
0.04msってどんなスパコンだよ
479nobodyさん:2014/06/19(木) 14:05:21.42 ID:???
計測不能w
480nobodyさん:2014/06/19(木) 14:28:05.92 ID:???
mysqlの単位ってsecだよな
40msか
妥当なところ
481nobodyさん:2014/06/19(木) 17:13:20.21 ID:???
なにこのスレ。IDでないからってどんだけ自演してんだよ。
482nobodyさん:2014/06/19(木) 17:14:31.41 ID:???
railsの酷さとrailsユーザの酷さが一目瞭然なスレだと聞いて飛んできました。
483nobodyさん:2014/06/19(木) 18:18:58.48 ID:???
これが煽りおしえて君だ
484nobodyさん:2014/06/19(木) 19:33:58.60 ID:???
>>463=>>466
誤魔化そうと必死
485nobodyさん:2014/06/19(木) 19:55:05.90 ID:???
>>480
対象テーブルが50万件で40msか。妥当かちょっと遅いか。
まぁいいんじゃないって感じがするね。
486nobodyさん:2014/06/19(木) 20:41:42.67 ID:???
一人だけ状況がわかってない奴がいるっぽいな
487nobodyさん:2014/06/19(木) 22:08:57.26 ID:???
>>482
Railsがひどいんではなく、それを使いこなそうとしないで文句言ってる奴がひどいだけ
今回の件も自分の希望の回答が得られなかったから騒ぎ立てるいつもの煽り教えて君でした
というだけの話
488nobodyさん:2014/06/19(木) 22:26:15.09 ID:???
RailsスレでSQLのチューニングの話をすると
誰もついてこれなくて発狂するっていうのは定説だろ。

過去にも同じことがあっただろ。
489nobodyさん:2014/06/19(木) 22:35:44.39 ID:???
>>488
バッカだなぁ

SQLスレでこういう回答が得られました
これを実現するにはRailsでどうすればいいですか?

と素直に聞けばまともな回答がとっくに得られてたはずなのに、
「SQLスレでこういう回答があった。はじめからこういうSQLを発行しないRailsはクソ!」
なんて自分のコードが悪いという可能性を1ミリも考えない態度だから荒らし教えて君なんだよ
490nobodyさん:2014/06/19(木) 23:41:11.32 ID:???
>>489
大丈夫??

>>462から一人で書き込んでるよね?
491nobodyさん:2014/06/20(金) 04:17:45.22 ID:???
PHPスレにちょいちょいRuby派の人がくるんだけど、このスレも大概ひどいね
492nobodyさん:2014/06/20(金) 09:21:10.54 ID:???
>>484 は正しい指摘した奴を否定してるのは
間違ってわめいてたからか
493nobodyさん:2014/06/20(金) 09:42:49.59 ID:???
>>489の何がひどいって、質問者に責任を擦り付けてるところ
妄想でな
494nobodyさん:2014/06/20(金) 09:47:48.90 ID:???
ちなみに質問したの自分なんですが、件数を100万件に増やしたら遅くなってしまったので結局その部分をAjaxで知恵っm読込することでごまかしました
495nobodyさん:2014/06/20(金) 09:56:54.16 ID:???
>>494
mysqlのバージョンって5.6ではないよね?
496nobodyさん:2014/06/20(金) 09:58:50.73 ID:???
>>495
mysql Ver 14.14 Distrib 5.1.73, for debian-linux-gnu (x86_64) using readline 6.1
497nobodyさん:2014/06/20(金) 11:09:49.37 ID:???
>>496
ありがとう
498nobodyさん:2014/06/21(土) 00:27:39.08 ID:0sjmaigu
bookmark とfavorite
どちらが国際的なサイトに有利だと思う?
499nobodyさん:2014/06/21(土) 00:31:06.09 ID:???
「国際的なサイト」ってなんだよ
500nobodyさん:2014/06/21(土) 00:33:50.02 ID:0sjmaigu
>>499
twitterとかfacebookとか多言語展開するサイトだよ
501nobodyさん:2014/06/21(土) 00:36:58.46 ID:???
「多言語展開」ってなんだよ
もうちょっとスレに沿った形で咀嚼してくれよ
502nobodyさん:2014/06/21(土) 00:40:13.53 ID:0sjmaigu
その規模作ったことなさげな君の意見はいらんよ
小人はスレ違いとかほざいとけ。たかがRoRごときでいつまで住み着いてんだよw手段にすぎないのに
この質問は簡単に見えて英語はもちろん幅広な教養が必要だから、お前みたいに糞みたいな聞き返ししてる時点で対象外
頭悪いから手段の所しか見させられてない雑魚が、無駄な質問してんじゃねえよ
503nobodyさん:2014/06/21(土) 00:40:57.33 ID:???
これが煽り教えて君か
504nobodyさん:2014/06/21(土) 00:45:01.14 ID:0sjmaigu
>>503
お前みたいなゴミから教わることなんかねえよw
お前は雇われ、俺は雇う方
頭の違い、格の違い、わかるかな?

英語すらまともにできないクズ野郎が、こういう話題に乗ってきちゃあかんよ
何にも付加価値ないからw
誰か我こそはレベル高いって奴がいたら意見書いといて。
参考にしてやるかもしれないから。
ドメ仕事ばっかりやってる>>503みたいなゴミ野郎の意見はいらねえからw
お前等もそんな時間の無駄するより、簡単なRoR極めるために全時間使っとけよw
505nobodyさん:2014/06/21(土) 00:47:44.23 ID:???
> 誰か我こそはレベル高いって奴がいたら意見書いといて。
> 参考にしてやるかもしれないから。
これだけ暴言吐いておいて質問に答えてくれることを期待してるとしたら、
おめでたいにも程がある
506nobodyさん:2014/06/21(土) 00:54:07.65 ID:0sjmaigu
>>505
期待なんかしてねえよはなから
ここは英語もまともにできないドメ野郎が多いからな
簡単なRoRに定住してる時点でたかがしれてんだよ

元から自分で調査中で、念のためここでも意見募ったが、
案の定お前みたいな安月給のクズが、何の価値もないセリフ吐くだけだったわw
期待通りだなw
またそのうち覗いてやるから、まともな頭の奴が存在してたら意見かいとけよ
採点してやるから
507nobodyさん:2014/06/21(土) 00:54:59.03 ID:???
期待してない割にはレスがすぐ返ってくるなww
508nobodyさん:2014/06/21(土) 01:01:17.44 ID:???
>>462から始まったレベルの低い話を改善する救世主は現れんのか
509nobodyさん:2014/06/21(土) 04:05:07.18 ID:???
>>500
多言語展開って、たとえば英語についてはその二つで考えてるんでしょ?
タイ語だと何にしようと思ってるの?
510nobodyさん:2014/06/21(土) 04:09:19.78 ID:???
>>504
> 元から自分で調査中で
↑って↓ってこと?
> 英語すらまともにできないクズ野郎
511nobodyさん:2014/06/21(土) 08:11:59.00 ID:???
久しぶりに有名半コテが登場してるな
512nobodyさん:2014/06/21(土) 12:08:39.96 ID:???
>>508
その件を質問したのは自分です、荒れてしまってすいません……

流れをかえる……それならみなさんが普段使ってるgemなど教えて頂けませんか?
ominiauthとかdeviceとか超有名なものは分かるのですが
意外と知られてない(かも)けれどこれ便利だよーみたいな

自分は
BetterError
https://github.com/charliesome/better_errors

Railsのエラー画面がすごく見やすくなるのでデバッグがしやすくなります
513nobodyさん:2014/06/21(土) 12:22:09.30 ID:???
>>512
pry かわいいよ pry

今更だけど、元質問に関しては hmt を使えばいいんじゃないかなーと思う
514nobodyさん:2014/06/21(土) 13:58:17.02 ID:???
自分は
devise
cancan
mailboxer
rails autocomplete
acts as taggable
acts as votable
recaptch
simple captcha
paperclip
bullet
bootstrap
jquery

ここらへんは絶対に使う
515nobodyさん:2014/06/22(日) 11:21:11.60 ID:???
流れを変えるためにあえて質問しますが、なんでいまさらRubyなんか使わなきゃいけいんですか?
Ruby厨の凝り固まった意見が聞きたいです
516nobodyさん:2014/06/22(日) 11:24:24.18 ID:???
俺はPerl派なんだが、会社の凝り固まった方針でRuby使わされてる。全くつまらない日々だな。
gem、とか単に「ジェム」って言いたいだけだろ。
どう考えてもcpanmのほうがスマート。
517nobodyさん:2014/06/22(日) 11:24:54.54 ID:???
>>515
じゃあ何使えばいいんでしょうか?
あなたの思う最強の言語とやらを教えて下さい
518nobodyさん:2014/06/22(日) 11:25:24.31 ID:???
node.jsに1票
519nobodyさん:2014/06/22(日) 11:26:59.00 ID:???
(救世主現る)
520nobodyさん:2014/06/22(日) 11:30:00.00 ID:???
>>515-519
一人で何やってんの?
521nobodyさん:2014/06/22(日) 12:09:57.20 ID:???
さぁようやく2chっぽい流れになってきました
522nobodyさん:2014/06/22(日) 12:53:13.08 ID:???
流れをぶった切ってごめん

@5秒に1回ajaxでリロードかけて内容を表示更新してる部分がある

Aコメントを投稿したら5秒待たずとも同じように表示更新がかかる

Aのように投稿があったときには
投稿後に「投稿しました」とflashメッセージを更新部分に表示させて3秒でフェードアウトするようにしている。


Aの投稿後、問題なくflashメッセージは表示され3秒後には消えるんだが
その直後の@の定期更新がかかると再びflashメッセージが表示されて困ってる

この場合はどう制御したらいいの?
523nobodyさん:2014/06/22(日) 12:59:10.80 ID:???
自動更新のajax読み込んでるところで
flashにnilいれればいいだけじゃない?
524nobodyさん:2014/06/22(日) 13:02:32.56 ID:???
ソースさらしてもらわんとなんとも
525nobodyさん:2014/06/22(日) 13:52:29.71 ID:???
すみません。コード必要ですね。

投稿後の表示更新はこんなかんじです

【Controller】
(コメントsaveのコード)
format.js do
 flash[:notice] = "投稿しました。"
 render 'sections/reload_after_post’
end

【View】
<div id="comment">
 <%= render 'sections/comment' %>
</div>

【reload_after_post.js.erb】
$('#comment').html("<%= j(render(:partial => 'sections/comment')) %>");

【sections/_comment.html.erb】
<% flash.each do |name, msg| %>
 <div id="flash_message">
  <div class="alert alert-<%= name == :notice ? "success" : name.to_s %>">
   <%= content_tag :div, msg.html_safe, :id => "flash_#{name}" if msg.is_a?(String) %>
  </div>
 </div>
<% end %>
(コメント表示のコード)
526nobodyさん:2014/06/22(日) 13:58:56.77 ID:???
そんなことより、FamilyMartの「おとなのお味噌汁」の「あさりは」はマジで上手いぞ、おすすめ。cpanmとか言ってる場合じゃない
527nobodyさん:2014/06/22(日) 14:00:51.51 ID:???
>>525の動きが「投稿後のflashメッセージ表示」で、この下のコードが5秒おきの表示更新になります。
【Controller】
def reload_part
 @comments = @section.comment_threads.order("updated_at DESC").page(params[:page]).per(10)
 @comment = @section.comment_threads.build
 respond_to do |format|
  format.js
 end
end

【View】
reloadPart();
function reloadPart() {
 $.ajax({
  url: “sections/reload_part?page=<%= params[:page] %>",
  type: "GET",
  dataType: "script",
 });
}

<% flash.each do |name, msg| %>
 <div id="flash_message">
  <div class="alert alert-<%= name == :notice ? "success" : name.to_s %>">
   <%= content_tag :div, msg.html_safe, :id => "flash_#{name}" if msg.is_a?(String) %>
  </div>
 </div>
<% end %>
(コメント表示のコード)

【reload_part.js.erb】
$('#comment').html("<%= j(render(:partial => ‘sections/comment')) %>");
setTimeout(reloadPart,5000);
528nobodyさん:2014/06/22(日) 14:36:09.95 ID:???
>>527
だから

def reload_part
 @comments = @section.comment_threads.order("updated_at DESC").page(params[:page]).per(10)
 @comment = @section.comment_threads.build
flash[:error] = nil
flash[:notice] = nil
 respond_to do |format|
  format.js
 end
end

これでいいでしょ
529nobodyさん:2014/06/22(日) 15:06:45.23 ID:???
>>528
解決しました
そんな単純なことで解決するとは・・・
ありがとうございました
530nobodyさん:2014/06/22(日) 15:25:21.50 ID:???
>>528
と思ったら解決していませんでした
どうやら他のページに遷移したら
flash[:notice] = nil しているにも関わらず
空の状態でflashメッセージが表示されます(枠だけ)
531nobodyさん:2014/06/22(日) 16:48:08.55 ID:???
>>526
「あさりは」とはなんぞや
532nobodyさん:2014/06/22(日) 18:41:24.73 ID:???
>>530
<% flash.each do |name, msg| %>
 <% next if msg.blank? %>
 <div id="flash_message">
  <div class="alert alert-<%= name == :notice ? "success" : name.to_s %>">
   <%= content_tag :div, msg.html_safe, :id => "flash_#{name}" if msg.is_a?(String) %>
  </div>
 </div>
<% end %>

こんな感じで空だったら省けばええやん、対症療法的だけどソースコード追って根本的解決する元気が無いなら
これでごまかしとけばいいよ
533nobodyさん:2014/06/22(日) 20:09:06.06 ID:???
前、受託開発でのmysql2の利用を悩んでたものだけど
mysqlスレにいい答えが載ってたよ
https://mariadb.com/kb/en/mariadb-client-library-for-c/

みんな、こういうのをいれてGPLとかにしなくて良いようにしてるんだね〜
驚いたよ
534nobodyさん:2014/06/22(日) 20:27:13.78 ID:???
>>498-506
なにこいつwwwwwww
キモ過ぎてめっちゃワロタ
535nobodyさん:2014/06/22(日) 20:31:11.27 ID:???
>>534
いちいちあげんなやカス。
536nobodyさん:2014/06/22(日) 20:32:53.23 ID:???
RoR代表の>>506とか、まさにRoRのレベルを表してるな。
やっぱnode.jsが一番。
537506:2014/06/23(月) 00:42:04.33 ID:vkNI5Agn
レベルひくっw
土日遊びに行く金もないのかな?
bookmarkとfavoriteの件は定まったからもういいよ。君らの脳みそじゃ総合的な判断は難しいようだ。
技術要素であるRoRばっかりやっておきなwほんじゃなゴミども
538nobodyさん:2014/06/23(月) 02:18:53.51 ID:???
(´∀`∩)↑age↑
539nobodyさん:2014/06/25(水) 04:32:32.03 ID:VfeeFhnY
東京Node学園 - connpass
http://nodejs.connpass.com/
540nobodyさん:2014/06/25(水) 11:30:52.63 ID:???
======== ここから ========
このスレはnode.jsスレになりました。
RoRの話題禁止です。
541nobodyさん:2014/06/25(水) 11:34:36.39 ID:???
RubyやPython、Javaも1970年代のやり方が残っており、依然としてブロッキングシステムコールを使っています。それらの言語は文法だけが飾り立てられています。
http://www.publickey1.jp/blog/11/nodejs_node.html
542nobodyさん:2014/06/25(水) 13:49:07.16 ID:???
>>537こそ1970年代の化石
543nobodyさん:2014/06/25(水) 23:02:42.03 ID:???
つまり、Ruby≒Fortranということだな
544nobodyさん:2014/06/26(木) 00:42:45.95 ID:???
とりあえずやっつけ仕事はRailsがベストだろ
545nobodyさん:2014/06/26(木) 01:43:45.13 ID:???
Sinatraだろ。
546nobodyさん:2014/06/27(金) 00:27:44.31 ID:Kfr04yi9
Ruby on Railsで作られた有名サイトの紹介 | PbTimes 情報誌
http://pb-times.jp/P_529d87c5b28d6
547nobodyさん:2014/06/27(金) 03:23:01.66 ID:Kfr04yi9
Ruby - Railsが時代に合わなくなってきた - Qiita
http://b.hatena.ne.jp/entry/qiita.com/kaiinui@github/items/2781219340d427543d08
548nobodyさん:2014/06/27(金) 16:09:12.42 ID:???
ページのレンダリング速度を測るのってどうすればいい?
before_filterの中で
@time =Time.now
してfooterでTime.nowとの差分とってみたんだけど値がマイナスになったりで数値が取れません
549nobodyさん:2014/06/28(土) 00:11:41.16 ID:???
>>548
var start = Date.now();
// ...
// rendering...
// ...
var end = Date.now();
console.log("Elapsed: " + (end -start));

これでいいだろ。
そりゃ逆にひき算したらマイナスになるんでないかね。
550nobodyさん:2014/06/28(土) 00:31:50.47 ID:???
>>548
Timeでusec使えば良いよ
他はDateもTimeも秒単位になってしまう

Railsが遅い象徴で秒を測らないとって意味なら自虐ねたとしてOK
551nobodyさん:2014/06/28(土) 03:51:09.36 ID:???
レンダリングってどの部分のことを言ってるのやら
Railsのレンダリングならログ見りゃ一発なんだけど
552nobodyさん:2014/06/28(土) 09:27:19.49 ID:???
マネーロンダリングの場合、ログに出てますかね?
553nobodyさん:2014/06/28(土) 09:41:37.73 ID:???
>>549
それは上にも書いた通り試したのですがそれをやるとなぜか値がマイナスになったりプラスになったりします


>>550
やってみます

>>551
ログに出力される値をページ上に出力したいです
554nobodyさん:2014/06/28(土) 11:04:47.12 ID:P+7Bvf6W
555nobodyさん:2014/06/28(土) 14:16:20.62 ID:???
画面と言われるとディスプレイ全体をイメージしてしまうな。
556nobodyさん:2014/06/29(日) 08:29:00.45 ID:FLtC2iyW
557nobodyさん:2014/06/29(日) 15:37:32.35 ID:???
@communities = current_user.get_up_voted(Community)
@numbers = Number.includes(:user).where(:community_id => @communities.collect(&:id)).order("users.active_time_at DESC").page(params[:page]).per(10)

これだとロードし終えるまでに60秒ほどかかる
どうして?
current_userが所属しているコミュニティを取得して、そのIDを代入するのは時間はかかっていない。
取得した「Numberレコードの所有者」の「active_time_at(関連するUserテーブルの項目)」で並び替えようとすると
異常に時間がかかっている模様。

@communities = current_user.get_up_voted(Community)
@numbers = Number.includes(:user).where(:community_id => @communities.collect(&:id)).order("created_at DESC").page(params[:page]).per(10)
だと2秒もかからないのに

何かいい方法ってありますか?
558nobodyさん:2014/06/29(日) 15:39:44.67 ID:???
ちなみにテーブルとアソシエーションは以下のとおりです

User: has_many Communities, has_many Numbers
Community: belongs_to User, has_many Numbers
Number: belongs_to User, belongs_to Community
559nobodyさん:2014/06/29(日) 15:55:42.15 ID:???
>>557
過去ログ読め
データ数ぐらい書け
DBのバージョンぐらい書け
560nobodyさん:2014/06/29(日) 16:03:58.70 ID:???
とりあえず hmt 試そう
561nobodyさん:2014/06/29(日) 16:05:05.56 ID:???
>>559
申し訳ない

User: 20,000レコード
Community:100レコード
Number:10,000レコード
ってんかんじで

DBはMySQL5.1.69です
562nobodyさん:2014/06/29(日) 16:21:27.81 ID:???
>>561
inを使ってるのが問題だから
>>560が言うとおり、hmtを試してくれ

もう一つは、MySQL5.1.69じゃ遅いよ
563nobodyさん:2014/06/29(日) 16:32:16.95 ID:???
>>562
hmtを試すとは?

それとMySQLのバージョン違いでそんなに遅いもんなんですか?
Rails3.2.11を利用しています
564nobodyさん:2014/06/29(日) 16:42:22.31 ID:???
>>563
とは?じゃねーだろ
知らないならまずぐぐれ
565nobodyさん:2014/06/29(日) 16:50:28.46 ID:???
>>564
hmtだけでググりましたが
それだけだと抽象的な検索結果しか出てこなくて
何をどうhmtと紐づければいいか分かりません
566nobodyさん:2014/06/29(日) 16:52:52.42 ID:???
>>565
rails hmt でぐぐれ
567nobodyさん:2014/06/29(日) 17:13:52.73 ID:???
>>566
ありがとう。
rails hmtでググっても今回の件に該当するようなページが出てきませんでした。
rails hmt inも試しましたが同様・・・
568nobodyさん:2014/06/29(日) 17:15:44.15 ID:???
>>567
rails hmt でぐぐったんなら hmt とはなんぞや?が分かっただろう
だったら hmt を試すことはできるはずだ

分かってないのに言ってるなら今すぐ死ね
569nobodyさん:2014/06/29(日) 17:18:02.95 ID:FLtC2iyW
Railsライブラリ紹介: N+1問題を検出する「bullet」 TECHSCORE BLOG
http://www.techscore.com/blog/2012/12/25/rails%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E7%B4...
570nobodyさん:2014/06/29(日) 17:18:39.11 ID:FLtC2iyW
571nobodyさん:2014/06/29(日) 17:37:23.16 ID:???
Javascriptを使うのをやめろ:Railsの時代遅れ云々についての結論 - Qiita
http://qiita.com/kaiinui@github/items/dad6180f1910c6a4bfd5

Ruby - Railsが時代に合わなくなってきた - Qiita
http://qiita.com/kaiinui@github/items/2781219340d427543d08
572nobodyさん:2014/06/29(日) 17:54:43.82 ID:???
調べて分からないやつは死ね
Railsに触れるな
573nobodyさん:2014/06/29(日) 19:22:12.06 ID:???
hmtなんて誰も使わないような単語だしてドヤ顔とかほんとにレベル低いな
rails has_many throughでググるといいよ
574nobodyさん:2014/06/29(日) 20:38:51.70 ID:???
>>573
場違いな回答おつ!
575nobodyさん:2014/06/29(日) 21:29:38.05 ID:???
>>568,572
なんでRailsにはこう言う変なのが多いのかね?
N+1問題とか、Rails使わなきゃ絶対遭遇しないだろ。糞ライブラリで馬鹿みたいに隠蔽してっからんなザマになんだよ。

ということでRails終了。
576nobodyさん:2014/06/29(日) 21:31:02.84 ID:???
>>575
N+1問題はORM使ってたらどこにでも発生しうる問題
ActiveRecordに限った話でもなんでもない

ということで>>575はバカ
577nobodyさん:2014/06/29(日) 21:33:21.79 ID:???
>>566
r: ライオンが
a: あくびをしたら
i: いい感じ
l: LDKが
s: サバンナ状態

h: ハッハッハと笑いが止まらん
m: またこいつだよ例の奴だよ
t: とっとと消えろ
578nobodyさん:2014/06/29(日) 21:33:59.47 ID:???
特にRailsが、ひどいという話だが
579nobodyさん:2014/06/29(日) 21:35:50.69 ID:???
>>578
Hibernate N+1 でぐぐったらわらわら出てくるんですが
580nobodyさん:2014/06/29(日) 21:52:10.65 ID:???
O/Rマッパ使わなきゃいいだけの話では。生SQLでやれ
581nobodyさん:2014/06/29(日) 21:53:16.33 ID:???
>>573
ありがとうございます。hmtってhas_many throughの略だったんですね。。。。
ここでいうNumberテーブルは中間テーブルというわけではありません。
用途を具体的に言えば

User(会員)-Number(電話番号)-Community(携帯キャリア)
のようなかんじです

会員Aさん、Bさん、Cさんがいたとして

Aさんは ドコモ、ソフトバンクの携帯を所持。それぞれの番号(Number)が
090-1111-1111、090-2222-2222

Bさんは auとソフトバンクを所持。それぞれの番号(Number)が
090-3333-3333、090-4444-4444

Cさんは ドコモとauとソフトバンクを所持。それぞれの番号(Number)が
090-5555-5555、090-6666-6666、090-7777-7777

のようなかんじなので、どちらかというと
@numbers = @user.numbers(会員が持つ複数の電話番号一覧)だったり @numbers = @community.numbers(携帯キャリアごとの電話番号一覧) のような使い方をして
number(電話番号)をUserのshowページ)や、Communityのshowページで一覧して表示しています。

@communities = current_user.get_up_voted(Community)
ここでは @numbersを取得するので@numbers = @communities.codes.page(params[:page]).per(10)としても
「undefined method 'codes'」というエラーになりますね
582nobodyさん:2014/06/29(日) 21:55:02.72 ID:???
>>581
> ありがとうございます。hmtってhas_many throughの略だったんですね。。。。
rails hmt でぐぐればそれぐらい一発で分かる話なんだが、こいつほんとにぐぐったのかね?
583nobodyさん:2014/06/29(日) 22:03:21.92 ID:???
あーあ、こんなとこで電話番号晒しちゃって
584nobodyさん:2014/06/29(日) 22:50:31.90 ID:???
hmtって出るたびになんでこんなに荒れるん?
585nobodyさん:2014/06/29(日) 22:58:17.10 ID:???
>>584
多分概念的に若干難しいから手取り足取り教えて欲しい人にはハードルが高いからだろうね
586nobodyさん:2014/06/29(日) 23:14:55.78 ID:???
>>585
DBの人から見るとテンプレに載るほど簡単なレベルみたいだけど?
587nobodyさん:2014/06/29(日) 23:27:29.83 ID:???
>>586
SQLは上級者向け言語ですから(キリッ
588nobodyさん:2014/06/29(日) 23:29:56.46 ID:???
>>581を見ると一般的なhmtの使い方をしてなさそうだが
589nobodyさん:2014/06/30(月) 01:56:18.43 ID:???
>>571
要するにあほだな
590nobodyさん:2014/06/30(月) 07:20:11.22 ID:???
すべてはJSONになる

Google Apps Unscripted, March 14, 2014
https://www.youtube.com/watch?v=E1CzPtUKWkw

Apps Script Crash Course - Script Editor
https://www.youtube.com/watch?v=ezbH4IJynhU

Google I/O 2012 - Use What You Know: HTML and JavaScript in Apps Script
https://www.youtube.com/watch?v=tcl24asytos

Your First Script - Apps Script Tutorials
https://www.youtube.com/watch?v=Pgfbl_o9WvM
591nobodyさん:2014/06/30(月) 08:08:53.97 ID:???
>>584-588
一人でなにしてんの?
592nobodyさん:2014/06/30(月) 08:46:11.40 ID:???
一人だったんだ
593nobodyさん:2014/06/30(月) 08:50:39.79 ID:???
運用板で確認したらマジで一人の自演でくっそわろたwwwwwwwwww
594nobodyさん:2014/06/30(月) 09:34:06.17 ID:???
>>593
運用版みれるんだすごいな
595nobodyさん:2014/06/30(月) 11:13:18.26 ID:???
ニコ生に誰がどの生放送に対してコメントしているのかっていうのは全て保存されていて、誰でも検索出来ますっていう話*ホームページを作る人のネタ帳
http://b.hatena.ne.jp/entry/e0166.blog89.fc2.com/blog-entry-1174.html
596nobodyさん:2014/06/30(月) 12:17:09.64 ID:STnXsq+3
この板IDつかないのか
597nobodyさん:2014/06/30(月) 12:46:14.05 ID:???
sageなきゃつくよ
598nobodyさん:2014/06/30(月) 22:59:59.83 ID:???
application_helper内で
@user = User.find(1)
みたいにActiveRecordを使うのは無理なんかな?
599nobodyさん:2014/06/30(月) 23:02:37.59 ID:???
やってみりゃ分かるよ
600nobodyさん:2014/06/30(月) 23:38:51.22 ID:???
無理だった
なんで
601nobodyさん:2014/07/01(火) 01:08:38.25 ID:nJV1b0sU
php
602nobodyさん:2014/07/01(火) 01:54:38.36 ID:???
ぺちぱー
603nobodyさん:2014/07/01(火) 07:23:18.33 ID:???
>>600
「無理だった」だけじゃ理由なんてみんな分からんよ
604nobodyさん:2014/07/01(火) 12:57:15.67 ID:???
>>600
言葉遣いが悪くて、返答する気持ちが全然おきない。
605nobodyさん:2014/07/01(火) 20:55:47.96 ID:XzNxeXAu
>>581
has_namy through を使うと、>>558 は以下のようになるね
>>558 の Community: belongs_to User は謎)

Users:
 has_many Numbers
 has_many Communities through Numbers
Communities:
 has_many Numbers
 has_many Users through Numbers
Numbers:
 belongs_to Users
 belongs_to Communitys

詳しくは以下のページの「2.4 The has_many :through Association」を参照
・Active Record Associations - Ruby on Rails Guides
 http://guides.rubyonrails.org/association_basics.html
他にも様々な関連(アソシエーション)があるから、目的に合ったものを選ぶこと

で、Numbers の user_id と community_id にインデックスを設定すれば、
>>561 で示されたような(たかだか)数万件のデータ量であれば、
>>557 にあるような60秒の応答時間にはならないハズだけど....
もしも応答時間に変化が無ければ、Rails以外に問題があると思う
606nobodyさん:2014/07/03(木) 01:04:37.84 ID:???
JSON
607nobodyさん:2014/07/03(木) 01:09:59.72 ID:???
>>605
mysqlの問題だよ
5.6はわからんけど
5.5まではjoinとかサブクエリとかINとか使ったら遅くて使い物にならん
608nobodyさん:2014/07/03(木) 01:22:03.64 ID:???
じゃあバージョン上げりゃいいじゃん
609nobodyさん:2014/07/03(木) 21:27:15.30 ID:lAObJFwK
>>607
MySQL 5.5 のリリース開始が2011年頃で
しかも has_many through は
すでに Rails 1.0 で実装されていた
そんな3年前のありふれたソフト構成で、
たかが数万件の検索に数十秒を要する性能問題の原因が
MySQL にあるとは考えられない
610nobodyさん:2014/07/03(木) 23:01:26.64 ID:???
故にRailsは糞、だろ
611nobodyさん:2014/07/03(木) 23:04:48.64 ID:???
はいはい、お薬多めに処方しておきますね
612nobodyさん:2014/07/03(木) 23:33:56.46 ID:???
>>609
MySQLの遅いポイントは有名だけどよ。
そんな少ない件数で起きる話ではないよな。
613nobodyさん:2014/07/04(金) 00:51:43.59 ID:???
で?結論はなんなのよ
614nobodyさん:2014/07/04(金) 02:49:53.83 ID:???
MySQL vs Rails の対決が見れると聞いてやってきました
615nobodyさん:2014/07/04(金) 02:51:48.01 ID:???
このスレの殺伐感。たまんないね。
616nobodyさん:2014/07/04(金) 04:52:28.37 ID:iiWE9XVi
「新版リリースのたびに他製品を選ぶ理由が薄れる」--PostgreSQL開発者インタビュー(前編) - ZDNet Japan
http://b.hatena.ne.jp/entry/japan.zdnet.com/business-application/sp/35049207/


「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
617nobodyさん:2014/07/04(金) 14:38:22.00 ID:???
防蟻対策はどうすればよいのかと
618nobodyさん:2014/07/05(土) 06:16:25.08 ID:12HindV2
Boric bait
619nobodyさん:2014/07/05(土) 10:38:39.82 ID:???
mysqlよりはpostageのほうが今は人気だよね、でも今まで名だたるサイトがmysql使ってきたのに素人のおもちゃレベルのもので使えないほど遅くなるわけが無いよね
上の例に関しては適切にindex貼ってないだけだからrailsもmysqlも関係ないけどね
620nobodyさん:2014/07/05(土) 10:43:54.42 ID:???
mysqlで遅いって言ってるひとの大半は使い方を間違ってる
621nobodyさん:2014/07/05(土) 12:17:16.21 ID:???
mysqlって実装されてる機能の範囲では最速ってイメージだな
622nobodyさん:2014/07/05(土) 13:19:44.90 ID:???
index貼ってないとか、slow logに出るだろ。ひょっとしてexplainすらしてないのか?
623nobodyさん:2014/07/06(日) 01:31:33.21 ID:???
>>617
白蟻対策じゃなくて防蟻対策ということは、蟻側の視点で「どうやって防蟻剤を突破して家を食うのか?」ってこと?
624nobodyさん:2014/07/06(日) 08:27:50.77 ID:vvaN7WsG
私は仕事で古い(脆弱と言う人もいる)Webスクリプト言語(Perl)で書かれた多くのレガシーコードによるWebベースのサービスを扱っている。
Mooseのような新しい拡張を使ってはいるものの、この言語は柔軟性に欠けていると感じる。
レガシーコードのサポートを避けることはできないので、当分はサポートを続ける予定にしているが、
新たに開発するものに関しては、もっと現代的でWebアプリケーションに使われている言語を使いたいと思う。
フレームワークごと変えてしまってもいい。
http://developers.slashdot.jp/story/14/07/05/0819214/
625nobodyさん:2014/07/06(日) 09:26:17.63 ID:???
MySQLクラスタリングで、32GBのサーバー10台に分散しているシステムが、ioDriveを使うと1台でおさまったりするので、コスト効果もいい。
http://internet.watch.impress.co.jp/docs/special/20120731_549042.html
626nobodyさん:2014/07/06(日) 11:10:11.87 ID:???
ミクシィでの事例

変更前
数百台のデータベース
変更後
1/10の数十台に減りました

http://kaworu.jpn.org/kaworu/2013-01-23-1.php
627nobodyさん:2014/07/06(日) 11:44:10.99 ID:???
いいぞ、もっと貼れ
628nobodyさん:2014/07/06(日) 14:13:48.68 ID:???
客も減りました
629nobodyさん:2014/07/06(日) 16:06:21.06 ID:???
Farewell Node.js (翻訳) - from scratch
http://yosuke-furukawa.hatenablog.com/entry/2014/07/06/094617
630nobodyさん:2014/07/07(月) 06:18:26.99 ID:???
開発者も減りました
631nobodyさん:2014/07/07(月) 19:40:39.69 ID:???
SQLインジェクションの脆弱性キタ━(゚∀゚)━!
632nobodyさん:2014/07/07(月) 21:32:29.54 ID:???
インジェクションて?
633nobodyさん:2014/07/07(月) 21:42:16.11 ID:???
productionモードではhttp://admin.hoge.com/index
developmentモードではhttp://localhost:3000/admin/indexというルートを作りたいんです

■route.rb
require 'subdomain/admin''
constraints Subdomain::Admin do
namespace :admin, path: Subdomain::Admin.path do
get 'index' => 'bar#index'
end
end

■lib/subdomain/admin.rb
module Subdomain
class Api
def self.matches?(request)
if Rails.env.production?
request.subdomain == "api"
else
request.subdomain.blank?
end
end
def self.path
"api" unless Rails.env.production?
end
end
end


この状態でRails_Env=developmentとRails_Env=productionつけてrake routesすると期待通りの結果になるのですが、
いざhttp://localhost:3000/api/indexにアクセスしたら「uninitialized constant Api」と出てきます…。
bar_controllerにApi::つけたり、app/controller/apiに配置したりしても駄目でした。
どうすればいいのでしょうか?
634見にくいのでインデントつけました:2014/07/07(月) 21:44:27.53 ID:???
productionモードではhttp://admin.hoge.com/index
developmentモードではhttp://localhost:3000/admin/indexというルートを作りたいんです

■route.rb
require 'subdomain/admin''
constraints Subdomain::Admin do
 namespace :admin, path: Subdomain::Admin.path do
  get 'index' => 'bar#index'
 end
end

■lib/subdomain/admin.rb
module Subdomain
 class Api
  def self.matches?(request)
   if Rails.env.production?
    request.subdomain == "api"
   else
    request.subdomain.blank?
   end
  end
  def self.path
   "api" unless Rails.env.production?
  end
 end
end


この状態でRails_Env=developmentとRails_Env=productionつけてrake routesすると期待通りの結果になるのですが、
いざhttp://localhost:3000/api/indexにアクセスしたら「uninitialized constant Api」と出てきます…。
bar_controllerにApi::つけたり、app/controller/apiに配置したりしても駄目でした。
どうすればいいのでしょうか?
635nobodyさん:2014/07/07(月) 22:35:18.31 ID:???
>>634
Rails は勝手に admin.rb を読んだりはしない
読むようにさせるには
・auto_load の仕組みが働くように規約に沿ったファイル名で規約に沿った位置に置く
・config/application.rb などで require で読む
のどちらか
636nobodyさん:2014/07/08(火) 01:50:17.32 ID:???
>>635
ありがとうございました。
637nobodyさん:2014/07/08(火) 12:00:32.32 ID:???
天安門事件
638nobodyさん:2014/07/08(火) 13:08:22.16 ID:???
ここは日本の掲示版です。
639nobodyさん:2014/07/08(火) 20:31:54.04 ID:???
"Entry"というモデル名をさける
http://www.ustream.tv/recorded/25419544

Enumerable#entries
http://ruby-doc.org/core-1.9.3/Enumerable.html
640nobodyさん:2014/07/09(水) 00:42:40.56 ID:HDQ993Cd
http://qiita.com/toyoshi/items/052b861c618831ea6e64

部分テンプレートで複数のラベル群を作ると一意性がなくなって、混線しちゃいます。
label forで1,2,3,4とあって、input valueで1,2,3,4とあるとき、1setだったら良いのですが、
1,2,3,4のセットが複数出来る時、各自の中で動いてくれません。
各セットのlabel for やinput valueの1,2,3,4にたとえば投稿のIDなどをくっつけて、987-1,987-2などのようにしたいのですが、
その生成の仕方を知りません。ヘルパーメソッドとかではなく、自然体の書き方としてそういったやり方が用意されているなら知りたいです。
宜しくお願いします
641nobodyさん:2014/07/09(水) 01:51:58.32 ID:???
>>640
なるほど、参考になります。もっと貼ってください
642nobodyさん:2014/07/09(水) 01:53:25.24 ID:???
天安門事件
天安門広場
文化大革命
643nobodyさん:2014/07/09(水) 02:13:20.30 ID:HDQ993Cd
>>641
いやいや、私も道半ばの人間でして、ここで質問させてもらってるのです
でもついでにお役にたてるなら幸いですが
644nobodyさん:2014/07/13(日) 20:52:54.97 ID:???
Ruby on Roadsってどうですか?
645nobodyさん:2014/07/14(月) 09:03:57.62 ID:???
多分バグだと思うけど英語出来ないから誰か詳しい人任せる


Rails3.2.18
text = "abcdefg"
text = text.html_safe
text = text.gsub(/cd(.+)/){
$1
}
puts text #=> ab

.html_safeした後にgsubすると$1の中身が空になるscanだとちゃんととれた
html_safeの順番を後に回すときちんと動く

text = "abcdefg"
text = text.gsub(/cd(.+)/){
$1
}
text = text.html_safe
puts text #=> abefg
646nobodyさん:2014/07/14(月) 23:08:44.29 ID:NZMg5fD+
>>645

https://github.com/rails/rails/issues/1555 に出てた。

AS::SafeBufferはStringのサブクラスなので、ほとんどのメソッドは
Stringのそれと同様に動く。

一部の、文字列を加工して返すメソッド(gsubを含む)は、
#to_str で得られた文字列に実操作を委譲するようになっている。
(これにより、unsafeなStringが返る)
加工した結果がタグを含んでしまう可能性があるからだろうね。

で、 $1 はローカル変数なので、SafeBuffer#gsubのブロックと
移譲先のString#gsub内のそれは別物になってしまう。

バグというか、不便だけど言語上の制約と割り切るしかなさそう。
647nobodyさん:2014/07/14(月) 23:36:06.76 ID:???
>>646
わざわざありがとうございます
言ってることはちっともわかりませんが直ることは無さそうということで諦めて違う方法考えます!
648nobodyさん:2014/07/15(火) 03:57:15.59 ID:lCP2M1NV
予約システムを作っていますが、日本語・英語で参考になるサイトを知っている方はいますか?
649nobodyさん:2014/07/15(火) 07:09:21.95 ID:???
>>648
もうちょっとスレに沿ったレベルまで噛み砕いてからおいで
650nobodyさん:2014/07/15(火) 19:48:09.35 ID:lCP2M1NV
>>649
明らかに作ったことなさそうだね
君みたいなレべルの人間は黙ってていいよ
651nobodyさん:2014/07/15(火) 20:05:39.19 ID:???
やはりいつもの煽り教えて君でしたとさ
652nobodyさん:2014/07/15(火) 20:08:38.56 ID:lCP2M1NV

君が教えれるレベルとも思わないし、私が君に教わるレベルでもないと思うよw
開発したことある人なら参考になるサイトを見ている可能性があるから、聞いてみたまでで、君のように開発したこともなく英語も読めなさそうな人には当てはまらない質問なんだけどね〜
まぁ頑張って生活してちょw
653nobodyさん:2014/07/15(火) 21:52:52.68 ID:???
>>648
またお前か、つまんねーよ。けえれ
654nobodyさん:2014/07/15(火) 21:53:43.32 ID:???
なんとこのスレでNG登録したったwww
655nobodyさん:2014/07/15(火) 21:54:16.28 ID:???
>>655
この悔しがりようWwwww
656nobodyさん:2014/07/15(火) 22:24:25.17 ID:???
キタ━━━━(゚∀゚)━━━━!!
もっと貼ってくれ
657nobodyさん:2014/07/15(火) 23:11:04.07 ID:???
煽り方がワンパターンだな。
658nobodyさん:2014/07/16(水) 09:29:52.66 ID:???
さあ、いつものように荒れてまいりました。やっぱrorスレはこうでなくては。
659nobodyさん
Qiitaってサイトがあって
1.記事にタグがつけられる
2.登録者はタグと他のユーザーをフォローして更新を追える
仕組みになってるみたいなんだけど
タグとフォロしてるユーザーその両方のItemを一気にとってくるのってどうやってんだろう

Kaminariつかってるとして
タグはacts_as_taggableで実装してるとして
Itemsってのが記事だとして
FollowモデルとFollowTagモデルがあるとして
■Follow follow_id follower_id
■FollowTag user_id tag_name


ちょっと思いついたのが
tags = current_user.follow_tags.pluck(:tag_name)
tag_items = Items.tagged_with(tags, any: true).pluck(:id)

follows = current_user.follows.pluck(:id)
follow_items = Items.where(user_id: follows).pluck(:id)

@item_list = Items.where(id: tag_items + follow_items).page(params[:page]).per(20)

こんな感じなんだけどさすがに煩雑すぎるしもっとスマートな方法があると思うんだが何かいいやりかたしりません?