初学者から上級者までが楽しめる Web 系の技術カンファレンス「Kaigi on Rails 2024」に、弊社顧問の@igaigaさん、フィヨルドブートキャンプ卒業生の@yana-giさんと@haruna-tsujitaさんが登壇します🎉
そして、イベントのデザインは受講生の@moegiさんが担当されました✨デザインのコンセプトについて、お話を伺ったのでご紹介します!
# 「Kaigi on Rails 2024」開催概要
開催: 2024年10月25日 (金) 、26日 (土)
場所: 有明セントラルタワーホール&カンファレンス
公式サイト: https://kaigionrails.org/2024/
# 登壇者情報と登壇概要
## @igaigaさん
<a href="https://bootcamp.fjord.jp/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBeTZ5QXc9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--fb61d42dac00fced0437e902a83636a35e3562ef/EXjKG-Hx_400x400.jpg" target="_blank" rel="noopener noreferrer"><img src="https://bootcamp.fjord.jp/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBeTZ5QXc9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--fb61d42dac00fced0437e902a83636a35e3562ef/EXjKG-Hx_400x400.jpg" width="150" height="150" alt="EXjKG-Hx_400x400.jpg"></a>
### プロフィール
X(旧Twitter): [@igaiga](https://x.com/igaiga555)
フリーランスのRailsエンジニア。技術顧問業として研修やペアプロ屋、コード健康診断やレガシーコード改善に従事。プログラミングスクール「フィヨルドブートキャンプ」顧問。
著書に「ゼロからわかるRuby超入門」、「Railsの教科書」、「パーフェクト Ruby on Rails [増補改訂版]」、「RubyとRails の学習ガイド」、「Railsの練習帳」ほか。ガーネットテック 373 株式会社 代表取締役。
### 登壇概要🎙️
#### [Railsの仕組みを理解してモデルを上手に育てる - モデルを見つける、モデルを分割する良いタイミング -](https://kaigionrails.org/2024/talks/igaiga/)
モデル群を上手に育てていく方法、特に「モデルの見つけ方」と「モデルを分割する良いタイミング」について、良い方法とその理由をRailsの考え方、仕組み、特徴から考察して話します。
モデルの見つけ方では、特にイベント型モデル、POROをつかったメンテナンスしやすいRailsアプリのつくり方を考えます。Rails wayから外れずに設計を進める方法と、Rails wayから外れていくときにRailsの仕組みを理解してできる限りなめらかに新しい設計ルールを入れていく方法を考えます。
モデルを分割する良いタイミングについては、バリデーションの条件分岐に着目します。一般に懸念されているモデルの肥大化を怖がりすぎないことを踏まえつつ、なぜそれが分割の良いタイミングであるのかをRailsの仕組みから考察します。また、分割の例としてフォームオブジェクトをつかった分割方法を考えます。
対象者として、Railsアプリでの機能実装に慣れてきたあと、メンテナンスしやすいコードを書くレベルへステップアップしたい人へ向けて、長期にわたり役立つ技術を持ち帰ってもらえるようお話しします。
## @yana-giさん
<a href="https://bootcamp.fjord.jp/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBeTJ5QXc9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--df0cabba7ca65c91b7a9d825535f1c09401d43f3/uxBZVQXj_400x400.jpg" target="_blank" rel="noopener noreferrer"><img src="https://bootcamp.fjord.jp/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBeTJ5QXc9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--df0cabba7ca65c91b7a9d825535f1c09401d43f3/uxBZVQXj_400x400.jpg" width="150" height="150" alt="uxBZVQXj_400x400.jpg"></a>
### プロフィール
X(旧Twitter):[@yana-gi](https://x.com/yana_gis)
前職はSIerとして勤務。当スクールを卒業後、2022年からGMOペパボ株式会社でハンドメイドマーケットminneのWebエンジニアとして従事。
@yana-giさんの卒業生インタビューも、下記から是非ご覧ください🎓✨
[プログラミングの楽しさや難しさを話せる仲間ができた【卒業生インタビューGMOペパボ様】】](https://bootcamp.fjord.jp/articles/83)
### 登壇概要🎙️
#### [カスタムしながら理解するGraphQL Connection](https://kaigionrails.org/2024/talks/yana-gi/)
GraphQLとは、クライアントが必要なデータだけを指定して取得できるデータクエリ言語及びランタイムです。Rubyではgraphql-rubyというライブラリを使うことでGraphQLを実装することができます。
ハンドメイドECサービスであるminneでは、主にAPIをRailsで実装しており、検索画面で表示される作品の取得をGraphQL APIで実装しています。また、minneでは検索エンジンにOpenSearchに加えて、別の検索エンジンも利用しており、検索結果を取得できるREST APIが提供されています。
今回はRailsアプリケーションでREST APIで返却される作品情報を取得し、クライアント用のGraphQL APIとして返却する実装しました。Active Recordから取得した結果をページネーションで返す実装に比べて、難しかった点・工夫した点を紹介します。
このセッションでは、実装するにあたってGraphQLの基本概念を説明した後、minneで検索エンジンのREST APIをバックエンドとしてGraphQLによるページネーションを実現した経験から、graphql-rubyを用いてこれを実装する方法を説明します。
## @haruna-tsujitaさん
<a href="https://bootcamp.fjord.jp/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBeXl5QXc9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--f563eafc9dc61698fac58bb5d7a06ee5da055eb1/MGYBFep3_400x400.jpg" target="_blank" rel="noopener noreferrer"><img src="https://bootcamp.fjord.jp/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBeXl5QXc9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--f563eafc9dc61698fac58bb5d7a06ee5da055eb1/MGYBFep3_400x400.jpg" width="150" height="150" alt="MGYBFep3_400x400.jpg"></a>
### プロフィール
X(旧Twitter): [@haruna_tsujita](https://x.com/haruna_tsujita)
前職は看護師として勤務。当スクールを卒業後、2022年から株式会社キャタルで、Webエンジニアとして従事。現在、英語のライティング検索サービスの開発を担当。
@haruna-tsujita さんの卒業生インタビューも、下記から是非ご覧ください🎓✨
[私たちも最初から、1000時間も学習できると思っていませんでした【卒業生インタビューキャタル様】](https://bootcamp.fjord.jp/articles/138)
### 登壇概要🎙️
#### [Hotwire or React? 〜Reactの録画機能をHotwireに置き換えて得られた知見〜](https://kaigionrails.org/2024/talks/haruna-tsujita/)
基本的なCRUD操作をSPA化するのにぴったりのHotwireと、リッチなUIを実現できるReact。それぞれに得意分野があり、チームの状況に合わせて適材適所な技術選定をできることが理想です。しかし、Hotwire便利!と言われますが、Turboに注目されることが多く、Stimulusが脚光を浴びている事例はあまり聞きません。
本トークでは、Railsアプリケーション内のviewの一部にReactで実装された録画機能をHotwire(Turbo + Stimulus)へ置き換えを試みた事例をもとに、特にStimulusを使った開発体験に着目しながら、HotwireとReactなどのフロントエンドフレームワークをどのように使い分けると幸せに開発できるのかを考察します。
# 「Kaigi on Rails 2024」のデザインは受講生の@moegiさんが担当💎
<a href="https://bootcamp.fjord.jp/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBMXF5QXc9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--c724992be4871607ba68d87dc1ceb3f56e7d2f30/%E5%90%8D%E7%A7%B0%E6%9C%AA%E8%A8%AD%E5%AE%9A%201.png" target="_blank" rel="noopener noreferrer"><img src="https://bootcamp.fjord.jp/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBMXF5QXc9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--c724992be4871607ba68d87dc1ceb3f56e7d2f30/%E5%90%8D%E7%A7%B0%E6%9C%AA%E8%A8%AD%E5%AE%9A%201.png" width="926" height="501" alt="名称未設定 1.png"></a>
## @moegiさん
X(旧Twitter): [@moegi_web](https://x.com/moegi_web)
@moegiさんは現在、デザイナーとしてお仕事をしながら、業務の幅を広げるため、当スクールで学習されています。
### デザインのコンセプトについて教えていただきました!
@moegiさんによると、イベントのデザインコンセプトはRubyistにあたる「スポットライト」だそうで、当スクールで学習する中で、技術カンファレンスに参加し、カンファレンスで登壇するRubyistを見てかっこいいな!と思っていたことが、デザインのインスピレーション源となっているそうです。
ロゴの三角形でRailsのレールを表現し、「Kaigi on Rails」のコアコンセプトの 「初学者から上級者までが楽しめるWeb系の技術カンファレンス」を上に向かって鋭角な三角形で、技術的成長を表現。
配色には、RubyやRailsを象徴する赤色、そして会場のある海に近い有明を象徴する青色が使われています。
上下に使用されているグラフィックパターンには魚や波、波紋といった水辺を連想させるモチーフを配置して、地元の特色も反映したそうです。
今年で5回目となる「Kaigi on Rails」のロゴには、象徴的な5つの三角形が含まれています。これは、イベントの記念すべき節目を表しているとのことです。
# Silver Sponsorとして協賛
フィヨルドブートキャンプは、「Kaigi on Rails 2024」にSilver Sponsorとして協賛します。
当スクールは、技術の発展にはコミュニティの温かな支援が欠かせないと考えています。技術コミュニティから得る知識や情報は、私たちが目指す質の高いものづくりや教育にとって、とても重要なものです。
現在、当スクールで学びを深めた多くの受講生が、ソフトウェアエンジニアとして活躍しています。
「Kaigi on Rails 2024」は、Rails及びその周辺技術に関する情報を共有し、交流を深める絶好の機会です。昨年に続いて今年も、このイベントに少しでも貢献できることを大変嬉しく思います。
これからも、当スクールは技術コミュニティへの積極的な貢献を継続して参ります。
ブログ