Upgrade to Pro — share decks privately, control downloads, hide ads and more …

make HTTP server with Axum, Rust

make HTTP server with Axum, Rust

Avatar for ライガー

ライガー

August 04, 2023
Tweet

More Decks by ライガー

Other Decks in Technology

Transcript

  1. Table of Contents • 事故紹介 • 前提 • つくったもの •

    api-shower: the origin • ここがんばったポイント ◦ 状態共有ありのハンドラの実装 ◦ SSE用のAPIの実装 • 話のオチ
  2. 自己紹介 • ライガー(JapaneSe Obaka Notation) • 𝕏: @ahoxa1rx • Github:

    raiga0310 • ぽーとふぉりお: https://raiga0310.github.io • B3 • Like: Rust TS • フロントは苦手意識
  3. 構成 • バックエンド ◦ Rust + Axum: APIサーバ ◦ PostgreSQL:

    DB • フロントエンド ◦ JS + Svelte ▪ pnpm + Vite • インフラ ◦ Nginx: ルーティング管理 ゆくゆくはHTTPS対応とか見越して ◦ Docker: バックエンドをまとめるやつ • DevOps(?) ◦ Github Actions: 正直ぐちゃぐちゃなので直したい (チェックに10分はごみ) ◦ Codecov: おまえなに
  4. 説明パート‐API • Application Interface Programmingの略 • ソフトウェアとユーザー以外のなにかのつなぐ仲介者 • フロントとバック(DB)をつなぐのもAPIだし •

    WebAPIというと、HTTP通信やらのデータのやり取りがおおい多分 • HTTP/1.1 GET /hello とかなんとか書かれてるやつ(は?) • ブラウザの窓のURLもAPIを叩いている(GET)
  5. 説明パート‐HTTP • OSI参照モデルの一番上での通信 を担当 • HyperTextTranferProtocol • HTTP ( Hypertext

    Transfer Protocol )は、分散型の協 調 的なハイパーテキスト情報システム用の, ステートレスな アプリケーションレベルのプロトコルである (RFC 7231(訳)) • Web系API大体これ使ってる (ド偏見) • 最近は新しいバージョンとかもあるらしいけど、旧タイプの 人間なので1.1を使います