PHPerKaigi コードバトルを支える技術 by nsfisis

PHPerKaigi 2026
レギュラートーク(20分)

PHPerKaigi コードバトルを支える技術

nsfisis nsfisis nsfisis
5

コードゴルフというコーディング競技があります。
コードゴルフとは、問題に対してコードを提出し、テストが通ったコードのうち最も短いコードを書いた人が勝利するというものです。

PHPerKaigi 2024 ではコードゴルフコンテストを、PHPerKaigi 2025、2026 では、コードゴルフを元にしたコードバトルという企画を実施しました。

こういったシステムを安易に実装すると、サーバ上で任意のコードを実行することになり、深刻な脆弱性を作り込んでしまいます。

このセッションでは、これらの企画の技術面・運営面での裏側を話します。

話すこと

  • コードゴルフ・コードバトルとは
  • 投稿されたコードを安全に動かすために
    • Docker による隔離
    • WebAssembly による隔離
  • ルールとその変遷
  • 問題の難易度調整
  • 今年または去年の問題と解答の紹介
    • コードゴルフのテクニック紹介が趣旨ではないため、それぞれの問題に対する詳細な解説はおこないません。