<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>開発環境 アーカイブ - ADHDエンジニア成長日記 ― 障害を抱えながらIT業界で活躍するためのブログ</title>
	<atom:link href="https://atueda.com/tag/%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83/feed/" rel="self" type="application/rss+xml" />
	<link>https://atueda.com/tag/開発環境/</link>
	<description></description>
	<lastBuildDate>Wed, 17 Jun 2026 06:18:09 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://i0.wp.com/atueda-com-2025.s3.ap-northeast-1.amazonaws.com/wp-content/uploads/2025/11/22185004/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2025-11-12-10.23.00.png?fit=32%2C27&#038;ssl=1</url>
	<title>開発環境 アーカイブ - ADHDエンジニア成長日記 ― 障害を抱えながらIT業界で活躍するためのブログ</title>
	<link>https://atueda.com/tag/開発環境/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">250220958</site>	<item>
		<title>ADHDエンジニアが挫折しない使い捨て開発環境の構築法</title>
		<link>https://atueda.com/adhd%e3%82%a8%e3%83%b3%e3%82%b8%e3%83%8b%e3%82%a2%e3%81%8c%e6%8c%ab%e6%8a%98%e3%81%97%e3%81%aa%e3%81%84%e4%bd%bf%e3%81%84%e6%8d%a8%e3%81%a6%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b/</link>
					<comments>https://atueda.com/adhd%e3%82%a8%e3%83%b3%e3%82%b8%e3%83%8b%e3%82%a2%e3%81%8c%e6%8c%ab%e6%8a%98%e3%81%97%e3%81%aa%e3%81%84%e4%bd%bf%e3%81%84%e6%8d%a8%e3%81%a6%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b/#respond</comments>
		
		<dc:creator><![CDATA[植田篤]]></dc:creator>
		<pubDate>Wed, 17 Jun 2026 06:18:07 +0000</pubDate>
				<category><![CDATA[ADHD]]></category>
		<category><![CDATA[ADHDエンジニア]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[docker-compose]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[VSCode Dev Containers]]></category>
		<category><![CDATA[使い捨て環境]]></category>
		<category><![CDATA[環境構築]]></category>
		<category><![CDATA[自動化]]></category>
		<category><![CDATA[開発環境]]></category>
		<guid isPermaLink="false">https://atueda.com/?p=1983</guid>

					<description><![CDATA[<p>ADHDエンジニアが環境設定で挫折しないために、DockerとGitHubテンプレートを使った「使い捨て開発環境」の構築方法を、動作するスクリプト付きで解説します。</p>
<p>投稿 <a href="https://atueda.com/adhd%e3%82%a8%e3%83%b3%e3%82%b8%e3%83%8b%e3%82%a2%e3%81%8c%e6%8c%ab%e6%8a%98%e3%81%97%e3%81%aa%e3%81%84%e4%bd%bf%e3%81%84%e6%8d%a8%e3%81%a6%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b/">ADHDエンジニアが挫折しない使い捨て開発環境の構築法</a> は <a href="https://atueda.com">ADHDエンジニア成長日記 ― 障害を抱えながらIT業界で活躍するためのブログ</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="1024" height="541" src="https://i0.wp.com/atueda-com-2025.s3.ap-northeast-1.amazonaws.com/wp-content/uploads/2026/06/17151639/b58bc25b-7e44-45e8-850e-16984f2fc749.jpeg?resize=1024%2C541&#038;ssl=1" class="attachment-large size-large wp-post-image" alt="" /></div>
<p>ADHDの特性として、環境設定に時間を取られて注意が散れてしまう、設定を途中で投げ出してしまう、という悩みは多くのエンジニアに共通しています。そこで有効なのが<strong>「使い捨て開発環境」</strong>――短時間で作って使って捨てられる環境です。セットアップを自動化し、必要なものをテンプレート化しておくことで、迷いを最小化できます。</p>
<p>この記事では、実際に動作するスクリプトと構成例をもとに、ADHDエンジニアが挫折しない開発環境の作り方を紹介します。</p>

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1"><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">なぜ「使い捨て開発環境」が有効なのか</a></li><li><a href="#toc2" tabindex="0">設計方針：挫折しないための3つのルール</a></li><li><a href="#toc3" tabindex="0">具体的な構成案</a><ol><li><a href="#toc4" tabindex="0">1. テンプレリポジトリを作る</a></li><li><a href="#toc5" tabindex="0">2. ワンコマンドで起動するスクリプト</a></li><li><a href="#toc6" tabindex="0">3. クリーンアップスクリプト</a></li></ol></li><li><a href="#toc7" tabindex="0">便利ツール比較</a></li><li><a href="#toc8" tabindex="0">実践例：Node.jsプロジェクトの場合</a></li><li><a href="#toc9" tabindex="0">挫折しにくくする4つの工夫</a><ol><li><a href="#toc10" tabindex="0">チェックリストを短文化する</a></li><li><a href="#toc11" tabindex="0">テンプレのバージョンを固定する</a></li><li><a href="#toc12" tabindex="0">タイムボックスを設定する</a></li><li><a href="#toc13" tabindex="0">小さな成功体験を積む</a></li></ol></li><li><a href="#toc14" tabindex="0">よくある質問（FAQ）</a><ol><li><a href="#toc15" tabindex="0">Q. 依存が多すぎて環境が重くなってしまいます</a></li><li><a href="#toc16" tabindex="0">Q. 設定を忘れて環境が動かないことがあります</a></li><li><a href="#toc17" tabindex="0">Q. 作業の途中で飽きてしまいます</a></li><li><a href="#toc18" tabindex="0">Q. クラウド環境（CodespacesやGitpod）は有料ですか？</a></li><li><a href="#toc19" tabindex="0">Q. Windowsでも同じ方法で使えますか？</a></li></ol></li><li><a href="#toc20" tabindex="0">まとめ：小さく始めて習慣化する</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">なぜ「使い捨て開発環境」が有効なのか</span></h2>
<p>従来の開発環境構築には次のような落とし穴があります。</p>
<ul>
<li>依存関係の解決に時間がかかり、本来の作業に入る前に集中力が切れる</li>
<li>環境が壊れたときの復旧手順が不明確で、修正に数時間かかることがある</li>
<li>設定が増えるにつれて「どこで何をしたか」が追えなくなる</li>
</ul>
<p>「使い捨て」というアプローチは、これらの問題をリセットします。環境を使い終わったら削除し、次回は同じテンプレートから再構築する。この繰り返しにより、<strong>「壊れたら直す」ではなく「壊れたら作り直す」</strong>という軽いメンタルモデルに移行できます。復旧に悩む時間がゼロになるのが最大の利点です。</p>
<h2><span id="toc2">設計方針：挫折しないための3つのルール</span></h2>
<div class="box3">
<p><strong>ポイント</strong></p>
<p>使い捨て開発環境の設計は「短時間・復旧容易・最小決断」の3原則に集約されます。この3点を外さなければ、ツール選びや構成の細部は後から調整できます。</p>
</div>
<ol>
<li><strong>短時間で動くこと</strong>：初期化は数分で終わらせる。長いセットアップは途中離脱の原因になります。初回起動が5分を超えるようなら構成を見直しましょう。</li>
<li><strong>戻せる／捨てられること</strong>：失敗しても復旧が簡単。コンテナや仮想環境を使えば、削除してやり直すだけです。「壊れたら終わり」という恐怖をなくすことが大切です。</li>
<li><strong>最小限の決断で済むこと</strong>：選択肢を減らす。テンプレートを使えば「何を入れるか」で悩む必要がなくなります。迷う余地を設計段階で排除します。</li>
</ol>
<h2><span id="toc3">具体的な構成案</span></h2>
<p>ここではローカル＋コンテナ方式をベースにした実践パターンを紹介します。<strong>「テンプレリポジトリ」「起動スクリプト」「クリーンアップスクリプト」</strong>の3点セットが核心です。</p>
<h3><span id="toc4">1. テンプレリポジトリを作る</span></h3>
<p>よく使う設定をGitHubのテンプレートリポジトリにまとめます。リポジトリ名は <code>dev-template</code> など分かりやすい名前にしておきましょう。GitHubの「Use this template」機能を使えば、新しいプロジェクトを始めるたびにこのテンプレートから即座にリポジトリを作成できます。</p>
<p>用意するファイルの構成例：</p>
<ul>
<li><code>Dockerfile</code></li>
<li><code>docker-compose.yml</code></li>
<li><code>.devcontainer/devcontainer.json</code></li>
<li><code>init.sh</code></li>
<li><code>cleanup.sh</code></li>
<li><code>README.md</code>（起動・終了の手順を3行以内で記載）</li>
</ul>
<p>テンプレートは「最低限の必須ツールだけ」に絞るのが原則です。最初から全部入りにしようとすると、テンプレート自体の管理が重荷になります。</p>
<h3><span id="toc5">2. ワンコマンドで起動するスクリプト</span></h3>
<p>以下は <code>init.sh</code> の実装例です。実行するとリポジトリをクローンし、Docker環境を起動します。</p>
<pre><code>#!/bin/bash
set -e

git clone https://github.com/you/dev-template workdir
cd workdir
docker-compose up -d --build
echo "環境の準備が完了しました。"
echo "VSCode Dev Containerを使う場合："
echo "  コマンドパレット（Ctrl+Shift+P）から"
echo "  「Dev Containers: Open Folder in Container」を選択してください。"</code></pre>
<div class="box3">
<p><strong>ポイント</strong></p>
<p>VSCode Dev ContainerをCLIから自動起動するには <code>devcontainer open .</code>（Dev Containers CLI）を使う方法が確実です。シェルスクリプトからVSCode URIを直接生成する方法はパスのエンコードが複雑で、そのままでは動作しないケースがあります。初学者は「VSCodeで手動でフォルダを開く → Reopen in Container」の手順の方がトラブルを避けられます。</p>
</div>
<p>Windowsユーザーは、WSL2上でこのスクリプトを実行してください。WSL2が未設定の場合は、Microsoftの公式ドキュメントに従ってWSL2とDocker Desktopを先にセットアップしてください。PowerShellで動かしたい場合は <code>init.ps1</code> を別途作成する必要があります。</p>
<h3><span id="toc6">3. クリーンアップスクリプト</span></h3>
<p>作業が終わったら環境を丸ごと削除します。以下は安全に動作する <code>cleanup.sh</code> の実装例です。</p>
<pre><code>#!/bin/bash
set -e

TARGET=$(pwd)
echo "削除対象: $TARGET"
read -p "本当に削除しますか？ (y/N): " confirm

if [[ "$confirm" == "y" || "$confirm" == "Y" ]]; then
  docker-compose down --volumes --remove-orphans
  cd ..
  rm -rf "$TARGET"
  echo "環境を削除しました。"
else
  echo "キャンセルしました。"
fi</code></pre>
<div class="information-box">
<p><strong>実践例</strong></p>
<p><code>cd ..</code> を実行してから削除するのが重要です。自分がいるディレクトリ内から <code>rm -rf $(pwd)</code> を実行すると、シェルの実装によっては途中で停止し、不完全な削除になる場合があります。また、確認プロンプトを入れることで誤操作による削除事故を防ぎます。</p>
</div>
<h2><span id="toc7">便利ツール比較</span></h2>
<div class="scroll-box">
<table>
<thead>
<tr>
<th>ツール</th>
<th>特徴</th>
<th>ADHDエンジニアへのメリット</th>
</tr>
</thead>
<tbody>
<tr>
<td>VSCode Dev Containers</td>
<td>コンテナ内でVSCodeが動作</td>
<td>ローカルとクラウドで同じ環境を再現。<code>.devcontainer/devcontainer.json</code> 1ファイルで完結</td>
</tr>
<tr>
<td>Docker / docker-compose</td>
<td>コンテナで環境を分離</td>
<td>削除・再構築が簡単。ホスト環境を汚さない</td>
</tr>
<tr>
<td>GitHub Codespaces</td>
<td>クラウドで即起動（月60時間無料）</td>
<td>ローカル設定不要。ブラウザだけで始められる</td>
</tr>
<tr>
<td>Gitpod</td>
<td>リポジトリURLから即起動（月50時間無料）</td>
<td>URLを開くだけで環境が立ち上がる</td>
</tr>
<tr>
<td>asdf / mise</td>
<td>言語バージョンを一括管理</td>
<td><code>.tool-versions</code> で自動切替。バージョン選択の悩みが消える</td>
</tr>
</tbody>
</table>
</div>
<p>なお、<code>direnv</code>・<code>asdf</code>・<code>nix</code> はローカルに環境を永続的に管理するツールです。「使い捨て」環境とは異なるアプローチですが、プロジェクトごとに環境を自動切替できるため、「どのバージョンを使うか」という決断を減らす目的で組み合わせることができます。完全な使い捨てより「切り替えを自動化したい」という場合に検討してください。</p>
<h2><span id="toc8">実践例：Node.jsプロジェクトの場合</span></h2>
<div class="information-box">
<p><strong>実践例</strong></p>
<p>Node.jsのプロジ���クトを例に、テンプレートの中身と実際のワークフローを紹介します。</p>
</div>
<p>まず <code>Dockerfile</code> のシンプルな例です。</p>
<pre><code>FROM node:20-slim
WORKDIR /workspace
COPY package*.json ./
RUN npm install
COPY . .
CMD ["bash"]</code></pre>
<p>次に <code>docker-compose.yml</code> の例です。</p>
<pre><code>version: '3.8'
services:
  app:
    build: .
    volumes:
      - .:/workspace
    ports:
      - "3000:3000"
    stdin_open: true
    tty: true</code></pre>
<p>作業の流れはシンプルにまとめられます。</p>
<ol>
<li>テンプレートリポジトリから新しいリポジトリを作成（GitHubの「Use this template」）</li>
<li><code>git clone &lt;リポジトリURL&gt; workdir</code> でローカルにクローン</li>
<li><code>cd workdir &amp;&amp; ./init.sh</code> で環境を起動</li>
<li>VSCodeで対象フォルダを開き「Reopen in Container」を選択して開発開始</li>
<li>作業終了後は <code>./cleanup.sh</code> で環境を削除</li>
</ol>
<p>Node.js以外のプロジェクトでも、<code>FROM</code> に指定するイメージを変えるだけで同じ手順が使えます。Python なら <code>python:3.12-slim</code>、Go なら <code>golang:1.22</code> に置き換えてください。</p>
<h2><span id="toc9">挫折しにくくする4つの工夫</span></h2>
<h3><span id="toc10">チェックリストを短文化する</span></h3>
<p>起動から終了までのステップを3〜5行のチェックリストにまとめ、<code>README.md</code> に書いておきます。毎回迷わずに始められるようにすることが目的です。「コマンドを覚える」のではなく「READMEを見れば動く」状態を作ります。</p>
<h3><span id="toc11">テンプレのバージョンを固定する</span></h3>
<p>DockerイメージやNode.jsのバージョンを固定しておかないと、ある日突然動かなくなることがあります。<code>node:20-slim</code> のようにバージョンを明示し、<code>latest</code> タグは避けましょう。環境の「突然の変化」はADHDエンジニアにとって特にストレスになるため、安定性を優先します。</p>
<h3><span id="toc12">タイムボックスを設定する</span></h3>
<p>セットアップは最大30分までと決め、超えたら「最小構成で動かす」に切り替えます。完璧な環境を最初から目指さないことが継続のコツです。30分で動かなかった部分は翌日に回しても問題ありません。</p>
<h3><span id="toc13">小さな成功体験を積む</span></h3>
<p>最初は「<code>README.md</code> に書いてあるコマンドを1つだけ実行する」から始めましょう。環境が動いた瞬間の達成感が次への動機になります。「完成させる」ではなく「1ステップ動かす」を繰り返すことが大切です。</p>
<h2><span id="toc14">よくある質問（FAQ）</span></h2>
<h3><span id="toc15">Q. 依存が多すぎて環境が重くなってしまいます</span></h3>
<p>A. テンプレートに含めるのは「最低限の必須ツールだけ」にしてください。追加したいツールが出てきたら、その都度テンプレートに反映する習慣をつけると、気づかないうちに最適化されていきます。「全部入り」ではなく「後から足す」の思想で管理しましょう。</p>
<h3><span id="toc16">Q. 設定を忘れて環境が動かないことがあります</span></h3>
<p>A. <code>docker-compose.yml</code> に <code>healthcheck</code> を追加し、起動時に自動でサービスの動作確認をさせましょう。ヘルスチェックが失敗したら原因を調べるだけで済みます。また、<code>init.sh</code> の末尾に動作確認コマンドを追加しておくと、起動直後に問題を検知できます。</p>
<h3><span id="toc17">Q. 作業の途中で飽きてしまいます</span></h3>
<p>A. セットアップ作業を「5分×複数回」に分割してください。「今日は <code>Dockerfile</code> だけ書く」「明日は <code>init.sh</code> を書く」という区切り方が有効です。1回のセッションを短くすることで、離脱しても「また明日から再開できる」という感覚を持てます。</p>
<h3><span id="toc18">Q. クラウド環境（CodespacesやGitpod）は有料ですか？</span></h3>
<p>A. どちらも無料枠があります。GitHub Codespacesは月60時間、Gitpodは月50時間まで無料です。個人の学習・開発用途であれば無料枠で十分なケースが多いです。ローカルのDockerセットアップに詰まった場合、クラウド環境への切り替えが最速の解決策になることもあります。</p>
<h3><span id="toc19">Q. Windowsでも同じ方法で使えますか？</span></h3>
<p>A. WSL2（Windows Subsystem for Linux 2）とDocker Desktopをインストールすれば、同じ構成で動作します。WSL2のセットアップに最初だけ時間がかかりますが、一度構築すれば以後は同じ手順で使えます。WSL2の設定に詰まる場合は、最初からGitHub CodespacesやGitpodを使う方が早い場合もあります。</p>
<h2><span id="toc20">まとめ：小さく始めて習慣化する</span></h2>
<p>「使い捨て開発環境」は完璧である必要はありません。大切なのは<strong>迷わずに始められること</strong>です。</p>
<p>まずは1つのテンプレートリポジトリを作り、毎回同じ手順で立ち上げる習慣をつけましょう。慣れてきたら自動化やクラウド化を少しずつ追加していけばOKです。</p>
<div class="box3">
<p><strong>ポイント</strong></p>
<p>今日やること：GitHubに <code>dev-template</code> リポジトリを作り、<code>Dockerfile</code> と <code>README.md</code> の2ファイルだけを置く。それだけで「使い捨て開発環境」の第一歩は完了です。次の作業は明日でも来週でも構いません。</p>
</div>
<p>投稿 <a href="https://atueda.com/adhd%e3%82%a8%e3%83%b3%e3%82%b8%e3%83%8b%e3%82%a2%e3%81%8c%e6%8c%ab%e6%8a%98%e3%81%97%e3%81%aa%e3%81%84%e4%bd%bf%e3%81%84%e6%8d%a8%e3%81%a6%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b/">ADHDエンジニアが挫折しない使い捨て開発環境の構築法</a> は <a href="https://atueda.com">ADHDエンジニア成長日記 ― 障害を抱えながらIT業界で活躍するためのブログ</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://atueda.com/adhd%e3%82%a8%e3%83%b3%e3%82%b8%e3%83%8b%e3%82%a2%e3%81%8c%e6%8c%ab%e6%8a%98%e3%81%97%e3%81%aa%e3%81%84%e4%bd%bf%e3%81%84%e6%8d%a8%e3%81%a6%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e3%81%ae%e6%a7%8b/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1983</post-id>	</item>
	</channel>
</rss>
