【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
0102nobodyさん
2014/02/07(金) 13:46:29.73ID:???railsプロジェクトだと自動scpアップロード機能が使えなくてがっかりした。
0103nobodyさん
2014/02/07(金) 15:37:10.32ID:???0104nobodyさん
2014/02/07(金) 18:06:36.60ID:???sshでWinからやんのかね
なんかWeb開発ってGUIじゃないと捗らなそう
0105nobodyさん
2014/02/07(金) 19:18:08.86ID:???0106nobodyさん
2014/02/07(金) 19:46:01.66ID:???そのせいで会社がRailsに移行してくれん
JavaとPHPから抜け出せん
0107nobodyさん
2014/02/07(金) 21:41:23.68ID:VfrloKNC0108nobodyさん
2014/02/07(金) 21:54:24.56ID:???0109nobodyさん
2014/02/07(金) 22:17:23.69ID:???0110nobodyさん
2014/02/07(金) 22:43:48.93ID:???0111nobodyさん
2014/02/07(金) 23:16:17.12ID:???ちょっと舐めてたのもあるけど一通りやらないと自分で自由に出来ない予感がする
0112nobodyさん
2014/02/07(金) 23:22:44.92ID:???macbook airでvimだな
最近はこれぐらいライトな開発環境が多いと思う。
javaとかcとか俺には絶対無理だし
0113nobodyさん
2014/02/08(土) 00:25:55.91ID:???もちろんその度にググレば場当たり的に対応できるけど、
ライブラリも交えて自由にショッピングサイト作れるようになるまでフルタイムで1年くらいかかるぞ
そもそもRails自体一人で扱うには範囲が広すぎて、新機能・ライブラリとのいたちごっこみたいにになる
0114nobodyさん
2014/02/08(土) 00:32:08.64ID:???今は知り合いも会社もvagrant
会社ではvagrantで開発環境作るのがルールになってる
依存で悩む経験するとmacじゃ開発できなくなってくる
0115nobodyさん
2014/02/08(土) 00:39:06.62ID:???0116nobodyさん
2014/02/08(土) 00:52:14.76ID:???ライブラリをカスタマイズしたりと自分で何かを生み出す能力は身につかないけど
既存ライブラリとRailsの特性を活かしてレールに乗れた時の生産性は非常に高い
前者を求める企業には適合しないけど、少ないリソースでいくらかの成果を求める分には適合する
0117nobodyさん
2014/02/08(土) 00:59:50.35ID:???0118nobodyさん
2014/02/08(土) 01:15:20.16ID:???Matzの対談で出るぐらいのことだからな
驚きですよ
0119nobodyさん
2014/02/08(土) 13:20:37.97ID:NPzdtZy4ttp://crowdworks.jp/public/job_skills/33
0120nobodyさん
2014/02/08(土) 14:43:57.63ID:???0121nobodyさん
2014/02/08(土) 15:13:19.89ID:???アプリケーションエンジニアは平凡な人たちだよ。言葉悪いけど。
できたてのWEBサービス系ベンチャーのRails率は半端ないよ。
0122nobodyさん
2014/02/08(土) 15:45:41.97ID:NPzdtZy4http://engineer.typemag.jp/article/forkwellxcookpad
0123nobodyさん
2014/02/08(土) 15:49:44.16ID:???クックパッドだといまいちインパクトに欠ける気がする
0124nobodyさん
2014/02/08(土) 16:00:28.97ID:???0125nobodyさん
2014/02/08(土) 16:02:44.89ID:???アメリカで新興だけど1000万人規模のサービスとか結構Railsで作られてるよ
>>121の通り、世界的にベンチャーのRails採用率は異常に高い
0127nobodyさん
2014/02/08(土) 16:07:59.45ID:???ストアドプロシージャをメインで使うのかね
0128nobodyさん
2014/02/08(土) 16:18:27.50ID:???0129nobodyさん
2014/02/08(土) 23:34:09.50ID:???ありがとうございました
fields_forでやっと出来ました
buildとか必要だったことがなかなか分かりませんでした
次はhas_many throughでテーブルから組みなおします
0130nobodyさん
2014/02/09(日) 00:04:41.99ID:???0131nobodyさん
2014/02/09(日) 01:34:01.29ID:???0132nobodyさん
2014/02/09(日) 02:22:01.84ID:???0133nobodyさん
2014/02/09(日) 03:10:12.90ID:???0134nobodyさん
2014/02/10(月) 08:17:25.78ID:J/5zHJ5dhttp://homakov.blogspot.com/2014/02/paperclip-vulnerability-leading-to-xss.html
0135nobodyさん
2014/02/10(月) 08:18:28.09ID:J/5zHJ5dhttp://www.theregister.co.uk/2014/02/09/content_type_spoofing_bug_in_ror_paperclip/
0138nobodyさん
2014/02/10(月) 19:42:03.77ID:???どこで使ってるんだろう
0139nobodyさん
2014/02/10(月) 20:26:03.63ID:???before_filter exceptみたいな感じで指定することはできないのでしょうか
どうしてもrenderの直前にならざるをえないのでしょうか
0140nobodyさん
2014/02/10(月) 22:14:36.36ID:???http://api.rubyonrails.org/classes/AbstractController/Layouts/ClassMethods.html#method-i-layout
0141nobodyさん
2014/02/10(月) 23:48:40.06ID:???すいません
クラスメソッドだと条件文が使えないのでフィルター(インスタンスメソッド)で使いたいのですが
方法はないのでしょうか
0143nobodyさん
2014/02/11(火) 02:01:21.34ID:oikpYNJm> Symbol
> call the method specified by the symbol, which will return the template name
これ、コントローラのインスタンスメソッドなんだよね。
0144nobodyさん
2014/02/11(火) 02:25:45.15ID:iwHGH8gShttp://www.reddit.com/r/scala/comments/1xg3oa/skinny_framework_scala_on_rails/
http://skinny-framework.org/
0145nobodyさん
2014/02/12(水) 02:41:27.20ID:???学習コスト高いわ
0146nobodyさん
2014/02/12(水) 04:13:31.94ID:???require 'sinatra'
get '/' do
'Hello world!'
end
gemをインストールして動かしてみる。
gem install sinatra
ruby myapp.rb
localhost:4567 を見る。
http://www.sinatrarb.com/intro-jp.html
0148nobodyさん
2014/02/13(木) 06:40:07.00ID:???手元で書いて動くコードは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/
0149nobodyさん
2014/02/13(木) 06:41:23.89ID:???サーバ立てるのなんてちょっとパソコンに詳しければ簡単にできるんでしょ?
ハードウェアの多重化なんて必要?
企業で使うとかじゃなく個人的に細々と立てたサーバが攻撃されることなんて滅多にないよね?
攻撃が来るって言ったって大した数じゃないんでしょ?
攻撃されたって大したことは起きないんでしょ?
http://b.hatena.ne.jp/entry/tmaeda.s45.xrea.com/20041101.html
運用中のApache Webサーバの大半にセキュリティ脆弱性 | マイナビニュース
http://news.mynavi.jp/news/2014/02/11/038/
0150nobodyさん
2014/02/14(金) 12:01:08.20ID:???http://www.itmedia.co.jp/enterprise/articles/1402/13/news043.html
ntpd の monlist 機能を使った DDoS 攻撃に関する注意喚起
http://www.jpcert.or.jp/at/2014/at140001.html
0151nobodyさん
2014/02/15(土) 01:45:41.24ID:???huluに続くと言われてる
sidereelもRailsだよ
日本はどうしてRails需要がこんなにもないのか?
0152nobodyさん
2014/02/15(土) 02:00:18.58ID:???Rubyが日本発だから勘違いしてる人もいるかもしれないが、Railsは英語が使えない人は
お断りレベルで英語情報中心だからだと思われる
0153nobodyさん
2014/02/15(土) 09:53:45.58ID:???日本で小規模で始めるには情報が足りなさ過ぎることだろうな
0154nobodyさん
2014/02/15(土) 10:54:35.90ID:???パフォーマンスとか何も考えずに作るし
0155nobodyさん
2014/02/15(土) 11:02:51.85ID:???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
0156nobodyさん
2014/02/15(土) 16:41:03.81ID:???0157nobodyさん
2014/02/15(土) 16:44:08.36ID:???0158nobodyさん
2014/02/15(土) 16:59:29.59ID:???海外留学して英語がネイティブな人と仕事したことあるけどどう頑張っても勝てそうに無いと思った
0159nobodyさん
2014/02/15(土) 17:42:49.20ID:???ウェブ系の仕事に就いたらまさに英語力が命だったでござるの巻
0160nobodyさん
2014/02/19(水) 10:20:17.36ID:ELco+zCchttp://weblog.rubyonrails.org/2014/2/18/Rails_3_2_17_4_0_3_and_4_1_0_beta2_have_been_released/
0161nobodyさん
2014/02/20(木) 01:42:55.72ID:???管理画面でモデルを管理するとき、http://hoge.com/admin/モデル名にしようと思っています。
このモデル自体はアプリケーション全体から参照されているんですけど、
ルートにこういう記述をしたら
namespace :admin do
resources :model
end
コントローラーだけでなくmodelも参照するときは常にAdmin::Modelって感じに参照しないとダメだって怒られました。
でもそれは煩雑なのですが・・・どうすればいいんですかね?
0162nobodyさん
2014/02/20(木) 07:04:05.02ID:???resources :model
end
0163nobodyさん
2014/02/20(木) 10:26:12.50ID:ATjg5jOfhttp://piko.hateblo.jp/entry/2013/10/09/111746
0164nobodyさん
2014/02/20(木) 13:10:05.02ID:???>結局のところクルマを運転する上で、中身なんぞ知らなくてもいいだろ?使う奴は運転する技術だけ習得してこいって考え方がrailsだと思います。
土方向きだけのことはあるな
0166nobodyさん
2014/02/23(日) 14:40:29.71ID:iS1220phmy_class = MyClass.new
my_class.class_eval do
def m1; 'hello!'; end
def self.m2; 'hello!'; end
end
上記の場合、カレントクラスのMyClassにm1というインスタンスメソッドが追加されて、
カレントクラスのMyClassの特異クラスにm2という特異メソッドが追加されるとう理解でいいですか?
0167166
2014/02/23(日) 15:12:35.43ID:iS1220ph0168nobodyさん
2014/02/25(火) 23:28:09.96ID:???データベースは作らず、読み書きできるYAMLを作るのが普通ですか?
0169nobodyさん
2014/02/26(水) 00:46:37.59ID:???configみたいなテーブルでも作って。
0170nobodyさん
2014/02/26(水) 02:08:48.86ID:???0171nobodyさん
2014/02/26(水) 21:18:20.42ID:kpHlwgHZhttp://b.hatena.ne.jp/entry/www.slideshare.net/eccyan/ruby-on-rails-on-mysql
0172nobodyさん
2014/02/27(木) 00:32:44.15ID:???サーバ立てるのなんてちょっとパソコンに詳しければ簡単にできるんでしょ?
ハードウェアの多重化なんて必要?
企業で使うとかじゃなく個人的に細々と立てたサーバが攻撃されることなんて滅多にないよね?
攻撃が来るって言ったって大した数じゃないんでしょ?
攻撃されたって大したことは起きないんでしょ?
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
0173168
2014/02/27(木) 00:58:46.01ID:???でもConfigモデルを作るとしてキーバリュー式だとform_forとかと相性悪いんですよね・・・
かといって1行しかあり得ないレコード作るのってどうなんでしょうか
Railsでなければ 本番 開発用 テスト用って感じで3レコードは作るのですが
0174nobodyさん
2014/02/27(木) 05:29:33.48ID:???0175nobodyさん
2014/02/28(金) 21:18:49.55ID:Sd8nPPeFこの場合、Postするコントローラーはどこにすべきなんでしょうか?
resources: foo
resources: bar
とあって、foos#updateとbars#updaterがあるのですが
この場合、foosbars_controllerに#updateを作るべきなのでしょうか?
0176nobodyさん
2014/02/28(金) 21:37:18.82ID:???> この場合、foosbars_controllerに#updateを作るべきなのでしょうか?
色々考え方はあるけど、これが一番素直じゃないかな
0177nobodyさん
2014/02/28(金) 22:09:35.94ID:???http://tanihiro.hatenablog.com/entry/2014/01/09/193720
0178nobodyさん
2014/02/28(金) 22:17:40.49ID:???レイヤーがもうちょい上になる業務よりのレイヤーで切り分ける感じにするかな
businessA_controller#updateみたいな感じで。
色んなリソース持ってるユーザーのマイページをmypage_controllerであれこれ処理したりしてる
0179nobodyさん
2014/03/01(土) 16:53:35.83ID:kyl0LBj5http://toro.2ch.net/test/read.cgi/tech/1393660194/2
0180nobodyさん
2014/03/01(土) 22:23:30.44ID:???>>178
ありがとうございました。
参考にします
>>177
ありがとうございました。
Rails4限定なんですね
0181nobodyさん
2014/03/02(日) 16:04:33.91ID:???調べてみたところshop.itemsは実際は3レコードあるのに、
shop.items.count => 1
shop.items.size => 3
このようにcountだと1が返ってました。
どういうことなんでしょう・・・
0182181
2014/03/02(日) 16:09:38.67ID:???puts shop.items.map(&:name)
=>
item1
item2
item3
puts shop.items.pluck(:name)
=>
item3
0183nobodyさん
2014/03/02(日) 19:09:13.57ID:???AbstractController::ActionNotFoundを表示しない方法ってありませんか?
存在しないアクション叩かれてエラーログが大量になるので困ってます
0184あ
2014/03/02(日) 19:42:02.77ID:???0185nobodyさん
2014/03/02(日) 19:43:53.19ID:???0186nobodyさん
2014/03/02(日) 21:06:18.23ID:f/Pqujp3もうひとつはbackup_image_idというカラム名です。
@model.backup_imageとプロパティにアクセスしたときに、自動的にImageテーブルにクエリー走らせることはできないのでしょうか?
0187nobodyさん
2014/03/02(日) 21:12:10.87ID:???0188nobodyさん
2014/03/03(月) 00:15:09.71ID:???http://rubyist.g.hatena.ne.jp/rochefort/20090802/p1
0189nobodyさん
2014/03/03(月) 00:42:54.12ID:eHHADPWD0190nobodyさん
2014/03/03(月) 01:01:41.74ID:???複数のRailsアプリ(複数ドメイン)を走らせてる猛者はいる?
Railsアプリ1つにつきVPSを1つ契約するのが勿体なく感じてきた
0191nobodyさん
2014/03/03(月) 01:03:32.20ID:???0192nobodyさん
2014/03/03(月) 11:32:43.29ID:???0193nobodyさん
2014/03/03(月) 12:05:52.25ID:tPpkCX6/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
0194nobodyさん
2014/03/03(月) 12:07:24.76ID:???自分でサーバ立てるのってなんか楽しそうだしスゴそうだよね?
サーバ立てるのなんてちょっとパソコンに詳しければ簡単にできるんでしょ?
ハードウェアの多重化なんて必要?
企業で使うとかじゃなく個人的に細々と立てたサーバが攻撃されることなんて滅多にないよね?
攻撃が来るって言ったって大した数じゃないんでしょ?
攻撃されたって大したことは起きないんでしょ?
http://b.hatena.ne.jp/entry/tmaeda.s45.xrea.com/20041101.html
0195nobodyさん
2014/03/03(月) 12:43:05.49ID:???0196nobodyさん
2014/03/04(火) 00:14:26.81ID:???リンク踏んだらアフィリ貼りまくってるぺーじだったし
0197nobodyさん
2014/03/04(火) 02:27:29.26ID:???定期的にでっかいサイズの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で定期的に走らせています。
何かのリソースが解放されないままになっているのでしょうか?
0198nobodyさん
2014/03/04(火) 02:31:49.04ID:???バッチが2回ほど回ったときにtopコマンドを叩くと
メモリ使用量が40%ぐらいになってます。
ここでclockworkを再起動すると、また0%近くまで戻ります。
0199nobodyさん
2014/03/04(火) 08:20:37.89ID:???0200nobodyさん
2014/03/04(火) 21:56:50.40ID:???ありがとうございます。
タスクの終わりにGC.startを入れてみましたが、メモリ使用量は下がらなかったです。
とりあえず1時間ごとぐらいに再起動することで乗り切りることにします。
低レイヤのこと分かってないとこういうのが辛いなあ
0201nobodyさん
2014/03/04(火) 22:25:57.36ID:???■ このスレッドは過去ログ倉庫に格納されています