🍣
アプリケーションプログラム④:ソフトウェアの開発環境
本記事はコンピュータサイエンス学習サービス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