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

【RoR】Ruby on Rails Part14

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/02/18(土) 00:34:00.31ID:9HHBFqZR
前
http://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
0552nobodyさん2012/05/23(水) 21:18:42.95ID:???
ペパボってだけで嫌悪感を抱いてしまう
0553nobodyさん2012/05/23(水) 21:32:34.10ID:???
Rackhub - リーンでスマートに生きるエンジニアのための開発プラットフォーム
http://rackhub.net/
http://www.fluxflex.com/
0554nobodyさん2012/05/23(水) 23:25:21.17ID:???
こうして見ると、PHPerの言い分も分かるな
PHPはどこでも動くのがやはり大きい
0555nobodyさん2012/05/24(木) 02:34:11.09ID:???
Windows上で動かすまではほんと楽だよな。PHP
その後が地獄だが
0556nobodyさん2012/05/24(木) 09:14:37.41ID:???
食べログの画面数は約200あるが,開発に取りかかって約2カ月で完成した。
「VBscriptならこの倍,PHPでも1.5倍はかかっていたのではないか」
コード量も10分の1になった。
http://itpro.nikkeibp.co.jp/article/OPINION/20071031/286028/
0557nobodyさん2012/05/24(木) 09:14:59.34ID:???
インタビュー:[楽天]Ruby活用事例とROMA,Fairy|gihyo.jp … 技術評論社
http://gihyo.jp/dev/column/01/prog/2010/030801?page=2
RailsとCakePHPを比べたところ,高負荷時にはRails のほうが大幅に応答性能が高いという結果が出たことですね。
これは200リクエスト/秒くらいからPHPの応答性能が急激に下がるのが原因です。
Rubyはそれほど大きくはパフォーマンスが落ちないんです。
0558nobodyさん2012/05/24(木) 09:15:17.48ID:???
第4回 Railsに変えてよかった!:iKnow!の場合 | Think IT
http://thinkit.co.jp/article/156/4?page=0,1
3ヶ月、わずか3名程度のエンジニアチームで、彼らはPHPで実装が完了していたレベルに追いつきました。
またコード量はPHPの1/5以下にまで削減されており、よりシンプルな構成も実現できました。
0559nobodyさん2012/05/24(木) 09:19:22.68ID:???
http://blog.kushii.net/archives/1350951.html

Railsで1億PVのサイトの開発が出来て、エンジニアは5人しかいない
http://d.hatena.ne.jp/gamella/20081027/1225119262
0560nobodyさん2012/05/24(木) 09:27:38.84ID:???
鍵となるのは処理の非同期化とバックエンドシステムの疎結合化
大規模な分散型システムを効率良く運用するため、
現在はフロントエンド部分にRailsのレイヤを残したまま
バックエンドのロジック部分はサービスとして分離しており、OpenJDKをランタイムにしているという。
http://www.atmarkit.co.jp/fsmart/articles/twitter_event01/01.html
0561nobodyさん2012/05/24(木) 10:51:18.51ID:tP2PJ1is
MySQL is done. It's the Postgres Age. by Jeff Dickey
http://dickey.xxx/mysql-is-done-it-s-the-postgres-age

「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
0562nobodyさん2012/05/24(木) 13:10:36.07ID:???
必死w
0563nobodyさん2012/05/24(木) 18:39:30.31ID:???
>>558
これはただのリファクタリンげふんげふん
0564nobodyさん2012/05/25(金) 05:10:01.02ID:???
前によくいたbotだろ
0565nobodyさん2012/05/25(金) 09:13:44.13ID:46SyuDhE
前にいた、じゃなくてずっといる。
0566nobodyさん2012/05/25(金) 17:44:03.07ID:7Orc2aMx
SE・プログラマが知ってると便利な脆弱性チェックツール 4 つ | バシャログ。
http://c-brains.jp/blog/wsg/11/11/02-154822.php

