ITエンジニアの『当たり前』が初心者には難しい話

「え、そんなことも知らないの?」が一番つらい

プログラミングを始めたばかりの頃、先輩エンジニアやネットの記事を見て、こう思ったことはありませんか?
「みんな当たり前のように言っているけど、全然分からない…」
・「パスを通して」
・「環境変数を設定して」
・「ポートが被ってる」
・「ディレクトリを移動して」

だんだん経験を積んでいくと、つい忘れてしまいがちなのが
「エンジニアにとっての当たり前は、初心者にとっては【暗号】である」ということです。

暗号に感じるのは恥ずかしいことではありません。
むしろ、誰もが通る道です!
エンジニアが、そのことを忘れてしまっているのが恥ずかしいのかも…

今日は、IT初心者がつまずきやすい「当たり前用語」を、できるだけ分かりやすく解説していきます!

ファイルとフォルダの「実は知らない」基礎知識

フォルダとディレクトリって違うの?

A. 同じものです!
フォルダ = Windows的な呼び方
ディレクトリ = Unix / Linux的な呼び方

プログラミングの世界では「ディレクトリ」と呼ぶことが多いですが、意味は同じ。
「ファイルを入れる箱」とのことです。

パスって何?(Path)

パス = ファイルやフォルダの住所
皆さんの家に住所があるように、コンピュータ内のファイルにも「住所」があります。

絶対パス(フルパス):最初から全部各書く住所

Windows: C:\Users\YourName\Documents\report.txt
Mac/Linux: /Users/YourName/Documents/report.txt

相対パス:今いる場所からの道順

今が Documents フォルダなら
./report.txt (同じフォルダ)
../Desktop/image.png (一つ上のフォルダのDesktopの中)

相対パスには、フォルダの位置を記号を用いて表します。
・. → 今いるフォルダ
・.. → 一つ上のフォルダ

拡張子は何のためにあるの?

拡張子 = ファイルの種類を表す「名札」
・.txt → テキストファイル
・.jpg / .png → 画像ファイル
・.mp3 → 音声ファイル
・.py → Pythonプログラム
・.js → JavaScriptプログラム
・.html → Webページ

よくある失敗:
 Windowsで「拡張子を表示しない」設定になっていて、「script.py.txt」と一番後ろの.txtに気付かない
 上記ファイルを動かそうとしてもPythonが動かない…
解決策:
 Windowsの「表示」 → 「ファイル名拡張子」にチェックを入れる!

隠しファイルって?

ドット( . )で始まるファイル = 隠しファイル
・.gitignore → Git(ファイルの変更管理ツール)の設定ファイル
・.env → 環境変数ファイル
・.DS_Store → Macが勝手に作るファイル

なぜ隠す? → 普段使わない設定ファイルなので、邪魔にならないように。

表示する方法:
・Windows:エクスプローラーの「表示」 → 「隠しファイル」
・Mac:Finderで「Command + Shift + . 」
・Linux:「ls -a」コマンド

謎の専門用語を解読する

パスを通すって何?

パスを通す = コマンドをどこからでも使えるようにする設定
例えば…
Pythonというコマンドを打った時、コンピュータは「Python.exeってどこにあるの?」と探します。

パスが通っていない状態:

> python
‘python’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

パスが通っている状態:

> python
Python 3.11.0 (main, Oct 24 2022, …)
>>>

パスを通すためには、コンピュータ探す場所のリスト(環境変数PATH)に、pythonがあるフォルダを追加する必要があります。
イメージ:コンピュータ「Pythonを探そう。C:\Program Files\Pythonがパスか…」 → あった!

環境変数ってなに?

環境変数 = コンピュータ全体で使える「メモ」
プログラムが「あの情報どこだっけ?」となったとき、見に行く共有メモ帳みたいなものです。
よく使う環境変数:
・PATH → コマンドを探す場所のリスト
・HOME → あなたのホームディレクトリ
・API_KEY → APIの秘密鍵(プログラムが読む)

なぜ環境変数に入れるの?

特にAPI_KEYなどの秘密情報は、コードに直接書くと危険!絶対に秘密にすべき情報です。
GitHubにアップすると、世界中に公開されてしまいます。

良い例

python
import os
api_key = os.environ[‘API_KEY’]  # 環境変数から読む

悪い例

python
api_key = “abc123xyz” # コードに直接書く→危険!

ポートって何?

ポート = コンピュータの窓口番号
1台のコンピュータで複数のサービスを動かすとき、どの窓口でどのサービスを提供するかを決める番号です。
病院でイメージすると若やすいかもしれません🏥
・1番窓口 → 病院の受付
・2番窓口 → 処方箋の受付(薬の受渡し)
・3番窓口 → お会計

これがコンピュータの場合、以下の役割で窓口が決められています。
・ポート80:Webサーバ(HTTP)
・ポート443:Webサーバ(HTTPS)
・ポート3000:開発中のWebアプリ(よく使う)
・ポート5432:PostgreSQL(データベース)

「ポートが被っている」とは?

同じ窓口番号で2つのサービスを始めようとしている状態
Error:Port 3000 is already in use

解決方法:
・片方を閉じる
・別のポート番号をt具買う(3001など)

サーバーとクライアントって?

