🍣
アプリケーションプログラム④:ソフトウェアの開発環境
本記事はコンピュータサイエンス学習サービスRecursionの学習記録です。
開発における環境の種類
| 環境名 | 用途 |
|---|---|
| 開発環境 | 開発者がコードを書き、ローカルでテストするための環境。 |
| テスト環境 | ソフトウェアが意図したとおりに動作するか確認するための環境。 |
| ステージング環境 | 本番環境のシミュレーション用の環境。リリース前の最終確認に使用。 |
| 本番環境 | エンドユーザーが実際に使用する環境。 |
開発環境の構成要素
| 要素名 | 用途 |
|---|---|
| OS | 開発端末のオペレーティングシステム(macOS、Windows、Linuxなど)。 |
| 統合開発環境(IDE) | コーディング、テスト、デバッグのためのツールを提供する(Visual Studio, PyCharmなど)。 |
| コードエディタ | コード記述に特化したエディタ(Sublime, VS Codeなど)。 |
| ソース管理 | コードの変更履歴を管理する(Git, SVNなど)。 |
| ビルドツール | ソースコードを実行可能なプログラムに変換し、テストやデプロイを自動化する(Make, Mavenなど)。 |
| 依存プログラム | 他のプログラムやサービスに依存するソフトウェア(MySQL, Node.jsなど)。 |
| デバッガ | コードのバグを発見・修正するためのツール(Visual Studio Debuggerなど) |
| テストプログラム | コードの動作確認に使うツール(JUnit, PyTestなど) |
| ライブラリ、フレームワーク | 開発を効率化するためのコードの集合体(React、Djangoなど) |
| 仮想化、コンテナ化ソフトウェア | 仮想環境やコンテナを作成・実行する(Dockerなど) |
| CLI | テキストベースのコマンド入力でシステムを操作するインターフェース(Bash, PowerShellなど) |
ローカル開発環境とリモート開発環境
ローカル開発環境: 開発者のPCにインストールされ、素早く結果を確認できる環境。
リモート開発環境: サーバー経由でアクセスする環境で、共同開発や本番に近いテストが可能。
// 初めてGitHubを使ったときに「リモート」という概念がしっくりこなかったことを思い出した。
Discussion