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

【RoR】Ruby on Rails Part18

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2014/01/11(土) 20:04:00.68ID:???
前
http://kohada.2ch.net/test/read.cgi/php/1382097427/
http://unkar.org/r/php/1382097427/

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

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

http://doc.ruby-lang.org/ja/1.9.3/doc/index.html
0352nobodyさん2014/06/02(月) 01:04:22.83ID:cdjAC42f
>>351
すんません。ざっくりとしかイメージがわいていないのでw
国内対応だけだったら駅と緯度経度データベース作って、距離検索でしょうけど。グーグルとかの最寄駅はどういうアルゴで出るのかね。
海外対応までしようと思ったらグーグル使わんとにっちもさっちもいかんのか。
経験者がいれば、ざっくりとした回答が欲しかった
0353nobodyさん2014/06/02(月) 17:13:24.71ID:???
現在位置とズーム量から
表示中のランドマーク取得でいけそう
0354nobodyさん2014/06/02(月) 21:41:15.02ID: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>
0355nobodyさん2014/06/03(火) 08:00:47.64ID:???
> labelのブロックで色々大きさとか調節したい
すればいいじゃん
0356nobodyさん2014/06/03(火) 08:59:59.19ID:???
新しいプログラミング言語 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
0357nobodyさん2014/06/03(火) 12:38:52.70ID:???
Swiftがキモい件はがいしゅつです
0358nobodyさん2014/06/03(火) 17:17:13.70ID:???
Rspecでエンドツーテストをする際、
コントローラのメソッドから特定の返り値を取得したいのですが、
stubを使って書く際のObjectをどのように指定したら良いか分かりません。

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

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

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

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

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

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

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

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

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

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

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

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


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

初ユーザーが訪問
↓
Facebookアカウントで登録ログイン
↓
トークンごしに取得できたauth['name']など
ユーザーの各種情報を利用して
Userレコードを追加(メール認証しなくてオーケー)

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

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

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

しかし糞重い

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


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

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

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


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

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

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

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

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

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

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

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


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

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

重いページだと3000ms以上
どうなってんだー
0388nobodyさん2014/06/12(木) 09:36:29.91ID: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
0389nobodyさん2014/06/12(木) 10:39:48.53ID:???
>>388
ミスリーディングってやつか
0390nobodyさん2014/06/13(金) 10:36:58.72ID:???
image tag使うと
出力時になぜか

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

>>413
SQLでもパフォーマンスを出すためにはテクニックが必要なように、
ActiveRecordもパフォーマンスを出すにはそれなりのコツは要るね
0416nobodyさん2014/06/14(土) 14:42:10.53ID:???
丁度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>
0417nobodyさん2014/06/14(土) 14:47:48.74ID:???
>>416
細かくは見てないが N+1 問題じゃなかろうか
詳しくはぐぐればいっぱい出てくる
0418nobodyさん2014/06/14(土) 14:48:14.31ID:???
>>415
mysqlでlibmysql以外のC実装のものを教えてください
0419nobodyさん2014/06/14(土) 14:53:41.79ID:???
>>417
include付ければいいだけってこと?
0420nobodyさん2014/06/14(土) 14:55:44.27ID:???
>>419
もし N+1 問題が原因ならね
0421nobodyさん2014/06/14(土) 14:57:11.55ID:???
>>416
まずはログを見よう
そして原因を突き止めるのが先決だ
0422nobodyさん2014/06/14(土) 15:04:12.96ID:???
>>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
0423nobodyさん2014/06/14(土) 15:13:23.21ID:???
>>418
俺も興味ある

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

herokuが理由かね?
0427nobodyさん2014/06/15(日) 06:42:29.71ID:4wiy7qvn
「新版リリースのたびに他製品を選ぶ理由が薄れる」--PostgreSQL開発者インタビュー(前編) - ZDNet Japan
http://b.hatena.ne.jp/entry/japan.zdnet.com/business-application/sp/35049207/
0428nobodyさん2014/06/15(日) 18:32:22.22ID:???
「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
0429nobodyさん2014/06/15(日) 18:34:46.84ID:???
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の対応の違い
0430nobodyさん2014/06/15(日) 21:18:37.12ID:???
mysqlはphpが大好きでphpにだけ特権を与えてるのは有名な話

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

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

model

 ・admin
 ・operator

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



 ・human
 ・dog
 ・bird

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

ちゃんと説明できてますでしょうか。。
0437nobodyさん2014/06/16(月) 20:10:14.89ID:???
ふげー分かりにくい説明だ
0438nobodyさん2014/06/16(月) 20:50:56.20ID:???
Twitterで言う通知メール(フォローされましたとか)をいい感じにラップしたgemないですか?
一個一個送信処理書けばそれでいいってのはそうなんですが
0439nobodyさん2014/06/17(火) 02:21:46.07ID:/dvue0X5
rails4.1+rspecのプロジェクトで初めてGuardをやって見てるんだけど、
ただINFO:Runnningテストファイル名しか表示されなくて、肝心のテスト結果がわからないんだけど、
これってどういうことなの?
0440nobodyさん2014/06/17(火) 11:52:40.62ID:???
受託開発でmysql2を使っているのですが
何かライセンス問題があるのでしょうか?
MITライセンスですよ
0441nobodyさん2014/06/17(火) 13:09:28.88ID:???
>>440
http://nippondanji.blogspot.jp/2009/05/foss-license-exception.html
0442nobodyさん2014/06/17(火) 23:45:27.91ID:???
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")
こういうふうに取得してるんですが取得するデータが増えてくるとめちゃくちゃ重くなります
0443nobodyさん2014/06/17(火) 23:52:47.83ID:???
>>442
log見れば発行されてるSQLが出てるので、それを持ってDB板へGo!
0444nobodyさん2014/06/18(水) 00:03:18.88ID:???
>>443
ありがとうございます行ってみます
0445nobodyさん2014/06/18(水) 08:48:35.40ID:???
ひどい誘導だ
0446nobodyさん2014/06/18(水) 11:01:55.47ID:???
>>441
受託開発でもmysqlを使用するだけであればライセンスは問題ないと思っていました

大体をライセンス譲渡としているので問題なさそうです。他はGPLにすれば良さそうです。無理ならばmysql2をやめる選択でしょうか
0447nobodyさん2014/06/18(水) 12:03:49.47ID:???
>>442
答えが>>388に載ってる
0448nobodyさん2014/06/18(水) 15:16:09.61ID:???
>>447
DBでやってることとRedisでやってることを同一視してそれで解決ってアホか
0449nobodyさん2014/06/18(水) 15:32:05.66ID:???
つまり、
- 8台のSun X4100s
- 16GBの memcached
で解決かw
0450nobodyさん2014/06/18(水) 15:33:31.99ID:???
これ遅いんだけど→スパコン使えばいい(ドヤ顔
こんなレベル
0451nobodyさん2014/06/18(水) 17:50:58.41ID:???
ぶっちゃけカリカリにチューニングするために人雇うより金で鯖買ったほうが安いことはよくある
■ このスレッドは過去ログ倉庫に格納されています