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

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

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

PostgreSQL環境でPgBouncer を高可用性構成で実装する際の考え方を解説します。バックエンドのPostgreSQL自体のHA構成は考慮せず、あくまでPgBouncer側のみを高可用性化する方法を簡単な構成例とあわせて解説します。

GitHub Actionsは、リポジトリのコードを基盤にCI/CDタスクを自動化するための強力なツールです。その中でも cron スケジュールを利用することで、特定のタイミングで定期的にジョブを実行できます。本記事では、GitHub Actionsを使ってcronタスクを設定する方法、利点と欠点、さらに具体的な利用例について解説します。

最近Python のプロジェクト管理ツールである uv を使い始めました。
そのサブコマンドは一見シンプルに見えますが、似たような機能に見えるコマンドがあるため
「どのコマンドを使えばいいの?」と戸惑うことがあります。
これは、 uv のサブコマンドに「低レベルの機能」と「高レベルのラッパー」が混在しているためです。
この記事では、 uv のサブコマンドを低レベルの機能と高レベルのラッパーに分類し、それぞれの役割や使いどころを整理してみます。特に、普段遣いで便利な高レベルのラッパーに注目し、効率的な使い方を解説します。

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

今日は、Pythonの非同期プログラミングフレームワークとしてよく出てくる、 asyncio , Torio , AnyIO について、どれ使えばいい問題をサクッと解決します。

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

SQLAlchemyはPythonのデータベース操作を強力に支援してくれるライブラリですが、mypyなどの型チェックツールと組み合わせると問題が発生することがあります。この記事では、特にselect.where句で型エラーが発生するケースについて、再現例と解決策を詳しく紹介します。最近この現象でドハマリしたので備忘録です。
シャミアの秘密分散法
(Shamir’s secret sharing)を、ethers.jsを使用して試してみます。以下は、シャミアの秘密分散法を実装するためのコード例です。