はじめに
こんにちは!!@Sicut_studyです!
今回はGo言語の個人的に良かったと思った学習方法をGo言語を学ぶための最速ロードマップとして記事にまとめていきます!
つい先日技術書典があり、改めてGo言語が注目されているというのを再実感しましたので記事を書くなら今だ!!と思いました
過去にも0からロードマップシリーズは書いていますので参考にしてみてください
この記事の対象者
- Go言語を勉強しよと考えている人
- バックエンドの学習方法について知りたい
- 新しい技術を学びたい方
ロードマップ
このロードマップでは0から学習をして
Go言語でWebアプリの基本的なバックエンドが作れるようになる
ここをゴールとして紹介しています
私の記事では何度も行っている通り、最低限のインプットにとどめてとにか実践で学習していく方針で説明していきます
今回は以下の3ステップで学習していきます
- 書籍でインプットする
- TODOアプリを作成する
- 個人開発で利用する
1. 書籍でインプットする
まず最初はGo言語の基本的な内容について学習します。
またAPI作成やDB接続などWebアプリを作る際に必要なことも学んでいきます。
書籍は以下を手を実際に動かして実装をしながら理解することを意識して学習してください
私のチームのメンバーもこの書籍からGo言語を学び実際のプロジェクトで実装をしました。アーキテクチャ含め何度も参考にした素晴らしい本です。
同人誌ではありますが、商業本や動画講座などを2022年10月時点でほぼすべてやった中で最も参考になりました (後述)
後半が中級者向けになっているため8章までをこの段階で理解して実装できればこのステップとしては完了となります。
2. TODOアプリを作成する
個人的に新しい言語を学ぶならまずはTODOアプリを作るが習得の近道だと思っています
(この考えについてはこちらの記事に詳しく書いています)
ということで最低限のインプットを終えた段階でTODOアプリに利用できるAPIを作成していきます。基本的なCRUDで完成するため、1で学習したものを実際に自分のアプリに落とし込んで使っていきより理解を深めます
ここで以下のライブラリを使って実装することに挑戦しました
- gin (Webフレームワーク)
- gorm (ORM)
とくにginを使うことはWebアプリを簡単に作れるようになるためぜひこのタイミングで導入してみてください
私が実際に学習したときのリポジトリは以下になります
- ToDoの一覧を取得する
- ToDoをidで取得する
- ToDoを登録する
- ToDoを更新する
- ToDoを削除する
この5つを作成しますが、一覧取得と登録ができればあとは同じように作れるので1週間程度で作ることが可能かと思います。
3. 個人開発で利用する
このタイミングで実際に個人開発のバックエンドAPIにGo言語を利用します
2でほとんど必要な知識は取得しているのでサクサク実装が可能かと思います
ここでは応用的な使い方であったり、よりアプリに特化して必要なことを必要なタイミングで学んでいきます
実際に私が教えていたときは1日開発合宿を開いて個人開発をするきっかけを作ってこのステップを実践しました
ポイントは複雑すぎないAPIにGo言語を利用して最後まで作りきることだと思っています。
難しいのを作るのも素晴らしいですが、それよりも簡単なものでもいいから最後まで作り上げた経験を積むことのほうが大切だと思っています。
そのことを意識して是非挑戦してみてください🎉
4. そこから先..
1から3のステップを達成した頃には言語をある程度使い越せるようになっているかと思います
そんな方にぜひ読んでもらいたい書籍がでましたので最後に紹介します
こちらの書籍ですが、Go言語でクリーンアーキテクチャを学ぶことができるので良いなと思いました
Go言語がある程度わかっている状態、かつクリーンアーキテクチャをなんとなくわかるというレベル感ならスラスラ読める難易度の書籍となっています
クリーンアーキテクチャがあまりわからない場合はぜひ書籍を1週読んでみて、実際のコードを参考にしながらステップ1で作成したTODOのAPIを作り直してみてください
Go言語らしいコードがかけるようになるかと思いますし、ここでの経験が実力になっていくかと思います。
私はこの本をやってDBの接続設定などは特に参考になりました!
(クリーンアーキテクチャは普段から使っているため、そこに学びがありました)
Go言語をすでにかける方にもおすすめです!
おわりに
1年前の私はGo言語を学習するにこの教材がよいなどの情報がなかったので手当たりしだいすべての教材をやりました
そんな過去があったからこそこの学習が効果的だったというのがわかったので今回まとめてみました
Go言語はとても人気な言語だと思いますので気になった方はこのロードマップでぜひ学習してみてください!
ここまで読んでいただけた方はぜひいいねとストックよろしくお願いします。
また @Sicut_study をフォローいただけるととてもうれしく思います。
少し宣伝します🔥🔥🔥🔥🔥
これからエンジニアになろうとしている人を本気でコーチングして3か月の期間で立派なエンジニアにするようなチャレンジをしてみたいなと考えております。
もし、本気でエンジニアを目指してコーチングを受けてみたいという方がいれば、Twitterに「プログラミング教えてほしいです」みたいなリプライ送っていただけたらなと思います!!
以上です。
今週もプログラミング頑張りましょう!
おすすめの記事
参考