見出し画像

iOSDC Japan 2024振り返り #iosdc #iosdc2024

iOSDC Japan 2024に参加した

参加した理由

iOSDCは、今回初めての参加でした(正確には昨年オンラインでトークは聴いていた)。いわゆるデベロッパカンファレンスや勉強会への参加も、6年ぶり、とかになります。
10年以上前までは、こまめに勉強会やカンファレンスにも足を運んでいましたし、LTもトークもたくさんやってきました。
特に嫌な思いをしたとかってことはないのですが、ある時からこの手のイベントから足が遠のいてしまいました。参加するにしても登壇を頼まれた時とかくらいで、自発的に参加するということはほぼありませんでした(その代わり、自分で主催する音楽関係のイベント、トークライブ、セミナーなどは結構やってはいたのですけども……)。

しかし、昨年、業務委託としてChatworkさんのお仕事をすることになり、ChatworkさんがスポンサーセッションをするということでiOSDCにオンライン参加したところ、「あれ? カンファレンスってこんなに面白かったっけ?」と。
来年は、ひさびさにオフラインで参加したいな、と思いました。

プロポーザル出してみた

で、今年。
iOSDCの申し込みが始まったので、さくっとノベルティ付き一般チケットを購入。
今年は参加するぞー! と盛り上がったタイミングで、「あ、せっかくだから記念にプロポーザル出してみよう」と。
とはいえ、僕にしかできない面白い技術ネタは思いつかなかった(あと、業務委託だと仕事がらみのネタは公にしにくい)ので、LTで一発ネタにしよう! 技術ネタじゃなくてもいいなら、音楽ネタとかどうよ?
で、LTに応募だ! と思って、プロポーザル募集のページを見ていると
ルーキーズLTは、iOSDC Japanではじめてトークする方のための応募枠です。
との表記が。
いや、ルーキーっていうには、年齢もあれだし、経験値も高いぞ、と悩みつつも「だって、先生がルーキーズにしろって言ってたから!!」ってことで、ルーキーズLTに応募したわけです。
応募が多いということは聞いていたので、どうせ採択されないだろうし。
と思ってたのに、採択された!!!!
でも、やっぱ、「ルーキーズ」はまずいんじゃない? ほんとうのルーキーの方の枠を奪っちゃったんじゃない? ってことを、iOSDCの実行委員長の長谷川さんにも相談しました。しかし、「iOSDCでの登壇が初めてならルーキーズで!」ってことだったので、ありがたく登壇させていただくことになりました(一般チケットはキャンセルさせてもらいました)。

Day 0

当日、諸事情で予定よりも遅れて家を出たんですが、前夜祭説明が押していて、ギリギリセーフ。
飲み物たくさんあるし、お菓子もあるし、スポンサーブースも楽しげだし、いきなり楽しい。

ビールもあるよ

この日、印象に残ったのは「StoreKit 2によるモダンなアプリ内課金」。
とてもわかりやすく、基本的なところから復習できて、ありがたいセッションでした。
知っていることも多かったけど、こうやって改めて振り返させてもらえるのが、こういうセッションの良いところ。
語り口も丁寧でとても良かったです。

Day 1

この日は、朝ドーナツがあるということで、間に合うように早めに会場に到着。

朝ドーナツキメた

この日は、自分の登壇もあるので、一日中落ち着かない感じ。でも、面白そうなセッションが多かったので、いろいろ聴いてみた。

メインスレッドをブロックさせないためのSwift Concurrencyクイズ
第一問めは余裕って感じだったんだけど、二問目から急に難しい、というかそんな罠が!! という展開。
こういうのって、自分ではなかなか情報収集できないので、ありがたい。

空間ビデオフォーマット、MV-HEVCが写し撮る世界
以前、お仕事でご一緒したことがある、なめきさんの発表。
普段あまり触れたことがないテーマを、学べてしまうのがカンファレンスの良いところ。
空間ビデオの撮影周りの工夫とか知らないことばかりでとても面白かった。
初心者にもわかりやすい流れで解説していただけました。

詳解UIWindow
普段何気なく、当然のように理解して使っているもの、だからこそ、深掘りせずにいること。
こういうセッションでは、そういう「知ってるつもり」を解説してもらえるのがうれしい。
UIWindowの表示順とか、あらためて聞くと、なるほどと思うことが多かったです。

Swiftで高速フーリエ変換してオーディオビジュアライザーを作る
音楽関係のセッションってことで、楽しみにしていました。
過去に、僕もビジュアライザを作ったことがあったんですが、その時には高速フーリエ変換の部分は自分で触っていなかったので、このセッションで「高速フーリエ変換完全に理解した!」となりました(理解できていない)。
制作されたビジュアライザがOSSとして公開されたとのことなので、使ってみようと思います!

今日のランチは、ルーロー飯! めっちゃうまい!

ルーローの飯

そして、その後、自分の登壇が!
自分のLTについては、のちほど、また。

この日はオープニングパーティがあって、申し込んでいたのですが、ちょっと前から少し耳の調子が悪く、大きい音量で音楽が鳴る環境は、避けておいた方が良いとのことで、今回は、欠席してしまいました……。チケット取ってたのに申し訳ない……。

Day 2

自分の登壇が終わったので、解き放たれた民。
朝ドーナツを食べる。今日も。

昨日と似た絵面

今日も、面白そうなセッションがたくさん。

Swift 6のTyped throwsとSwiftにおけるエラーハンドリングの全体像を学ぶ
特に面白かったのが、最近お仕事でもお世話になっているkoherさんのこちらのセッション。
普段から、koherさんの説明はわかりやすいんだよなぁと思っていたのですが、いやはや、ほんとにわかりやすい。
染みるように知識が入ってくる感じ。
語り口が良いといいますか、展開のさせ方が巧みといいますか。
Typed throws、便利じゃん! と思っていたけど、そんな単純なものではないのだな。「使う誘惑に抵抗してください」に身が引き締まる思い。

