🐪

Perlを書いたことない僕がYAPC::Kyoto 2023に参加した話

2023/03/27に公開

初めに

YAPC::Kyoto 2023が2023年3月19日に京都リサーチパークでオフライン/オンラインのハイブリッド開催されました。

YAPCとは

YAPCはYet Another Perl Conferenceの略で、Perlを軸としたITに関わる全ての人のためのカンファレンスです。 Perlだけにとどまらない技術者たちが、好きな技術の話をし交流するカンファレンスで、技術者であれば誰でも楽しめるお祭りです!
https://yapcjapan.org/2023kyoto/

です。

今回、私は学生旅費支援制度を利用し、広島からオフライン参加させていただきました。

https://blog.yapcjapan.org/entry/2022/12/28/180000

学生旅費支援制度とは交通費と宿泊費について5万円を上限に支援してくださる神のような制度です!

ちなみに、チケット申し込み後に支援制度の申し込み期限が過ぎていることを知り、オンライン参加にしようと思って運営に問い合わせたところ、残り1枠あるとのことだったのでこれは参加するしかない!と思った裏話があったりします。

ここからは、時系列的に書いていきたいと思います。

今回は3つの会場がありました

  • Scrapboxホール by Helpfeel
  • Gyazoホール by Helpfeel
  • 土俵

が、ほとんどGyazoホールにいた気がします。

小さく始め、長く続けるOSS開発と貢献

いきなり個人的ベストトークで、OSSに対する関わり方や考え方などが素敵でとても勉強になる発表でした。
OSSや英語に怖がり過ぎずもっと気軽に(もちろんルールや礼儀は守った上で)issueやPRを投げていきたいと思えました。

発表スライドはもう少ししたら公開されるそうなので楽しみです。

https://twitter.com/songmu/status/1637500279288639489

ジョブキューシステムFireworqのアーキテクチャ設計と運用時のベストプラクティス

https://speakerdeck.com/tarao/fireworq

ちょうど個人開発でジョブキューを使ってみようと思っていたので聞いてみました。
TheSchwartz+WorkerManagerからfireworqを作成、移行する話です。
普段触らない領域なので初めて知ることばかりで面白かったです。
既存の環境ではワーカーたちによる奪い合いが最高でした。

tRPCとCloudflare PagesとCloudflare D1で実現する 安くて速くて堅牢なWebアプリケーション

https://www.figma.com/file/v5JKpcvQHmSldtDM74GGyP/

最近tRPCとPrismaの組み合わせを使い始めたので聞きにいきました。
金銭的コストを抑える目的Cloudflareを使っているとのことでうなずきしかありません。
ライブコーディングもあってオフラインのカンファレンス感を感じられてよかったです。
余談ですが、figmaで登壇資料をお試しで作ってみたとのことでしたが、実際発表してみてどうだったのか気になります👀

ORM - Object-relational mapping

ORMは普段使うことしかないので、設計という観点から知りたくて聞いてみました。
Active RecordというとRailsのものであるという認識でしたが、モデルやビジネスロジックなどの関係性によって、Table Data Gatewayパターンなど(確か)4つに分けられるらしいです。
発表ではその後社での取り組みなどについて話されていました。
20分のみでしたがもっと聞きたい内容でした。
あとPoEAA読もうと思いました。

資料は見つからなかったです。

"普通"のWebアプリでWASMを活用する

https://scrapbox.io/niboshi/"普通"のWebアプリでWASMを活用する

WASMは研究などでも触っていたので聞きにいきました。
Helpfeel記法のパーサーをPythonとJSでそれぞれ実装しているのをRust+WASMで一つにまとめたいというモチベーションのようです。
プロダクションにはまだ投入していないそうです。
個人的にはビルドサイズが現実的なサイズになるのかが気になっています。

お昼ご飯

