本記事について
プログラミング初心者がWebに関する知識を学んだので、その備忘録として載せております。
どうかお手柔らかにお願いいたしますm (- -)(_ _)ペコリ
シェル
・ターミナルで実行されたコマンドを読み取りOS(コンピュータ)に指示を出すプログラム
→OSは指示を受けてコマンドにあったアプリケーションを動作させる
・ターミナルとOSを繋ぐ窓口役、中間役、介在人
・ターミナルから入力されたコマンドを読み取ってOSに対して指示を渡し、結果をターミナルに返して表示や実行などの操作をさせている。
zsh
・シェルの種類の1つ。
・人間からの入力をコンピューターに伝えるプログラム
・アルファベット最後のzを使っていることもあり自称最強のシェル
・「.」から始まるドットファイルを作成編集することで設定を行うことができる。
環境構築では.zshrcに設定を記述してPATHにアプリケーションの場所を示すことでコマンドを使用可能にしていた。
・ターミナルでecho $SHELLと打つとシェルがzshであることがわかる
bashとzshのプロンプト
・bashのプロンプト $
・zshのプロンプト %
環境変数
・コンピューターが持っている値を入れておく箱(変数)
・OSが動いている時に使える変数
・すべてのプログラムで使える変数
PATH
・「環境変数」というOS用の変数
・複数の絶対パスの情報が保存されている
・コマンドが入力された時に、シェルはPATHに記述されたパスのディレクトリ内のファイルを検索する。PATHがファイルの在り処を示す行先、住所。
PATHを通す
・プログラム名だけで実行できるようにすること
・PATHに絶対パスを保存してアプリケーションの在り処を示し、全てのディレクトリからコマンドを使用可能にすること
→PATHが保存されているので、PATHを指定せずともプログラム名だけで実行できる
echoコマンド
・'>>'につ続けてファイル名を指定することでファイルに文字を追加できるLinuxコマンド
.zshrcにrbenvの設定を反映するためのコマンドを記述することでPATHを通している。
コマンドラインツール
・コマンドで操作するアプリケーションのまとまり
・キーボードで入力することで命令する(操作する)プログラム
・OSが始めからコマンドで操作できるアプリケーション以外のアプリケーションをPCにインストールできる。
Command Line Tools
・macOS専用のコマンドラインツール
・Linuxコマンド以外で操作するアプリケーションの多くはCommand Line ToolsのインストールによりまとめてPCに導入できる。
→Linuxコマンド以外のコマンドも使用できる
Linuxコマンド
・PCへ操作を命令するためのコマンド
・ターミナルではLinuxコマンドの入力でPCに様々な命令を出す。
依存関係
あるファイルやライブラリが正常に動作するために、別のファイルやライブラリによる処理と結果が必要になる状態を依存と呼び、依存している関係のことを依存関係
→あるファイルが成り立っているのは他のファイルの処理や結果があるためである。
依存関係を保つために
・いずれかのバージョンを上げすぎないようにすること
・一方の更新に伴ってもう一方のライブラリのバージョンを更新する
パッケージ
・プログラムや処理をひとまとめにしたもの
・パッケージは複数のライブラリをまとめていることもある。
→関連する何かを一まとめにしたもの
→1つにまとめたもの
パッケージ管理
・パッケージやパッケージが持つライブラリなどの依存関係を考慮して、インストールやバージョンアップを行う管理のこと(バージョンの保存と切り替え)
・外部からインストールできる処理のまとまりにはバージョンがあり、互いに複雑な依存関係を持っている。パッケージ管理では依存関係を考慮して管理する。
・GemfileとBundlerによっていGem(パッケージ)を管理していたものもパッケージ管理になる。
パッケージ管理ツール(パッケージマネージャー)
パッケージ管理を自動的に行ってくれるツール
依存関係を考慮してパッケージをインストールする
Homebrew
macOSのパッケージ管理ツール
→依存関係のあるパッケージが正しく動作するよう、複数のパッケージのバージョンをコントロールしインストールが可能
Node.js
本来ブラウザ上で動くJavaScriptをサーバーサイドで動作させる実行環境
→ブラウザでの環境を移してサーバーでの環境でJavaScriptを動作させる。
実行環境
環境のこと。プログラムを動かすために必要なものが揃った場
Yarn
Javascriptのパッケージ管理ツール。Node.jsの環境上で動作するパッケージを管理する。
npm
パッケージマネージャー
バージョン管理
・プロジェクトや言語のバージョンを管理する。
・変更したバージョンを記録あるいは外部から保存して、過去のバージョンや最新のバージョンを切り替えることなど。
→バージョンを管理することでパッケージとの依存関係の問題を解消したり、変更して問題が発生したプロジェクトを過去の安定したバージョンに切り替えるなどの対応ができる。
・Gitによるディレクトリ、プロジェクトn変更履歴の管理もバージョン管理に含まれる。
rbenv
・Rubyのバージョンを切り替えるためのバージョン管理ツール
・複数のバージョンのRubyをダウンロードしておいて、使用するRubyにバージョンをディレクトリごとに指定することも可能になる。
・Rubyのバージョン変更に伴う依存関係の問題(バージョン管理ツールを使用しない場合、RubyのバージョンはすべてPC内で共通となっているので)を回避できる。