【浸り学習①】環境構築不要型のブラウザ上でのサーバー技術学習に最適な「Katacoda」を試用して、優秀なインフラ技術者気分に浸る

- 新人・浅い経験である私にとって、常にまとわりつく「劣等感・焦り・恐怖」を、ありとあらゆるサービスを使った「簡単払拭学習」で打ち消すだけの記事第一弾。
- 「ただ単に、新入生のうちから、簡単に優秀な技術者気分に浸って、楽したいのだろう」や「昔の技術者は、ここまで便利なサービスやツール・資料とかも豊富ではなかったため、必死に勉強してきた。」といった至極真っ当な考えを、数秒間自問自答して早速試用を決断する。
- 今回は、Docker・Kubernetes・Cloudといったインフラ技術が、ブラウザのみで本格的に簡単に学習できる「Katacoda」を使ってみよう。

## 概要
- ブラウザのみで、実際の実行環境の体験学習（ハンズオン）が出来るサービス。
- 下記の点において、日本でのプログラミング学習サービスの「Progate」と似ている。
    - ブラウザ上の開発環境のため、環境構築の手間が不要。
    - 開発の流れを想定した資料に沿って、実際にコマンドをうちながら実行結果を確認しながらの学習。
    - 豊富なコースが用意されている。
- 違いとしては、「コンテナやクラウドなどの、最新のインフラ技術がメイン」となっている。
- また、学習サービス以外にも「Playgrounds」と呼ばれる、様々なOSや言語の実行環境の試し場がある。

## 結果
- 実際の試用している際の、画面は下記。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/336499/e8079a5d-b90f-3b39-2a7c-e52e7b1fa601.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/336499/15c30daf-a423-58f8-7a0f-9587cafeb954.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/336499/878a417b-a284-2404-8c61-f7cb133757f6.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/336499/03e79f60-4d42-5414-2e95-656ec9474e50.png)

## 試用コース
- 今回は、試用ということで、下記の学習コースとPlaygroundsを選択。

|試用コース名|内容|
|:-:|:-:|
|Docker & Containers|Docker(コンテナ型仮想環境)に触れてみるための最初の学習コース|
|Git Version Control|Gitの学習コース|
|Node.js Playground|Node.jsの実行環境を試せるPlaygrounds|

- 今回は試用していないが、人気コースは下記。

|人気コース名|内容|
|:-:|:-:|
|Docker & Containers|Docker(コンテナ型仮想環境)に触れてみるための最初の学習コース|
|Kubernetes Introduction|Kubernetes(コンテナ管理ソフトウェア)に触れてみるための最初の学習コース|
|Machine Learning|機械学習に触れてみるための最初の学習コース|
|Prometheus|Prometheus(監視ソフトウェア)に触れてみるための最初の学習コース|
|Service Meshes|制御管理技術に触れてみるための最初の学習コース|

- その他、コースの全一覧は[こちらのサイト](https://www.katacoda.com/learn)から。

## 準備
- 全部英語であり、日本語で把握する必要があるため、下記のChrome拡張を導入。
    - [Google翻訳](https://chrome.google.com/webstore/detail/google-translate/aapbdbdomjkkjkaonfhkkikfgjllcleb?hl=ja)
    - こちらは、対象部分を選択すると、ポップアップ画面で結果を表示してくれる。
    - 翻訳ページにいって、貼り付ける手間が省ける。
- ※ページ内の日本語読み込みは、学習の際にコマンドも一緒に日本語に翻訳されるので、推奨しない。

## 学習の流れ
- [katacodaの公式サイト](https://www.katacoda.com/)にアクセスする。
- ページ内の「Free Courses」から学習したいコースを選択して、「Start Course」をクリック。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/336499/f0b945a8-f72b-d300-d832-2636ed4062f4.png)

- 「Scenario」と呼ばれる各ステップ一覧が出てくる。無料登録やGitHub認証等をしておくと、ここで進捗状況を把握できる。
- 学習するScenarioを決め、「Start Scenario」をクリック。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/336499/0bb48ab0-f335-50d1-8e59-546c69c93ed3.png)

- 最初の概要（Welcome）画面が表示されるので、内容をしっかり確認して、「Start Scenario」をクリック。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/336499/781ae20e-f5c0-77dd-6d88-f2e6a995fd9b.png)

- あとは、基本的に左の手順に沿って、右側のターミナル画面にコマンドを入力していくだけ。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/336499/e8079a5d-b90f-3b39-2a7c-e52e7b1fa601.png)

- 学習画面の基本的な機能として、下記がある。  
※下の3つは、画面右上の選択範囲

|対応ボタン|機能|
|:-:|:-:|
|↩|右の画面へコマンドのコピー・実行|
|+|新規ターミナルや、ポート接続の確認等|
|SHOW SOLUTION|解答例。シナリオ通りでは分からない時に使う。|
|CONTINUE|次のステップに進む。シナリオ完了時に押下|
|問い合わせ|画面や機能の問い合わせ|
|フルスクリーン|画面をフルスクリーンで表示できる|
|設定|プレゼンモード・テーマ変更・デバッグ機能ができる|

![test.PNG](https://qiita-image-store.s3.amazonaws.com/0/336499/993f6b4a-45be-e3c7-e04e-325096c7bf4a.png)

## 試用感
- 初心者でも簡単に最新技術を体験できるのは非常にありがたい。
- 実際の操作から実行結果確認までの流れが、ブラウザのみで行えるため、高揚気分が味わえる。
- 環境構築でつまずく前に、このサービスを使って簡単に流れを経験できれば、幸せな気分で構築へつなげられる。
- ただコマンドをうっていくのではなく、実際の開発を想定したシナリオに沿っていくため、より理解が深まる。

## まとめ
- 今回は、便利なインフラ技術学習サービスの試用ということで、「最新技術をいとも簡単に扱えている」という壮大な思い上がりをしながら、記事を書く。
- 「こんなに簡単に起動や実行・反映・停止等ができるまでに成長したのか」と、環境も解答も用意されているという事実を受け止めた上で、そのようなことを感じる成長予測皆無の私。
- このような「技術的壁を大きく下げて、様々な人々の幸福度を上げる、魅力的なサービス」の開発に、今後少しでも携われることを願って、また他人依存学習に励むことにしよう。

## 参考
- こちらの記事を参考にしました。大変お世話になりました。  
https://budougumi0617.github.io/2018/06/10/katacoda-introduction/