前回のおさらいとGitHubのもう一つの顔
AIの話が続いていましたが、面談で「開発の話が良かった」という声が多かったそうです。
そこで、AIを使って開発するときに必要な基礎知識として、前回のGitとGitHubの続きを話していきます。
前回の整理では、Gitはプログラムのセーブデータ、GitHubはそのセーブデータをオンラインに保管する保管庫、というイメージでした。
GitHubを使うと、複数のパソコン間でデータを同期したり、複数人で変更を合体させて共同作業できたりする、という話までしていました。
ただし、便利な機能はそれだけではありません。今回はその先の話です。
一番強いのは「サイト公開」への連携
AIプログラミングでいうと、GitHubの一番強い点は、アップロードしたウェブサイトのプログラムをそのまま他のサービスに連携できることだと話します。
ウェブサイトのプログラムはそのまま、他のサービスに連携することができるんですね。っていうのが一番すごい点です。
ただ、これだけではイメージしづらいので、まずは従来のサイト公開方法から順に説明していきます。
昔のサイト公開はサーバー構築が必要だった
昔は、レンタルサーバーやVPSを借りて、その中でアプリサーバーを起動し、HTMLを特定の場所に配置する必要がありました。
ApacheなどのサーバーをインストールしてHTMLを配置する、といった作業が求められていたそうです。
しかし今は、そうした作業は不要になってきて、勝手にウェブサイトを公開してくれるサービスがいくつも存在します。
Netlifyのお手軽さと、更新の面倒くささ
宗形さんが初心者に一番おすすめするのはNetlifyです。
サイト上にHTMLファイルをドラッグアンドドロップするだけで、サイトをアップロードできると説明します。
ただし、公開後にサイトを変更したいとき、そのたびにNetlifyを開いてドラッグアンドドロップし直す必要があります。
頻繁に更新するサイトだと、この作業が割と面倒になってくる、という課題があります。
GitHubと紐付ければ、公開サイトが自動更新される
ここでGitHubの話に戻ります。GitHubには、アップロードしたセーブデータとウェブサイトを紐付ける仕組みが用意されています。
最初に紐付けをしておくと、GitHubにプログラムがアップロードされると、公開されているサイトが勝手に更新される仕組みを作れます。この紐付けはNetlifyでも同様に用意されています。
AIに指示して変更させて、それをGitで保存してGitHubにプッシュという作業をすると、あとは勝手に、公開されているサイトに数分ぐらいで変更が加わるというものになっていて。
AIに変更を指示し、Gitで保存してGitHubにプッシュすれば、あとは数分ほどで自動的にサイトへ反映される、という流れです。
AIに指示
変更したい内容をAIに伝えて修正させる
Gitで保存
変更をセーブデータとして記録する
GitHubへプッシュ
保存内容をオンラインにアップロードする
自動更新
数分ほどで公開サイトに変更が反映される
保存やアップロードが面倒に思えるかもしれませんが、そこも簡単になっています。
Codexアプリにもそうしたメニューが追加された記憶があり、AntigravityIDEやVSCodeのようなエディターには「ソース管理」メニューがあると話します。
ボタンを2つほど押すだけで、勝手にアップロードできたりするそうです。
簡単なサイトと、複雑なサービスでの違い
GitHub連携はとても簡単で、事前にGitHubのアカウントでログインしておく必要があります。
ログインしておくと、アップロード済みのものからどのサイトを公開するかが選択肢で出てくるので、それをポチッと押すだけで公開できます。
簡単なサイトなら、最悪ドラッグアンドドロップでもよいとしています。
一方で、より複雑なウェブサービスになると事情が変わります。
裏側でデータベースが必要だったり、ユーザーログインが必要だったり、APIを使う場合は、GitHub連携がほぼ必須レベルになると話します。
その場合は、プログラムのメインをGitHubで渡し、隠さなければいけない情報はあとで手動設定する、という流れでサイトを公開します。
最悪ドラッグアンドドロップでも公開できるが、連携すると更新が楽になる
データベース・ログイン・APIが絡むため、GitHub連携がほぼ必須になる
AIが発展しても置き換わらない基礎知識
難しい話が続きましたが、まずGitでセーブデータを管理するだけでも、壊れたときに特定の状態へ戻せるというメリットがあります。
さらにオンラインへアップロードすれば、サイトの公開・更新を自動でしてくれる連携機能もついてくる、というのが今回のポイントです。
最初はイメージが難しいかもしれませんが、一度知っておくと今後ずっと使える知識になると話します。
これはAIを使うときも同じで、AIとのやりとりでもGitHubは頻繁に出てくると考えられます。
「GitHubにアップロードしたら使えます」「まずサイトをGitHubにアップロードして、管理画面でこう設定してください」と言われたときに、意味が分からないと作業が止まってしまいます。
だからこそ、前回と今回の概要だけでも覚えておくと役立つ、というわけです。
AIがどれだけ発展しても、この部分はそうそう置き換わらず、置き換わるとしても相当後だろうと話します。
5年、10年は確実に使い続けられる、ベース中のベースの知識だとまとめています。
GitとGitHubについては以前noteに記事を書いており、そのリンクも紹介するとのことです。
ただ基本的なところしか書いていないため、しっかり学びたい場合はBRAIN教材「AI時代の開発の教科書」を挙げています。
この教材では、開発効率を上げる考え方や、過剰請求やデータ漏洩といった落とし穴を防ぐ考え方が学べると話し、無料部分だけでも見てほしいと案内しています。
まとめ
今回は、GitHubがバックアップだけでなく、ウェブサイトの公開・更新までを自動化できる仕組みとして使える点が語られました。最初はイメージが難しくても、一度理解すれば長く使える基礎知識になります。
- Gitはプログラムのセーブデータ、GitHubはそれをオンラインに保管する保管庫というイメージ。
- GitHubにサイトを紐付けておくと、プッシュするだけで公開サイトが数分ほどで自動更新される。
- 簡単なサイトはドラッグアンドドロップでも公開できるが、データベースやログイン、APIが絡む複雑なサービスではGitHub連携がほぼ必須。
- サイト公開・更新の仕組みの根源にGitとGitHubがあり、AIが発展しても当面は置き換わらないベース知識。
- より深く学ぶなら、noteの記事やBRAIN教材「AI時代の開発の教科書」が案内されている。
