「GitHubに公開」したとき、相手のパソコンには何が届くのでしょう
知っているようで知らないIT話 第1回
Arduinoに夢中だった頃、センサーを手に入れるたびに「まず誰かのサンプルを探す」が習慣でした。カメラモジュール、モーター制御、ドローンの姿勢制御…。パーツが届くと、GitHubを開いてサンプルコードを探し、動かていました。
喜びはありました。正直に言えば、そのとき何をしていたのか、よく分かっていませんでした。クローンとは何か。ダウンロードされたファイルの中に何が入っているのか。フレームワークはどこから来たのか。「動いたから、まあいいか」で先へ進んでいたのです。

あれから時間が経ち、今度は自分がコードを公開する側になってみると、当時ぼんやりしていた疑問が形になってきました。相手のパソコンには、いったい何が届くのだろう。
答えはシンプルです
GitHubに載るのは、自分が書いたコードだけです。フレームワーク(プログラムを動かすための大きなツール群)は、GitHubには載りません。
料理のレシピで考えると分かりやすいかもしれません。誰かにレシピを渡すとき、食材は別ですよね。「このレシピで作ってみてください」と紙を渡すだけで、食材は受け取った人が自分で買いに行く。GitHubへの公開も、構造はまったく同じです。

GitHubに載るもの :自分が書いたコード。オリジナルのレシピ
フレームワーク :食材。受け取った人が自分で用意します。
package.json :「○○と△△が必要です」という材料リスト。
受け取った人は何をするのか
GitHubからコードを手に入れた人は、最初に `npm install` というコマンドをひとつ打ちます。するとパソコンが自動で材料リストを読み取り、インターネット上の倉庫(npmというサービス)から必要なツール類をすべて集めてきます。人間が何かを探す必要はなく、数分で環境が揃います。
Arduinoのサンプルをクローンしていたときも、実は同じことが起きていました。あのとき画面に流れていたメッセージは、ライブラリをインターネットから取ってくる作業の記録だったのです。
GitHub(自作コード+材料リスト)
+
npmサーバー(ツール類の倉庫)
↓
受け取った人のPC(すべてが揃って動く)ひとつだけ、気をつけることがあります
この仕組みは `.gitignore` という小さな設定ファイルが正しく書かれていることが前提です。このファイルに「ツール類はGitHubに上げない」と指定しておくことで、初めて分業が成立します。
AIにコードを書かせる「バイブコーディング」が広がった今、この設定を書き忘れたまま公開してしまうケースが増えています。ツール類が丸ごとアップされてもプログラムは動きますが、リポジトリが重くなり、管理が煩雑になります。「動いたから公開」の前に、この一点だけは確認する習慣をつけておきたいところです。
知ってしまえば単純な話です。でも、使う側だけを経験してきた人には、なかなか教わる機会がありません。「動いているけれど、何をしているのか分からない」という感覚は、出発点として、むしろ自然なことだと思います。
あのArduinoの頃、画面に流れるメッセージの意味が分からなくても、センサーが動いたときの手応えは本物でした。そしてその「なぜ動くのだろう」という小さな疑問が、今につながっています。
まとめ: GitHubに公開されるのは「自分が書いたコード(レシピ)」だけです。フレームワーク(食材)は受け取った人が自動で取得します。その橋渡しをするのが材料リスト(package.json)と、ひとつのコマンドです。使う側から作る側へ。その一歩は、意外と小さな疑問から始まります。

#GitHub入門 #プログラミング初心者 #バイブコーディング #Arduino #非エンジニアのIT話 #オープンソース
いいなと思ったら応援しよう!
ここまで読んでいただけるとは✨チップはnote創作に使わせていただきます🤗