こんにちは、すぐるです!
sugulogをお読みいただきありがとうございます!!
このブログは、「 過去の無知な自分に向けてわかりやすく説明するなら?? 」を基準に書いています。
少しでもお役に立てれば幸いです。
今回は、僕が今までに出会ったプログラミングに関する用語を集めてみたということで
-
プログラミングに関する用語集No.2
を記述していきます。
特に、ブログ内で出てくるけど説明していない用語を中心に記述していきます!!
その為このブログを読むことで、よりブログ内容の理解度が上がるのと、何か困ったときのカンニングペーパーとして参考になること間違いなしです!
また、新しい用語に出会うたびに追記していきます!!
是非最後までご愛読ください。
・プログラミングに関する用語集No.2
用語に出会った順に書いてます。
僕の腰が悲鳴をあげながら学習した思い出順なのでご了承ください。
・Git
アプリケーションなどのプロジェクトをバージョン管理するシステムのこと。
・GitHub
Gitの仕組みを利用して簡単に複数人での開発を可能にしてくれるツール。Gitにおけるリモートリポジトリの役割を担う。
・リポジトリ
Gitの管理下にあるファイルやディレクトリの変更履歴を保管しておく入れ物のこと。
・ローカルリポジトリ
自分のパソコン上(ローカル環境)に置くリポジトリのこと。
・リモートリポジトリ
外部のサーバーなどのネットワーク上に置くリポジトリのこと。
・インデックス
Gitでバージョンを記録するためにファイルを一時的に登録する場所のこと。
・コミット
インデックスに追加された変更修正をバージョン記録する操作のこと。
・ログ
Gitのコミット履歴のこと。
・GitHub Desktop
GitHubが提供しているディスクトップ用のアプリケーションのこと。本来はコンソールで実施する作業をGUIにしてくれる。
・ブランチ
リポジトリで管理しているプロジェクトの流れを記録していく場のこと。
・masterブランチ
リポジトリに最初のコミットを行うと自動で作成されるブランチのこと。リポジトリの大元元のブランチのこと。
・トピックブランチ
masterブランチをコピーしたブランチのこと。機能ごとに作成し、完成したらmasterブランチに結合する。
・プルリクエスト
コミット履歴を残すとともに、各コミットにおける変更修正にコメントを付けることができるGitHubの機能のこと。
・コードレビュー
複数人での開発において、コードの記述内容に問題がないかを他の開発メンバー等にレビューを依頼すること。
・マージ
トピックブランチをmasterブランチに結合する作業のこと。マージ後のブランチは基本的には削除する。
・プル
リモートリポジトリの変更をローカルリポジトリに取り込む操作のこと。
・デプロイ
アプリケーションを外部のサーバー上で利用可能な状態にすること。
・コンフリクト
あるファイルにおいてブランチごとに情報が異なり辻褄が合わない状況のこと。
・エンティティ
サービスの中で管理する必要のある概念(情報)のこと。
ex)SNSでのユーザー情報、投稿内容...
・エンティティの属性
エンティティが個別に持つ情報のこと。
ex)ユーザー情報の名前、アドレス、パスワード...
・リレーション
エンティティとエンティティの間に存在する関係性のこと。
ex)ユーザーとユーザーの投稿、生徒と生徒の成績...
・キー
レコードを識別するための特別なカラムのこと。識別子であるため同じテーブル内の他のレコードとは絶対に被らないように設定する。
・主キー
テーブルの中で他のレコードとの区別をつける識別子となるカラムのこと。
ex)idカラム
・外部キー
異なるテーブルのレコードとの関係性(リレーション)を持つ場合に、他のテーブルのレコードを識別するためのカラムのこと。
ex)ユーザーテーブルに存在するツイートのidを識別するためのtweet_id
・ER図(Entity Relationship Diagram)
テータベース設計における代表的な設計図のこと。
・マークダウン
文書を記述するための軽量マークアップ言語のこと。マークダウンで記載されたものはHTMLに変換される。
・Sass
CSSの機能を拡張しCSSをより簡潔に書けるだけではなく、CSSの中で変数を使ったり計算を行ったりできるようにした言語。
・CSS設計
CSSを記述する時のルールのこと。
・BEM(Block・Element・Modifier)
・Haml
HTMLよりも簡単に書くためのビューテンプレートエンジンのこと。
・リファクタリング
コードに冗長な部分がないかなど機能は保ちつつ、理解や修正が簡単になるように内部構造を改善すること。
・フラッシュメッセージ
アクションの実行後に簡単なメッセージを表示させるRailsの機能のこと。
・CarrierWave
ファイルのアップロード機能を簡単に追加することができるgemのこと。
・ImageMagick
画像を操作したり表示したりするためのソフトウェアのこと。画像を加工、変形することができる。
・MiniMagick
画像を加工してくれるgem。ImageMagickをインストールすることで使えるようになる。
・アップローダー
自分のパソコン上にあるファイルなどをサーバー上にアップロードすることにより、ホームページ上で公開したりするための機能のこと。
・テスト
プログラムが意図した通りに動くかどうか確かめること。
・単体テスト
1つのプログラムのまとまりに関して、それ単体が正常に動くかを確かめるテストのこと。
・統合テスト
複数のプログラムが連動して行われる処理が意図した通りに行われるかを確かめるテストのこと。
・RSpec
Rubyを元に作成されたテストに特化した言語のこと。
・WEBサーバー
スマートフォンやパソコンから送られてきたリクエストに対して、リクエストにあったレスポンスを返す仕組みを持ったコンピュータ(ハード)やソフトウェアのこと。
・IPアドレス
コンピュータやサーバーに設定された住所のようなもの。コンピュータが他のコンピュータやサーバーにファイルやメールを送受信する時の宛先として利用する。
ex)145.34.234.229 0〜255までの数字4つで構成される
・グローバルIPアドレス(WAN)
インターネットに接続する際に利用されるIPアドレスのこと。インターネットに接続している機器にそれぞれ割り振られる。インターネット契約するとISP(インターネット・サービス・プロバイダ)から自動的に1つ付与される。
・プライベートIPアドレス(LAN)
ISPから自動的に割り振られたグローバルIPアドレスをさらに小分けにしたIPアドレスのこと。
・ルーター
インターネットと家庭や会社にある複数のパソコン間で通信を行う時に必要となる機器のこと。グローバルIPアドレスからプライベートIPアドレスへスイッチする役割を持っている。
・ドメイン
IPアドレスを人が覚えやすいように文字列に変換したもの。.comや.jpを表すトップレベルドメインと(早い者勝ちで)自分で決めることができるセカンドレベルドメインとで構成される。
・DNS(Domain Name System)
IPアドレスを文字化する仕組みのこと。
・DNSサーバー
IPアドレスとドメインのそれぞれの組み合わせを管理、保存しているサーバーのこと。
・ポート
1つのサーバーと複数のサーバーを繋ぐもののこと。それぞれのサーバーが番号ごとに管理されており、リクエストに応じてそれぞれの番号へつなぐ橋渡しをする役割を持つ。
・カーネル
OSが担当する機能の中でも特に中核を担うソフトウェアのこと。
・ディストリビューション
カーネルとその周辺のソフトウェアの組み合わせのこと。
・パッケージ・マネージャ
コンピュータに何のソフトウェアがインストールされたかを記録し、新しいソフトウェアのインストール、新しいバージョンへのソフトウェアの更新、以前インストールしたソフトウェアの削除を容易に行えるようにするプログラムのこと。
・シェル
ユーザーの入力したコマンドを解釈するソフトウェアのこと。
・親ディレクトリ
あるディレクトリに対し階層構造において1つ上のディレクトリのこと。
・パーミッション
ファイル、ディレクトリに対し誰がどのような操作を許可するのかという権限を規定した情報のこと。読み込み(r)、書き込み(w)、実行(x)の権限がある。
・プロセス
パソコン(サーバー)上で動く全てのプログラムの実行時の単位のこと。
・SSH
離れた場所にあるサーバーの中で作業を行いたい場所に利用するプロトコルのこと。
・プロトコル
対象となる事項を確実に実行するために定めた手順の規定や取り決めのこと。
・リモートサーバー(リモート)
離れた場所にあるサーバーのこと。リモート環境とも呼ぶ。
・公開鍵
サーバーへのSSHを始める時に必要となる鍵のこと。
・秘密鍵
ローカル環境内に保存しておく鍵のこと。
・クラウドコンピューティング
ソフトウェアやハードウェアの利用権などをネットワーク越しに提供する技術のこと。
・AWS(Amazon Web Servises)
アメリカのamazonが提供しているクラウドコンピューティングサービスのこと。
・Elastic IP
AWSから割り振られた固定のパブリックIDアドレスのこと。
・yum
Linuxにおけるソフトウェア管理の仕組みのこと。
・パッケージ
LinuxOS下におけるある役割、機能を持ったプログラムの集合のこと。
・Node.js
サーバーサイドで動くJavaScriptのパッケージのこと。
・Yarn
Railsに搭載されているJavaScriptのパッケージを管理するためのパッケージマネージャーのこと。
・MariaDB
MySQLの派生として開発されているオープンソースソフトウェアのデータベースのこと。
・アプリケーションサーバー(Appサーバー)
ブラウザからのリクエストを受け付けアプリケーションを実際に動作させるソフトウェアのこと。
・Unicorn
全世界に公開せれるサーバー上でよく利用されるアプリケーションサーバーのこと。
・worker(ワーカー)
Unicornによって分裂した全てのプロセスのこと。
・Swap領域
コンピュータが処理を行う際メモリと呼ばれる場所に処理内容が一時的に記録されるが、メモリが決まっており容量を超えてしまうとエラーで処理が停止される。その際メモリの容量を一時的に増やすために準備されるファイルのこと。
・secret_key_base
Cookieの暗号化に用いられる文字列のこと。
・Nginx(エンジン・エックス)
Webサーバーの一種。
・Capistrano
自動デプロイツールの一種。
・DSL
ある特定の処理における効率をあげるために特化した形の文法を擬似的に用意したプログラムのこと。
・バケット
実際にデータが格納されている場所のこと。
・リージョン
バケットが実際に存在しているサーバーの場所のこと。
・fog
画像をアップロードする際に外部ストレージを選択しアップロードするのを補助してくれるGem。
・HEROKU
開発したWebアプリケーションを全世界に公開することができ、そのままサービスを本格的に運用することも可能なホスティングサービスのこと。
・PostgresSQL
データベース管理システムの一種。
・フォーク
自分以外のGitHubユーザーが公開しているリポジトリをコピーして、自分のGitHub上に新しいリポジトリを作成すること。
以上、今回のブログでした。
何か困ったときのカンニングペーパーとして参考になりそうでしたか??
これからもどんどん知識を蓄えていきますね(≧∀≦)/
最後に!!
今後も、「 過去の無知な自分に向けてわかりやすく説明するなら?? 」を基準にブログを書いていきます。
少しでも気になった方はお試しでもいいので1度、読者登録お願いします!
またTwitterでもプログラミングに関することを中心に情報を発信してます。
宜しければそちらのフォローもお願いします。
最後までご愛読いただきありがとうございました!!