2016年3月12日土曜日

Golang 勉強会 in Kagawa

2/27(土)に香川で開催された「Golang 勉強会 in Kagawa」に参加してきました。



今回はGDG Shikokuさん主催のGo言語のイベントで、東京からGoCon主催者の上田さん、開催地の香川から堀内さん、岡山から萩野さんと私が発表&スタッフで参加しました。

堀内さんが参加されるということで所属の「SLP-KBIT」の方々も多く参加してくださり、参加者の社会人と学生さんの割合がおおよそ半々となりました。

上田さんはモバイルアプリに関するお話しを、堀内さんはWebアプリに関するお話しを、私は概要紹介と入門ハンズオンを、とバラエティに富んだイベントでした。

発表資料につきましては、イベントサイトの「イベント資料一覧」をご参照ください。私の発表資料は「It's gotime!」(概要説明)と「入門ハンズオン」です。

記録として、私目線での開催までの流れをご紹介。

  1. 堀内さんとGDG Shikokuさんが出会う。
  2. 香川でGo言語の勉強会を開催する話に。
  3. GDG Shikokuさんから登壇のお話しを頂く。
  4. 私から萩野さんに参加をお願いする。
  5. Go Conference 2015 Winter」にて登壇者を募集。
  6. 上田さんが参加を表明してくださる。
  7. 第2回 関西golang勉強会」にて堀内さんが登壇者&参加を募集。
  8. Okayama ComCamp 2016 powered by MVPs」にて開催を告知。
  9. 無事に開催!q@w@p

以下、自分のお話しです。

会場でのアンケートでGo言語は初めてという方も多かったので、しっかり説明しよう&わかってもらおうと概要説明に少し力が入っていたようで(^^;)長めの時間となってしまい、その分、入門ハンズオンの時間が短くなってしまいました。

概要説明は、結果として後で発表された上田さんや堀内さんのお話しの内容について簡単に説明できていた部分もあったので、進行としても良かったかと思います。

業務多忙でまとまった時間がとれていなかったため、入門ハンズオンのネタは会社のお昼休みの30分ほどを使って日々準備していました。前日になっても資料化する時間がとれないほどで当日の移動のフェリーの中でなんとか資料化できました。



入門ハンズオンでは「タイピングゲーム」を題材にしました。時間がなかったのでGo言語のコード構造をお話ししつつ、ゲームのソースをコーディングして動かして頂く流れになりました。

内容的には、goツールでは

  • go fmt
  • go run
  • go build

を、文法では

  • 標準入力(fmtパッケージ)
  • 標準出力(fmt.Scan())
  • 条件文(if文)
  • 繰り返し文(for文)

を紹介できたので、まずは最低限のプログラミングは行って頂けると思います。

ハンズオン中は、上田さんや萩野さんから補足やアドバイスを発言して頂いたり、学生さんのフォローを堀内さんが引き受けてくれたりと、皆さんのご協力を頂いて進められました。

次のステップとして改善内容も用意していたのですが、時間がないため内容の紹介だけで終わってしまいました。いつの日かGo入門ハンズオン(?)としてリベンジしたいところです。

改善では、

  • 問題をテキストファイルから読み込む
  • タイマーを使ってカウントダウンを表示
  • 乱数を使って問題をランダム表示

などを紹介していますので、興味のある方には引き続きチャレンジして頂けると思います。



参加者の皆様、不足の点すみませんでした&ありがとうございました。
上田さん、講師のお引き受け&東京からの来香、ありがとうございました。
堀内さん、イベント告知&学生さんのフォロー、ありがとうございました。
萩野さん、体調不良となっての来香&フォロー、ありがとうございました。
GDG Shikokuの皆様、お世話になりました&ありがとうございました。

心残りは、業務のため翌日の「うどんツアー」に参加できなかったことですね(T_T)

Okayama ComCamp 2016 powered by MVPs


2/20(土)に岡山で開催された「Okayama ComCamp 2016 powered by MVPs」に参加してきました。



私はMVP (Most Valuable Professional) ではないのですが、主催者のきよくらならみさんからお声掛けを頂きまして、今回登壇させて頂くことになりました。

Microsoft社主催のイベント「Japan ComCamp powered by MVPs」ということで、私は「Microsoft × Go」というタイトルでGo言語にまつわるプロダクトを中心に以下の内容でお話しさせて頂きました。



Go言語の紹介

Go言語を概要レベルで紹介させて頂きました。会場でGo言語を使ったことがある人に挙手して頂いたところほとんど手が挙がらなかったので説明意義があって良かったです。

MS Open Tech社

Microsoft社とオープン技術の橋渡し役を担ったMS Open Tech社とその中で取り扱われたGoプロダクト(Packer、Docker、Kubernetes)の紹介、その全てがMicrosoft Azureに取り込まれて今後のWindows Containerにも引き継がれるだろう、という内容でお話しさせて頂きました。

vscode-go

コードエディター「Visual Studio Code」用のGo言語エクステンション「vscode-go」とインストール手順を紹介させて頂きました。

こちらは昨年末の「Go Advent Calendar 2015」の23日目の記事「vscode-go/READMEとdelve/Buildingの日本語訳」を要約する感じで仕上げました。

本当は実際にデモを行ってコード補完やデバッギングの様子をお見せしたかったのですが、発表時間の関係でそこまでできなかったのが残念です。

Azure SDK for Go

Microsoft AzureのREST APIをGo言語から扱うための「Azure SDK for Go」について紹介させて頂きました。Go言語だけがベータ版の状態なので早く正式版となって公式サイトに掲載して頂きたいところです。

ベータ版というだけのことはあり、私が資料を作成していた期間中にもディレクトリー構成が大きく変わったりしました。(おかげで見やすくなったので嬉しかったです。)

Azure App Service

Microsoft AzureのPaaS環境でWebアプリを開発&実行できるサービス「Azure App Service」でのGo言語用の「Go Sample App」と3つのデプロイ方法(GitHub経由、Web内、FTP)を紹介させて頂きました。

こちらもWebブラウザーだけでコード編集からデプロイまでを行えるデモを行いたかったのですが、発表時間の関係でそこまでできなかったのが残念です。

Visual Studio Online "Monaco"やKuduを使うことによってWebブラウザー内でコード編集からコンパイル&デプロイまでをシームレスで行えられた時には正直感動しました。

個人的には発表駆動と無料1時間枠のおかげで初めて触るApp ServiceでGo言語のWebアプリを実行させるまでの手順を習得できて良かったです。


さいごに

とにかくMicrosoft社とGo言語にまつわる情報が少なかったです。日本語となるとさらに減りましたので、本記事が少しでもお役に立てば幸いです!q@w@p

参照記事