Python

スポンサーリンク
Python

Python | DevOps・運用:Docker network

Docker networkって何?一言でいうと「コンテナ同士をつなぐ“専用LAN”」Docker network は、コンテナ同士をつなぐための「仮想ネットワーク」です。同じネットワークに属するコン...
Python

Python | DevOps・運用:Docker volume

Docker volumeって何?一言でいうと「コンテナが消えても残る“外付けハードディスク”」Docker volume は、コンテナの外側にある「永続ストレージ」です。コンテナの中のファイルは、コ...
Python

Python | DevOps・運用:docker-compose

docker-composeって何?一言でいうと「複数コンテナを“1つのアプリ”としてまとめて起動・停止するリモコン」Docker は「1コンテナ=1プロセス」をきれいに動かすのが得意です。でも、現実...
Python

Python | DevOps・運用:Dockerfile ベストプラクティス

まずゴールを決めよう:「本番でそのまま動かせる、軽くて、安全で、再現性の高いイメージ」Dockerfile のベストプラクティスは、一言でいうと「どこでビルドしても、同じように動く、無駄が少なくて、安...
Python

Python | DevOps・運用:CD 自動デプロイ

CD 自動デプロイって何?一言でいうと「テストに通ったコードを、人の手を介さず“同じ手順で”本番に届ける仕組み」CI が「自動テスト」だとしたら、CD(Continuous Delivery / De...
Python

Python | DevOps・運用:CI 自動テスト

CI 自動テストって何?一言でいうと「人がサボっても、機械が毎回テストしてくれる仕組み」CI 自動テストは、コードを GitHub に push したり Pull Request を作ったタイミングで...
Python

Python | DevOps・運用:Issue 管理

Issue 管理って何?一言でいうと「やるべきこと・困っていることを“見える化”して、迷子をなくす仕組み」Issue 管理は、「タスク・バグ・改善点・相談ごと」をすべて Issue として記録し、整理...
Python

Python | DevOps・運用:コードレビュー運用

コードレビュー運用って何?一言でいうと「一人の頭の中のコードを、チームの知恵に変える仕組み」コードレビュー運用は、「Pull Request をどうレビューするか」を、チームとしてのルールや習慣に落と...
Python

Python | DevOps・運用:Pull Request

Pull Requestって何?一言でいうと「この変更、main に入れていいか一緒に確認してもらうための“申請書”」Pull Request(PR)は、「自分がブランチで作った変更を、main(や他...
Python

Python | DevOps・運用:GitHub Flow

GitHub Flowって何?一言でいうと「小さく枝を切って、小さくレビューして、小さく本番に出すためのルール」GitHub Flow は、「GitHub を使って開発するときの、シンプルなブランチ運...
Python

Python | テスト・設計・品質:Web アプリの本番運用

「本番運用」って何?一言でいうと「“たまたま動く”から“24時間ちゃんと動き続ける”にすること」ローカルで FastAPI や Django を動かして「動いた!」は、まだスタートラインです。本番運用...
Python

Python | テスト・設計・品質:API のモック

APIのモックって何?一言でいうと「本物の代わりに動く“テスト用の偽物サーバー”」API のモックは、「本物の外部APIを呼ばずに、その代わりをする“偽物”を用意してテストすること」です。本物のAPI...
Python

Python | テスト・設計・品質:環境変数管理

環境変数管理って何?一言でいうと「コードに書いちゃいけない“秘密と設定”を外に出してあげること」環境変数管理は、「本番・開発・テストで変わる値」や「絶対にコードに埋め込んではいけない秘密」を、コードの...
Python

Python | テスト・設計・品質:コンテナ構築

コンテナ構築って何?一言でいうと「動く箱を作るための“レシピづくり+焼き上げ”」ここでいう「コンテナ構築」は、ほぼ「Docker コンテナを作ること」と考えてOKです。レシピを書くフェーズ(Docke...
Python

Python | テスト・設計・品質:Docker

Dockerって何?一言でいうと「どこでも同じように動く“持ち運べる開発環境”」Docker は、ざっくり言うと「アプリとその周りの環境を、ひとまとめにして箱に入れて持ち運べるようにする仕組み」です。...
Python

Python | テスト・設計・品質:CD

CDって何?一言でいうと「テストが通ったら“そのまま本番まで運んでくれるベルトコンベア”」CD は大きく分けて2つあります。Continuous Delivery(継続的デリバリー)Continuou...
Python

Python | テスト・設計・品質:CI(GitHub Actions)

CI(GitHub Actions)って何?一言でいうと「プッシュした瞬間に“自動でテストしてくれるロボット”」CI(Continuous Integration)は、「コードを少し変更するたびに、自...
Python

Python | テスト・設計・品質:フォルダ構成標準化

フォルダ構成標準化って何?一言でいうと「どのプロジェクトでも迷子にならないための地図づくり」フォルダ構成標準化は、「Pythonプロジェクトのフォルダやファイルの置き方に、共通ルールを決めること」です...
Python

Python | テスト・設計・品質:例外階層

例外階層って何?一言でいうと「エラーを“種類ごとに整理する”ための仕組み」例外階層(Exception Hierarchy)は、「エラーを種類ごとに分類して、親子関係で整理する」ための設計です。Pyt...
Python

Python | テスト・設計・品質:ロギング設計

ロギング設計って何?一言でいうと「あとから原因を追えるように“足跡”を設計すること」ロギング設計は、「エラーが起きたとき・おかしな動きをしたときに、あとから原因を追えるように、どこで何を記録しておくか...
Python

Python | テスト・設計・品質:REST 設計

REST設計って何?一言でいうと「URLとHTTPを“きれいなルール”で使う設計」REST 設計は、Web API を作るときに、URLHTTPメソッド(GET / POST / PUT / PATC...
Python

Python | テスト・設計・品質:API 設計

API設計って何?一言でいうと「他人(未来の自分)が使いやすい“入口”を設計すること」ここでいう「API」は、Web API だけじゃなく、「関数・クラス・モジュールの“使い方の顔”」も含めた広い意味...
Python

Python | テスト・設計・品質:interface 分離

interface分離って何?一言でいうと「いらないボタンを押させないようにする設計」interface 分離(インターフェース分離の原則 / Interface Segregation Princi...
Python

Python | テスト・設計・品質:責務定義

「責務定義」って何?一言でいうと「この子は何を担当するのかを決めること」責務定義は、クラス・関数・モジュールなどに対して「あなたは何を担当するのか?」をはっきり決めることです。もっと砕くと、「このコー...
Python

Python | テスト・設計・品質:モジュール分割

モジュール分割って何?一言でいうと「ファイルごとに役割をはっきり分けること」Python でいう「モジュール分割」は、コードを複数の .py ファイルに分けて、それぞれに「はっきりした役割」を持たせる...
Python

Python | テスト・設計・品質:ドメイン駆動設計

ドメイン駆動設計って何?一言でいうと「現実のルールをコードの中心に置く考え方」ドメイン駆動設計(DDD)は、「フレームワークやDBの都合ではなく、“現実世界のルール”を中心にコードを組み立てよう」とい...
Python

Python | テスト・設計・品質:クリーンアーキテクチャ

クリーンアーキテクチャって何?一言でいうと「大事なものを真ん中に守る設計」クリーンアーキテクチャは、アプリケーションの「大事なルール(ビジネスロジック)」を、外側の技術的なもの(Web フレームワーク...
Python

Python | テスト・設計・品質:リファクタリング

リファクタリングって何?一言でいうと「動きを変えずに中身だけキレイにする」リファクタリングは、「コードの外から見た振る舞い(仕様・動き)は変えずに、中身の構造だけを良くすること」です。バグ修正でも新機...
Python

Python | テスト・設計・品質:mypy

mypyって何?一言でいうと「Pythonコードに“型のテスト”をかけるツール」mypy は、Python コードに書いた「型ヒント(type hints)」を読み取って、その使い方が矛盾していないか...
Python

Python | テスト・設計・品質:TypedDict

TypedDictって何?一言でいうと「キー付き辞書に“型の設計図”を付けるもの」TypedDict は、「この辞書は、こういうキーを持っていて、それぞれの値はこういう型です」という“設計図”を型ヒン...
Python

Python | テスト・設計・品質:Protocol

Protocolって何?一言でいうと「“こう振る舞うもの”を型で表す」Protocol は、型ヒントの世界で「このオブジェクトは、こういうメソッドや属性を“持っているもの”として扱える」という“振る舞...
Python

Python | テスト・設計・品質:Literal

Literalって何?一言でいうと「値そのものを型にする」Literal は、型ヒントの世界で「この引数(または値)は、この“決まった値”しか受け付けません」と表現するための道具です。普通の型ヒントは...
Python

Python | テスト・設計・品質:Union

Unionって何?一言でいうと「型の“どれか”を許すための道具」Union は、型ヒントの世界で「この値は、A か B か C のどれかです」と表現するための仕組みです。形式的にはこうです。from ...
Python

Python | テスト・設計・品質:Optional

Optionalって何?一言でいうと「Noneかもしれない」を型で表す道具Optional は、型ヒントの世界で「この値は、あるときは T 型だけど、ないときは None かもしれない」という状態を表...
Python

Python | テスト・設計・品質:typing 型ヒント

型ヒントって何?まずは「コメント」だと思ってOKPython の「型ヒント(type hints)」は、「この変数や関数は、こういう型を想定しているよ」という情報を、コードの中に書き添える仕組みです。...
Python

Python | テスト・設計・品質:isort

isortって何?まずは役割を一言でつかむisort は、Python の import 文を自動で並び替えてくれるツールです。「import の順番なんてどうでもよくない?」と思うかもしれませんが、...
Python

Python | テスト・設計・品質:ruff

ruffって何?一言でいうと「超高速オールインワンLint&フォーマッタ」ruff は、Python のコードをチェックするための「超高速リンター兼フォーマッタ」です。flake8 や isort、部...
Python

Python | テスト・設計・品質:black

blackって何?一言でいうと「コード自動整形マシーン」black は、Python のコードを「自動できれいな形に整えてくれるフォーマッタ」です。flake8 が「ここおかしいよ」と指摘する先生だと...
Python

Python | テスト・設計・品質:flake8

flake8 って何?一言でいうと「コードの赤ペン先生」flake8 は、Python のコードを自動でチェックしてくれる「リンター(Linter)」です。「文法的には動くけど、読みづらい・バグの元に...
Python

Python | テスト・設計・品質:コードレビュー

コードレビューって何?まずは目的からはっきりさせるコードレビューは、「他の人(または未来の自分)が、あなたの書いたコードを読んで、気づいたことをフィードバックするプロセス」です。バグを見つけるため読み...
Python

Python | テスト・設計・品質:カバレッジ

カバレッジって何?まずは一言でイメージをつかむテストの「カバレッジ(coverage)」は、「テストを実行したときに、あなたのコードのどこまでが実際に実行されたか」を数値で教えてくれる指標です。ざっく...
Python

Python | テスト・設計・品質:E2E テスト

E2E テストって何?まずはざっくりイメージからE2E テスト(End-to-End テスト)は、「ユーザーの操作の始まりから終わりまで、システム全体を通して動かして確認するテスト」です。単体テスト関...
Python

Python | テスト・設計・品質:結合テスト

結合テストって何?単体テストとの違いからつかむ結合テスト(integration test)は、「複数の部品(関数・クラス・モジュール)を“つなげた状態”で、ちゃんと一緒に動くかを確認するテスト」です...
Python

Python | テスト・設計・品質:単体テスト

単体テストって何?まずはゴールのイメージから単体テスト(ユニットテスト)は、「プログラムを小さな“部品(ユニット)”ごとに分けて、その部品がちゃんと動くかを確認するテスト」です。ここでいう“部品”は、...
Python

Python | テスト・設計・品質:monkeypatch

monkeypatch って何?mock とどう違うのかpytest の monkeypatch は、「テスト中だけ、モジュールやオブジェクトの属性を書き換えるための道具」です。やりたいことは moc...
Python

Python | テスト・設計・品質:mock

mock って何?まずはイメージからmock(モック)は、テストのときだけ「本物の代わりに振る舞うニセモノのオブジェクト」です。本物をそのまま使うと困る場面を想像してみてください。外部 API を叩く...
Python

Python | テスト・設計・品質:パラメタライズ

パラメタライズって何?まずはイメージからpytest の「パラメタライズ(parametrize)」は、「同じテストの形で、入力と期待値だけを変えて、何パターンも一気にテストする仕組み」です。同じ関数...
Python

Python | テスト・設計・品質:fixture

fixture って何?まずはイメージからpytest の fixture(フィクスチャ)は、「テストのたびに必要になる“準備”を、共通化して再利用する仕組み」です。毎回のテストで同じようなことをして...
Python

Python | テスト・設計・品質:assert

assert って何?まずは一言でいうとassert は、「この条件が成り立っているはずだ」とコードに書いておくための仕組みです。成り立っていれば何も起きない。成り立っていなければ Assertion...
Python

Python | テスト・設計・品質:pytest 基本

pytest って何?まずはゴールのイメージからpytest は、Python のテストを書くための「超定番ツール」です。一言でいうと、テスト用のファイルと関数を書いておくpytest コマンドを叩く...
Python

Python | DB・SQL:DB 設計

DB 設計って何?まずはゴールのイメージからDB 設計は、「アプリで扱う情報を、テーブル・カラム・関係に分解して、矛盾なく・拡張しやすく・速く扱える形にする作業」です。言い換えると、「現実の世界(ユー...
Python

Python | DB・SQL:接続プール

接続プールって何?まずはイメージから接続プール(コネクションプール)は、「データベースへの接続を、使い回すための“待機列(プール)”」です。DB への接続は、実はかなり重い処理です。毎回「接続を開く ...
Python

Python | DB・SQL:N+1 問題

N+1 問題って何?まずはざっくりイメージN+1 問題は、「本当は少ない回数のクエリで済むのに、気づかないうちに大量のクエリを投げてしまっている状態」のことです。特に多いのが、1 回目のクエリで「親デ...
Python

Python | DB・SQL:パフォーマンス

「パフォーマンス」って何?まずは感覚からDB・SQL の「パフォーマンス」は、ざっくり言うと「どれくらい速く・無駄なく・安定して動くか」です。同じ結果を出すクエリでも、1 秒で終わる書き方1 分かかる...
Python

Python | DB・SQL:バルク処理

バルク処理って何?まずはイメージからバルク処理(バルク INSERT / バルク UPDATE など)は、「大量のデータをまとめて一気に処理する」やり方のことです。1 行ずつチマチマ INSERT す...
Python

Python | DB・SQL:migration

migration って何?まずはイメージからmigration(マイグレーション)は、「データベースの“形”(テーブルやカラムの構造)を、コードでバージョン管理して、少しずつ進化させていく仕組み」で...
Python

Python | DB・SQL:relationship

relationship って何?まずはイメージからSQLAlchemy の relationship は、「テーブル同士のつながり(リレーション)を、Python のオブジェクト同士のつながりとして...
Python

Python | DB・SQL:join

join って何?まずはイメージからJOIN は、「別々のテーブルに分かれている情報を、くっつけて一つの表として見る」ための仕組みです。現実のアプリでは、ユーザー情報と注文情報、商品情報とカテゴリ情報...
Python

Python | DB・SQL:CRUD

CRUD って何?まずは全体像からCRUD(クラッド)は、データベース操作の基本 4 セットの頭文字です。Create(作る)、Read(読む)、Update(更新する)、Delete(削除する)。ア...
Python

Python | DB・SQL:セッション

セッションって何?まずはざっくりイメージ「セッション」は、データベースとやり取りするときの「ひとまとまりの会話」のようなものです。Python から見ると、あるタイミングで DB との“窓口”を開くそ...
スポンサーリンク