これから業務でgolangを使うことになった方、これからgolangを使ってキャリアを歩んでいきたいという方でどのように学習していこうか悩んでいる方もいるかと思います。
そこで今回はgolangを学ぶために参考となったおすすめのUdemy教材を紹介していきます。
golangとは
golangはGoogleが2009年にオープンソースのプロジェクトとして公開されたプログラミング言語です。そもそもはGoogle社の課題を解決するために開発された言語で、開発速度を向上させ、静的解析しやすい言語を目標として開発されました。
golangはメルカリやYouTubeなど、日頃使用している大規模なサービスにも採用されているため、実績は十分と言えます。
Goの主な特徴として、以下のようなものが挙げられます。
・初心者でも使いやすく学習コストが低い
・処理速度が速い
・並行処理が可能
・標準ライブラリが豊富
・シングルバイナリ
・クロスコンパイ
Goのメリット、デメリットについては以下の記事で詳しく書いているので読んでみてください。
言語仕様の特徴としては、冗長な記述が不要であったり、曖昧な記述ができません。逆に言えば、シンプルに書けるのがメリットであるため、誰でもある程度は書きやすい言語ともいえます。
golangの学習におすすめのUdemy教材5選
それでは実際に筆者が実際に受講して勉強になった教材を5つ紹介していきます。それぞれの特徴について触れながら紹介するので、ぜひご自身のレベルとニーズに合った講座を受講していただけると嬉しいです。
【Go入門】Golang基礎入門 + 各種ライブラリ + 簡単なTodoWebアプリケーション開発(golang)
まだgolangの勉強を始めていない方、全くの初心者の方にはこちらの教材が最もおすすめです。
この教材ではgolangの基礎について網羅的に学ぶことができます。ただ見て学ぶだけでなく、講座の中でアプリ作成まで行うことで学んだことの理解をさらに深めることができます。
講座名 | 【Go入門】Golang基礎入門 + 各種ライブラリ + 簡単なTodoWebアプリケーション開発(Go言語) |
定価 | ¥27,800 |
時間 | 20時間21分 |
学習内容 | Golang(Go言語)の基礎入門編となっています。Golang(Go言語)の基礎、各種パッケージの解説 + 簡単なTodoアプリケーションを作成、並行処理入門を学んでいきます。 「短期間」で「Golangで何ができるのか?」を知ることができる、基礎入門コースとなっています。 バックエンドで必須となる、簡単なデータベース操作基礎(SQL)を学べます。(PostgreSQL、SQLite3) Webサービスでよく使われるユーザーの登録、ログイン、ログアウト機能や、データのCRUD処理(Create,Read,Update,Delete)の実装を学ぶことができます。 Golang(Go)の特徴の並行処理を学ぶことができます。 Golang(Go言語)の標準パッケージ、サードパーティパッケージの活用方法を学ぶことができます。 標準パッケージ(net/http)を使って、0からWebアプリケーションの基礎となるTodoアプリを構築します herokuを使って、実際にデプロイします。 |
要件 | 他の言語を習得していると、より早く習得出来るかと思います。 Webアプリ開発編では、HTML、Bootstrap、JQuery、SQLなどを扱います。この辺の基礎知識があるとより理解できるかと思います。 DB操作など理解していると、より早く習得できるかと思います。 |
解説 | Golang(Go言語)の基礎、各種パッケージの解説 + 簡単なTodoアプリケーションを作成、並行処理入門を学んでいきます。 初学者を対象とした「短期間」で「Golangで何ができるのか?」を知ることができる、基礎入門コースとなっています。 |
学べること | 基礎~応用 標準パッケージ サードパッケージ 簡単なTodoアプリケーション開発 herokuへのデプロイ Go1.18で追加されたGenerics対応済 並行処理入門 |
対象受講者 | 初学者から他の言語経験者 新しい言語を覚えたい方 これから来る言語を先取りしたい方 標準パッケージを使って開発していくので、FWなどの内部処理を理解したい方 本より動画で学びたい方 ドキュメントをよんだがよくわからなかった方 Go言語についてもっと知りたい方 |
golangの特徴でもある並行処理についても解説されているため、この教材一つあるだけでGoの基礎に関しては一通り抑えられると言っても過言ではありません。
さらにはgolangだけでなくVisual Studio CodeやGit Hubなどのアプリ開発には欠かせないIDEとコード管理についても解説されているのは初心者にとっては嬉しい内容ともなっています。
購入して一度見終わった後に分からないことが出てきたらまた見直すという教科書的な使い方もできるので、価格以上の価値があります。
Golangには以前から興味があって、ようやく勉強始めました。
このコースは、コード実装&実行結果のデモを見せながら説明してもらえるので、とても理解しやすいです。
またGoルーチンを使った並行処理における様々な設計パターンも学べて、これからGoを始める方、使っているけど並行処理に自信のない方にオススメです。
受講生のレビューより
現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発
個人的に最も勉強になったのは「現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発」という教材です。
本格的なレクチャーに入る前に、なぜGoなのか、なぜFintechなのかについて説明されていることで、Goの概念や意味について大枠から理解することができます。
講座名 | 現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発 |
定価 | ¥27,800 |
時間 | 15時間8分 |
学習内容 | Goの基本を身につけることができます。 アプリはWEBアプリとなりますので、WEB系のバックエンドで必要なデータベースやフロントエンドなどGo標準のフレームワークを学ぶことができます。 株式投資やFXなどにも使えるテクニカル分析を身に付けることができます。 応用編でFintechアプリの開発をするため、Goの基本だけではなく開発手順も身につけることができます。 仮想通貨の自動トレードの基本を身につけることができます。 |
要件 | Pythonなどの他の言語を学んでいるとよりわかりやすいかと思います。 後半のアプリ開発は、仮想通貨や株などの取引を行ったことがあるは理解しやすいかと思います。 応用編では、HTML, JQuery, SQL, MySQL、Json、Web Serverなどを扱いますので、ある程度の基本知識があると良いかと思います。 |
解説 | このコースでは、Goの基礎である入門コースを一通り終えた後に、次世代のFintech(金融+テクノロジー)のアプリケーションとしてビットコインを自動でシステムトレードを行うアプリを開発します。 多くの言語の良い部分を取りれたGoは、コードを実行する際のパフォーマンスも良く、近年急速にライブラリも充実して来ており、シリコンバレーで多くの企業が取り入れ始めました。日本では、ドキュメントも少なく、Go言語を使う機会があまりないかもしれませんが、世界のトップ企業はすでに使い始めているため、技術レベルで世界から遅れないように今からGo始めると良いかと思います。 私はアメリカで2006年から働き始め、12年立ちましたが、その頃からPythonを先取りして習得していたため、現在のビックデータ産業のトップ企業でもPython言語のシニアエンジニアとして働くことができております。Goに関しても仕事で使っておりますが、Goの良さを感じ、次世代の開発でGoエンジニアが必ず重宝される時代がくると強く感じております。 次世代の技術では、AI、人工知能、ロケット、ロボットなどが注目されているようですが、Fintechビジネスもシリコンバレーでは拡大しております。株式市場は人生最大の発明と言われるように、今後もなくなることはなく存続していき、それに付随したFintech技術はこれからも伸びていくものと予想されます。 エンジニアのキャリアアップには、ただ目の前にあるスキルに飛ぶつくのではなく、次世代にくる産業や技術を先取りしてスキルを向上させることが重要になってくることかと思います。その辺りのお話も無料で見れる紹介ビデオでお話ししておりますので、シリコンバレーのトップ産業にご興味ある方はぜひ覗いてみてください。 本コースが皆様の今後のご活躍にお役に立てるようなコースとなれば幸いです。皆様の成功をお祈りしております! |
対象受講者 | 前半はGoの初心者向け講座で、後半のアプリ開発は中級者向けとなっております。 Fintechにご興味がある方には良い講座かと思います。 システムトレーディングにご興味ある方には良い講座かと思います。 仮想通貨にご興味ある方には良い講座かと思います。 |
タイトルだけ見ると一見、ビットコインのシステムトレードというハードルの高そうな印象を抱きますが、前半ではgolangの基礎について広く解説されているので初心者でも十分に付いていける内容となっています。
golangで躓きがちなgo routineやポインタ、struct、interfaceについても分かりやすく解説されているため、個人的に大変お世話になった教材でもあります。
Golangの導入としては説明が丁寧で、他言語から勉強する人 and 初めてプログラミングする人、どちらにもオススメできるコースでした。
また、株価やFXなどのチャートの分析の初心者にも導入として、とてもわかりやすいコースです。
【特に評価できる点】
– チャート分析も学習できる(テクニカル分析)
– Goroutine の説明がとてもわかりやすい
– サードパーティのライブラリも学べる(ただし十分とは言えない…)
– GolangでMVCアーキテクチャを実装するときのファイル・フォルダ構成が学べる
【さらに勉強したいと思ったこと】
言い換えると、この説明があったらよかったなという点です。
逆に言えば、このコースで学んだ方々はこれらを勉強すると更に飛躍できると思います。
– sirupsen/logrus というサードパーティーのlogライブラリ
– GolangでWebアプリケーションを作るときのDockerfile / docker-compose.yml の書き方
– htmlとcss, javascriptの分離
– vgo などのバージョン管理
logrus に関しては後で標準のlogから書き換えるのが大変なので、Webアプリケーションを作り始める前に学んでおくといいでしょう。
総じて、Golang & 相場取引の導入としてすごくよいコースでした。
これからは、本コースを基にコンテナ化(workerコンテナ で pythonによる分析、clientコンテナでVue.jsによるフロントの作成) & K8s化 & DroneやFluentdによるCI/CD化 を進めていきたいです。
受講生のレビューより
Gin入門 golangではじめるサーバーサイド開発
GoのWebフレームワークとして人気なのがGin。
そんなGinに特化して解説されているのがこの講座です。Ginの基本的な使い方からデータベース、セキュリティ、テストなど実際のWeb開発をするにあたり実践的な内容が組み込まれています。
フレームワークを駆使して効率的にWeb開発をしていきたいという方は、まず手始めにGinについて習得しておくといいでしょう。
講座名 | Gin入門 golangではじめるサーバーサイド開発 |
定価 | ¥3,000 |
時間 | 5時間17分 |
学習内容 | Ginフレームワークの基本文法 Ginでのデータベースの利用方法 GinでのAPIテスト 3層アーキテクチャを用いたGinでのCRUD処理 Ginでのセキュリティ 基本的なAPI開発の流れ |
要件 | Go言語の基礎知識 |
解説 | GinはGo言語でのWebフレームワークとして、多機能・高パフォーマンスなどの理由から非常に高い人気を誇ります。 Goの他のWebフレームワークと比較しても簡単かつ効率的にREST APIを開発できます。 本コースでは、サンプルのAPI開発を通じて、Ginの基礎から実践的な内容まで、ステップバイステップで学習していきます。 |
学べること | Ginのセットアップ Ginの基礎 CRUD操作 ルーター バリデーション データベース セキュリティ テスト ミドルウェア |
対象受講者 | モダンなサーバーサイドフレームワークに興味がある方 Go言語の基礎を学習し終え、次のステップとして何かを開発してみたい方 Ginの学習をしてみたが、難しくて挫折してしまった方 現場で使える技術を学びたい入門者の方 動画を見て手を動かしながら学ぶのが好きな方 |
golangの基礎について習得されていることが前提のため、一つ目に紹介した教材を受講してからこの講座を受講されることをおすすめします。
Ginの入門に最適
受講生のレビューより
Echo/Go + Reactで始めるモダンWebアプリケーション開発
こちらもWebフレームワークの一つであるEchoについて学ぶことができます。
ただEchoについて学ぶだけでなく、クリーンアーキテクチャについて概念を理解し、具体的な実装方法についても学習することができます。
さらにはフロントエンドとの連携についても解説されているため、サーバーサイドだけでなくフロントエンドも抑えたフルスタックエンジニアとして活躍したい方にとってもおすすめの内容となっています。
講座名 | Echo/Go + Reactで始めるモダンWebアプリケーション開発 |
定価 | ¥27,000 |
時間 | 2時間22分 |
学習内容 | Echo WebフレームワークによるREST API開発 Todo CRUD機能とJWT認証機能 Deploy (Render + Vercel) クリーンアーキテクチャ(依存性の逆転, 依存性の注入…)の理解と実装方法 ReactとREST APIの連携 |
要件 | macOS (推奨) Go言語の基礎 (インターフェース、ポインターレシーバー) Docker Desktopのインストール |
解説 | 本コースでは、Go言語のWeb フレームワークである Echoを使用した REST APIの実装方法について学習します。 また、クリーンアーキテクチャについて概念を理解し、具体的な実装方法についても学習します。コースの後半では、フロントエンド(React)との連携を行いDeployまで行います。 |
学べること | クリーンアーキテクチャ(依存性の逆転原則、依存性の注入、隠蔽、レイヤー)の理解 Echo(Go)フレームワークによるREST APIの実装 DockerによるPostgresSQL DB起動 Gorm (ORM)を使用したDB操作 ozzo-validationによる入力値バリデーション Todo CRUD機能実装 CORS設定 JWT認証機能実装 (cookie, httpOnly, sameSiteNone, secure) Middlewareの実装(JWT検証、CSRF token検証) Render への Deploy @tanstack/react-query, zustandによる状態管理 認証機能とTodo CRUD機能のUI Vercel への Deploy |
対象受講者 | Echo Web Frameworkを勉強したい人 クリーンアーキテクチャーに興味のある人 REST APIとReactの連携及びDeployに興味のある人 |
もちろんEchoについてだけ学びたいという方も理解の進む講座内容となっています。
reactとGoがどういうふうに一つになるのかがよくわかりました。私はまだ未経験の初学者ですがとても勉強になりました。
受講生のレビューより
golangで学ぶ実践gRPC入門
流行りのマイクロサービスではgolangを用いたgRPC開発も必要不可欠。
そんなgRPCについて徹底的に解説されているのが「golangで学ぶ実践gRPC入門」です。そもそもgRPCってなんだっけという方に向けた基礎的な内容から応用まで網羅した講座となっています。
講座名 | golangで学ぶ実践gRPC入門 |
定価 | ¥3,000 |
時間 | 4時間11分 |
学習内容 | Protocol Buffersの基本文法 Go言語を使ったgRPCの基本的な使用方法 認証・エラーハンドリング・SSL通信といったgRPCの応用 Go言語を使ったProtocol Buffersの使用方法 gRPCでのストリーミングの方法 |
要件 | Go言語の解説は行っていないため、入門書を1冊読み終わった程度のGo言語の知識は必要です Protocol Buffers & gRPCの経験は不問です。未経験からでも学習することができます。 |
解説 | Googleが開発したRPCのためのプロトコルであるgRPCを基礎から応用まで1つのコースでまとめて学べる大変お得なコースとなっています! gRPCはGoogleやNetflixをはじめとする世界的な大企業でも既に採用されており、特にマイクロサービスの文脈で大変注目度の高い技術です。 本コースではgRPCのベースとなる技術であるProtocol Buffersの基本文法から学び始め、 gRPCの基本的な使い方、さらにInterceptorや認証、SSL通信など本番運用を行う際には必須となる、応用的な内容についてもステップバイステップで扱います。 Go言語の基本的な知識があれば、gRPCの知識や経験は不要です。 是非、この機会にgRPCについて一緒に学び、楽しみながらスキルアップしましょう! |
対象受講者 | gRPCに興味があるが、まだ一歩踏み出せていない方 gRPCのドキュメントを読んでみたが、難しくて挫折してしまった方 gRPCを使用する現場に配属されたなど、急いでgRPCを学ぶ必要がある方 モダンな技術について学習し、スキルの幅を広げたい方 動画を見ながら一緒に手を動かして学ぶのが好きな方 |
gRPCの基本的な使い方以外にも、Protocol Buffersの基本文法やInterceptorや認証、SSL通信など実際の開発現場にも対応できる内容であるため、gRPCを使用する現場に配属された方、急いでgRPCを学ぶ必要がある方にとってピッタリの講座となっています。
解説が非常にわかりやすい。また、重要なポイントに絞って解説している印象がある。
受講生のレビューより
gRPCのキャッチアップにとても役立ちました。
受講生のレビューより
Udemyは購入後30日以内であれば返金可能
Udemyでは受講コースに納得がいかない場合、購入後30日以内であれば返金可能となっています。
購入後に「思っていたものと違う」、「学びにならなかった」と感じた場合は、返金申請を出しましょう。
返金の詳細はUdemy公式ページのコースの返金方法をご参照ください。
最後に
golang学習におすすめのUdemy教材を5つ紹介してみました。
Udemyを使うことでテキストを読むだけでは分かりにくい箇所も言語化しながら説明してもらうことで、すんなりと頭に入ってくることも多々あります。
これからgolangのスキルを伸ばしていきたいという方はぜひ今回紹介したUdemy教材を使って勉強してみてください。