AIによるスペックテストの変更をガードする方法

テスト駆動開発(TDD)では、顧客の分析された顧客の要求仕様をテストケースとして初期段階に完成させますが、 開発者やAIがこのテストケースを変更してしまってはTDDの意味がありません。
本稿では、Pythonの pytest を使ってテストを書いている中で、顧客レビュー済みのスペックテスト(仕様テスト)を開発者が変更してしまうのを防ぐためのアイデアをご紹介いたします。
PgBouncer: 高可用性構成(HA)の実装方法

PostgreSQL環境でPgBouncer を高可用性構成で実装する際の考え方を解説します。バックエンドのPostgreSQL自体のHA構成は考慮せず、あくまでPgBouncer側のみを高可用性化する方法を簡単な構成例とあわせて解説します。
GitHub Actions cronの使い方: 定期実行・スケジュール設定完全ガイド
uv add/remove/syncの使い方: Pythonパッケージ管理を完全理解
exo: 分散AIクラスターを2台のMacBookで構築する

最近注目を集めているオープンソースの分散AIクラスターソフトウェア exo を、手元のMacBook 2台を使って試してみました。本記事では、exoの概要、インストール方法、設定、そして実際の使用感について詳しく紹介します。
Pythonの非同期フレームワーク比較:asyncio, Trio, AnyIO

今日は、Pythonの非同期プログラミングフレームワークとしてよく出てくる、 asyncio , Torio , AnyIO について、どれ使えばいい問題をサクッと解決します。
pytest テスト実行中の状態を知るデバッグオプション --pdb

pytest は Python 開発者にとって無くてはならないテストフレームワークです。その中でも、失敗したテストケースで即座にデバッガーを起動できる --pdb オプションは、テスト駆動開発 (TDD) やバグ修正において非常に便利な機能です。
この記事では、 --pdb の使い方、注意点、副作用、そしてその回避方法について詳しく解説します。
SQLAlchemyでmypy型チェックエラーに対処する方法

SQLAlchemyはPythonのデータベース操作を強力に支援してくれるライブラリですが、mypyなどの型チェックツールと組み合わせると問題が発生することがあります。この記事では、特にselect.where句で型エラーが発生するケースについて、再現例と解決策を詳しく紹介します。最近この現象でドハマリしたので備忘録です。