hkws
Webアプリケーション開発の開発においては、@app.get("/users/{user_id}")のような一文で処理とパスのマッピングを記述しますよね。しかし、その一行の裏側で、フレームワークがどのようにして正しい処理を呼び出しているか、仕組みを考えたことはありますか?
本トークは、普段当たり前の機能として使いがちなパスルーティングの裏側に目を向けます。Python製WebフレームワークであるDjangoとFastAPI, Litestarを例にとり、そのルーティング機能がどのようなアルゴリズム(単純な正規表現、効率的なTrie木など)によって実現され、どのように実装されているかを、図やコードを交えて解説します。さらに実験を通じて、登録するルートの量や深さに応じて、アルゴリズムごとに実行時間がどのように変わるかを比較します。
このトークを通じて、競技プログラミングで学ぶようなアルゴリズムが、実世界のアプリケーション開発という身近な場所で活きている、その面白さを共有します。Webアプリを構成する重要なパーツであるルーティングへの理解を深め、当たり前に使っている機能がどのように実現しているかを探求する楽しさへと繋がることを目指します。
以下のアウトラインを想定しています。
私が主にWebアプリケーション開発を仕事にしており、当たり前に使っている機能の裏側を知ることに面白さと意義があると考えているから。
特になし
プロフィール
NTTCom/NTTドコモビジネスという会社で、Webアプリケーションの開発を行っています。