😺

GitHub Codespacesは初心者にこそおすすめしたい

2024/01/20に公開

はじめに

GitHub Codespaces とは GitHub リポジトリと統合されたクラウド開発環境です
わたしもよく利用しています

https://docs.github.com/ja/codespaces

実際のプロジェクトでの導入事例も増えてきている GitHub Codespaces ですが、わたしは、初心者にこそおすすめしたいと思います。

ここで言う初心者とは、Git と GitHub の概念を知っていて、何かしらの言語で Hello World したくらいを想定しています。
次に、外部ライブラリをインストールして試そうとしているくらいのステップです。

おすすめ理由はいくつかあります。

理由 1 : デフォルトでさまざまな言語がインストールされている

プログラミングにおいて、初心者が最初につまづきやすいのは、環境構築ではないでしょうか。
マシンの OS、プログラミング言語、バージョンなど、考慮する点が多く、サポートしてくれる人がいないと挫折する可能性もあると思います。

その点 GitHub Codespaces では、 デフォルトでさまざまな言語がインストールされています。

この Linux イメージには、Python、Node、PHP、Java、Go、C++、Ruby、.NET Core/C# などの一般的な言語のランタイム バージョンが多数含まれています。 これらの言語の最新または LTS リリースが使用されます。 JupyterLab や Conda など、データ サイエンスと機械学習をサポートするツールもあります。 既定の開発コンテナー イメージには、Git、GitHub CLI、yarn、openssh、vim などの他の開発者ツールやユーティリティも含まれています。

https://docs.github.com/ja/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#using-the-default-dev-container-configuration より

環境構築の心配なく GitHub Codespaces を立ち上げるだけで、プログラミングを始めることができます。

Docker もデフォルトでインストールされています!

テンプレートもたくさんあり、React や Rails、Flask などがサポートされているので、アプリ作成をとても始めやすいです。

https://github.com/codespaces/templates

理由 2 : 環境を捨てられる

自分のマシン上に環境を構築していくと、だんだん汚れていきます。
ある程度知識がついてくると、汚さずにインストールする方法や、掃除する方法が身につきますが、初心者は訳も分からずググってヒットしたコマンドを叩きがちなので、どんどん汚れていきます。

その点 GitHub Codespaces では、Codespace を削除して作り直すだけで、簡単に綺麗な環境に戻せます。

作り直しやすい環境といえば、Docker も候補に上がりやすいと思います。
GitHub Codespaces と比べると Docker の知識の分、追加で知識が必要になりますが、Docker Desktop なら導入も簡単ですし、良い選択肢だと思います。

ただ、初心者の中には、十分なスペックのマシンを持っていない人もいるでしょう。
プログラミングに興味を持ったけど、親が高価なマシンを買ってくれない小学生中学生の方々など、結構いらっしゃるのではないでしょうか。

その場合、Docker を動かすには、スペック不足で少々辛いかもしれません。
Docker に限らず、言語によってはマシンスペックに大きく影響されるものもあるでしょう。

その点でも、GitHub Codespaces は問題ないです。
GitHub Codespaces では、2 コア、8 GB RAM、32 GB ストレージから、32 コア、64 GB RAM、128 GB ストレージまで、マシンが選択できます。
わたしの感覚ですが、最低スペックの 2 コアのマシンでも、Node.js や Python の単一プロジェクトなら問題なく開発できます。
Docker を多用したり、モノレポで一度に複数のアプリケーションを実行したりする場合は、スペックを上げる必要が出てくるでしょう。

GitHub Codespaces だと開発の負荷が自分のマシンに影響しないのも良い点です。
自分のマシンのリソースは、リファレンスをググったり、音楽を流したり(モチベに関わる)するための Chrome に割くことができます!

理由 3 : 無料枠がある

GitHub Codespaces には無料枠があります。

一ヶ月で、120 コア/時間 分使えます。

https://docs.github.com/en/billing/managing-billing-for-github-codespaces/about-billing-for-github-codespaces#monthly-included-storage-and-core-hours-for-personal-accounts より

わたしは、最近あまりがっつり開発をしない(よくない) & 自分のマシン上で開発するときもあるので、十分満足しています。
月末になると上限に到達したりしますが、こまめに Codespace を削除しておくことで節約もできます。

足りなくなったら、あなたがプログラミングを頑張っている証拠です。
課金しましょう笑

理由 4 : GitHub アカウントだけで使える

GitHub Codespaces は GitHub アカウントがあれば使えます。
プログラミングを勉強するなら、ほとんどの人が GitHub アカウントを作ると思うので、そのアカウントだけで使えるのは敷居が低いはずです。
(わたしはプログラミングを初めて数年は GitLab 派でしたが...)

GitHub Codespaces と似たようなクラウド開発環境として、AWS Cloud9 や Google Colaboratory(Colab) があります。
AWS Cloud9 は、AWS アカウントが必要なので、敷居が少し高いです。
Colab は、機械学習における初心者の第一選択肢です。
機械学習なら Colab、ソフトウェア開発(特に Web アプリケーション)なら GitHub Codespaces 、と使い分けるのが良いでしょう。

おわりに

GitHub Codespaces は、環境構築の手間が要らず、環境を壊してしまってもすぐに作り直せます。
無料枠があり、GitHub アカウントだけで使えるので、はじめやすいです。

初心者の皆さんは、是非採用を検討してみてください!

Discussion