今日のランチは、昨日もルーロー飯が美味しかったキッチンカーでガパオライス。

ガパオのライス

この日は、LT祭り!
先鋭たちのLTを見るぞ!!! と思っていたんですが、たこやきトラップ(たこ焼き待ち行列動かなすぎ問題)に引っかかり、LT前半はほぼ見ることができませんでした。

たこの焼き

LTで特に面白かったもの。

iOS怪談 シングルトンがふたつ…
導入のシングルトン2本、から上手い。
で、シングルトンが2つ? どゆこと?
理由がわかってみれば、なるほどなんだけど、気がつくまでは、これは、怪談だよなぁと思った。
技術系LTのお手本みたいな素晴らしいLTでした。

iOSDC Japan 2023のロゴの謎 〜そして辿り着いた真実〜
脱出ゲームの謎解きみたいで、面白い。
一度、意味を見出してしまえば、次も意味を見出そうとしてしまうもんですよね。
色々な角度から詰めていくのが面白い。
ラストの展開も最高でした!

全力の跳躍を捉える計測アプリを作る
いつ、跳ぶんだろうと思っていたら、ほんとに跳んだ!!! のカタルシスがすごい。
結果の面白さとか、声色の変化での盛り上げとか、すごすぎる。
LT職人の熟練の技という感じがしました。

クロージングのあとは、懇親会。
懇親会って、実は、あまり得意でないんですが、今回は、参加して良かったです。
なにしろ、素晴らしかったのが、入場時に手渡された、これ。

美味しいもの詰め合わせ

立食パーティって、食べ物も飲み物もすぐになくなっちゃうんだけど、こうやって、最初から手元に食べ物と飲み物があるというのは、ありがたい。
で、懇親会って、どうしても知ってる人とばかり話してしまって、これなら、別途飲み会とかで会えば良かったんじゃね? ってなることも多いんですけど、今回は、登壇させてもらったこともあり、名札を見て声をかけてくれる人も多く、LTを見てくださっていた方からは感想も聞けたのが嬉しかったです。
それが嬉しかったので、自分でも積極的に、面白かったセッションのスピーカさんを探して声をかけたりもできました。
僕自身がしばらくカンファレンスや勉強会から離れていたせいで、しばらくぶりに会えた!! って人も多くて、ひさびさの再会も嬉しかったです。
食べ物も飲み物も無限にあるので、いつもなら、この手のイベントの後、帰りにラーメンでも食べて帰るかな、みたいになりがちなんですけど、今回はそんなこともなく、良い感じの酔いと満たされ胃袋で帰宅しました。
で、帰宅してから、「あー、あの人とも話しておくんだった!!」って後悔するんだけど……。

「プログラマのための音楽入門」

今回の僕のLTは「プログラマのための音楽入門」というタイトルでした。
実は、このプロポーザルを出した頃、「プログラマのための作曲入門」を出版しようと、出版社と企画を作ったりという作業をしていたところでした。
その中のひとかけらでLTできたら面白いのでは、ということで選んだテーマでした。
その後、この出版の話は消滅してしまうのですが……。

プロポーザルを出したときは、まさかiOSに関係ない話が採択されるわけないと思って、面白そうなネタをいろいろ書いておいたんですが、実際に採択されて、いざ資料を作ってみたら、「これ、5分で収まらなくね?」と。
そこから、話さなければいけないことだけを抽出して、研ぎ澄ましていくんですが、6分30秒の壁が越えられない。
そこからは、削れるところを再度削り、コード進行のところで鳴らしていた音源のテンポを上げて、時間を短縮……という地道な作業で、なんとか4分30秒くらいに収めることに成功。

話の中に出てくるソースコードなんですが、コードの品質は二の次で、とにかく、短く見やすく、初見で読めるものではないとダメだと思いました。
5分のLTの中で、しかも話題の一部のソースコードなので、細かく解説できるわけでもないので、抽出してもロジックの流れが変わりやすいように。
なので、その方針で、最初に作ったコードに修正を加えて、この形になりました。

実際に登壇してみると、ここで笑ってほしい! ここで、おおっと思ってほしいというタイミングでリアクションが返ってくるので、とてもテンションが上がりました。

登壇後、「これ、ルーキーズじゃないですよ」とたくさんの人に言われました。
すみません、遅れてきたルーキーなのです。

内容に関しても、「音楽やってるけど面白い」「音楽分からないけど面白い」の両方の声がいただけました。
登壇後、たくさんの人にお声がけいただき、感想もいただけて、嬉しかったです。
やって良かった!!

でも、まだまだ感想が欲しい!!
こちらからフィードバックいただけるとうれしいです!

https://fortee.jp/iosdc-japan-2024/me/feedback/fefd91f6-bef1-42b6-867f-2d8ae0f90519

そして、最後にお話しした「プログラマのための作曲入門」ですが、個人制作で、同人誌、もしくは電子書籍としてリリースするつもりで、鋭意執筆中です。
もし、うちなら出版できるぜ、って出版社さんがいましたら、お声がけくださいませ。

おわりに

ひさびさのカンファレンス。
なんで、こんな面白いもの、しばらく避けてたんだろうな、って思うくらいに楽しかったです。
これは、iOSDCというイベントの空気感のせいなんだろうなと思います。
楽しくて、人と会えて、知見も得て、美味しいものを飲んだり食べたりできるお祭り。
来年も、また参加したいです。

よろしければサポートをお願いします。励みになります!