YAPC Hiroshimaが最高だったまとめ
YAPC::Hiroshima 2024最高だったので感想を書きます!
運営、登壇者、スポンサーの皆様ありがとうございました!
参加を決めたきっかけ
ゲストスピーカーのtwadaさん、そーだいさん、naoyaさん、松本さんは皆さん日頃からスライド引用したり、本を読んだりポッドキャストで勉強させていただいたりと勝手にお世話になっている方々だったので、この方々が集まるなら参加するしかないと思い立ちました。
(とほほさんは今回講演をお聞きしてスーパーレジェンドだということがわかったのですが、恐ろしいことに参加するまでは存じ上げなかったです。)
前夜祭
飲みながら、食べながらワイワイしてて楽しそうでした。ワインと鍋のワインがプラスチックのカップで飲んだにも関わらず、とても美味しかったです。
いつか店舗に行ってみたい…
(写真はワインではない。。。)
yusukebeさんのトーク
前夜祭のセッションはyusukebeさんのトークから始まりました。
Honoは仕事で一部使わせていただいているのである程度情報はキャッチアップしているのですが、
この短期間でフロントエンドまで実装してフルスタックフレームワークになっていたことと、Server ComponenntやSuspenceなど、Reactの最先端のプラクティスをすでに使えるようになっていたことは驚きでした。
また、yusukebeさんのHonoがYAPCから始まったということは知らなかったので、そのコミュニティに来れたということは感慨深かったです。
キャッシュバスターズ
キャッシュバスターズってなんだ???と思いましたが、そーだいさんとonkさんのキャッシュについてのトークでした。
去年にonkさんが書かれた「キャッシュは麻薬」という標語からの脱却という記事の内容の説明とそれについての質問に答えていくセッションでした。
「キャッシュは麻薬だから使うな」ということではなく、適切に使うべき。ただし、まずはキャッシュを使わないで最適化するところから始めようという前提で、
多様なキャッシュの種類とアンチパターンについて説明され、大変学びの多いセッションでした。
番宣リレー
YAPC関連の告知であれば1人1分なんでも話していいという時間でした。
ただ残念ながら飲みすぎたのか、
(ワインとー) なべー! と叫んだことしか覚えていません。
ワインと鍋に行きたい。
期待を超えて最高だった講演
当日は楽しみにしていた方々のトークが盛りだくさんでした。
そーだいさん 「コミュニティと共に生きる - キャリアの螺旋」
元々警察官だったそーだいさんがキャリアとコミュニティの活動を通しての出来事、人との出会い、もらった言葉をひたすら浴びる30分でした。
今年はコミュニティ活動を頑張ろうとしている自分に強く響くメッセージでした。生で聞くことができて本当に良かったと思います。
質疑の際に「コミュニティ活動をこれから頑張ろうと思ってるのですが、今つながりがない中から、どうすればより深くコミュニティに参加できるようになるでしょうか」と質問させていただいたのですが、
明確に「登壇すること、小さいコミュニティに頻繁に顔を出すこと」と教えていただき、まさにそれを実践しようと思いました。
実はこの直後、隣に座っていらっしゃった方(@sakaik)に、声をかけていただいて、温かい激励の言葉をかけていただきました。
このおかげで、この後の懇親会等で初めての方と話すのも少し気が楽になりました。
私にとって講演中も講演後も勇気をもらえるセッションとなりました。
松本さん「経営・意思・エンジニアリング」
時代の寵児、LayerX CTOの松本さんの発表です。
密かにLayerXラジオ第一回から聞いている私にとって大興奮のセッションでした。
講演自体は、CTOの解くべき課題と役割について、エンジニアにもわかるように説明するといったものでした。
感想としては、「圧巻」でした。ここまで、構造的に、体系的に網羅的にわかりやすく経営についてエンジニアに説明するものはなかったと思います。
キャリアの最初からCTOだったからとはいえ、この解像度で説明できるのは「さすが」の一言でした。
naoyaさん「関数型プログラミングと型システムのメンタルモデル」
この講演を聞く前の私にとって、naoyaさんといえば、「TypeScript による GraphQL バックエンド開発」の方、という認識でした。
こちらの資料は何度も目を通しており、社内に展開したりなど大変お世話になっているものですが、今回の発表の資料は以前から目を通していたものの、レベルが高すぎてわからないと思ってました。
ただ、以前に読んだDomain Modeling Made Functionalの内容が頭に入っているからか、実際にお話を伺ってよく理解できました。
自分の理解では下記のメリットにより、開発速度と保守性が高まるということでした
- 代数的データ型によってあり得ない状態を定義できないようにする
- 型検証で単体テストよりも早く、実装のエラーを検知することが可能になる
- 文ではなく式を使うことで宣言的になる
日頃からぼんやり頭の中にあったことを明確にしていただいた感覚があり、今後チームに伝えていくときに、よりスムーズに伝えることができそうです。
twadaさん「変更容易性と理解容易性を支える自動テスト」
まず、生で動いているtwadaさんがみれたことに感動しました。
twadaさんには書籍「テスト駆動開発」、texta.fm、スライド「質とスピード」、fukabori.fmなどで何度も勝手に助けていただいている大恩人なので、肉眼でお目にかかれたことだけでも十分満足でした。
もちろん講演内容も素晴らしく、単体テストをはじめとする自動テストのお話でした。
まず、YAPCの会場内でも単体テストの定義が全く合わないということに驚きました。
DBとネットワーク、ファイルにアクセスするのがユニットテストな訳はないでしょ…と思いましたが、どれひとつとして会場で一致したものはありませんでした。
デトロイト学派とロンドン学派の差で割れるのはなんとなく想像してましたがまさにこれほどとは、、、
しかし、これを解決する別の言葉を教えていただきました。それらはsmall/medium/largeテストです。
- 単一プロセスで完結するテストはSmallテスト
- 複数プロセス単一マシンで動作するテストはMediumテスト
- 複数マシンで動作するテストはLargeテスト
このように定義することで、人による定義の違いが全くなくなります。
また、これらのテストと単体、統合、E2Eテストをそれぞれどのように行うのが効率の良いテストになるのかについてもまとめがあり、理解が深まりました。
Railsのモデルのテストなど単体テストだが、DBにアクセスしなければならないテストはコスパが悪く、
モックなどを使って外部依存を単一プロセスないでテストできるようにするとコスパが良いテストになるという点は確かにと思わされました。
941さん、naoyaさん、yusukebeさん、twadaさん「平成のエンジニアから令和のエンジニアへの遺言〜技術情報を伝達する手段の変遷〜」
YAPC古参の皆さんで久しぶりのYAPCでパネルセッションをされていました。
941さんはこちらで初めてお目にかかったのですが、笑いと、役に立つ情報を巧みに織り交ぜ、ゲストにいいお話をしてもらえるよう引き出すテクニックは目を見張るものがありました。
終始941さんがnaoyaさんを炎上させようとしている(ネタ)のが個人的には一番面白かったです(?)
全体的に、YAPCというコミュニティの温かさを感じるセッションでした。
参加者の方との交流
懇親会にも参加し、初めての方とも何人かXのアカウントを交換させていただきました。
私自身Perlを触ったことがなく、サーバーサイドTypeScriptをメインにしているので近しい方とお話しすることができて嬉しかったです。
@tasshi_meさんにはNihonbashi.jsに誘っていただいたのでとても楽しみにしています。
こうやって、コミュニティでのつながりって増えていくんだなあ、とそーだいさんのトークを改めて噛み締めていました。
また、そーだいさんや941さん、yusukebeさんともお話しできて、特にyusukebeさんとはHonoの話をたくさんさせていただけてとても幸せな時間でした。
おまけ
今回は土日月の3連休の土曜日までの日程だったので、残りの2日間で広島観光も目一杯楽しみました。一泊二日で宮島と広島市街だとちょうどいい感じでした。
広島は初めてでしたがとても素敵なところでした。
Discussion