【RoR】Ruby on Rails Part14
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/02/18(土) 00:34:00.31ID:9HHBFqZRhttp://kohada.2ch.net/test/read.cgi/php/1320393984/
■参考サイト
<英語>
本家: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://find.2ch.net/?STR=heroku&COUNT=10&TYPE=TITLE&BBS=ALL
0607603
2012/06/05(火) 14:59:38.92ID:pT0r+J4+まさに acts_as_paranoid を利用している上での問題なのです
>>605
今回の問題の解決にはなってくれないです。。。
>>606
過去のデータはデータして、保持しておかなければならないのです
「削除」されたものが「復活する」というわけではないので
0608nobodyさん
2012/06/05(火) 15:29:31.12ID:???じゃあ604に書いてあるようにdeleted_atとの複合キーでいいのでは
0610nobodyさん
2012/06/05(火) 23:38:01.16ID:???簡単です。deleted_at = nilです。
http://d.hatena.ne.jp/fujisan3776/20080912/1221234453
0611nobodyさん
2012/06/05(火) 23:39:58.17ID:???0612nobodyさん
2012/06/07(木) 15:55:10.86ID:WYfp+i9gを実行すると
3.2.5の空フォルダが出来てしまうなんでだろう〜?
中身が無いから実行できないし
(?_?)
0613nobodyさん
2012/06/09(土) 14:05:34.03ID:???0614nobodyさん
2012/06/10(日) 01:28:42.93ID:wsZB405H$ rake db:migrate
を実行すると
Could not find builder-3.0.0 in any of the sources
Run `bundle install` to install missing gems.
エラーになってしまいます…
$ bundle show builder
/Library/Ruby/Gems/1.8/gems/builder-3.0.0
と表示され、
Gemfileに
gem 'builder'
と書いて
$ bundle install
を実行してもダメです…
先輩方、ご教授いただけませんでしょうかm(__)m
0615nobodyさん
2012/06/10(日) 06:39:17.19ID:???未だにフラグメントキャッシュ?だっけは一定時間で削除はデフォで出来ない?
Memchashed入れるほどじゃないしょぼいサービスなんだけど
0617614
2012/06/10(日) 10:23:57.67ID:wsZB405H特にエラーは出ていません…
$ bundle install
Using rake (0.9.2.2)
Using i18n (0.6.0)
Using multi_json (1.3.6)
Using activesupport (3.2.5)
Using builder (3.0.0)
Using activemodel (3.2.5)
Using erubis (2.7.0)
…
…
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
0618614
2012/06/10(日) 10:25:02.67ID:wsZB405H$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0]
$ rails -v
Rails 3.2.5
$ gem -v
1.8.23
0619nobodyさん
2012/06/10(日) 10:31:28.84ID:2NK7wsgm> ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0]
これはどうやっていれたの?
> $ bundle show builder
> /Library/Ruby/Gems/1.8/gems/builder-3.0.0
> と表示され、
これはOSXのシステムgemのインストール位置で、¥
使うRubyは/usr/bin/ruby
(ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0])
ということで、builderをインストールするときのrubyとrailsやbundlerを
実行しているrubyが違う。ライブラリのインストール先として見ている
場所も違う。
0620あ
2012/06/10(日) 10:47:42.32ID:???0621614
2012/06/10(日) 10:53:50.59ID:wsZB405H> ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0]
> > これはどうやっていれたの?
デフォルトで入っているruby 1.8.7のバージョンを上げたくて、
ググりながら試行錯誤していました…。
ターミナルの履歴を確認したところ、下記コマンドでインストールしておりました。
$ brew install ruby
$ rbenv versions
1.9.3-p194
$ rbenv global 1.9.3-p194
0622nobodyさん
2012/06/10(日) 11:16:36.31ID:2NK7wsgm両方はいらないからどっちか外そう。
0623nobodyさん
2012/06/10(日) 11:49:16.37ID:???1. システムに元から入ってた1.8系。どうも bundlerはこっちを見てるっぽい。
2. homebrewで入れたもの。/usr/localにいるはず。使われてるか不明
3. rbenv のもの
まず、
$ which ruby
をして、どこのrubyを使ってるか調べて。
あと、
$ which rake
$ which rails
これも見て。
0624あ
2012/06/10(日) 12:23:30.52ID:???http://middlemanapp.com/
0625614
2012/06/10(日) 12:43:21.42ID:wsZB405Hおっしゃるとおり、3つrubyが入っていました…
> $ which ruby
> をして、どこのrubyを使ってるか調べて。
$ which ruby
/Users/ユーザー名/.rbenv/shims/ruby
$ which rake
/Users/ユーザー名/.rbenv/shims/rake
$ which rails
/usr/bin/rails
お手数おかけし申し訳ありません。
0626nobodyさん
2012/06/10(日) 13:53:02.10ID:???$ gem install rails
してから、プロジェクトのホームで
$ bundle install
したら良いよ。
0627nobodyさん
2012/06/10(日) 13:59:23.30ID:???$ gem install bundler
$ bundle install
で。
0628614
2012/06/10(日) 15:53:09.54ID:wsZB405H> してから、プロジェクトのホームで
> $ bundle install
こちらを実行後、再度 rake db:migrate を実行したところ
$ rake db:migrate
Could not find execjs-1.4.0 in any of the sources
Run `bundle install` to install missing gems.
最初とは異なるエラーがでました。
$ which rails
/usr/bin/rails
こちらが変わっていないのが原因でしょうか…
0629nobodyさん
2012/06/10(日) 16:03:45.91ID:2NK7wsgm0630614
2012/06/10(日) 16:46:59.93ID:wsZB405H$ rbenv rehash
$ which rails
/Users/ユーザー名/.rbenv/shims/rails
に変わりました!
ですが…
> $ rake db:migrate
> Could not find execjs-1.4.0 in any of the sources
> Run `bundle install` to install missing gems.
こちらのエラーは変わらず、
下記URLを見てみると
http://localhost:3000/rails/info/properties
Ruby version 1.8.7 (universal-darwin11.0)
Railsが古い方のrubyを使ってしまっている(?)ということでしょうか…(? _ ?)
0631nobodyさん
2012/06/10(日) 17:03:24.71ID:2NK7wsgm参照している場所にgemをインストールしただろうから、その前提が変わった
今はインストールしてないのと同じ。というわけで、もう一回bundle installじゃね?
0632nobodyさん
2012/06/10(日) 17:42:49.02ID:???@entries = Entry.where().page().per()
としてページングできるのはいいのですが、
where()などのSQL発行するメソッド以外のロジックを挟みたい場合はどうすればいいのでしょうか。
具体的には、
class Entry < ActiveRecord::Base
def published
end
end
のようなメソッドがあったとして、
@entries = Entry.where()
@entries.each do |entry|
entry.publishedがfalseを返すものを@entriesから省く処理
end
@entries.page().per()
のようにしたいのですが、これでは勿論上手くいきません。
0633nobodyさん
2012/06/10(日) 18:59:51.08ID:???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
0634nobodyさん
2012/06/10(日) 19:24:10.32ID:???published が DBに入ってないのが変。
カラム増やすなり何なりしたら?
kaminariはwhereで絞るタイプ。
どうしても各オブジェクトにメソッドを投げて、その結果を使わなければいけないなら、
find_each(だったかな?)で回して、自分で作るという手もなくはない。
0635nobodyさん
2012/06/10(日) 20:22:56.26ID:???http://d.hatena.ne.jp/suginoy/20120605/p3
0636614
2012/06/10(日) 21:46:05.37ID:wsZB405H大変勉強になりました、ありがとうございますm(__)m
0637nobodyさん
2012/06/11(月) 09:53:02.91ID:???http://aws.typepad.com/aws_japan/2011/07/introducing-the-aws-sdk-for-ruby.html
b = Bookmark.new(
:title => 'Amazon EC2',
:url => 'http://aws.amazon.com/ec2',
:tags => [ 'aws', 'cloud', 'compute'])
b.save
0638nobodyさん
2012/06/11(月) 10:10:03.55ID:???どんな気持ち?
一つの言語さえ極めれば、それでいいと、やっと思えてきた?
0639nobodyさん
2012/06/11(月) 10:17:08.80ID:???将棋の先読み能力にも似てる。
人間の能力で全パターンを読み切るのは不可能で
直感力とそれを論理的に逆算できる力が必要である
0640nobodyさん
2012/06/11(月) 10:18:25.36ID:???0641nobodyさん
2012/06/11(月) 10:20:57.95ID:???Unlimited Novelty: Ruby is faster than Python, PHP, and Perl
http://b.hatena.ne.jp/entry/www.unlimitednovelty.com/2012/06/ruby-is-faster-than-python-php-and-perl.html
0642nobodyさん
2012/06/11(月) 12:57:17.15ID:???0643nobodyさん
2012/06/11(月) 13:11:26.10ID:???1個覚えりゃ他覚えるのなんて誤差だぞ?
趣味でやってるならともかく仕事でやってるんだとするとちょっとやばいよ。
0644nobodyさん
2012/06/11(月) 13:45:21.68ID:???じゃあ非効率じゃん。どや
0645nobodyさん
2012/06/11(月) 13:47:43.20ID:???パッと見て、気になったら少し書いてみて、あっそうで終わりでしょ
大体そんなに違いないんだからさ
仕事でやる事になったらリファレンス片手にやれば良いだけだし
全部覚えるのは無駄
0646nobodyさん
2012/06/11(月) 13:55:59.39ID:???つまり学習してるということだ。
どや
0647nobodyさん
2012/06/11(月) 15:29:56.58ID:???0649nobodyさん
2012/06/11(月) 17:03:20.42ID:mmR39KjoRailsにはやらないと決めた機能ですとか、却下した余計な装飾品ですとか、そういうのがたくさんあるんですが、
Railsにある20%のソリューションで問題の80%を解決できるようにしています。
http://capsctrl.que.jp/kdmsnr/wiki/transl/?AnInterviewWithDHH
0650nobodyさん
2012/06/11(月) 17:54:50.68ID:???言語特有の文化はある程度使っていくまで分からないだろうけど
それが無理ならプログラミング自体初心者だと思うからまずはひとつの言語をしっかりやればいいと思う
0651nobodyさん
2012/06/11(月) 18:25:45.29ID:???lisp だの haskell 覚えるのしんどいとかならともかく
0652nobodyさん
2012/06/11(月) 18:57:01.21ID:???という部分はやはりある程度時間をかけて慣れ親しまないと難しいよね
0653nobodyさん
2012/06/11(月) 20:43:03.88ID:???お前らの瞬間記憶スコアいくらよ
http://www.p-game.jp/game48/
0654nobodyさん
2012/06/11(月) 20:51:41.74ID:???みんなの迷惑になるんでさっさと違う仕事に就いてください
0655nobodyさん
2012/06/11(月) 21:05:59.64ID:???0656nobodyさん
2012/06/12(火) 01:24:20.88ID:???どうすれば覚えたと言えるのかっていうことだよな。
ここの認識の違いが非常に大きくて、
お互い確認することも少ない(自分のレベルを晒すことに近いので)から、
この手の話は噛み合わないと思う。
0657nobodyさん
2012/06/12(火) 07:19:42.13ID:4FDpxqXChttp://www.yamdas.org/column/technique/21-daysj.html
0658nobodyさん
2012/06/12(火) 10:02:50.45ID:???成功や失敗から学ぶ時間などありはしない。
rubyなら最低10年やってから、覚えたといえ。
0660nobodyさん
2012/06/12(火) 10:32:47.48ID:???それはアルゴリズムの話なら言語に依存しない知識だし
使うライブラリの話ならググるだけだろ
>>653
同じパラダイムの言語を知っていればほとんどはマッピングの違いに過ぎないからすぐ分かる
つまり多くの言語を知っている人ほど新しい言語を学ぶのが早いわけだよ
0661nobodyさん
2012/06/12(火) 11:00:56.51ID:???> 使うライブラリの話ならググるだけだろ
Tipsというのかな
たとえば、Javaでファイルを読み書きする場合とか、
FileReader/FileInputStream/BufferedReader/BufferedInputStream などを
ケースバイケースで使い分けるが、それぞれの使い方はぐぐるだけではだめで、ぐぐった後
リファレンスを読んで、それぞれのクラスがどういう働きなのかを胃の腑に落とすという作業を
普通はやるよな?
(まさかサンプルコピーで済ませようなんて考える奴はこのスレにはいないだろう)
そういう作業を様々な問題に対して行うことで初めて身についたと言えるのではないか
0663nobodyさん
2012/06/12(火) 15:48:05.72ID:???>>661
一回使えばわかるでしょ?それって敷居高い行為か???
つうかググんなよ。リファレンス直接あたれば正しい使い方しっかり書いてあるじゃん。
0664nobodyさん
2012/06/12(火) 17:08:50.39ID:???0665nobodyさん
2012/06/12(火) 21:02:38.59ID:???SOVだったらドイツ語話せないヨーロッパ人続出だわ。
0666nobodyさん
2012/06/12(火) 21:12:46.77ID:???ちょっとリファレンス読めば出来るだとか
わかったふりするのやめれば?
0667nobodyさん
2012/06/12(火) 21:19:08.49ID:???0670nobodyさん
2012/06/12(火) 21:24:17.34ID:???そっと閉じればいいのよ?
0673nobodyさん
2012/06/12(火) 21:51:49.81ID:???がんばれよ
0674nobodyさん
2012/06/12(火) 21:55:39.81ID:???0675nobodyさん
2012/06/12(火) 22:05:01.21ID:???0676nobodyさん
2012/06/12(火) 22:48:30.66ID:???問題はひとつじゃなくて、色々あるんだよ
Rails使ってて、「あれ、こういうことしたいんだけどどうすりゃいいんだろう…」ってこと、一度や二度じゃないだろ
その度にぐぐったりリファレンスやRails Guides当たったりして、解決して成長してんだろ
そういう成長がないんだとしたら、そんなもん捨てちまえ
余談
どこかの誰かが言ってたが、PHPはそういう成長を感じられにくいから嫌われるんだ、と
さもありなん、と思った記憶がある
0677nobodyさん
2012/06/12(火) 23:02:42.47ID:???0678nobodyさん
2012/06/13(水) 09:42:01.46ID:???http://weblog.rubyonrails.org/2012/6/12/ann-rails-3-2-6-has-been-released/
0679nobodyさん
2012/06/13(水) 16:15:34.42ID:???oss-sec: Ruby on Rails SQL Injection (CVE-2012-2695)
http://b.hatena.ne.jp/entry/seclists.org/oss-sec/2012/q2/504
0680nobodyさん
2012/06/14(木) 08:32:48.01ID:???http://blog.newrelic.com/2012/06/13/new-relic-redmonk-state-of-the-stack/?utm_term=stateofthestack&mpc=BA-NEWS-RPM-en-100-redmonk-stateofthestack
0681nobodyさん
2012/06/14(木) 10:02:44.56ID:???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
トランザクション処理について
http://okwave.jp/qa/q3155847.html
0682nobodyさん
2012/06/14(木) 10:12:51.14ID:???http://d.hatena.ne.jp/fujisan3776/20090427/1240850724
ライブ・マイグレーションを行うには、最低3台のサーバが必要である。
内訳は、クラスタを構成するHyper-Vホスト2台(2ノード)と、ドメイン・コントローラ(DC)1台だ。
http://www.atmarkit.co.jp/fwin2k/operation/livemig03/livemig03_01.html
0683nobodyさん
2012/06/14(木) 10:13:46.35ID:???http://d.hatena.ne.jp/uncafe/20110919
データベースのレプリケーション(複製)では、slaveに最低3台のサーバを適用している。
http://jibun.atmarkit.co.jp/ad/comp/112mitsu/01.html
MySQLをmaster:slave=1:1構成にして参照をslaveに向けるのがなぜ良くないか - 酒日記 はてな支店
http://d.hatena.ne.jp/sfujiwara/20110620/1308531677
MySQLで参照の負荷分散を行うslaveは3台から構成するのがよいのでは - 酒日記 はてな支店
http://d.hatena.ne.jp/sfujiwara/20110621/1308625519
0684nobodyさん
2012/06/14(木) 14:25:44.67ID:???http://rubygems.org/gems/ruby-debug19
いまさら聞けないRailsでデバッグする便利な方法(Ruby1.9.x対応版)
http://d.hatena.ne.jp/yuya_lush/20110601/1306920275
0685nobodyさん
2012/06/14(木) 22:11:13.25ID:???なぜ、twitterはrailsで高速に処理出来ていたのだ?
railsのorまっぱはプライマリーキーはintのautoincrementに成っていることが前提なんでしょ。
0686nobodyさん
2012/06/14(木) 22:41:11.35ID:???0687nobodyさん
2012/06/15(金) 01:42:16.88ID:???activerecordのprimaryはintのautoincrementに成っていることが前提ということはない
0688nobodyさん
2012/06/15(金) 03:28:24.02ID:0E9aKvuW見つかりません。
良い参考書や参考になるサイトがあれば教えて頂きたいです。
英語は苦手なのでできれば、日本語のサイトでお願いします。
0689nobodyさん
2012/06/15(金) 09:47:06.59ID:???http://wired.jp/2012/03/20/mark-shuttleworth-ubuntu/
CentOS(セントオーエス)は、Red Hat Enterprise Linux(以下「RHEL」と呼ぶ)との完全互換を目指したフリーのLinuxディストリビューション
http://ja.wikipedia.org/wiki/CentOS
0690nobodyさん
2012/06/15(金) 10:03:57.49ID:???http://stackoverflow.com/questions/4460800/how-to-monkey-patch-code-that-gets-auto-loaded-in-rails
0691名無し
2012/06/15(金) 15:36:37.02ID:MORqFtG4自分とどの芸能人が相性良いか教えてくれます。
http://goo.gl/Lljh0
気になる人が入る方は是非。
仲間内でやったらさらに面白いです。
0692nobodyさん
2012/06/15(金) 17:03:16.98ID:???http://aws.typepad.com/aws_japan/2012/06/amazon-rds-mysql-now-starting-at-just-19-a-month.html
0693nobodyさん
2012/06/15(金) 17:25:44.83ID:???0694nobodyさん
2012/06/15(金) 17:50:35.15ID:???https://twitter.com/#!/herokustatus
AWS障害による影響を小さくするための設計(2011/4/21の障害を踏まえて) - よかろうもん!
http://d.hatena.ne.jp/interu/20110425/1303731515
youRoomにおいて発生した 2011/4/21 のAWSの障害について技術的な観点から - mat_akiの日記
http://d.hatena.ne.jp/mat_aki/20110422/1303440808
0695あ
2012/06/16(土) 10:53:14.39ID:???http://news.mynavi.jp/news/2012/06/16/009/index.html
0696nobodyさん
2012/06/16(土) 11:08:20.95ID:???このページにある、developmentとproductionというのは何の違いですか?
herokuユーザーは皆productionではないのですか?
0697nobodyさん
2012/06/16(土) 12:09:06.71ID:???https://twitter.com/herokujp/status/213603741419569152
http://www.heroku.com/pricing
0698nobodyさん
2012/06/17(日) 22:50:49.43ID:???:confirm
deprecated
http://tohae.hatenablog.com/entry/2012/06/14/211755
http://d.hatena.ne.jp/rochefort/20120616/p1
http://qa.atmarkit.co.jp/questions/2156
0699nobodyさん
2012/06/18(月) 00:08:20.60ID:???Tomorrow I'll drive in the 80th running of the
24 hours of Le Mans with the #35 Morgan-Nissan LMP2 car.
A dream come true.
Starts 3pm GMT+1.
http://twitter.com/dhh/status/213724237951811584
http://twitter.com/#!/dhhracing
http://david.heinemeierhansson.com/racing
0700nobodyさん
2012/06/18(月) 22:52:43.09ID:???MemSQL
http://memsql.com/
0701あ
2012/06/19(火) 16:48:31.64ID:???lovingly known as the 'Monorail' --@raffi #QConNewYork
http://twitter.com/mattwynne/status/214734140011069440
0702あ
2012/06/19(火) 21:03:18.67ID:???大規模な分散型システムを効率良く運用するため、
現在はフロントエンド部分にRailsのレイヤを残したまま
バックエンドのロジック部分はサービスとして分離しており、OpenJDKをランタイムにしているという。
http://www.atmarkit.co.jp/fsmart/articles/twitter_event01/01.html
0703nobodyさん
2012/06/19(火) 21:05:08.96ID:???http://b.hatena.ne.jp/entry/www.publickey1.jp/blog/11/twitterruby_on_railsjavavm.html
0704nobodyさん
2012/06/20(水) 09:58:32.60ID:???複数ファイルアップロードに対応してたりするととってもステキなんですが
画像オンリーじゃないです
0705nobodyさん
2012/06/20(水) 12:10:27.73ID:???オフライン環境とかでデータベースおよびファイルをそのまま抜いて→手を加え修正・テスト→そのまま本番へ上書きコピー?
0706nobodyさん
2012/06/20(水) 12:13:06.09ID:???メンバー同士がメッセージのやりとりをできる
オススメのプラグインってありますか?
0707nobodyさん
2012/06/20(水) 14:04:48.52ID:???データベースに修正が入るかどうかで変わるんじゃない?
修正が入らないなら、テスト環境でテストしておいて、タイミングを見て上書きコピーして
サーバ(Passengerなりunicornなり)を再起動
assets pipelineを使ってるならprecompileも要るかな
■ このスレッドは過去ログ倉庫に格納されています