2023年2月23日
AWS API Gateway のスロットリングを Terraform を使って設定する方法を見つけるまでに少し手間取ったのでメモ。 ## AWS マネジメントコンソールでの場所 今回 Terraform で設定するのは、マネジメントコンソールの各ステージの設定画面内の「デフォルトのメソッドスロットリング」に該当する箇所です。 !management console ## そもそも API Gateway のスロットリングとは API Gateway では API が1秒あたりに処理できるリクエ
2023年2月22日
『単体テストの考え方/使い方』(Vladimir Khorikov 著、須田智之訳)を読んだので、そのまとめを部ごとに書いていこうと思います。 1. 単体テストの目的・定義・学派・命名について:単体テストの考え方/使い方 第1部 1. リファクタリングしやすいテストを書こう:単体テストの考え方/使い方 第2部前半 1. ビジネス・ロジックと連携の指揮を分離すれば良いテストが書ける:単体テストの考え方/使い方 第2部後半 1. プロセス外依存は統合テストで確認しよう:単体テストの考え方/使い方 第3部(こ
2023年2月19日
『単体テストの考え方/使い方』(Vladimir Khorikov 著、須田智之訳)を読んでいるので、そのまとめを部ごとに書いていこうと思います。 1. 単体テストの目的・定義・学派・命名について:単体テストの考え方/使い方 第1部 1. リファクタリングしやすいテストを書こう:単体テストの考え方/使い方 第2部前半 1. ビジネス・ロジックと連携の指揮を分離すれば良いテストが書ける:単体テストの考え方/使い方 第2部後半(この記事) 1. プロセス外依存は統合テストで確認しよう:単体テストの考え方/使
2023年2月8日
サチコ(Google Search Console)を眺めていたら `FastAPI MySQL` がそれなりに需要ありそうと思ったので、FastAPI と SQLAlchemy を組み合わせて ORM を使う方法を紹介したいと思います。最近の SQLAlchemy(1.4以降)ではマッピングされたオブジェクトに型を適用することもできるので、型ヒントを活かして型安全なコードを書くことも難しくなくなっています。 ## 環境 * Python 3.10.6 * FastAPI 0.89.1 * SQLAl
2023年2月6日
Python の dict(辞書)を TypeScript の interface のように扱えて便利な TypedDict ですが、**dict のサブクラスではない**というのが少し落とし穴だなと思ったのでメモ。 ## まずは PEP を見よう 大抵のことは公式ドキュメントを見れば書いてあります。今回も例外なくそうでした。 > First, any TypedDict type is consistent with `Mapping[str, object]`. https://peps.py
2023年2月4日
『単体テストの考え方/使い方』(Vladimir Khorikov 著、須田智之訳)を読んでいるので、そのまとめを部ごとに書いていこうと思います。 1. 単体テストの目的・定義・学派・命名について:単体テストの考え方/使い方 第1部 1. リファクタリングしやすいテストを書こう:単体テストの考え方/使い方 第2部前半(この記事) 1. ビジネス・ロジックと連携の指揮を分離すれば良いテストが書ける:単体テストの考え方/使い方 第2部後半 1. プロセス外依存は統合テストで確認しよう:単体テストの考え方/使
2023年1月17日
『単体テストの考え方/使い方』(Vladimir Khorikov 著、須田智之訳)を読んでいるので、そのまとめを部ごとに書いていこうと思います。 1. 単体テストの目的・定義・学派・命名について:単体テストの考え方/使い方 第1部(この記事) 1. リファクタリングしやすいテストを書こう:単体テストの考え方/使い方 第2部前半 1. ビジネス・ロジックと連携の指揮を分離すれば良いテストが書ける:単体テストの考え方/使い方 第2部後半 1. プロセス外依存は統合テストで確認しよう:単体テストの考え方/使
2023年1月12日
FastAPI で SQLAlchemy を使っている時に、コンテナを立てた直後は問題ないけど一定時間経過後に DB 接続が切れてしまう問題に遭遇したのでその時に調べたことのメモ。 ## 環境 * mysql 5.7.15 * SQLAlchemy 1.4.45 * mysqlclient 2.1.1 ## 問題 ``` MySQLdb.OperationalError: (2006, 'MySQL server has gone away') ``` 最後に MySQL サーバーに接続してから
2023年1月8日
不定期的に「あーでもない、こーでもない」と言ってキーボードのマッピングをいじりだしてしまうことってありますよね。私はあります。限りあるキーの中から自分にとっての最適解を見つける作業はなんだかんだ楽しいです。 今回は 2023 年版、私のキーボードのマッピングを書きとめておこうと思います。 過去の記事: Windows10 と PowerToys で US キーボードでも無変換・変換キーを使って IME を一発で切り替える ## 環境 * 使うパソコン * Windows デスクトップ *
2022年12月27日
同期と一緒にトラシュしたので、プロキシ環境下で kubeadm + Containerd + Calico の Kubernetes クラスターを構築する方法について記録を残します。 ## 環境 * Ubuntu 22.04 * サーバーはニフクラを利用(e-medium4 2vCPU/4GB) * Kubernetes v1.26.0 * kubeadm v1.26.0 * Containerd v1.6.14 * Calico v3.24.5 コントロールプレーン、ノード1台ずつの構成としま