タグ

railsに関するczblueのブックマーク (102)

  • クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログ

    インフラストラクチャー部の成田(@mirakui)です。 Rails の OR マッパーである ActiveRecord ですが、みなさんどのように運用していますか? ActiveRecord を使うと、 SQL を直接扱うことなく、抽象化された表現で RDB にアクセスできるので、アプリケーションの開発効率という観点ではメリットが大きいです。 一方で、 ActiveRecord が駆使されているアプリケーションをサーバに配置してプロダクションとして運用する立場からすると、いくつかの問題に突き当たります。 まずはクックパッド体アプリケーションにおける、最新の rake stats をご覧ください。 +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC

    クックパッドにおける最近のActiveRecord運用事情 - クックパッド開発者ブログ
    czblue
    czblue 2014/08/28
  • ActiveRecord のモデルを整理する7つのパターン - tkawachi Blog

    7 Patterns to Refactor Fat ActiveRecord Models という記事があり、読もう読もうと思いつつ1年くらい経ってしまった。 ようやく読んだので理解した内容を書いておく。 コード例は元記事のもの。 Rails で thin controller, fat model を心がけていると、model がマジで激太りしてヤバくなる。 実際に自分が仕事で書いている rails アプリも激太りしててヤバい。 この blog の筆者が作っている CodeClimate で C 判定をもらう程度には肥満体型になっている。 Mixinに抜き出さない! Model が太ってきた時に考えるのは ActiveSupport::Concern を使って感心事を抜き出して、Mixin にすることだと思う。 実際に手元のアプリでも models/concerns/ なんていうディレ

  • modelは直接ActiveRecord::Baseを継承しているのは、なぜ? · Issue #162 · yochiyochirb/meetups

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    modelは直接ActiveRecord::Baseを継承しているのは、なぜ? · Issue #162 · yochiyochirb/meetups
    czblue
    czblue 2014/04/21
  • Rails4.0でangularjsを使ってRESTfulなajaxを実装する - is Neet

    長文注意。 angularjsについて今更ながらに触り始めて色々と感動したので纏めておく。 angularjsがどういったフレームワークかは公式のチュートリアルを眺めてたらぼんやりと把握できると思うので今回その辺の話はあまり触れない。 http://angularjs.org/ angularjsのAPIについては公式のドキュメント含めて様々なメディアやブログに取り上げられているが、導入から体系的に語られてるものはあまり無い印象だったので、僕のブログでは導入から具体的な目的に沿った実装方法を紹介していこうと思う。 ちなみに自分のangularjsへの理解も触り始めて一週間程度なのでだいぶ甘い。 angularjsを一週間やってみた感想 最初の2日くらいがだいぶつらい。 飲み込みが早い人ならすぐに使いこなすのかもしれないが、angularjsはdirective, controller, f

    Rails4.0でangularjsを使ってRESTfulなajaxを実装する - is Neet
  • Rails のモデルはどうあるべきか - tomykaira makes love with codes

    2013-07-05 Rails のモデルはどうあるべきか rails TL;DR: Rails の model が太りやすいのは、生まれつき責務過剰だから。開発者が設計段階で責務を絞り、べる量を減らしてあげよう。 Rails の model というのは、概念も実装も、とても奇妙な使われ方をしている。 いささか不気味だし、実害もある。 fat model はずっと Rails 界で話題になりつづけている。 すでに Rails のプロフェッショナルは抜け出せているのかもしれないが、まだ議論の余地のある話題ではあるようだ。 なぜ model が太るかというと、なんでもかんでも model にべさせるからである。 一日中べてれば元々どんなにスレンダーでも太るに決まってる。 コードのダイエットべる量を減らすか、外に出すしかない。 太ってから外に出すのがリファクタリングである。 後知恵的に

    czblue
    czblue 2013/07/07
  • Rails、あんたなんか嫌いよ - Rails での OO 設計について - tomykaira makes love with codes

    2013-06-25 Rails、あんたなんか嫌いよ - Rails での OO 設計について ruby rails 最近はずっと Rails 書いてるんですが、書けば書くほど嫌いになってくるんです。 倦怠期的なやつなんですが、 Rails さんの悪いところばっかり見えてきて、もう一緒にいたくないんです。 でも別れるほどじゃないし… という愚痴にみせかけた Rails での設計についての議論です。 長いけどコードは一切出てこないので通勤中にでもよんでください。 注意 一部にはげしい言葉遣いがでてくるので、読んで不快になるかもしれません。 不快になったとしても責任は負いかねます。 次のような方の期待に沿う結論はでません。残念でした。 Sinatra, Padrino の人 関数型の人 静的型付けの人 C の人 TL;DR Rails にだまされない。 自分の道を見定める。 欺瞞にみちた Ra

  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • 独学でコーディング! - a-newcomer.com

    ここ数年、会社を辞めて自分のペースで仕事を請け負うフリーランスという形態で仕事をする人が増えています。フリーランスには様々な職業があり、代表的なものでは翻訳業やイラストレーター、YouTuberもフリーランスに分類されます。そして代表的なフリーランスの職業がもう一つあります。それはプログラマー/エンジニアです。そのプログラミングの大部分を占める工程がコーディングであり、知識と技術を身につければ、憧れのフリーランスに鞍替えすることも夢ではありません。 それではコーディングの知識と技術を取得するにはどのようなルートがあるのでしょうか?現実として学校に通うか、プログラミングを請け負う会社に入社するか、あるいは独学で取得するかのいずれかを選択することになります。そこで今回は最も費用の少ない独学でコーディングを学ぶ方法を紹介したいと思います。 独学でコーディングの知識と技術を身につけるには まずはプ

    独学でコーディング! - a-newcomer.com
    czblue
    czblue 2013/02/12
  • Railserなら知っておくべき地味だけど便利なメソッド - joker1007’s diary

    Railsのバージョンは3.2.8時点のものです。(2012/8/21追記) 前回の冒頭で書いてたので、Rails版も書いてみようと思う。 要は、困ったらリファレンスマニュアルのそれっぽいところ見れば、 Ruby/Railsは大体解決してくれるよ(しかもスマートに)って感じなので、 悩んだらハマる前に一回公式に帰るのもいい手段だと思ってます。 でも、RailsAPIリファレンスどこに何書いてるか分かりづらいと思う。 例えば、has_many関連には、実は:after_addとか:before_removeとか、 その手のコールバックをProcで渡せるんだけど、メソッドの説明の所に書いてないんよね。 上の方のクラス全体の説明の所にAssociation Callbackって項目があって、 そこで地味に説明されてたりとか。 この辺、もしかしてpull request候補かな。 メインはAct

    Railserなら知っておくべき地味だけど便利なメソッド - joker1007’s diary
    czblue
    czblue 2012/08/20
  • Ruby on Rails 3系に深刻なセキュリティ問題、修正版への迅速なアップデートを推奨 | OSDN Magazine

    Ruby on Railsの開発チームは7月26日、「Ruby on Rails 3.2.7」および「3.1.7」「3.0.16」をリリースした。Ruby on Rails 3.x系で発見された深刻なセキュリティ問題を修正したメンテナンスリリースで、開発チームは3.x系のユーザーに対しすぐにアップデートするよう呼びかけている。 問題となっているのは、authenticate_or_request_with_http_digestにおける脆弱性(CVE-2012-3424)。Action Packを利用したDigest認証に重大なセキュリティ問題があるとのことで、これを悪用したDoS攻撃を受ける可能性があるという。この問題の影響を受けるのはバージョン3.x系で、2.3.5~2.3.14は影響を受けないという。該当バージョンを使用しているユーザーに対し、この問題を修正したバージョン3.2.7お

    Ruby on Rails 3系に深刻なセキュリティ問題、修正版への迅速なアップデートを推奨 | OSDN Magazine
  • このRSpecのスライドがすばらしい

    Kerry BuckleyさんのRSpecのスライドが素晴らしい。さらっと読み通しておもしろいなと思ったところをノートしてみました。 なお、console でRSpecを使いたいときはSpec::Matchersをincludeすればよいです。 require 'rspec' include Spec::Matchers - 表紙 このスライドはSplippyというやつでできている。Escを押すとページのリストが出てかっこいい。 - Context contextはdescribeのエイリアス - Formatters フォーマッタ: docは試験内容がdocument化されて読みやすい。 - Formatters フォーマッタ: fuubarでプログレスバーをパーセンテイジ表示できる - Formatters フォーマッタは複数指定できる - Profiling プロファイルで時間のかか

    czblue
    czblue 2012/06/12
  • これからRuby on Railsをはじめる人へ - VTuberになったプログラマーの魂の残滓

    Ruby(on Rails)使い始めて半年、まだ自分自身探り探りという状態なのですが幸いにもお手になる先生のお陰でなんとかやれているという感じです。 個人で勉強してる範囲でいろいろ見てきたものや読んだもの、参考にしているなどをざっとまとめておきます。 id:ukstudioによる勉強会の資料 まずざっくり概要を得るためにこれ読むとよさそう 特異メソッドあたりの解説は一旦スルーしていいかも Ruby&Rails勉強会 認証周りについてid:udzuraによる資料 自分で主催したRuby勉強会で(邪悪な顔で)発表してくれた資料 渋谷で勉強会してきました。(邪悪な顔で)発表もしました。 « blog.udzura.jp テスト周りについて @takaiさんのブログエントリ RSpecによるユニットテストの書き方 - tech.recompile.net またid:ukstudio先生の資料じ

    これからRuby on Railsをはじめる人へ - VTuberになったプログラマーの魂の残滓
    czblue
    czblue 2012/06/08
  • 地獄Spec

    38. ⑤失敗・教訓(充実してきた頃) カバレッジは万能じゃない -「レガシーコード=テストの無いコード」なので意 味はあるが・・・ -Reekを取るようにした(お手軽/ReekViewer) https://github.com/Shinya131/reekviewer FactoryGirlがパンクした -factory.rbに全てぶっ込むのではなく、 factoriesフォルダ以下にファイル分割配置 -リレーション指定やりすぎると破綻(メンテ不能)に

    地獄Spec
  • RSpecによるユニットテストの書き方 — recompile.net

    2012年04月19日 最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめにごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと

    RSpecによるユニットテストの書き方 — recompile.net
  • Ruby on Railsを学ぶ方法 - toyoshiの日記

    [追記]エントリは2012年のものです 2019年1月現在おすすめの学ぶ方法は Ruby on Rails チュートリアル:実例を使って Rails を学ぼう をやることです。こちらは有志によって作成・翻訳されている素晴らしい教材で、RailsだけでなくGitやテストといったことも学べます。盛りだくさんですのでおすすめは最初はGitやテストについては無視して1周やってみて、わかったらそれらも含めて2周目をやるという方法です 以下オリジナル記事 前回のエントリは僕が新しく請求書管理サービスmisocaを手伝ってくれる人にRailsを教えたときに思ったことだ。(追記:その人はプログラミングは十分わかってる人だ) 一応アンサーエントリとして、次に教えるならこうするというのをメモしておく 準備 Windowsで開発しない(Windowsの人はVMWareなどでUbuntuとかのLinux環境をい

    Ruby on Railsを学ぶ方法 - toyoshiの日記
    czblue
    czblue 2012/03/18
  • github の mass assignment 脆弱性が突かれた件

    Github に脆弱性。やった人は Rails に有りがちな脆弱性を issue に挙げていたが相手にされず、実際にそれを突いてきた。一見 childish だが、それだけ簡単に脆弱な実装がなされてしまうということだ。週明けの今日、Rubyist はまず関連情報に一読を。 — Yuki Nishijima (@yuki24) March 4, 2012 気になって調べたのでメモ。自分も気をつけないとなー。 Public Key Security Vulnerability and Mitigation - github.com/blog/ github に脆弱性があってそれが突かれたらしい。 Rails アプリにありがちな脆弱性の一つ、Mass assignment とかいうタイプの脆弱性である。 mass assignment 脆弱性とは mass assignment 脆弱性とは何か、

  • macを買って、今すぐherokuでruby1.9.3 + rails3.2しよう! - ppworks.jp

    みなさんがmacを買う理由の1つにherokuを使ってRailsの開発がしたいというのがあると思います。そこで、今回はmacを買ってきてherokuにdeployするまでの手順を書いてみました。念のため、手元のマシンでLionをクリーンインストールしてからの手順を記述しています。 買う もしmacを持っていなければ、今すぐ近くのmacが売っていそうなお店(そこらをぶらついているときにmacを売っているのを見たことありますよね!そこに行くんです!)で買ってきて下さい。ネットで買うといますぐこの記事に書いてあることを試すことができません。しかし、もうすぐ新しいmacとか出そうだから落ち着いた方がいい感もあるので、その辺は自己責任で判断しましょう。 ソフトウェアアップデート これしないと不安。しましょう。(アップデート後に再起動を促されることも多いと思います。) iTerm2 iterm2を入れ

    macを買って、今すぐherokuでruby1.9.3 + rails3.2しよう! - ppworks.jp
    czblue
    czblue 2012/03/05
  • 最近やってるRailsプロジェクトのテスト方法 - #詰んでる日記

    Railsエンジニアになってから1年半くらいが経ち、社内のRailsプロジェクトを全部で5つくらい触って、今やってるAbilie*1でようやく人並みにテストを書いてる気がしてきたので、現時点でやってるテストの方法をまとめておく。 テストのルール的なの rspecでは必ずモデルのテストは書くようにしてる。ヘルパーも大体書いてるけど、コントローラやルーティングのテストはあまり書いてない。 というのも、コントローラーのコードを極力短くしてモデルを太らせているのでコントローラのテストはあんまり意味が無い気がしていて、その代わりにCapybaraでテストを書いておけば十分なんじゃないかなと思ってきたから。Capybaraは書いてるので、そういう意味では書いてるとも言える。 社内の管理者だけが使える管理画面も作ってるけど、そっちはテストあんまり書いてない。ここは動かなくなっても一般ユーザーには影響が

    最近やってるRailsプロジェクトのテスト方法 - #詰んでる日記
  • Ruby/Railsのコードを読むにはroccoとrdefsが便利:Rails Hub情報局:エンジニアライフ

    新年明けましておめでとうございます。今年こそRuby/Railsをやってみようという人もいるかと思います。ここではRubyのコードを読むのに便利なツールを2つほどご紹介したいと思います。 ドキュメント生成ツールのRD、RDoc、SDoc ソースコードに埋め込んだコメントを、そのままドキュメントとして抽出するツールがRubyにはいろいろあります。いちばん古くからあるのは、RD(Ruby Document Format)と呼ばれるもので、Markdownなどと同様に構造を記述できます。 現在、Rubyに標準添付されているのはRDocです。RubyのソースコードからHTMLCSSJavaScriptを吐き出して、ブラウザで閲覧しやすくしてれます。もう1つ、RDocに似たものにSDocがあります。Sはsearchableのことで、ブラウザ上でクラスやメソッド名をインクリメンタル検索できるのが特

    Ruby/Railsのコードを読むにはroccoとrdefsが便利:Rails Hub情報局:エンジニアライフ
  • Route 477 - sprocketsのJavaScriptテンプレートサポート

    ■ [rails] Rails3.1を使ってみた、あとRails 3.2とRails 4について TL;DR: Rails3.1ではjs/cssが一級市民になったよ、あともうRails4の予定まであるらしいけどRails3ほどのbig changeではないらしいんで安心したよ BiwaScheme BlackboardをRails 3.1で実装したので、社内勉強会でその話をしました。 情報源 RailsGuides ( http://guides.rubyonrails.org/ ) Rails3のことはここ読めばだいたい分かる Riding Rails ( http://weblog.rubyonrails.org/ ) Rails公式ニュース Rails 3.0 (おさらい) Big rewrite Rails2とMerbが合体してRails3になった 設計が見直され、よりすっきりした

    Route 477 - sprocketsのJavaScriptテンプレートサポート
    czblue
    czblue 2011/12/28