メルペイ エキスパートチームの@tenntennです。
メルペイでは、社外の方向けにGopher道場という体系的にGoを学べる場を無償で提供してきました。Goの普及を目的にこれまでに7回開催し100人以上の方に参加していただきました。
自社でもGoを基幹技術として使っている背景があり、今後もGoコミュニティへの貢献は継続していきます。しかしながら、新型コロナウイルス感染症の状況を踏まえて直近のGopher道場開催を見合わせています。
Goを学ぶ場を提供することでGoに触れる方を増やしたいと考えている筆者にとっては、
開催できないことが非常に残念です。そこでエキスパートチームでは違う形で学ぶ場を提供できないかと考え、Gopher道場で使用している資料のベースになっている「プログラミング言語Go完全入門」を期間限定で公開することにしました。
— 追記 5/22 —
もう少し公開していて欲しいという声があったことと、「12. テキスト処理」と「13. リフレクション」の2章を追加したため、公開期間を2ヶ月延長し、2020年7月31日まで公開することにしました。
— 追記ここまで —
プログラミング言語Go完全入門
bit.ly
追記 3/18:PDF版のリンクを追加しました。
プログラミング言語Go完全入門の内容は以下の通りです。この内容はGopher道場で扱っているものと同じものです。
- Goに触れる
- 基本構文
- 関数と型
- パッケージ
- コマンドラインツール
- 抽象化
- エラー処理
- テストとテスタビリティ
- ゴールーチンとチャネル
- HTTPサーバとクライアント
- データベース
- テキスト処理 (5/22追加)
- リフレクション (5/22追加)
しっかりと身につくようにGoの基礎的な内容から実践的な内容まで網羅的に扱っており、Gopher道場の運営実績に基づいた資料になっています。
公開期間は2020年5月31日2020年7月31日(延長しました)までを想定しています。
期間限定とする理由
Gopher道場の運営には大小を問わずボランティアとして協力頂いているケースがあります。永続的な公開も検討しましたがメンテナンスコストや資料そのものが対面での学習を想定していたものでもあったため不足があるという認識です。公開し続けることで更新やメンテナンスなど多大な労力がかかる懸念が払拭できませんでした。そこで5月31日7月31日までの限定的なものとしています。その間にGoを学ぶ人の役に立つことを願っています。
私は当初、上記に加えて資料を公開するとGopher道場の参加者数が減少するのではとの懸念もあり、踏み切れていませんでした。資料だけ読んで自学自習できれば、それはとても良いことです。しかしプログラミング言語習得は教科書や資料のみでは難しいという実感があります。
今回公開した資料も400ページ600ページ(5/22 更新)を超える膨大な量のスライドで構成されていますが、資料に掲載できていない内容が多くあります。習得のためには多くの試行錯誤と適切なサポートがかかせません。公開によってGopher道場自体への参加をやめる方がでると、最新バージョンの情報やGopherConなどの海外カンファレンスで得た知見、宿題や課題へのフィードバックなど適切な学習ループが得られなくなります。そのためGopher道場へ直接参加してもらうメリットも大きいと考えていました。
コミュニティの未来へ貢献したいという想い
今回の資料が完成というわけではありません。将来的にはリフレクションや静的解析、テキスト処理、パフォーマンスチューニングなどの資料を追加していきたいですし、スライドに解説動画をつけ情報量を増やした上でのカリキュラム公開を目指したいと考えています。
5/22追記:テキスト処理とリフレクションは追加しました!
新型コロナウィルス感染症の影響を鑑み、完成している部分から公開することになりました。大変な状況ですが、公開した資料がどなたかのお役に立てて頂ければと考えています。このような中では、技術コミュニティの活動はオンラインでのコミュニケーションに偏りつつありますので、できる限りのケアとして資料の解説動画も部分的に作成、公開し、実際の学習イメージがお伝えできればと考えています。
新型コロナウィルス感染症の状況が改善した際には、次回のGopher道場を開催したいと考えています。現在のところ6月中を計画しています。まだまだ状況は流動的ですがconnpassでイベントページを公開予定です。状況が落ち着き、資料だけではなくて実際に参加する機会を提供し、Goを学ぶ人が増えることを楽しみにしています。
追記 5/1: プログラミング言語Go完全入門 質問会イベントを公開しました。開催日は 6/3 です。