https://addons.mozilla.org/ja/firefox/addon/xss-me/
https://addons.mozilla.org/en-US/firefox/addon/sql-inject-me/
https://addons.mozilla.org/en-US/firefox/addon/hackbar/
http://nmap.org/
http://www.rbl.jp/svcheck.php
0567nobodyさん2012/05/26(土) 18:21:50.25ID:Y4lJLMKr
Ruby on Rails: David Heinemeier Hanssonへのインタビュー
私はこの2つのソフトウェア開発手法に挟まれてたんですね。
PHPに代表されるような「早いけど汚い」手法と、
Javaに代表されるような「遅いけどキレイ」な手法にです。
それで、両者を組み合わせたら、究極の目標である「早くてキレイ」になるんじゃないかと思ったわけですよ。
http://capsctrl.que.jp/kdmsnr/wiki/transl/?AnInterviewWithDHH
0568nobodyさん2012/05/26(土) 18:28:54.85ID:Y4lJLMKr

Getting Real by 37signals
最も不可欠なものだけが残るまで機能を削る
http://gettingreal.37signals.com/GR_jpn.php
0569nobodyさん2012/05/26(土) 18:32:56.64ID:Y4lJLMKr

Ruby on Rails作者 David Heinemeier Hansson(前編) RubyでRailsを書いたわけ|gihyo.jp
DHH:極端なことを言うと,Rubyが一番美しく自分のコードが書けるからです。
http://gihyo.jp/dev/serial/01/alpha-geek/0004
0570nobodyさん2012/05/26(土) 18:41:37.79ID:Y4lJLMKr
Railsがあれこれやらない、というところですかね。
Railsにはやらないと決めた機能ですとか、却下した余計な装飾品ですとか、そういうのがたくさんあるんですが、
Railsにある20%のソリューションで問題の80%を解決できるようにしています。
http://capsctrl.que.jp/kdmsnr/wiki/transl/?AnInterviewWithDHH
0571nobodyさん2012/05/26(土) 18:44:28.87ID:Y4lJLMKr
重要なのは、仕事を続けることにワクワクできるかどうかなんだ
David Heinemeier Hansson
http://d.hatena.ne.jp/elm200/20080322/1206196973
0572nobodyさん2012/05/27(日) 12:05:22.83ID:xu7jpZQs
Visual Ruby -- GUI with Ruby and Glade
http://visualruby.net
0573nobodyさん2012/05/27(日) 12:15:17.93ID:???
gladeってまだ生き残ってたのか!
0574nobodyさん2012/05/27(日) 12:32:53.84ID:???
無くなる理由もなかろう
0575nobodyさん2012/05/28(月) 13:16:26.54ID:gkUa3JfD
https://github.com/mileszs/wicked_pdf
0576nobodyさん2012/05/29(火) 21:58:34.96ID:20LYQSll
1台から500台までのMySQL運用 MySQL Beginners
http://www.slideshare.net/kazeburo/1500mysql-mysql-beginners
0577nobodyさん2012/05/30(水) 03:01:50.21ID:???
RadRailsってどうよ?
0578nobodyさん2012/05/30(水) 12:13:45.44ID:???
mechanizeでスクレイピングしようと思って色々試してます
試しにやってみようとしたサイトが

「レスポンスコード403を返しているのにブラウザ上では表示されている」という仕様でした

linux からwgetで叩いても403でエラーが投げられますので403を返しているのは間違い無いようです
ブラウザ側のリクエスト監視してみても帰ってくるレスポンスコードは403です
でも、きちんとサイトが表示されています

つまり、403を返しつつhtmlも投げているようなのですがこのHTMLを取得する方法はありますか?
つまり403を投げられても無視してデータを取得する方法はありますか?
0579nobodyさん2012/05/30(水) 15:00:23.81ID:A4InjSPk
Librahackメモ | Librahack : 容疑者から見た岡崎図書館事件
プログラムは自動的に新着図書ページのデータを取得するために約1秒間に1回のリクエストを送信するものでした。
http://librahack.jp/okazaki-library-case-season2/librahack-memo.html
0580nobodyさん2012/05/30(水) 15:12:53.49ID:???
噂のRuby&Githubなプロジェクトにスキな継続的インテグレーションサービス「Travis CI」を試してみたらすごくよかった
http://mochizblog.heroku.com/21

