忍者ブログ

忘れじのWEB用語

備忘録として綴るなり

Git

Gitとは、バージョン管理システムと呼ばれるソフトウェアで、システム開発などでファイルを作成する途中の段階を記録することでソースコードを効果的に管理するために開発されました。

git

主要な機能として、「適切な段階で保存する」という機能があり、以下のことができるようになる。

  • 各バージョンごとに「作成者、日付、作業メモ」などの付加情報を記録
  • 作りかけのファイルを破棄し、前のバージョンに戻る
  • さらに過去のバージョンのファイルも取り出すことができる
  • トラブルなどがあった場合に、付加情報を振り返りながら追跡できる
  • 2つのバージョンを比較して変更箇所を調べられる

開発を一人ですべて行うのであれば、そこまで重要ではないかもしれないが、大きなプロジェクトともなると多数の人が関わるためファイル構成が煩雑化しやすい傾向があり、このようなバージョン管理システムを導入することで、問題解決への近道となる。

Gitは、Linuxを開発したリーナス・トーバルズによって始められたようで、LinuxとGitという2つの発明があること自体、恐ろしくすごい人だということがわかる。

Gitには、大きく分けて2つの使い方があり、一つは自分のPCだけで利用する方法と、複数の人と共有して使う方法で、共有する場合は、Gitサーバをネットワーク上に立てるか、Gitサービスを利用することになるが、ほとんどはGitサーバを使うことになるはず。

とはいえ、いずれの場合にせよ、利用するPCにGitをインストール必要がある。

分散型のGit

バージョン管理システムには、「分散型」と「集中型」があり、Gitは「分散型」になる。

「集中型」の場合、データの置き場所はひとつであり、ネットワーク上のサーバ上に置かれ、自分のPCに保存されるのは、自分が作業に使うものだけであり、過去の履歴を調べるためには、サーバへアクセスする必要がある。

そして、恐ろしいのはサーバ上のデータになにかあったら、すべてを失うことになるので、サーバ管理者は常にバックアップを作成する必要がある。

それに比べ、「分散型」の場合、最終的にデータが集まる場所はひとつだが、参加しているメンバーのPCにも原則として同じデータがコピーされる。

そのため、通信環境のない場合であってもファイルを操作したり、履歴を調べたりすることが可能で、修正したものは、次回ネットワークに接続したときにデータ更新すればいい。

また、参加者全員がデータを持っているということで、メインのサーバになにかがあったとしても、復旧しやすい。

PR

webpack

Node.jsで使われるモジュールバンドラーツールで、設定ファイルの柔軟性やloader、pluginというAPIを提供し強力な結合・連結機能を提供しており、それら周辺のエコシステムも充実していることから、現在もなおアクティブに開発されている。

webpack

WEBアプリケーションの開発においては多く利用されているバンドラーで、CSSやJavaScript、画像などWebサイトを構成するあらゆるファイルを1つにまとめてくれる。

メリットとして、コードが読みやすくなるうえ保守性も高まり、他のプロジェクトにも転用しやすくなる。

これは、開発者側だけでなく、ユーザーサイドにも大きな影響を与え、ファイルがまとめられることによって、スピーディな読み込み速度となり、ユーザビリティ向上につながる。

フロントエンドエンジニアにとっては、避けて通れない必要な技術がひととおり揃う、ということが最大の利点。

BABEL

JavaScriptのコンパイラで、JavaScriptを環境に合わせて解釈可能な下位構文へとダウンコンパイルするもの。

babel

もともと6to5という名前だったようだが、6to5という名前では、ES6からES5への変換を行うツールだと勘違いされてしまうこと、ES7やその先の標準への対応も見据えていることなど、さまざまな理由からBabelという名前に変更されたらしい。

構文解析のためのパーサやコンパイラとしてのコア機能、それらを補うヘルパーや変換のためのプラグインなど細やかなパッケージ群によって構成されており、単体で使用されることもあるが、様々な種類のビルドツールとの組み合わせで使われることが多い。

パーサとは、構文解析を行うためのプログラムの総称で、何らかの言語で記述された構造的な文字データを解析し、プログラムで扱えるようなデータ構造の集合体に変換するプログラムのこと。

コンパイラは、人間がC言語やJava言語などで書いたプログラムを、機械語へ翻訳する役割を果たすもので、多くのプログラミング言語は、人が読めるように設計されているのだが、機械は「1」と「0」しか理解できないので、人が書いたプログラムをそのまま理解することはできない。
そこで必要となるプログラムが「コンパイラ」。

プロフィール

HN:
ffend
性別:
非公開

P R

最古記事

(01/21)
(01/27)
(02/03)
(10/28)
(11/28)