タグ

2016年12月16日のブックマーク (5件)

  • RailsのRoutingでどうHTTPメソッド解決をしているか追ってみた - Qiita

    概要 すっごい今更感ありますが、RailsのRoutingを、routes.rbの定義から実際処理されているところまで追ってみました。 routes.rbに定義するHTTPメソッドを適当なものにしてたら? viaで指定するメソッドってどこで解決されているの? via :allと同等の指定の仕方ってどうするんだろう? といった疑問がわいてきたので、一念発起して調べてみました。 ちなみに、パス解決については以下の記事が非常に分かりやすく勉強になりました。まずはこちらを読むのがオススメです。 Rails で URL と ルーティング設定のマッチ処理をどこでやってるのか調べたログ 環境 rails3, rails4のactionpack (なるべく環境差異がないように書いていきます) Routeの登録部分 routes.rbに書く中身をどう扱っているか、少しずつ追っていきます。 まずrailsアプ

    RailsのRoutingでどうHTTPメソッド解決をしているか追ってみた - Qiita
  • Rails で URL と ルーティング設定のマッチ処理をどこでやってるのか調べたログ - takatoshiono's blog

    きっかけ Railsアプリケーションでは URL の末尾に .json などと書いてレスポンスのフォーマットを指定することができる。先日、このフォーマット部分の末尾に記号をつけてリクエストしても正しく動くということに気がついた。 /v1/users.json (これが正しいけど) /v1/users.json' (これでも動くし) /v1/users.json! (これでも動く) でも一部の記号はエラーになる。 /v1/users.json. (これはルーティングエラー) ここで疑問が湧いてくる。 URLとルーティング設定のマッチ処理ってどうなってるんだろう? たぶん正規表現でマッチングしてるんだろうけど、コードを追って調べてみましょう。 概要をつかむ Rails のコードにおいてルーティング処理がどこに書いてあるのかよく知らないので、まずは Ruby on Rails Hacking G

    Rails で URL と ルーティング設定のマッチ処理をどこでやってるのか調べたログ - takatoshiono's blog
  • 「関数型プログラミングって何?」日本語訳 - Okapies' Archive

    この記事は、技術翻訳 Advent Calendar 2016 の15日目です(枠が空いてたので勝手にお邪魔してます)。前回(6日目)は、id:msyksphinz さんの「個人が趣味技術書を翻訳するという意義について」でした。 今回ご紹介するのは、昨年末に公開された Kris Jenkins さん (@krisajenkins) の "What Is Functional Programming?" です。日語訳の公開については著者から承諾済みです。また、London Functional Programmers meetup での同タイトルの講演動画が公開されています。 関数型プログラミングの考え方は、世間ではどうも小難しい話だと思われている節があります。その理由の一つに、議論の抽象度が(比較的)高いことが挙げられるでしょう。例えば、以前このブログで紹介した「なぜ関数プログラミング

    「関数型プログラミングって何?」日本語訳 - Okapies' Archive
  • Railsにおける「サービスレイヤ」「サービスオブジェクト」について – recompile.net

    Railsを使ったアプリケーションの特定の場面では、「サービスレイヤ」や「サービスオブジェクト」という概念を導入すると有効に機能することがあります。今回は、その紹介をします。 まず、サービスレイヤとは何でしょうか。『Patterns of Enterprise Application Architecture(以下、P of EAA)』では「サービスレイヤは利用可能な操作を定め、各操作へのアプリケーションレスポンスを取りまとめる」と定義されています(参照)。ユーザーインタフェースなどからの呼び出しを受け付けるアプリケーションの境界として、ビジネスロジック、トランザクション制御、レスポンスなどの取りまとめをするのが、サービスレイヤの役割です。 では、どのようなときにサービスレイヤを導入するのでしょうか。P of EAAには、次のように記述されています。 You probably don’t

    Railsにおける「サービスレイヤ」「サービスオブジェクト」について – recompile.net
    InoHiro
    InoHiro 2016/12/16
  • 俺が悪かった。素直に間違いを認めるから、もうサービスクラスとか作るのは止めてくれ - Qiita

    ちなみに、最初に結論だけ言っておくと、まずSandi Metzの「オブジェクト指向設計実践ガイド」を読め、という話です それだけで終わってしまいたい気持ちはあるが、不親切過ぎるしもうちょっとRails向けの話を書こうと思う。 ただ言いたいことは、よく分かってないのに使うのは止めろということ。 自分もで書いたりした手前、それが参考にされた結果なのかもしれないが、世の中には当に酷いクラスが存在するもので、雑にサンプルで書くと以下の様な感じのコードが存在したりする。 class HogehogeService # Hogehogeはモデル名まんま def process(hogehoge, option_a: nil, option_b: nil, option_c: false) history = hogehoge.histories.last unless hogehoge.activ

    俺が悪かった。素直に間違いを認めるから、もうサービスクラスとか作るのは止めてくれ - Qiita
    InoHiro
    InoHiro 2016/12/16