rails-brakeman.com is an online service to find security issues in your rails projects.
http://rails-brakeman.com/
0581nobodyさん2012/05/30(水) 15:12:59.55ID:???
file_column使ってる
ファイルのアップロードをURLからやりたいんだけどどーすんの?
0582nobodyさん2012/05/30(水) 21:12:34.06ID:???
EditableGrid is an open source JavaScript library aimed at turning tables into fully editable components
http://www.editablegrid.net/

https://github.com/webismymind/editablegrid
0583nobodyさん2012/05/30(水) 22:57:19.83ID:???
マスタ/スレーブの冗長化の基本は4台1セット
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
0584nobodyさん2012/05/31(木) 03:02:00.20ID:???
てst
0585nobodyさん2012/05/31(木) 06:28:46.38ID:???
>>581
1. まずpublicでない場所に一時保存用のディレクトリ掘っとく。
2. フォームにURL用のテキストフィールド別に用意して、そのURLの画像取りに行き、1. に突っ込む(適宜サブディレクトリとか作りつつ)。
3. 2. で保存した画像をローカルファイルをfile_columnに入れるのと同じ方法で取り込む。

確認とか無ければ、ローカル保存しなくてもそのまま突っ込めるはず。

というか、古いシステムのお守りでなければ、file_column捨ててcarrierwaveとかに乗り換えた方が良い。
0586nobodyさん2012/05/31(木) 06:49:33.92ID:???
ちょい寝ぼけてた。
やっぱり 1. は無しで、そのまま突っ込んだ方が良いわ。
ディレクトリ掘るのはどうせ file_columnがやるし。
0587nobodyさん2012/05/31(木) 20:15:22.96ID:???
鍵となるのは処理の非同期化とバックエンドシステムの疎結合化
大規模な分散型システムを効率良く運用するため、
現在はフロントエンド部分にRailsのレイヤを残したまま
バックエンドのロジック部分はサービスとして分離しており、OpenJDKをランタイムにしているという。
http://www.atmarkit.co.jp/fsmart/articles/twitter_event01/01.html

Twitterが、Ruby on RailsからJavaVMへ移行する理由 − Publickey
http://b.hatena.ne.jp/entry/www.publickey1.jp/blog/11/twitterruby_on_railsjavavm.html
0588nobodyさん2012/05/31(木) 23:34:51.63ID:???
How Basecamp Next got to be so damn fast without using much client-side UI - (37signals)
http://37signals.com/svn/posts/3112-how-basecamp-next-got-to-be-so-damn-fast-without-using-much-client-side-ui
0589nobodyさん2012/06/01(金) 18:01:17.87ID:???

Rails version 3.2.5 has been released!
http://weblog.rubyonrails.org/2012/5/31/ann-rails-3-2-5-has-been-released/

ttp://twitter.com/moro/status/208412195313287170
0590nobodyさん2012/06/01(金) 18:30:38.28ID:???
Rails version 3.2.5 has been released!
http://weblog.rubyonrails.org/2012/5/31/ann-rails-3-2-5-has-been-released/
Riding Rails: Rails version 3.2.4 has been released!
http://weblog.rubyonrails.org/2012/5/31/ann-rails-3-2-4-has-been-released/

https://groups.google.com/group/rubyonrails-security/browse_thread/thread/f1203e3376acec0f
https://groups.google.com/group/rubyonrails-security/browse_thread/thread/7546a238e1962f59

