CATEGORY

備忘録

JWTトークンによる認証とセッショントークンによる認証の違い

こんにちは!seiです! webアプリケーションのセキュリティ観点として ・認証、認可によるリソースの制御 ・サイバー攻撃(XSSやSQLインジェクション等)の対策 の二つがあると思います。   今回はJWTトークンによる認証と、セッショントークンによる認証についてそれぞれのメリット、デメリットがよくわからなかったので備忘録です。 JWTトークンとセッションによる認証の違い セッション認 […]

fastAPIでwebsocketを使ったpub/sub機能の実装方法

こんにちは!seiです。   業務でpub/sub機能を作成する必要があり、初めてwewbsocketを使ったので備忘録です。   fastAPIでwebsocketを使ったpub/sub機能の実装手順   Graphql ライブラリはariadneを使用しています。 ariadneを使っている理由は生graphql定義ファイルから定義をインポートしやすいためです。 […]

pythonのマルチスレッド、asyncioの違い

  こんにちは! 仕事でfastAPIを触っているのですが、マルチスレッドとasyncioの違いが分からなかったので備忘録です。   pythonのマルチスレッド、asyncioの違いは? マルチスレッドもasyncioのどちらも「平行」にタスクを実行する非同期処理を提供しています。 しかし、内部の仕組みは以下のように異なります。 マルチスレッド:複数スレッドを用意してタスクご […]

コンテナビルド時にDockerファイルより上のディレクトリを用いる方法

こんにちは! seiです。   DockerFileを開発環境用、本番環境用と同じgitリポジトリで管理したいときってありませんか?   Dockerは基本的にDockerファイルがあるディレクトリ以下にあるファイルしかビルドすることができません。 したがって、開発環境用と本番環境用Dockerファイルを分けようとすると、以下のようにアプリケーションのディレクトリがある階層にD […]

Dockerコンテナから外部のコンテナやホストマシンにアクセスする方法

こんにちは! seiです。 皆さん、Docker使ってますか? Dockerでつまずくところと言えば通信ですよね。インフラエンジニアじゃない人にとっては通信の部分わかりずらい事この上ないと思います。 今回はコンテナから外部に通信する方法を紹介します。 ある程度Docker使ってきて知見が貯まったので備忘録です。 Dockerコンテナから外部のコンテナへアクセスする 外部のコンテナにアクセスする場合 […]

SPA,SSR,従来のアプリ、それぞれの違いとサーバ構成について

こんにちは!seiです!   業務でフロント周りのサーバ構成図を考えるときに悩んだので備忘録です! nuxtを使用しており、ssrにするかspaにするかでサーバ構成が違います。 ※この記事ではNuxtを前提に執筆しています。サーバ構成などはNext.jsなどを使用する場合と違うかもしれません。 コメントいただけると嬉しいです。 従来のモノリシックアプリとSPAとSSRの違い   […]

FastAPI×ariadneでBackgroundTasksを使う方法

こんにちは! seiです!   今回は業務でfastAPIの機能backgroundTaskをariadneで使用するときに、少しはまったので備忘録です!   要件 フロント側がレスポンスを待ちたくない重い処理がありました。(email送信やバッチ処理等) ①よ~し、「重い処理の部分だけ後でやって先にレスポンス返そう!」 ②「重い処理終わったらpub/subで通知や!」 なAP […]

sqlalchemyでテーブル定義クラスを自動生成する方法【sqlacodegenを使おう】

こんにちは! seiです!   業務でsqlalchemyを使用しています。 システムの移行に当たって、既存DBからpythonのテーブル定義のクラスを生成する際に少しはまったので備忘録です。   今回紹介するやり方とは別に、「automap」を使ったやり方があるみたいです。sutomapはDBに通信してテーブルの情報をすべてmetadateオブジェクトに格納しそれをもとに 以 […]

Dockerコンテナ内開発でgitを使用する方法

こんにちは! seiです!   Dokcerコンテナを仮想環境としてチーム開発するときにgitが使えなくて、てこずったので備忘録です! 環境 ホストマシン: WSL:Ubuntu 20.04.2 LTS VSCodeの拡張機能「dev container」を用いて開発 コンテナの起動はdocker-compose.yamlファイルから   コンテナにgitをインストールする D […]

Dockerコンテナに外部から接続できないときの原因

こんにちは!seiです!   ローカルPC(WSL)から立ち上げたDocker コンテナにWindowsPCから接続できなくて、2時間ほどはまったので備忘録です!   Dockerコンテナに外部から接続できない原因   Dockerコンテナに接続できないときの原因は主に以下3つです。 コンテナ内アプリを0.0.0.0でリッスンしてない ポートのマッピングが間違っている […]