トップページ⇒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
0283nobodyさん2014/04/18(金) 00:39:33.69ID:???
こんなブログ記事があったのだが

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

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

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

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

いきなりRailsをやるより、PHPとApacheで素のWEBアプリをまず作ったり
した後の方がRailsのありがたみが良くわかるんじゃないだろうか。
0286nobodyさん2014/04/18(金) 12:10:11.41ID:???
>>285
Rails使わずにRubyでWEBアプリならまだしも、PHPはちょっと
0287nobodyさん2014/04/18(金) 14:11:40.28ID:???
>>283
それ、後の方の巻で出てくるソフト開発の描画が酷かったやつだな。
0288nobodyさん2014/04/18(金) 19:51:14.01ID:HvjAAhgy
http://www.hoge.com/index.html&;q=パラメーター

より

http://www.hoge.com/index/パラメーター

のほうがSEOはいいのでしょうか?
0289nobodyさん2014/04/18(金) 20:36:48.22ID:???
>>286
素のRubyとの比較だと、やっぱりPHPの方が何かと簡単だ(例えばSessionとか)。
個人的には、Rackから始めるのがいいと思うが、Rackを入り口に扱っている情報ってあんまりないよね。
0290nobodyさん2014/04/19(土) 16:05:29.73ID:h92l0Mdq
>>288

Web制作板のスレタイを SEO で探したほうが答えが手に入る可能性が高い
0291あ2014/04/20(日) 19:26:42.59ID:???
Google
パンダアップデート
ペンギンアップデート
0292nobodyさん2014/04/23(水) 01:16:16.25ID:dat1Z6dq
お気に入り機能の実装ってどういう感じでやってますか?
0293nobodyさん2014/04/23(水) 09:41:35.29ID:???
favorite rails site:stackoverflow.com

https://www.google.co.jp/search?num=100&;q=favorite+rails%E3%80%80site%3Astackoverflow.com
0294nobodyさん2014/04/24(木) 01:05:04.94ID: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はセレクトボックス、新規作成の場合はテキストボックスなどでわけられるのが理想なのですが・・・
0295あ2014/04/24(木) 09:03:50.11ID:???
ASCII.jp:開発者はビットコイン採掘を狙うハッカーに備えて Amazon の請求書を確認すべき
オーストラリアのセキュリティ専門家が先月に実施したGitHubの検索では、約1万件のAWS 認証情報が発見されている。
http://ascii.jp/elem/000/000/886/886650/
0296nobodyさん2014/04/24(木) 12:42:49.45ID:???
>>294
taggingはproductに毎回付随していて、tagは全てのタグの一覧と言う認識でOK?
それならfields_forで入力させるのはtaggingで、taggingを保存する際にafter_saveで
そのタグが新規かどうかを判定して新規ならtagsを保存すればいいんじゃないのかな

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

ただし fields_forで:taggingを指定しても出てこないです・・・。
0298294, 2972014/04/24(木) 20:10:06.47ID:???
ループで回してnew_record?で判定することにしました
ありがとうございました。
0299あ2014/04/25(金) 16:27:02.89ID:???
国内セキュリティ企業が相次いで注意喚起: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/
0300nobodyさん2014/04/25(金) 20:15:36.90ID:???
Ruby on Railsで作られた有名サイトの紹介 | PbTimes 情報誌
http://pb-times.jp/P_529d87c5b28d6
0301nobodyさん2014/04/29(火) 16:24:14.83ID:???
最近はじめたのですが、scaffoldってデータの管理画面を作るものって考えであってますか?
0302あ2014/04/29(火) 20:13:42.89ID:???
CRUD(クラッド)とは、ほとんど全てのコンピュータソフトウェアが持つ永続性[1]の4つの基本機能のイニシャルを並べた用語。
その4つとは、
Create(生成)、
Read(読み取り)、
Update(更新)、
Delete(削除)である。
ユーザインタフェースが備えるべき機能(情報の参照/検索/更新)を指す用語としても使われる。

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

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

(研究社 新英和大辞典 第6版から引用)
0304nobodyさん2014/04/30(水) 14:47:16.19ID:???
>>301
ぶっちゃけ商用レベルで管理画面作る時は使わない
手軽にRESTfulなMVCモデルを作れるものくらいの認識
0305nobodyさん2014/04/30(水) 22:15:24.71ID:CrhybghX
>>303-304
なるほど、thx!
0306あ2014/05/07(水) 01:41:55.35ID:???
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/
0307nobodyさん2014/05/07(水) 22:53:01.45ID:???
Hoge.find(:all, include: :fuga)


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

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

self.class.nameがnilです。

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

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

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

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

@instance = nil
@instance = Model.new

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

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

グーグルだけでもいけちゃいますかね?
0351nobodyさん2014/06/01(日) 19:47:49.55ID:???
なんというザックリな質問
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の実行計画を見るのは定石
■ このスレッドは過去ログ倉庫に格納されています