Ruby on Rails: Security | Google グループ
https://groups.google.com/group/rubyonrails-security
0591nobodyさん2012/06/01(金) 19:24:58.41ID:???
>>586
掘ったり突っ込んだりRailsはノンケには無理なんだな…
0592nobodyさん2012/06/01(金) 20:57:48.90ID:???
before filterやafter filterを使うとaction cacheが勝手に有効化されるんですけど何故ですか?
0593nobodyさん2012/06/01(金) 22:29:25.23ID:???
解決しました。filterに headers['Cache-Control'] = 'public' って書いていたのが原因でした。
0594nobodyさん2012/06/02(土) 15:20:16.52ID:???
        ∧∧
       ヽ(・ω・)/   ズコー
      \(.\ ノ
    、ハ,,、  ̄
     ̄
0595nobodyさん2012/06/02(土) 16:52:59.85ID:???
jawsug-osaka on USTREAM:
http://www.ustream.tv/channel/jawsug-osaka
0596nobodyさん2012/06/02(土) 19:59:05.70ID:???
RailsInstaller for OS X | Engine Yard Blog
http://www.engineyard.com/blog/2012/railsinstaller-for-os-x/

https://github.com/railsinstaller/railsinstaller-nix/downloads
https://github.com/downloads/railsinstaller/railsinstaller-nix/RailsInstaller-1.0.0-osx-10.7.app.tgz
https://github.com/downloads/railsinstaller/railsinstaller-nix/RailsInstaller-1.0.0-osx-10.6.app.tgz
0597nobodyさん2012/06/02(土) 21:03:38.90ID:???
rails.app by Yehuda Katz ? Kickstarter
http://www.kickstarter.com/projects/1397300529/railsapp
0598nobodyさん2012/06/03(日) 02:10:15.72ID:v56Z3MLK
RailsでAPI吐き出しみたいなことしたい場合ってそのままRailsでやるのが普通?
スピード的にどうなんでしょ。API部分だけNodeJSとかもありなのかな?
0599nobodyさん2012/06/03(日) 08:00:01.99ID:sXF0rFtU
トレードオフ
0600nobodyさん2012/06/03(日) 08:00:54.39ID:sXF0rFtU
トレードオフのある状況では具体的な選択肢の長所と短所をすべて考慮したうえで決定を行うことが求められる。
http://ja.wikipedia.org/wiki/トレードオフ
0601nobodyさん2012/06/03(日) 09:26:47.11ID:???
米の日本軍慰安婦の碑撤去の署名【期日6/9】
http://ikura.2ch.net/test/read.cgi/ms/1338202472/352

署名お願いします。このままだと
「日本人が韓国人を拉致して性奴隷にしていた」=真実になってしまいます。
必要なのはメールアドレスと名前だけで、
表示されるのはイニシャル名のみAkira.Sとかです。
0602nobodyさん2012/06/03(日) 15:15:36.14ID:???
>>597
要件を確認して、本当にスループットが問題になるなら、
NodeJS なり Rack App なりで書けば。
0603nobodyさん2012/06/04(月) 15:11:09.44ID:hiBOTkYT
Railsレベルのvalidateだとレースコンディションの問題により、
完全にはuniquenessを保証出来ない問題があります。
DBレベルでuniqを貼るのが一つの解決策だとは思うのですが、
これだと論理削除フラグが他にあった場合に、
一度論理削除したデータを再insert出来ないという問題が発生します。
何かスマートな解法は無いでしょうか?
0604nobodyさん2012/06/04(月) 22:11:46.77ID:???
railsで論理削除をやるなら、acts_as_paranoid plugin
http://d.hatena.ne.jp/fujisan3776/20080912/1221234453
0605nobodyさん2012/06/04(月) 22:29:34.81ID:???
CHECK 制約と FOREIGN KEY 制約
http://d.hatena.ne.jp/passingloop/20111125/how_to_write_rails_activerecord_model_tests
0606nobodyさん2012/06/05(火) 08:08:57.25ID:???
> 一度論理削除したデータを再insert出来ない

復活させればいいじゃん
06076032012/06/05(火) 14:59:38.92ID:pT0r+J4+
>>604
まさに acts_as_paranoid を利用している上での問題なのです

>>605
今回の問題の解決にはなってくれないです。。。

>>606
過去のデータはデータして、保持しておかなければならないのです
「削除」されたものが「復活する」というわけではないので
0608nobodyさん2012/06/05(火) 15:29:31.12ID:???
> 過去のデータはデータして、保持しておかなければならないのです

じゃあ604に書いてあるようにdeleted_atとの複合キーでいいのでは
0609nobodyさん2012/06/05(火) 18:31:56.97ID:???
>>608
でした。恥ずかしながら 複合キーに、uniqを貼れるのを知りませんでした。ありがとうございます。
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:???
https://github.com/ajh/acts_as_soft_deletable
0612nobodyさん2012/06/07(木) 15:55:10.86ID:WYfp+i9g
gem install rails
を実行すると
3.2.5の空フォルダが出来てしまうなんでだろう〜?
中身が無いから実行できないし
(?_?)
0613nobodyさん2012/06/09(土) 14:05:34.03ID:???
http://www.ustream.tv/channel/tdc
0614nobodyさん2012/06/10(日) 01:28:42.93ID:wsZB405H
すみません、Ruby初心者です。
$ 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:???
久しぶりのRailsだからちょっと質問させてほしい
未だにフラグメントキャッシュ?だっけは一定時間で削除はデフォで出来ない?
Memchashed入れるほどじゃないしょぼいサービスなんだけど
0616nobodyさん2012/06/10(日) 06:56:21.23ID:???
>>614
後半のbundle installした時のエラーは?
06176142012/06/10(日) 10:23:57.67ID:wsZB405H
ありがとうございますm(__)m
特にエラーは出ていません…

$ 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.

06186142012/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 -v
> 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:???
http://page2.auctions.yahoo.co.jp/jp/auction/b133810252
06216142012/06/10(日) 10:53:50.59ID:wsZB405H
> $ ruby -v
> 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
homebrewでインストールしたrubyはrbenvからは見えないような…?
両方はいらないからどっちか外そう。
0623nobodyさん2012/06/10(日) 11:49:16.37ID:???
多分、今3つrubyが入ってる。

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:???
Middleman: Hand-crafted frontend development
http://middlemanapp.com/
06256142012/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:???
rubyはrbenv向いてるけど、railsとbundlerが /usr/bin の方になってるので、

$ gem install rails

してから、プロジェクトのホームで

$ bundle install
したら良いよ。
0627nobodyさん2012/06/10(日) 13:59:23.30ID:???
上の方法だと、rails 3.2.5入るけど、それが嫌なら
$ gem install bundler
$ bundle install
で。
06286142012/06/10(日) 15:53:09.54ID:wsZB405H
> $ gem install rails
> してから、プロジェクトのホームで
> $ 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:2NK7wsgm
rbenv rehashした?
06306142012/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
railsでアプリ作った時点で走るbundle installはもとのrails(/usr/bin/rails)が
参照している場所にgemをインストールしただろうから、その前提が変わった
今はインストールしてないのと同じ。というわけで、もう一回bundle installじゃね?
0632nobodyさん2012/06/10(日) 17:42:49.02ID:???
kaminariを使ってページングをしているのですが、

@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:???
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
0634nobodyさん2012/06/10(日) 19:24:10.32ID:???
>>632
published が DBに入ってないのが変。
カラム増やすなり何なりしたら?

kaminariはwhereで絞るタイプ。
どうしても各オブジェクトにメソッドを投げて、その結果を使わなければいけないなら、
find_each(だったかな?)で回して、自分で作るという手もなくはない。
0635nobodyさん2012/06/10(日) 20:22:56.26ID:???
6位 find_each
http://d.hatena.ne.jp/suginoy/20120605/p3
06366142012/06/10(日) 21:46:05.37ID:wsZB405H
解決いたしました。
大変勉強になりました、ありがとうございますm(__)m
0637nobodyさん2012/06/11(月) 09:53:02.91ID:???
【AWS発表】 AWS SDK for Rubyを提供開始 - Amazon Web Services ブログ
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:???
日本でもPython流行の予兆があるが
どんな気持ち?
一つの言語さえ極めれば、それでいいと、やっと思えてきた?
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:???
結局「ぱっと」覚えられない連中がキャーキャー騒いでるだけでした。
0648nobodyさん2012/06/11(月) 16:55:02.17ID:???
>>642
すべての問題を効率的に解決できる言語なんてない以上、仕事で使う分は覚えなきゃいけないんだよ
0649nobodyさん2012/06/11(月) 17:03:20.42ID:mmR39Kjo
Railsがあれこれやらない、というところですかね。
Railsにはやらないと決めた機能ですとか、却下した余計な装飾品ですとか、そういうのがたくさんあるんですが、
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:???
perl ruby python あたりは言うほど文化の違いもないしな
lisp だの haskell 覚えるのしんどいとかならともかく
0652nobodyさん2012/06/11(月) 18:57:01.21ID:???
言語だけならそんな時間はかからないと思うが、(よくある)問題を解決するにはどういうアプローチがいいか、
という部分はやはりある程度時間をかけて慣れ親しまないと難しいよね
■ このスレッドは過去ログ倉庫に格納されています