はじめに
アーキテクチャガチ初心者がアーキテクチャ周りの勉強を目的にDevContainer
を用いた開発環境構築を行い、備忘録 & 日記としてつらつら書いていきます!
この挑戦のきっかけ
勝手に自分語りをしますが、私は昨年新卒未経験で地元のIT企業に就職しました。
実務経験は1年と4ヶ月で、主にTypeScript、ReactでのFE開発、Ruby、RailsでのBE開発に携わらせてもらいながらアプリケーション開発の基本的な知識や、開発の進め方などを実務を通して学びました。
プログラミングの基礎についてはなんとなく分かってはきましたが、配属された案件ではすでに整った開発環境が用意されており、アーキテクチャについて意識することは全くありませんでした。
そのため、実務1年4ヶ月の今でもアーキテクチャについてほぼ無知な状態です笑
この挑戦をするきっかけとなったのは、チームメンバーと「最新技術、トレンド技術使って何か開発して見たいよね!」という話をしたことです。
私自身プライベートで個人開発をコツコツ頑張っていますが、仕事以外で楽しくチーム開発をしてみたい気持ちがずっとあったので「ほな、近いうちにやろう!」ということになりました。
そこでまずはチーム開発を行うための開発環境構築が必要だ!ということで、最近流行り?の「DevContainer
を用いた開発環境構築をするための勉強をしよう」となったのです。
本記事では、IT初心者がDevContainerを用いて開発環境構築をするために必要な前提知識は何なのかについて触れます。
必要な前提知識は?
「DevContainerで開発環境構築をする上で必要となる前提知識は?」と最近アップグレードされた、いつもお世話になっているClaude 3.5 Sonnet
先生に聞いてみると以下のような回答をしてくれました!
コンテナ技術の基礎
- Dockerの基本概念(イメージ、コンテナ、Dockerfile)
- 基本的なDockerコマンド
- レイヤー構造の理解
- 学習リソース:
- Docker公式ドキュメント: https://docs.docker.com/get-started/
- Docker入門(日本語): https://knowledge.sakura.ad.jp/13265/
Visual Studio Codeの基本
- 基本的な操作方法
- 拡張機能の仕組み
- 設定のカスタマイズ方法
- 学習リソース:
- VS Code公式ドキュメント: https://code.visualstudio.com/docs
- VS Code日本語ドキュメント: https://vscode-doc-jp.github.io/
DevContainerの基礎
- devcontainer.jsonの構造
- Dockerfileとの関係
- Dev Container機能の概要
- 学習リソース:
- Microsoft公式ドキュメント: https://code.visualstudio.com/docs/devcontainers/containers
- Dev Container仕様: https://containers.dev/
開発言語とツールの基礎知識
- 使用する言語の基本的な開発環境要件
- パッケージマネージャーの使用方法
- 一般的な開発ツール(Git、シェルなど)
Linux基礎
- 基本的なコマンド操作
- ファイルシステムの理解
- パーミッションの概念
- 学習リソース:
- Linux標準教科書: https://linuc.org/textbooks/linux/
これから
私の中で特に知識が無さすぎる「Docker」と「DevContainer」の二つを中心に、次回から複数回に分けて学んだことをメモがてら記事に執筆していこうかと思います。
最終的には、実際に手を動かしながら「DevContainer」を用いた開発環境構築について記事にしていこうかと意気込んでいるのでお楽しみに!