kitak blog

Kみたいなエンジニアになりたいブログ

Ruby Hiroba 2014 の生活発表会で発表しました

こんにちは。きたけーです。

もう先週になりますが、「Railsのサービスで特別対応をしたときの話」という題で、Ruby Hiroba 2014 で発表してきました。

人前で発表するのが、大学の学会発表以来だったので会場に向かうまでドキドキしていましたが、イベント全体のわいわいした雰囲気のおかげで落ち着いて話せたと思います。

発表について

生活発表会ということで、普段サービスの運営に関わっている中で直面したちょっとした問題と、それを解決するアプローチの紹介をしました。 「特別対応」をいいかんじにやる方法について、ツッコミとかコメントをいただけたらうれしいです。

発表後に(モデルまわりで)「これ、ただのモジュールでActiveSupport::Concernをextendしないのはなんで?」と聞かれたのですが、特別対応そのもので使うメソッド(期間中か判断したり)もあったので、ただのモジュールにしていましたが、モデルやコントローラの拡張する、関心事を分ける、と考えるとそれがいいですね。

(ビューまわりで) defaceに関しては、テンプレートを局所的に変更できる便利なgemではありますが、hamlやslimを使っている場合に一度erbに変換してnokogiriで書き換える等、実装がごり押しだったり、オーバーライドの定義が増えると最終的に生成されるビューが把握しづらくなることが想定されます。コラボ企画やキャンペーンでビューの一部を書き換えるようなケースぐらいに留めておくとよいと思います。

考えること

今回は、時間の関係でモデルとビューそれぞれで1つずつしかアプローチが紹介できませんでしたが、本当は、いくつかアプローチを提示して、「こういう場合はこういう制約があるからこれがよいのでは」といったお話ができたらよかったなー、と。

上は、プレゼンの内容についてですが、普段のお仕事でも、「こういった問題がある」、「そもそも問題の設定は適切だろうか」、「Aという視点、Bという視点ではどうだろうか」、「それぞれの視点で取りうるアプローチはなんだろうか。それぞれのメリット・デメリットはなんだろうか」、「視点やアプローチを分割したり、合成できないだろうか」などというふうに考えていくと、考える力が鍛えられ、自分自身の仕事に納得でき、ユーザーに価値を提供できることに繋がるのではないか、と思っています。(まだまだそれができていなくて薄いので精進しないといけないですが)

最後に

楽しい雰囲気の中でお話する機会をつくってくださったRuby Hiroba 2014の運営の皆さんに感謝したいです! ありがとうございました。

SUZURIで販売中のRubyのおすすめTシャツです !!1