プログラミング言語

Python自動化 #4 — Webスクレイピング ②: Playwright で動的ページを扱う
読了 5分

Python自動化 #4 — Webスクレイピング ②: Playwright で動的ページを扱う

requests で取得すると空の HTML しか返ってこない JavaScript レンダリングページを Playwright で扱います。インストールと最初のスクリプトから、wait_for_selector による待機、ログイン自動化、無限スクロール、CSV 保存まで一気に整理します。

Python自動化 #3 — Webスクレイピング ①: httpx と BeautifulSoup で静的ページを収集
読了 6分

Python自動化 #3 — Webスクレイピング ①: httpx と BeautifulSoup で静的ページを収集

毎日開いて確認している価格・お知らせ・在庫のページを、コードに代わりに読ませます。httpx で HTML を取得し、BeautifulSoup の CSS セレクタで必要なデータだけを選び出して CSV に保存する、静的ページスクレイピングを扱います。

Python自動化 #2 — Excel自動化: openpyxl で繰り返しレポートを終わらせる
読了 6分

Python自動化 #2 — Excel自動化: openpyxl で繰り返しレポートを終わらせる

openpyxl で Excel ファイルを読み、フォルダにたまった支店別レポートを 1 つのシートに集約し、ヘッダー書式と数値フォーマットまで整えた成果物を作ります。数式と data_only の落とし穴、結合セルや大容量ファイルの注意点も合わせて整理します。

Python自動化 #1 — 繰り返し作業を終わらせる: スクリプトの第一歩とファイル整理
読了 6分

Python自動化 #1 — 繰り返し作業を終わらせる: スクリプトの第一歩とファイル整理

Python でダウンロードフォルダ整理スクリプトを作りながら、自動化スクリプトの基本の形を身につけます。pathlib でファイルを分類して移動し、dry-run の安全装置と argparse の引数処理まで 1 サイクルで整理します。

Pythonテスト #7 CIで回す — 人が忘れても機械は忘れない
読了 5分

Pythonテスト #7 CIで回す — 人が忘れても機械は忘れない

GitHub Actions で pytest を自動実行する CI ワークフローを作ります。uv キャッシュ、Python バージョンマトリックス、カバレッジの PR コメント、pre-commit、遅いテストの分離まで整理し、シリーズを締めくくります。

Pythonテスト #6 テスト設計 — 良いテストとカバレッジの読み方
読了 7分

Pythonテスト #6 テスト設計 — 良いテストとカバレッジの読み方

テスト設計の基本である AAA パターンと動作中心のテストから、テストダブルの用語整理、フレーキーテストへの対応、pytest-cov のカバレッジの数字を正しく読む方法まで扱います。

Pythonテスト #5 外部世界のテスト — ファイル、HTTP、DB、Webフレームワーク
読了 6分

Pythonテスト #5 外部世界のテスト — ファイル、HTTP、DB、Webフレームワーク

mock ですべて塞いだテストは本物の動作を保証しません。ファイルは tmp_path で本物を書き、HTTP は respx で境界だけ塞ぎ、DB はトランザクションロールバックで戻す、外部世界のテスト戦略を整理します。

Pythonテスト #4 mockとmonkeypatch: 制御できないものを制御する
読了 6分

Pythonテスト #4 mockとmonkeypatch: 制御できないものを制御する

時間、乱数、外部 API のように実行のたびに結果が変わる依存性を monkeypatch と unittest.mock で固定する方法を扱います。patch のパスの罠と過剰 mock の境界線まで整理します。

Pythonテスト #3 parametrizeとマーカー: ケースを増やして選んで回す
読了 5分

Pythonテスト #3 parametrizeとマーカー: ケースを増やして選んで回す

pytest の @pytest.mark.parametrize で入力だけが違うテストをケース表 1 つにまとめ、skip・skipif・xfail とカスタムマーカー、-m・-k オプションで必要なテストだけを選んで実行する方法を整理します。

Pythonテスト #2 フィクスチャ: 準備と後片付けを注入してもらう
読了 6分

Pythonテスト #2 フィクスチャ: 準備と後片付けを注入してもらう

@pytest.fixture でテストの準備コードを注入してもらう方法を扱います。yield によるティアダウン、scope のトレードオフ、conftest.py での共有、tmp_path のような組み込みフィクスチャまで整理します。

Pythonテスト #1 pytest入門: assertひとつで十分な理由
読了 7分

Pythonテスト #1 pytest入門: assertひとつで十分な理由

pytest をインストールして assert ひとつで最初のテストを書く方法から、unittest との違い、失敗出力の読み方、テストディスカバリーのルールまで整理します。

モダンPython実践 #6 テストとデプロイ — pytest、Docker、Railway/Fly
読了 8分

モダンPython実践 #6 テストとデプロイ — pytest、Docker、Railway/Fly

pytest + httpx で FastAPI の統合テスト、依存性オーバーライドで分離、Docker のマルチステージビルド、Railway/Fly クラウドデプロイまで整理します。