環境構築参考資料まとめ【WIP】

環境構築は失敗したときがめんどくさい気がして地味にAIに完全には頼りずらいので備忘録として参考にしたものを残しておきます。

基本的にはそれぞれの言語でリンタとフォーマッタぐらいまでの設定しておくとだんだんきれいなコードが書けるようになるのではと期待しています。

スポンサーリンク

python + uv + Ruff + ty

参考になった”数理の弾丸”様の記事

全て入れるのは初心者的にハードルが高いが、
uv(パッケージ管理)とRuff(コード整形、チェック)ぐらいは常に使用しておくと捗るはず。
ちなみにuvもRuffも”Astral Software Inc.”という謎の会社のソフトウェアです(日経新聞風)。

現代のPython開発環境|数理の弾丸 - 京大博士のAI解説
この記事では、Pythonの開発環境・コードを快適に書く・管理するためによく使われる以下のツールを紹介します。 uv - 高速なパッケージ・プロジェクトマネージャ Ruff - 高速な静的リンタ・フォーマッタ mypy - 静的型検査 po...

新しいプロジェクトを始めるときの流れ。詳細は上記の本家様参照ください。

uv init
uv add --dev ruff
uv add --dev ty
uv add --dev poethepoet

一行でまとめて実行できるようにするには下記の内容をpyproject.tomlに記述して

uv run poe check

で実行可能。
初心者なのでチェック後自動で修正されるlintの–fixオプションは外しています。

# pyproject.toml に追記

[tool.poe.tasks]
format = "uv run ruff format ."
lint = "uv run ruff check ."
type-check = "uv run ty check ."

check = ["format", "lint", "type-check"]

uv

基本的には公式参照推奨。2025年11月現在では

mac と Linux(WSL含む)は下記コマンドでインストールできる。

curl -LsSf https://astral.sh/uv/install.sh | sh

Windowsは下記コマンドでインストールできる。

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

使い方 基本のみ

基本は時間があればこちらも公式を参照するのがおすすめhttps://docs.astral.sh/uv/

プロジェクトの作業ディレクトリで以下コマンドで準備完了。

uv init

追加したいパッケージがある場合は

uv add <パッケージ名>

コードなど実行したい場合は

uv run <コマンド>

例えば以下のように実行。

uv run main.py

おまけ:uvでURLを指定してインストールしたい場合

例えばpytorchのwheelを指定して韻すろーるしたい場合以下のように書いてからuv add torchなどでインストールする。

[[tool.uv.index]]
name = "pytorch-cu13"  # 任意の名前
url = "https://download.pytorch.org/whl/cu130"
explicit = true

[tool.uv.sources]
torch = { index = "pytorch-cu13" }
torchvision = { index = "pytorch-cu13" }
torchaudio = { index = "pytorch-cu13"}

Ruff

更新履歴

  • 20260110 mypyからAstral社のty(より高速?)による型チェックに更新しました。
スポンサーリンク

TypeScript + Biome + Docker

webアプリ開発環境

コンテナ周りの土台と言語、その他共通のツール

  • インフラ層
    Docker Compose
  • 言語
    TypeScript
  • パッケージマネージャー
    pnpm

バックエンド側のツール

  • ランタイム
    Node.js
  • アプリケーションフレームワーク
    Fastify

テスト系

テストランナー

Vitest(ユニット / 統合テスト)

モック / テスト補助

Node 用の HTTP クライアント(supertest / undici / axios など)

モック・spy: Vitest 組み込みの vi.fn など

DB / ORM・マイグレーション

ORM / Query Builder:

Prisma / Drizzle ORM / Kysely など

マイグレーション:

ORM 組み込みの CLI(prisma migrate など)

Docker 側では:

DB コンテナ(PostgreSQL / MySQL / MariaDB / MongoDB など)

統合テスト向け

Testcontainers for Node.js(テスト時だけ DB コンテナ自動起動)
or

docker-compose で test 用の DB を立ち上げ、Vitest から接続

フロントエンド側のツール

  1. フロントエンド側のツール
    ビルド / 開発サーバー

Vite

Dev サーバー

本番ビルド(SSR を使う場合は、そのフレームワーク側の設定も加わる)

フレームワーク

React / Vue / Svelte / Solid など
(ここはプロジェクト依存)

テスト系

ユニット & コンポーネントテスト

Vitest

Testing Library(@testing-library/react など)

DOM 環境: jsdom or happy-dom

ブラウザ E2E

Playwright(または Cypress だが、最近は Playwright に寄りがち)

API モック

MSW(Mock Service Worker)

フロントエンドからの HTTP リクエストをモック

Storybook / Vitest / Playwright などと連携できる

tmp

コンテナ / インフラ

  • Docker, Docker Compose(+ 本番なら K8s 等)

言語 / ランタイム / パッケージ

  • Node.js, TypeScript, tsx, npm/pnpm/yarn

バックエンドアプリ

  • Node フレームワーク(Express / Fastify / NestJS 等)
  • ORM / DB / マイグレーション(Prisma 等)
  • テスト(Vitest, Testcontainers)

フロントエンドアプリ

  • Vite + フレームワーク(React 等)
  • コンポーネントテスト(Vitest + Testing Library)
  • E2E(Playwright)
  • モック(MSW)

品質管理

  • ESLint, Prettier, tsc, 型テスト
  • セキュリティ / 依存管理ツール

開発体験(DX)

  • ホットリロード, デバッガ
  • API / DB クライアント
  • Storybook / API ドキュメント

CI / CD

  • GitHub Actions など
  • Lint / Test / Build / E2E / Docker ビルド / デプロイ

コメント

タイトルとURLをコピーしました