スポンサーの方々とお昼ご飯を食べながら質問タイムとビンゴを行いました。
スポンサーは次の通りです。(順番は https://yapcjapan.org/2023kyoto/#sponsors の通りです。)

qron: Cloud Native Cron Alternativeの今

https://speakerdeck.com/aereal/yapc2023

タスクを定期的にexactly-onceかつスケーラブルな仕組みをAWSで実現する話です。

exactly-onceについて知らなかったので調べると次のようです。

  • at-least once
    • メッセージが最低1回は送信される
    • つまり、メッセージの重複が許容されなければならないない
  • at-most once
    • メッセージが最大でも1回しか送信されない
    • つまり、メッセージの欠損が許容されなければならないない
  • exactly-once
    • at-leaset onceとat-most onceの両立

from: https://blog-smatsuzaki.hatenablog.com/entry/2020/11/14/214115

なるほどという感じです。確かに一般にexactly-onceを実現するのは難しそうなのでat-least onceにして冪等性を担保した設計に寄せそうですし、手軽にexactly-onceかつ単一障害点にならないのであれば最高ですね。

ただ、発表の趣旨はなんとか理解できましたが、設計についてはいまいちわかっていないのでまた今度ゆっくり読みたいです。

4PB(ペタバイト)を超えるオブジェクトストレージをハードウェアからアプリケーションにかけて運用するノウハウ

https://speakerdeck.com/rsym1290/4petabaitowochao-eruobuziekutosutoreziwo-hadoueakaraapurikesiyonnikakete-yun-yong-surunouhau

自宅でNASを運用して?いるので聞きにきました。レベル感が全く違うのであまり参考にならなかったです。

確かに画像配信を自社で行うにはストレージをオンプレミスで持った方が経済的そうです。
ただ発表では一部を利便性の高いS3のようなクラウドに移行を始めているようです。
ここら辺の話は次のブログで書かれているそうです。

https://tech.pepabo.com/2022/12/16/bayt-to-s3-goope/

また、発表後の質疑応答で、「HDDの場合IOがボトルネックにならないのか」という問いに対して「MogileFSが分散して保持しているので各HDDのIOが軽減されるので現状はなっていない」ということでした。MogileFS便利そうですね。

https://www.slideshare.net/lamanotrama/mogilefsprivate-s3

ここら辺も気になっています。

DNS権威サービスへのDDoSとハイパフォーマンスなベンチマーカ

https://speakerdeck.com/kazeburo/dns-pseudo-random-subdomain-attack-and-high-performance-benchmarker

ローカルなDNSサーバーを建てる予定だったので聞きにいきました。

さくらのクラウドで実際にあったDNS水責め攻撃(ランダムサブドメイン攻撃)とその対策についてです。
「攻撃は受け切る」というスタイルが最高でした。
Happy Eyeballsなど知らない話も多くて勉強になりました。

llsとcachectlから学ぶ、Goでシステムプログラミングをする方法

https://zenn.dev/catatsuy/articles/e15714f8e253d8

WASMでCのscanf, printfが使いたいときにシステムコールのread, writeを線形メモリの読み書きに置き換えるのを思い出して懐かしくなりました。
システムプログラミングちゃんと勉強したいです。

どこでも動くWebフレームワークをつくる

https://speakerdeck.com/yusukebe/dokodemodong-kuwebhuremuwakuwotukuru

Honoの話です。
利用させていただいてるので聞きにいきました。

改めてどこでも動くし、実際に世界中で利用されていてさすがだなと思いました。

honoの3+1のルーターと、そこにつながるPRがプロジェクトにもたらしたもの

https://speakerdeck.com/usualoma/honono3-plus-1norutatosokonitunagaruprgapuroziekutonimotarasitamono

以前からすごいと噂のルーターを知りたくて聞きにいきました。

RegExpRouterの説明で$()を利用していると説明がありましたがいまいち意味がわからなかったので、図示してみましたがわかりませんでした。

また、お寿司での説明がめちゃくちゃわかりやすかったです。

キーノート(私とPerlとYAPCとはてなと私)

https://speakerdeck.com/onishi/yapc-kyoto-2023-keynote

会場がはてなさん創業の地と知り驚きました。しかも21年目と同い年でさらに驚きです。
はてなさんの始まりを知れてなぜか嬉しかったです。

最後に

どの発表も非常に面白く、大変勉強になった1日でした。
全て聞くことができず残念でしたが、ほとんどの資料を共有してくださっているので、少しずつ読めたらなと思っています。

最後に、YAPCを支えてくださったスタッフの皆様、スポンサーの皆様、本当にお疲れ様でした。ありがとうございます!!
次回は広島かも、ということなので参加する予定です!

P.S. スポンサーブースの面白法人カヤックさんではおみくじが引けたのですが、結果はundefで、「未来は自分で切り拓け」と言われて楽しかったです。

Discussion