【いぞんかんけい】
依存関係 とは?
💡 ソフトウェアの「材料リストと仕入れ先の関係」
📌 このページのポイント
依存関係って何が問題になるの?
直接依存と推移的依存って何が違うの?
自分のコードが「import react」と書いてるのが直接依存。そのReactが内部でbabelを使っていて、それがさらにcore-jsを使ってる、みたいな「依存の依存」が推移的依存。意識してないのに大量のパッケージが入ってくるのはこのため。
依存パッケージの脆弱性ってどうやって知るの?
依存パッケージを増やしすぎるとどうなる?
ビルドが遅くなる・アプリのサイズが膨れる・脆弱性の攻撃面が増える・メンテナンスコストが上がる、など問題が増える。「自分で10行書けばいいものをパッケージに頼る」のは避けた方がいい。依存を増やすのはコストと引き換えだと意識しよう。
まとめ:ざっくりこれだけ覚えればOK!
依存関係って出てきたら「このソフトが動くために必要な外部ライブラリの関係」と思えばだいたいOK!
📖 おまけ:英語の意味
「dependency」 = 依存するもの、頼っているもの
💬 「depend on(依存する)」から。他のソフトウェアに「頼って」動くという意味