サーバ:サービスを提供する側
クライアント:サービスを受ける側

例1:レストラン
・サーバ:お店(料理を提供)
・クライアント:お客さん(料理を注文)
例1:Webサイト
・サーバ:GoogleのWegサーバー
・クライアント:あなたのブラウザ

コマンドラインの「当たり前」

コマンドライン、ターミナル、コンソールって?

全部ほぼ同じ意味!黒い画面に文字を打ち込むやつです。
正式名称:
・Windows:コマンドプロンプト / PowerShell
・Mac:ターミナル
・Linux:ターミナル、シェル

よく使うコマンド:

ディレクトリ操作:

pwd          # 今いる場所を表示(Print Working Directory)
ls            # ファイル一覧を表示(List)※Windowsはdir
cd Documents      # Documentsフォルダに移動(Change Directory)
cd ..          # 一つ上のフォルダに移動

ファイル操作

touch test.txt         # 空ファイルを作成(Macのみ)
mkdir new_folder       # フォルダを作成(Make Directory)
rm test.txt           # ファイルを削除(Remove)※取り消せないので注意!
cp file1 file2          # ファイルをコピー(Copy)
mv old new          # ファイル名を変更/移動(Move)

表示

cat file.txt         # ファイルの中身を表示
head file.txt        # 最初の10行を表示
tail file.txt         # 最後の10行を表示

初心者がよくやる失敗

cd documents # 小文字で書いた
# → エラー!Windowsは関係ないけど、Mac/Linuxは大文字小文字を区別する

プログラミングでよく出る謎用語

ライブラリとフレームワークって何が違うの?

ライブラリ = 道具箱
必要な道具(関数)を選んで使います。
使用者が何を使うかを選ぶことができます。

フレームワーク = 家の骨組み
フレームワークのルールに従って、使用者がパーツを埋めていきます。
フレームワークに合わせる必要があり、フレームワークが使用者のコードを呼びます。

パッケージマネージャーって?

パッケージマネージャー = アプリストアのようなもの(プログラマ用)
ライブラリをインストール・管理するツールです。
各言語のパッケージマネージャー:
・Python:pip
・JavaScript:npm / yarn
・Ruby:gem

バージョン管理(Git)の基礎

Git = タイムマシン機能付きの保存システム
よく聞く用語:
・リポジトリ(repo) → プロジェクトの保管場所
・コミット(commit) → セーブポイントを作る
・プッシュ(push) → ネット上(GitHub等)にアップロード
・プル(pull) → ネット上から最新版をダウンロード
・ブランチ(branch) → 並行世界を作る(実験的な変更をするとき)
・マージ(merge) → ブランチを本流に統合

イメージはゲームのセーブデータのようなものです。🎮
間違えたときには前のセーブデータに戻ることができます。(やり直しができる!)

開発環境の「当たり前」

IDEとエディタって何が違うの?

エディタ = メモ帳の高機能版
コードを書くためのツールです。
・Visual Studio Code(VS Code):超人気!迷ったらコレ!
・Sublime Text
・Vim / Emacs:上級者向け

IDE(統合開発環境) = エディタ+デバッガ+コンパイラなど全部入り
・Visual Studio:C#などのMicrosoft系言語
・PyCharm:Python
・IntelliJ IDEA:Java

おすすめ:まずはVS Codeから始めるのがベスト!拡張機能も豊富です

仮想環境って何?

仮想環境 = プロジェクト専用の小部屋

なぜ必要?

プロジェクトAではPython3.9を使いたい、プロジェクトBではPython3.11を使いたい…
こういった場合、バージョンが衝突しAとBを同時に勧めるのが非常に難しくなります。
仮想環境を使うことによりコンピュータ内に2つの環境を用意できます。
そうすれば、同時に異なるバージョンのプロジェクトでも問題なく進行することができるのです!

ビルド、コンパイルって何?

コンパイル = 翻訳作業
人間が読めるコードを、コンピュータが実行できる形式に変換することです。
C言語のコード(.c) → コンパイル → 実行ファイル(.exe) に変換されます。
コンパイルが必要な言語:
・C
・C++
・C#
・Java…など

コンパイル不要な言語(インタプリタ言語)
・Python
・JavaScript
・Ruby…など
書いた直後から実行できるのが特徴です!
翻訳をしていないのではなく、一度に翻訳せず翻訳しながら実行することで直後の実行を可能にしています。

ビルド:コンパイルも含めた「実行可能な形にする一連の作業のこと」

まとめ:「分からない」は恥ずかしくない!

ここで紹介した用語、私も最初は分かりませんでした。
自分で調べたり、先輩に聞いたり…
実業務を通して初めて理解したこともあります。
これらはすべてのプログラマが通ってきた道なのではないでしょうか。

IT業界は専門用語が多すぎて、初心者には優しくありません。
でも、知らないことは恥ではありません。
むしろ、知らないことを「知らない」と言えることが大切です。

先輩たちもみなさんに頼られたいはずです。
分からないことは聞いてみましょう。きっとみなさん親切に教えてくれますよ。
そして、いつか皆さんが「当たり前」と思うようになったとき、教えてもらったときを思い出して、
初心者に優しく教えてあげてくださいね😊

コメントを残す

*