タグ

railsに関するskit_nのブックマーク (25)

  • Rails エンジン入門 - Railsガイド

    ガイドでは、Railsの「エンジン」について解説します。Railsエンジンのきわめて簡潔で使いやすいインターフェイスを用いて、ホストとなるRailsアプリケーションに機能を追加する方法についても解説します。 このガイドの内容: エンジンの役割 エンジンの生成方法 エンジンのビルド方法 エンジンをアプリケーションにフックする エンジン機能をアプリケーションで上書きする 読み込み/設定フックでRailsフレームワークが読み込まれないようにする方法 1 Railsにおけるエンジンの役割 エンジン (engine) は、ホストとなるRailsアプリケーションに機能を提供するミニチュア版Railsアプリケーションとみなせます。この場合、ホストとなるRailsアプリケーションは、実際にはエンジンに「ターボをかけた」ようなものにすぎず、Rails::ApplicationクラスはRails::Engi

    Rails エンジン入門 - Railsガイド
    skit_n
    skit_n 2014/11/16
  • Rails3で作り始めたアプリケーションをちょっとずつ改善してゆく道のり

    #rubyhiroba の生活発表会で話した内容です

    Rails3で作り始めたアプリケーションをちょっとずつ改善してゆく道のり
    skit_n
    skit_n 2014/09/24
  • RailsでAPIをつくるときのエラー処理 - Qiita

    例外を利用して実装すると便利な場合が多い この投稿では、HTTP経由でJSONを返すようなWeb APIRailsを利用して実装するとき、エラーレスポンスを返す場合の処理をどう実装するとやりやすいのか、というニッチな話題に触れる。APIでエラーを返したいとき、即ち400以上のステータスコードと共にレスポンスを返したいような場合、どう実装するのが良いか。もしリクエストの処理中にエラーが検出された場合、それ以降の処理を行わずに直ちに中断してエラーレスポンスを返したいという場合が多いため、例外を利用して実装すると便利な場合が多い。 例外を利用しない方が良い場合もある 1つのリクエストに複数の問題が含まれている場合、先に見つけた問題だけを報告するようなエラーレスポンスを返すのか、それとも問題を抱えながらも進めるところまで処理を進めて報告可能な情報を全て含むようなエラーレスポンスを返すのか、という

    RailsでAPIをつくるときのエラー処理 - Qiita
    skit_n
    skit_n 2014/09/15
  • 『約10年、最新版のRailsに追従してきた運用ノウハウをビール片手に聞きましょう!』というイベントで発表してきました - よかろうもん!

    6月末頃、Rails/Rubyのバージョンアップ作業を開始したときに、Railsアプリケーションを長い間運用しているサービスってなかなか聞かないよな〜と思って、Facebookで下記のような投稿をしてみました。 すると、「AWSを活用してる現場リーダーやCIOをお招きしたトークイベント」でパネルディスカッションをさせていただきました のイベントでお世話になった小山田さんがすぐさまトークイベントを持ちかけてくださり、今回、 約10年最新版のRailsに追従してきた運用ノウハウをビール片手に聞きましょう! - Web系な人のキャリアカフェ | Doorkeeper というイベントでお話させて頂くこととなりました。 当日は、社内SNS『SKIP』のサービス開発/運用でやっている取り組みを例に、Rails,RubyなどのバージョンアップからOSのアップデートを実施する際の取り組みについてご紹介させ

    『約10年、最新版のRailsに追従してきた運用ノウハウをビール片手に聞きましょう!』というイベントで発表してきました - よかろうもん!
    skit_n
    skit_n 2014/08/21
  • Webサービスをスタートアップする10の手順(Rails編) - それはBooks

    アイデアを思いついたときに Web サービスを作ってスタートアップする手順メモです。Rails 編としていますが、たぶん別のバージョンは書かないでしょう。。 手順は思いついた順(というか、前に作ったサービスの手順)で書いていますので、抜け漏れとかあると思いますがコメントあればよろしくおねがいします。 ちなみに、最近作ったサービスはこちら。よかったら使ってみてください。 Web上のメディアのすべてにヤジを飛ばすサービス - 野次る 1. アイデアを揉む 思いついたアイデアをすぐに実現するのはいいことだと思いますが、世の中では2パターンで語られていますね。 思いついたサービスは誰のためのサービス? そのサービスは自分で使う? 誰のためのサービスかという問は、すなわちどんな問題を解決するサービスなのか?ってことです。 「スタートアップが失敗する理由」みたいなキーワードで Google 先生に聞け

    skit_n
    skit_n 2014/07/22
  • トランザクションでの注意点: Rails開発日記

    ActiveRecord::Base::transaction() do ~ end 間でreturnしてもロールバックされない。 ロールバックするには、例外をスローする必要がある。 以下に例を示します。 @studentの登録に成功し、@profileの登録に失敗した場合。 ○@studentの登録がロールバックされる begin ActiveRecord::Base::transaction() do @student = Student::create(params[:student]) @profile = @student.create_profile(params[:profile]) unless @student.errors.empty? raise ActiveRecord::RecordInvalid::new(@student) end unless @profil

    skit_n
    skit_n 2014/07/10
  • http://blog.inouetakuya.info/entry/2014/06/08/194015

    http://blog.inouetakuya.info/entry/2014/06/08/194015
    skit_n
    skit_n 2014/06/09
  • Rails wayにどこまで従うべきかという議論 - ワザノバ | wazanova

    http://andrzejonsoftware.blogspot.com/2014/04/be-careful-with-rails-way.html 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 「RailsでInteractorをうまく利用する」と「DHHとのピンポン」で紹介した議論をうけて立ち上がったサイト( http://www.dhh-ping-pong.com/ )で、DHHに挑戦するコードのピンポンが行われてます。 最初に取り上げられたAndrzej Krzywdaとのやりとりは、こちら。Andrzejのリファクタリングについてのオリジナルのブログはこちら。 また、Andrzejは最新のブログの投稿で、その比較について解説しています。 自分はコードとRailフレームワークとの関係をな

  • Rails4へのアップデート時に引っかかったポイントいくつか - Qiita

    Rails 4.0.0がリリースされたので今参加しているプロジェクトのアプリのアップデートが出来るかを試してみました。 やってみた結果としては、2.3 -> 3.0や、3.0 -> 3.1に比べると大分楽にバージョンアップできる感じです。 たまたま今のプロジェクトで引っかかった問題について、メモがてらまとめておきます。 rake rails:update diffを見ながらconfigファイルを書き換える。 そんなに大きな変更は無い。 rails4からはinitializerに色々移せって感じで、application.rbが軽量化されてるけど、元のままでも別に問題無い。 設定項目の重複だけ注意。 strong_parameters 元々、gemで先行導入して取り入れていたので概ね問題無く移行できました。 attr_accesibleを利用したセキュリティ対策は、外部のgemに分離されてい

    Rails4へのアップデート時に引っかかったポイントいくつか - Qiita
  • Railsアプリつくった - ✘╹◡╹✘

    最近APIサーバ用途でRailsアプリを1個つくったので振り返る。 概要 接続元はiOSやAndroidアプリとか、Webブラウザとか、別のWebアプリケーションとか。1ホストあたり秒間数百リクエスト、平均応答時間10msぐらい。Rails 4.1.0.rc2、Unicorn、Nginxを使ってる。正直Railsは全部入りで重いイメージがあったので何となく平均50ms以内程度であれば良いところだろうと思ってたけど、意外と速い。多分そもそもサーバの性能が良いんだと思う。実装時に気を付けたことは普段の開発と特に変わりない。いつもは大勢でワイワイ開発するものに少し手を加えるということが多いんだけど、今回は珍しく自分一人でつくったから目が行き届いてたのかもしれない。DBへの問合せの効率に気を配るとか、Rubyでの処理の無駄を省くとか、アプリケーションのプロセスに無駄なコードを読み込ませないとか、計

    Railsアプリつくった - ✘╹◡╹✘
  • アダルトサイトを流れにのって作ってみた。

    [アダルトサイト][rails]でアダルトサイトつくってみた彼女に振られたのことと、就職がうまくいかなかったのに打ちひしがれて昨年、railsでアダルトサイトつくってみました。。 (ふられたらオナニーがとまらなかった。) 公に誰にもいうことができないので、こちらのほうでエントリーさせてもらいます。 すでに動画はたくさん!!! スペック • 大学4年 • [プログラミング]未経験 • 高校生の時にHTMLCSS触ってた。 • はてブみるのが趣味 作ったサイトXvideos大奥 http://www.xvideos-av-adult.com/ 動機 • ふられたら[オナニー]がとまらない • 2ちゃんねるだったりはてブが好きなのに物を作れないのが悔しかった。 • [webサービス]とか詳しい方なのにものがつくれなかった。 開発環境 • Mac OS X 10.8 • Rails 3.2.8

    アダルトサイトを流れにのって作ってみた。
  • Railsでデバッグをする7つの方法 - Hello, world! - s21g

    記事の引越しから漏れていたのでサルベージ。 secondlifeさんの記事 に反応して後で書こうかなあと思っていたら、大分時間がたってしまいましたが、めげずに書いてみます。 1. p/pp こちらはRailsに限らず良く使われている方法ですが、RailsではWebサーバをフォアグラウンドプロセスとして立ち上げた状態で使う感じになります。

    skit_n
    skit_n 2014/03/10
  • 大規模Rails開発を蝕む5つのアンチパターン | mah365

    Railsでアプリを作っていると、最初の立ち上がりは速いものの、コードが多くなってくると結構散らかってきますよね。そんな中、5 ARCHIRECTURE ANTI-PATTERNS AND SOLUTIONS FOR LARGE RAILS APPSという記事を見つけたので、ご紹介します。 1. 複数の責務を持つサービスクラスがある 業務別の処理をサービスクラスという形で分割したときの話ですね。ActiveRecordのクラスに直接仕事をさせるのではなく、プレーンなクラスに業務処理をまとめて、そこからだけActiveRecordのクラスのオブジェクトにアクセスするという考え方です。 で、業務別の処理をサービスクラスにまとめたのは良いんだけど、「これもこの業務だよね」という感じで、どんどんサービスクラスに処理を追加していくと、単一責任の原則に違反してしまうし、混沌とするので、良くないよねと。

    大規模Rails開発を蝕む5つのアンチパターン | mah365
    skit_n
    skit_n 2014/03/07
  • RailsのDeploy環境+運用を考慮したサーバー構築 - Qiita

    Ruby on RailsでDev環境は使ったことあるけど、test・prod環境を考慮した環境構築をしたことがない人にお勧めの内容です。 サーバー構成図 サーバーの役割 リバースプロキシサーバー(ホスト名:rp01) ロードバランサ機能を使ってWEBサーバ二台に処理を振り分け、アクセスを1台のサーバーに集中させない WEBサーバーを外部から隠せることでセキュリティ面の向上 WEBサーバー(web01、web02) webサーバーを2台用意することでアクセスが1つのサーバーに集中しないため、レスポンスを早くできる マスターDBサーバー(db01m) DB内容をもう1台のDBサーバー(スレーブ)へリアルタイムにコピーし、障害でマスターが停止したときはスレーブに切り替える スレーブDBサーバー(db01s) 読み込み専用のサーバー。書き込みをしない分レスポンスが早くなる マスターの内容を常にコ

    RailsのDeploy環境+運用を考慮したサーバー構築 - Qiita
  • Ruby 2.1.1 で Hash#reject のデグレ

    Ruby 2.1.0 まで、Hash を継承したクラスの reject メソッドの挙動は継承クラスのオブジェクトを返す挙動をしてました。 しかし、 Ruby 2.1.1 で意図せずその挙動が変更され、必ず Hash クラスのオブジェクトが返されるようになりました。 class SubHash < Hash; end p SubHash.new.reject{}.class #=> 2.1.0: SubHash 2.1.1: Hash p Hash.new.reject{}.class #=> 2.1.0: Hash 2.1.1: Hash (厳密には ivar 等その他の属性もコピーされなくなっています。 また、Ruby 2.1 からはバージョニングポリシーの変更により、2.0.0 までのパッチリリースにあたるリリース時で TEENY が増えます。詳細は今月の WEB+DB で!) この挙

  • Railsのテストを高速にする - ワザノバ | wazanova

    http://www.youtube.com/watch?v=bNn6M2vqxHE 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約2時間前 「Airbnbのテスト:巻き込み力のある人がポジティブな変化をもたらす」でLou Kosakが、依存関係のないユニットテストを実現するのに参考にしたというCorey HainesのGoGaRuCo 2011での講演です。 一番読込みに時間のかかる3rd partyエンジン = Railsとの関係を切り離す。 1 class ShoppingCart < ActiveRecord::Base 2 has_many :shopping_cart_products, dependent: :destroy 3 has_many :products, :through => :

  • Ruby on Rails on MySQL チューニング入門

    Rails 3 系+MySQL を利用しているサービス向けに 1. どのようにボトルネックを探すのか 2. どのような設計を行えばいいのか 3. Rails上でどのようなコードを書けばいいのか の3点に絞ってこのプレゼンをみてチューニングを行えるように資料作成を行いましたRead less

    Ruby on Rails on MySQL チューニング入門
    skit_n
    skit_n 2014/02/26
  • 複数の ActiveRecord オブジェクトをまとめて扱う - ursmの日記

    台北市立動物園と迪化街めぐり 子連れ台湾#5 年越し台湾旅行5日目、レジャーや友人との事を楽しむ日です。前日の様子はこちら www.oukakreuz.com 台北市立動物園へ パンダ館 パンダが見られるレストラン 迪化街へ 林茂森茶行でお茶を購入 小花園で刺繍グッズを購入 黒武士特色老火鍋で夕 台北市立動物園へ 松…

    複数の ActiveRecord オブジェクトをまとめて扱う - ursmの日記
    skit_n
    skit_n 2014/02/24
  • model の decorator の話

    最近の sapporo.rb などでは ActiveDecorator など、model の Decorator の話で少し盛り上がっているようだ。view に関わるコードをどう整理するか?という話について、共通見解が定まってきたということだろう。 rails の MVC に沿ってコードを書くと、view 回りがだんだんごちゃっとしてくる。scaffold のように単純に model の property を表示するような view なら良いが、STI のタイプに応じて表示内容を変えるとか、新規登録の場合と更新の場合で表示を変える、ユーザの権限に応じてどこまで情報を見せるか制御するなど、model のデータやセッションのデータに基づく条件分岐と html の描画が絡み合うような場合にこれをどこに書くのか?というのが問題になる。 伝統的な rails のレイヤーわけだと候補としては view

    skit_n
    skit_n 2014/02/24
  • Ginza.rb 第8回 Gemfileみせっこ!みんなどんなの使ってます? を開催した

    Ginza.rb.第8回を開催しました。今回は参加者の方に事前にGemfileをアップして頂き、使用しているgemについて説明をして頂く形式で実施。 Gemfileの置き場は[こちら](https://github.com/ginzarb/meetups/issues/6)。 話に上がったgemについて以下にずらずらと。 ### [gon](https://github.com/gazay/gon) Rails側の変数をJavaScriptに渡す事が出来るgem。 controllerから大量のデータをJavaScriptに渡す必要がある場合に便利。 詳細は[RailsCast](http://railscasts.com/episodes/324-passing-data-to-javascript?language=ja&view=asciicast)参照。 ### [Better E

    Ginza.rb 第8回 Gemfileみせっこ!みんなどんなの使ってます? を開催した
    skit_n
    skit_n 2014/02/24
    gemのオススメをよくググる自分にとってとれも嬉しい記事