未分類

パッケージ

投稿日:

今日は普段使っているパッケージについて学びました。いつもパッケージ管理ソフトのyarnを使ってインストールやら実行やらを行っているのですが、それが内部でどのような動きをしているのかなんて考えたこともありませんでした。詰まるところyarnも所詮コマンドなので順を追っていけば必ずやっていることがわかるのですが、実行速度が早すぎて理解しづらいだけなのです。コンピュータは電子の動きでオンとオフを表現できてしまうのでそのオンオフで膨大な数の文字列を使った命令でも秒で終わらせてしまう事ができるのです。これについていくことは不可能なので何をしているのかゆっくりでもいいので理解する事が大事だと思います。

yarn

yarnはfacebookが開発したパッケージ管理ソフトです。これはnpmと互換性があり同じように使用できるのですが、npmに対して大きな優位点があります。それはyarnはデフォルトでyarn.lockというパッケージのバージョンを管理するファイルを作成するという点と、プログラムを並列で読み込む事ができるという点です。特に後者の並列で読み込む事ができるという点はパッケージを読み込む速度が早くなるので大きな優位点です。yarn installでpackage.jsonに記載された依存オブジェクトのみを順番にインストールしていきます。

パッケージとは

プロジェクトそのものを指します。多くのプロジェクトはこのパッケージを組み合わせて作られており、その組み合わせるパッケージもまた膨大な数のパッケージを組み合わせて作られています。なので自分が作成している簡単なプロジェクトでも400MBを超える量のコードになっており、4億文字の文字列で作られていることになるのです。

npmとは

yarnと同じパッケージを管理するプログラムです。これを導入することによってパッケージを手動で管理する必要がなくなり、簡単なコマンドを打つだけで導入したパッケージに記述してあるプログラムを実行する事ができます。このパッケージ管理システムのおかげで便利なアプリケーションができているのです。npmにとってのパッケージはpackage.jsonファイルの親ディレクトリに含まれるファイル郡のことを指し、これらのファイルの中でnpmのコマンドを使うことによってパッケージの中のプログラムを実行して違うファイルでそのプログラムを実行して簡単にプログラムを組む事ができるようになります。npmではnpm installコマンドを実行して実行したディレクトリにpackage-lock.jsonがない場合にはpackage.jsonに記述してあるパッケージをダウンロードし、package-lock.jsonファイルがある場合にはその中に書いてあるパッケージをダウンロードします。プロジェクトを後悔する際にはパッケージをダウンロードした状態でgithubにコードをあげることはなく、そのパッケージのバージョン情報を記述したファイル郡のみをgithub上に上げ、そのアプリケーションを実行する際にnpm installなりyarn installでパッケージをダウンロードするようにします。なぜこのようにするのかというと、そのほうがファイルのサイズが小さくて済むという点と、もしバージョン違いなどでうまく動かなくなってしまった場合にそのバージョンを記述しているファイルのみを変更するだけで済むからです。

-未分類

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

kind of blue

 ジャズの名盤です。これについて書きたいと思います。このアルバムはマイルスデイヴィスがリーダーの1959年にリリースされました。ここからいわゆるモードジャズの始まりと言われています。既存のリズム感や即 …

no image

諸々

品質について Q・C・Dはトレードオフだということを学びました。品質を高くすればコストが高くなるし時間だってかかります。コストを安くすれば品質が悪くなります。納期を遅らせれば品質よく安いものが出来上が …

no image

面接!

 明日は面接なので、短めにしたいと思います。今まで面接をしてこなかった人生なので、ここらで鞭を打ちたいと思います。はい、前職では電気工事を行っておりました。具体的には新築建造物や工場などの電気供給に必 …

no image

コンピュータについて

最近よくコンピュータ関係の本を読んでいるのですが、何も知らなかった頃よりもコンピュータを好きになっているのを感じます。学生の頃とかもっと小さい頃にもコンピュータを触る機会があったのですが、本当に嫌いで …

no image

プログラミングについて

 今日はプログラミングについての第一回目なので、なぜプログラミングについての記事を書こうと思ったのかを書こうと思います。ずばり、お金のためです。仕事をやめて何をやろうか考えたときに、もっと自分の時間を …

PREV
typescript
NEXT
初担当