2023年3月4日
Python 公式ドキュメントの unittest.mock のページにドンピシャの内容が書いてありますが、なかなか気づけずにハマってしまっていたのでメモです。 `unittest.mock.patch` でパッチしたけど当たってない気がする人は参考にしてみてください。 下記の引用に要点が凝縮されています。 > ### どこにパッチするか > > `patch()` は (一時的に) ある 名前 が参照しているオブジェクトを別のものに変更することで適用されます。任意のオブジェクトには、それを参照する
2023年3月1日
apt を使って docker や terraform をインストールする時など、提供元のサードパーティ apt リポジトリを追加する場合が結構ありますよね。その際に、今までは `apt-key` を使って OpenPGP 公開鍵をインポートしていたのですが、`apt-key` は Debian 11 と Ubuntu 22.04 を最後に使えなくなる ので、今後は `gnupg` を使った方法が主流になっていきます。 Ansible にも ansible.builtin.apt_key module
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 サーバーに接続してから