エンジニアは人から嫌われるレベルで横文字を使います。エンジニアと話すときに致死量の横文字を浴びた経験は、皆さんもあると思います。 「アグリー」(同意する)など、本当に英語にする意味のないものもありますが、IT用語として適切に使われているものもあります。 今回はエンジニアが使用する横文字の中で 「パスを通す」「デプロイする」「リポジトリをクローンして」—— などのIT用語を解説します。
1. パスを通す
最初に取り上げるのは、初心者がまずつまずく定番、「パスを通す」 です。
そもそも「パス」とは
パス(path) とは、コンピュータの中での住所のことです。 ファイルがどこにあるかを、フォルダをたどる形で表したものを指します。
C:\Users\taro\Documents\memo.txt ← Windows の場合
/home/taro/Documents/memo.txt ← Mac / Linux の場合
上の階層から順にたどって、目的の場所を一意に指し示すのがパスです。 パスという形で、ファイルやディレクトリ(フォルダ)がどこにあるかを誰から見ても狂いのないように示すことができます。 ちょうど、日本の住所も東京都〇〇区のように書き方が決まっていることにより、配達サービスが実現できていることと同じです。
「通す」とは何をしているのか
コンピュータに命令を出すとき、私たちは名前だけを打ちます。
python
しかしコンピュータからすると、python という名前だけでは、それがどこに置いてあるプログラムなのかわかりません。
本来なら住所(パス)を丸ごと打つ必要があります。
C:\Users\taro\AppData\Local\Programs\Python\Python312\python.exe
上記まで打って初めてコンピュータはどのファイルを実行すれば良いかがわかり、プログラムを実行することができます。 しかし、毎回これを打つのは現実的ではありません。 そこでコンピュータには「名前だけ言われたら、とりあえずこの場所たちを順番に探しに行く」という 探し場所リストがあらかじめ用意されています。これが 環境変数 PATH です。
「パスを通す」とは、この探し場所リストに、自分が使いたいプログラムの置き場所を追加することを指します。
よくあるエラー
パスが通っていないと、こんなメッセージが出ます。
'python' is not recognized as an internal or external command
('python' は、内部コマンドまたは外部コマンドとして認識されていません)
command not found: python
これは「そんなプログラムは存在しない」ではなく、 「探し場所リストに載っていないので見つけられなかった」 という意味です。 プログラム自体がちゃんとPCの中にある場合でも、PATHの設定が適切に行われていなければこのエラーが出ます。
通し方の考え方
OS によって操作画面は違いますが、やっていることはどれも同じです。
| OS | 追加する場所 |
|---|---|
| Windows | 「システム環境変数の編集」→ Path に追加 |
| Mac / Linux | .bashrc や .zshrc に export PATH="追加したい場所:$PATH" を書く |
どちらも探し場所リストに1行足しているだけで、 プログラムを移動させたりコピーしたりしているわけではありません。
ポイント
- パス = コンピュータ内の住所
- PATH = 名前だけで呼ばれたときの探し場所リスト
- パスを通す = そのリストに置き場所を追加する
2. ディレクトリ
フォルダのことです。同じものを指しています。 Windows では「フォルダ」、Mac やプログラミングの文脈では「ディレクトリ」と呼ばれることが多い、という違いだけです。
- カレントディレクトリ:いま自分がいる階層。「現在地」のこと。
- ルートディレクトリ:いちばん上の階層。木の根っこ。
3. 環境変数
パソコン全体で共有される設定メモです。 先ほどの PATH もこの一種で、「探し場所リスト」という設定を書いたメモでした。
プログラムはこのメモを読んで動きを変えます。 パスワードやAPIキーなど、コードに直接書きたくない情報を渡すのにもよく使われます。
4. コマンド/ターミナル
- ターミナル:黒い画面に文字を打ってPCを操作する道具。Windows では「コマンドプロンプト」「PowerShell」。
- コマンド:そこに打ち込む命令文のこと。
マウスでアイコンをダブルクリックする代わりに、文字で命令するのがターミナルです。 見た目は無愛想ですが、同じ作業を何度も繰り返すときは圧倒的に速くなります。 また、操作内容が文字として表現されているので、テキストファイルに叩くコマンドを列挙するだけで、メモを見た全員が全く同じ作業を行えるのも利点です。
5. インストール/ビルド/デプロイ
混同しやすい3つを並べて整理します。
| 言葉 | 意味 |
|---|---|
| インストール | 自分のマシン等にプログラムを入れることを指します。 |
| ビルド | 書いたソースコードを、コンピュータが実行できる形に変換する作業を指します。 |
| デプロイ | プログラムがユーザーからアクセスできる状態にする作業を指します。 |
6. リポジトリ/クローン/コミット/プッシュ
コードのバージョン管理(Git)まわりの言葉です。
まず前提として、コードの置き場所には2種類あります。
- ローカル:自分の手元のPCの中。
- リモート:GitHub などのインターネット上(サーバー)にある共有の置き場所。**「遠隔(remote)」**という意味で、チームのメンバーがそれぞれの手元(ローカル)から同じ場所を参照・更新できます。
以下の言葉は、この「ローカル」と「リモート」の間でコードをやりとりするための操作だと考えると理解しやすくなります。
| 言葉 | 意味 |
|---|---|
| リポジトリ | 一つのコードのまとまりです。多くは、一つのプロジェクトで一つのリポジトリを作成します。プロジェクトに関わるソースコードをまとめる保管庫の役割をします。 |
| クローン | リモートにあるリポジトリを、手元に複製(コピー)する作業を指します。 |
| コミット | ソースコード等を編集したとき、自分の編集を記録する作業です。この時点ではどこにも反映されませんが、あとから変更履歴をコミット単位で辿れるようになります。こまめにコミットしておくと、そのぶん細かく変更をさかのぼれます。 |
| プッシュ | ローカルの変更をリモートに反映させる作業です。 |
7. ライブラリ/フレームワーク/API
- ライブラリ:プログラムのまとまりです。便利な関数などがまとめられています。
- フレームワーク:アプリケーション等を作成するときに必要なものがまとめられています。作成キットというとイメージがつきやすいかもしれません。
- API:プログラム同士のやりとりの窓口。YouTubeにある「公式LINEで〇〇と打ってください。資料がもらえます。」みたいなことをプログラム同士がやっています。
8. サーバー/クライアント/ローカル/本番環境
- サーバー:サービスを提供する側のコンピュータ。
- クライアント:それを使う側。あなたのPCやスマホ。
- ローカル:自分の手元のPCの中。「ローカルで動く」= 自分のPCの中だけで動いている状態。
そして、プログラムを動かす「場所(環境)」は、目的に応じて分けて用意するのが一般的です。同じアプリでも段階によって使い分けます。
- 開発環境:開発者が実際にコードを書きながら動作を試す場所。多くは自分のローカルPCの中で、失敗しても誰にも影響が出ません。気軽に壊して直せる練習場のようなものです。
- テスト環境(ステージング環境):本番に出す前に、本番とできるだけ近い条件で最終チェックをする場所。利用者はまだ使っていないので、ここで問題を見つけて潰しておきます。
- 本番環境:実際に利用者が使っている場所。ここを壊すと大騒ぎになります。だからこそ、開発環境・テスト環境で十分に確認してから反映します。
9. バグ/デバッグ/エラーログ
- バグ:プログラムの不具合。
- デバッグ:バグを見つけて直す作業。
- エラーログ:何が起きたかの記録。怒られている文章ではなく、手がかりの塊です。
まとめ
どうでしょうか。 多いですが、普段の開発をしながら触れていくことになると思うので自然に覚えられることと思います。 わからなくなった時に、こちらに戻って意味を確認していただければと思います。
- プログラミング言語での命令の書き方:「コンピュータと話す」
- Webページについての詳しい説明:「Webページはメモ帳で作れる」