Rails Developers Meetup 2018 Day 3 Extremeに参加してきました。初参加です。
トータルで41セッションを1日でやるてんこ盛りの内容でした。 その中で、自分的に勉強になったセッションと、その感想を書きたいと思います。
- 発表スライドまとめ
- 曖昧さを受け入れて開発をしていく方法
- RubyKaigi 2018 のデザインをやらせていただきました
- Quipperが実践する、定量データに基づく意思決定と開発
- Rails + TypeScript + React + Hypernovaで始めるSSRライフ
- Railsと考えるデータベースのインデックス戦略
- SmartHR の開発現場最新事情 〜マイクロサービス始めました〜
- Attributes API実践
- エンジニアのためのスライドデザイン実践講座
- GraphQL on Rails 2018
- 終わりに
発表スライドまとめ
有志の方がまとめてくださっています。感謝です🙏 Rails Developers Meetup 2018 Day 3 Extreme スライドまとめ
曖昧さを受け入れて開発をしていく方法
新規事業を進めていく中で、避けては通れない曖昧さにどうやって立ち向かうかという内容。発表を聞いた中で一番参考になった発表でした。
本当に分かるという内容で、情報が出揃っていない状況で、始めから正解を目指すことは不可能で、 途中で方針変更は必ず起こりうる。 この 変更が起こることを受け入れるマインド と、 変更を素早く行うための設計の能力だったり、テスト作成、CI/CS等の素早い変更を行えるエンジニアスキルを身につけていくこと が大事だと強く感じました。
以下、メモです。
- 正解だったかどうかはその時にならないと分からない - 「雑に作って技術的負債」 or 「時間かけて品質良く作っても必要ない機能だった」も起こりうる - ならば、自分の設計の能力や手札を増やすことが大事で、状況に合わせて使い分けられるように - 変更を許容する - 「素早く」「変更に強いアプリケーション」を作る - テストを書かないという選択肢は基本的にはない - テストがないとエラー原因特定、リファクタ、機能修正は難しくなる - 曖昧な状況下では、実装スピードと変更を受け入れること - 案外マインドセットが大事 - 今わかっていることから、今できるベストを繰り返し続ける
RubyKaigi 2018 のデザインをやらせていただきました
<現状スライド公開なし>
RubyKaigi2018のデザインを行なった方が、どのような考えをしながら、デザインを行なったのかというWebデザインの話。
個人的にめちゃくちゃ参考になったのが 心の動き駆動開発 という考え方。 これ大事だから目立たせたいので大きくじゃなくて、ユーザーの心をどう動かしたいかを先に設計してからデザイン するのは、ユーザー目線の考え方だなとすごく納得しました。
以下、メモ。
- まずモチーフを決める - RubyKaigiはテーマは無いので、開催場所で特色を出したい - 場所に関連のあるものをモチーフにしたい - 「どんな場所なんだろう、楽しみ!」と思うもの - 「モチーフにしているアレを実際に見に言ってみよう」と思えるもの - 期待するデザインを見た人の心の動き - どんな場所なんだろうと思ってもらう - 実際に見に言ってみよう! - あーこれがモチーフにしたのか! - 見に言ってよかった! - 仙台を調べた - 伊達政宗 - デフォルメしにくい - 牛タン - デフォルメしにくい - 杜の都(仙台市) - 森の中でイベントあるの?とミスリード - モチーフを「松島」に - 綺麗だから行って欲しい - 松島はビジュアルにおこしやすそう - 松島を使ったデザイン方法 - キーワードを探す - 松島+Rubykaigi - コードを書いている人が発表するイベント - rubyを作っている人に会える - 参加者の多くは何か作っている人 => 「作る」をキーワードに - 「作る」をどう表現? - 楽しい - 子供がおもちゃを作る感じを表現 - 子供がおもちゃを作るイメージを「松島」を表現 - 積み木で松島を表現
そんな流れで作成されたデザインが以下の通り。
Quipperが実践する、定量データに基づく意思決定と開発
Quipperで立てた仮説が本当に正しいかA/Bテストを行ない、ユーザー数の増減、利益の増減の観点から検証を行なった話。
Fact-Baseの意思決定は、正解がわからん状況で重要な考え方で、それを意思決定に使えるように機能を整備するするのは凄いなという感想。仮に保守が大変な機能だとしても、その機能を無くしたときに数千万の利益損失という結果が出たら、その機能の価値を見直しますよね。あと統計的な検証は社内のデータサイエンティストの方が行なったそうです。
Rails + TypeScript + React + Hypernovaで始めるSSRライフ
javascriptコンポーネントをサーバーサイドレンダリング(SSR)のライブラリとしてHypernovaを初めて知りました。Airbnd製だそうで。SSRのことを全然理解していないので、いつか自分でもやって見たいです(願望)
ちなみに発表者の方の所属であるspeeeでは、個人サービス開発でのサーバー代を1万円まで補助する福利厚生があるそうです。いや自分の会社に出せって言ってるわけじゃないですよ(汗)
Railsと考えるデータベースのインデックス戦略
true/falseのカーディナリティの低いカラムにインデックスを貼ることに意味がないのか検証した話です。カーディナリティ低くても、データ数が膨大だとインデックスが効果を発揮するそうです。
しかし、全く内容が腹落ちしてませんし、うまく仕組みを説明できないので、自分でやってみないですね(願望)
SmartHR の開発現場最新事情 〜マイクロサービス始めました〜
現在飛ぶ鳥を落とす勢いで成長しまくっているSmartHRの開発現場の話。Railsアプリ1つのモノシリックであったり、インフラはherokuであったり、フロントも現在Reactで置き換え中と、顧客の価値の人事労務の効率化に振り切っている感が伝わってきました。
これから、マイクロサービス化などよりスケールして、より凄いプロダクトに変わっていくんだろうなという感想です。
Attributes API実践
RailsのActiveRecordのattributeを上書きできる機能であるAttribute APIの話です。 一見地味に感じる機能ですが、発表スライドの中でも言及されているように、DBとactive Record間で暗号化/復号化に使えるのは確かに便利だなと感じました。情報セキュリティに厳しい金融を扱うMoneyForwordならではの話ですね。
エンジニアのためのスライドデザイン実践講座
タイトルそのままに、スライドデザインの実践講座です。ノンデザイナーズ・デザインガイド本で書かれているデザインの基礎を勉強しているようでした。自分も参考にできればなぁと感じました。
GraphQL on Rails 2018
GraphQLを実践投入して得た知見を共有する話。GraphQLの日本語の情報はまだまだ少ないので、貴重ですね。
終わりに
懇親会も含めて濃密な1日でした。Railsそのものの話というより、Railsを使ったサービス開発の話が多かったですね。そう言った意味で、自分の仕事でも活かせることが多い気がします。
次回は来年3月ということなので、そのときも参加したいと思います。