Zeals TECH BLOG

チャットボットでネットにおもてなし革命を起こす、チャットコマース『Zeals』を開発する株式会社Zealsの技術やエンジニア文化について発信します。現在本ブログは更新されておりません。新ブログ: https://medium.com/zeals-tech-blog

Gotanda.rbをZEALSオフィスにて開催 & ZEALSエンジニアが登壇しました!

f:id:zeals-engineer:20190604184832p:plain

はじめまして!
ZEALSで Rails & Reactを書いている中村です!

4月に復活したGotanda.rbのイベントがZEALSオフィスにて開催されたので、その様子をお伝えします! ZEALSエンジニアの福本がGotanda.rbのOrganizerであるため、今回ZEALSオフィスで開催する運びとなりました!

復活第一回目のイベントについての記事もありますので、Gotanda.rbの雰囲気を知りたい方はぜひこちらもご覧ください!

tech.zeals.co.jp

今回のテーマは"リファクタリング"

なかなかに渋いテーマですね!

  • そもそも、リファクタリングとは何か
  • リファクタリングをいつやるのか
  • リファクタリングを(チームで)どのように行うか

などなど、人によって内容に個性が出そうなテーマだと感じました!

それでは早速見ていきましょう!

LT大会

最初の登壇者はZEALSでRailsエンジニアをしているtakkunです!

f:id:zeals-engineer:20190606185137j:plain

写真ではわかりづらいですが、Railsのエラーメッセージが書かれたTシャツを着ています!
Railsへの愛を感じますね。笑

登壇資料

www.slideshare.net

スライドに紹介されているgem一覧

github.com

github.com

僕もZEALSにJoinするまで、これらのGemは知らなかったです!
2つのgemをうまく使えば、使われていないコードを綺麗に削除できますね!

またスライドの中の言葉で

「コードを追加するのは簡単だが、消すのは難しい」

って言葉が心に響きますね。

普段のコーディングから意識したい言葉です!

弊社takkunに続いて、3名+飛び込みで1名の計5名の方が登壇されました!
資料をアップロードして下さっている方もいらっしゃいますので、ぜひ見てみてください!

RubyMineでリファクタリング

エンジニアの皆さんの中には、お気に入りのエディタはカスタマイズして使っている方が多いと思います。
そんな中一度でも使ったら戻れなくなると噂のIDE RubyMineの機能を最大限に生かしたリファクタ方法を紹介されていました。

www.jetbrains.com

個人的にすごくインパクトがあったのは、一括リネーム(ファイル名・メソッド名・変数名)でした!
すごい…!!

RubyMineは有料のIDEですが、30日お試しで使用できるとのことです!

speakerdeck.com

クラウドワークスリファクタリングチーム「バグハンター」

クラウドワークスさんでリファクタ専門チーム作った時のお話です。
リファクタリングをモンスターハンターになぞらえて「分析した弱点部位に対してどのような武器を使って、どんな戦術で対処していったか」を発表されていました。

ZEALSでもtakkunがデザインパターンやオブジェクト指向の本を読みリファクタした、という話をしていました。
こちらの発表でも設計パターンを用いたお話があったので、その辺りももっと勉強しようと改めて思いました。

また、発表の中で「人を育てるコード」って言葉がすごい素敵で印象に残っています。

f:id:zeals-engineer:20190607105548j:plain

一覧画面のFatController/Modelになる理由と向き合ってみた

indexアクションが汚くなりがちな箇所に対しPORO(Plain Old Ruby Object)に切り出したり、生SQLを利用したり、ViewModelで定義してみたり...
問題点に対して様々な方法でリファクタしてみた、というお話でした。

原因に対していくつかの修正パターンを持っておく、というのはリファクタに限らず常日頃から意識したいと思いました!

speakerdeck.com

dockerで動いている プロジェクトのrubocop解析 vim編 + おまけ

最後はGotanda.rb Organizerであるマツリカの隅田さんの飛び込みLTでした!
前回もjoeさんが飛び込みLTをされていましたが、飛び込みが頻発するのは面白いですね。笑

「Docker+Vimでrubocopのリアルタイム警告を出すことができるようになったお話」と「OSS活動を続けてRubyMineのAll Products PackをGetした」というお話でした。
All Products Packを入手するには色々な条件とOSS活動を3ヶ月以上継続する必要があるそうですが、興味のある方は是非チャレンジしてみてはいかがでしょうか!

speakerdeck.com

交流会

f:id:zeals-engineer:20190607181910j:plain

LT大会後は、お酒を片手にお菓子をつまみながら参加者の方々と和やかに交流会の流れになりました。
こういう機会に社外の方といろんなお話ができるのはいい刺激になると思いました!

おわりに

今回は、各社向き合わなければならないリファクタリングというテーマについて掘り下げた会でした!

今後もZEALSはGotanda.rbをはじめ、開発者コミュニティを盛り上げていければと思います!
皆さんもよろしければ、ZEALSのオフィスにいつでも遊びに来てくださいね!

www.wantedly.com