とりあえず覚えておきたい。Hubを知る。

プログラミングを始めて間もない頃のことを思い懐かしむことが増えている日々でございます。
もちろんまだまだへっぽこエンジニアではありますが。
そんなわけで、かつての私がふと思っていた疑問について。それは、
GitHubの「Hub」ってなんだ?
実はIT業界にはHub
という言葉が点在しています。
普段はあまり意識していませんが、皆さんも出会ったことがあるはずと思います。
今回はこのHubについて少しご紹介します。
今後Hubと出会った時にその意味がすぐ思い出せるようになっていてほしいなと思います。
そもそもHubとは
一般的な定義としての「hub」とは、車輪やプロペラなどの中心部品や構造
のことを指します。
これがIT業界になると、機器間を複数のケーブルで接続して相互通信できるようにする集線装置
を指します。
その集線装置とはなにかというと、USBやLANケーブルを複数差し込む端子が並んでいるこれです。
このHubはいくつかの種類に分類されますが、現在Hubといえばスイッチングハブ Switching Hub
というものが主流だそうです。
特定の端末のみにデータを送信する機能を持つハブのことで、
例えばルーターのLANポートが足りなくなった場合に、1つのポートとこのスイッチングハブをつなぐとポートを増やすことができます。
身近なHubを連想する
一番に思いつくのは、今回のテーマの発端でもあるGitHub
。
プログラミングをやる方であれば当然知っていると思います。
このHubは「物理的な装置」ではありませんが、上で説明したものと意味はほとんど同じで、
まとめるならば「Gitを使用した、離れた開発者同士を繋ぐ中心基幹としてのWebサービス」という感じになります。
つまり、役割で言うと中心基幹
であるものをHubと名付けているようですね。
同じ意味の役割を持っているもので、目にしたことがありそうなものでいうと、Docker Hub。
これはDockerコンテナをクラウドサービス上で共有できるものです。
他にもMicrosoftが出している、遠くにいる人を繋ぐ機能を持った製品(Surface Hub)などもあります。
とまぁHubの意味を知っていると、そのサービスや製品の役割がすんなり理解できますね。
他に「Hub」から連想されるものは…
ハブ…蛇…
命名規則のスネークケース(Snake Case)
言語のパイソン(Python)
…いや、もはや関係ないですね。失礼しました、忘れてください。
最後に
この他にもHubとつくものはたくさんありますが、どれも中心となる重要な役割をもつものであることがわかりました。
ITに関わる立場であれば知識として知っておくべき、まさに「蛇の道は蛇」でありたいですね!
ハブだけに。蛇だけに。←