見出し画像

表参道.rb #43に参加した

ご当地 Ruby コミュニティーである 表参道.rb に参加した。

現在勤めている会社が外苑前にある。ふと、外苑前〜青山均衡でエンジニアが主催している勉強会の存在が無いか気になった。そこでconnpassで検索をかけてみると、表参道.rbというものを見つけた。

今回のプレゼンは自由形式とのことであった。Rubyにこだわらない技術や、自分の興味のあること、個人的に研究したこと、困っていることについての発表が行われた。以下に発表内容をまとめていく。


スタートアップは式年遷宮アーキテクチャの夢を見るか?

ご自身の引っ越し経験を元の話として、引越し時の荷物の整理方法を事業向けの開発コードとして捉えた場合に果たして解決可能なのか。リファクタリングに関する発表。


kibera2esaを作った話

会社で利用している情報共有ツールをkiberaからesaに乗り換えるため、kibera2esaを作った話。最適化された正規表現を読みやすい形に解いていき、一つ一つのパターンマッチの説明をしていた。ディレクトリ構造や画像をコンバート後の記事に適用するための方法論など。

Ruby 2.4から利用できる正規表現パターン非包含演算子の説明が出てきていた。


技術を使わない問題解決

開発年月を重ねるにつれ、不要になったコード(デッドコード)をみつけるためにどうするべきか、gem updateの定期的なアップデート方法について既存のgemを利用し、いかに新規に開発せず、問題を解決に導くかの方法論が発表されていた。知らないgemがあった。okuribitoは動的解析により、利用されていないメソッドの集計を行うgemである。circleci-bundler-update-prはCirle CIを利用し、定期的にbundle update PRを作成するgemである。

発表の最後にある技術の安売りをしないという文章に感銘を受けた。✨


VTuberとエンジニア

https://twitter.com/HolyGrail

蜘蛛糸まなさんとして活躍されている現役のエンジニアによるVTuber業界に対するエンジニアとして助けられることへの発表である。インターネットサービスの品質向上を手助けしたいと力強い発表をしていた。

発表の中で、転生という言葉を知る。転生とは、今までの自分のパーソナリティーを保持したまま、VTuberとして活動を始めることらしい。


Railsでモデルのステータスを扱うベタープラクティス

ユーザは退会済みである・登録済みであるが無料状態であるなど、ユーザというエンティティの状態に関してどのようにRailsのモデルで保持するべきか、に関するLT。話の中でaasm gemの扱いや、Plant MLによるステート遷移の内容が出てきた。サービスを作り、データ永続化を考える上で重要であり、方法として整理されていたので参考になった。

※発表時、Twitterのタイムラインでステート管理用のgemとしてstateful enumというgemがある情報が流れてきた。


ぼくが考える最強のApplicationModel

ActiveModelではないModelの扱い方に関するLT。POROという考えがあることが出てきたが、知らなかった。POROについては、メドピア開発ブログ Railsの太ったモデルをダイエットさせる方法について(willnet, 2017) が詳しい。ActiveModelを継承していないModelでのchangesを利用する変更検知についてActiveModel::Dirtyで検知を行えるという発表である。

ただし、ActiveModel::Dirtyで検知する方法はRails 5.2から変わったようだ。RailsのDBに紐付かないModelでもActiveModel::Dirtyを使って要素の変更を検知したい(yaboojp, 2018)を参考のこと。

LTの後半では、ActiveModelのHackをする中で得てきたActiveModelのコードリーディングに関して発表を行っていた。classやmoduleなどの設計に関して内部に潜り込んで調べるということ、今の自分にできてないなと反省を感じた。


 CygwinにRubyアップデートのパッチを投げる話

Cygwinで採用されているRuby処理系が2.3系で間もなくEOLとなる。Ruby 2.3.8 Releasedを参考。

趣味でCygwinを触っている中で、Rubyのバージョンが古いのは問題だと思ったため、PRを投げてみたところ、32bit環境のCygiwnではSEGVが発行されてしまうというもの。なかなか修正が難しいと思っていたところRuby 2.6がリリースされたので、試しにCygwinに組み込んだところ問題がでなかったという話である。test時にSEGVが出たけど、とある環境変数をいじることで問題再現ができるようになったとのこと。


Railsアップデートの話

Railsアップデートに躓いた内容や、対策した作業、gemを切り替えるか、自分たちでパッチを当ててgemのメンテを行うかの判断をするなど、見に覚えのある話で共感した。懇談会のときに、Railsアップデートの話として少し話してみたけど、なかなか手強そうな問題があり、自分は未経験だったので力になれそうなれなかった。申し訳なかった。


表参道.rbに参加した感想

Rubyコミュニティの一つである表参道.rbの勉強会に参加した。内容はソフトウェア開発に関するものである。事業ドメイン内部にとどまらない問題、開発者個人で感じている課題について人と話すのが一番であると考えていた。

実際、ActiveModelに関する内容や、既存のgemを活用してデッドコードを削除していくリファクタリングの話を聞けた。懇談会で詳しく発表した内容に対する質問を投げかけて、理解を深めることができた。

時には発表を行って自分に対する技術の理解度を深めたり、情報交換時に何を質問し、何を理解したいのか、自分自身の考えとコミュニティに参加している意味など考えつつ勧めていきたい。参加して良かった。





記事を読んでいただき、ありがとうございます。うれしいです😊