PythonでWebサービスを開発するにあたって参考にしたのが以下のドキュメント。
無料ながら素晴らしい内容で入門者におすすめ。
読み進めていくなかで前提となる知識が必要になる部分もいくつかあり備忘録としてここに記す。
FastAPIだけでなく、Dockerも使っているのでその内容も含む。
(DockerもPythonも経験値少なめなので初歩的な内容多め)
Docker Composeのこと
複数のDockerコンテナを一度に制御できるツール
以下のリンクが分かりやすい。
Macであれば「Docker Desktop on Mac」、
Windowsであれば「Docker Desktop on Windows」をインストールすることで
Docker Composeも使用することができる。
通常、Dockerと言えば「Docker Desktop」のことを指す。
Dockerは個人で利用する場合には無償だが、従業員数250名以上の会社で商用利用する場合には
有償となる。(有償となる要件等は公式サイトで確認すること)
Dockerfileとdocker-compose.ymlの関係等も、上述のリンクが分かりやすい。
Dockerfileがまずあって、docker-compose.ymlの「build: .」の部分で
Dockerfileの存在するディレクトリのパスを示している。
Docker Composeの各種コマンドは以下のリンクが分かりやすい。
Pythonのこと
基本知識
以下の動画が非常に分かりやすい
開発環境について
VisualStudioCodeでコードを書くときに補完機能が働かず効率が悪い
以下を参考に設定したうえでpyファイルを開くと解決する
注意点として「FastAPI入門」でのDockerコンテナの設定の場合だと、
指定するPythonのインタープリタパスは「.bin/python」にすること(ここで少しはまった)
構文について
以下の一文は、「fastapiというモジュールからFastAPIという関数をインポートしている」という意味
from fastapi import FastAPI
コーディングスタイルについて
変数名を例にすると、Javaのようなキャメルケース(例:helloWorld)ではなく、スネークケース(例:hello_world)のように定義する
サーバーについて
「Uvicorn」(ユビコーン)を使用する
調べるとWSGIの後継にあたるASGIサーバーとのこと
(ASGIという言葉は初めて聞いたが、Webアプリを動かすのに必要なAPサーバーのようなものと捉えた)