ハッカソン
try! Swift Tokyo 2026 ハッカソン for Students
try! Swift Tokyo 2026 ハッカソン for Studentsで、チームで3つのSwiftマクロを3時間で開発・発表し、ピクシブ特別賞を受賞しました。私は発表を担当しました。 Swiftのコンパイラや型システム、ソースコードの構文を扱うSwift Syntaxをテーマにしたグループで取り組みました。
- 技術スタック: Swift, Swift Syntax, Swift Macros
- チームで作成したマクロ:
#trySwift: 文字列にtry! Swift 2026 を楽しもう!🎉を付加する練習用マクロ@DeadlineTODO: TODOに期限を設定し、期限を過ぎるとコンパイルエラーを出すマクロ@SmartCodable:Codableに準拠しないプロパティを含む構造体でも、エンコード・デコード処理を自動生成するマクロ
詳細な学び
Swift Macros / Swift Syntaxの理解: Swift Syntaxでソースコードを木構造(AST)として扱い、書き換えや追記を経てコードへ展開する仕組みを、実装を通じて学びました。普段から大規模なSwiftコードを読んでいた経験が、初めて触れるマクロの理解にも役立ちました。
実体験からアイデアを生む力:
@DeadlineTODOは「TODOコメントをよく忘れる」という経験から、@SmartCodableは実務でのCodable対応の手間から着想しました。受賞時には、技術的な難しさに挑みながら、実用的なアイデアに結びつけた点を評価していただきました。発表力: スライドを作る時間がなかったため、チームのコードをひととおり読み、3分間でマクロの仕組みと作成した機能を説明しました。
Appleエンジニアとの交流: Appleのエンジニアがアイデア出しからチームに加わり、一緒にお弁当を食べながらSwift Syntaxの詳しい仕組みを教えてもらいました。
