ラベル golang の投稿を表示しています。 すべての投稿を表示
ラベル golang の投稿を表示しています。 すべての投稿を表示

2017年11月12日日曜日

Go Conference 2017 Autumn

2017年11月5日(日)に東京で開催された「Go Conference 2017 Autumn」に参加してきました。



岡山からGo&GCP仲間のtaknb2nchさんに同行させて頂いての東京ツアー(2日目)です。

GoConの開催日が近づいたとある日、何とアノmattnさんがパネラーとしてGoConに初参加されるという告知が!パネルディスカッションでの質問が募集されていたので「ねほりはほり聞かねば!」と募集ページで質問を記入していたところ、そこに「パネラー募集」の項目が...恥のかき捨てならお手のモノ(!?) mattnさんとお話しできるチャンスがあるならとダメ元で申し込んだところ、後日、採用との連絡が...q@w@p

いざ当日。今回は日曜日開催&受付は9:00からで本編は9:30スタートといつもより早めだったため、前日入りして余裕を持って会場入りすることができました。(taknb2nchさんによるスムーズな計画&誘導の賜物であることは言うまでもGoざいませんm(__)m)

会場建物の六本木ヒルズ森タワーのスターバックスで朝食をとっているとスタッフ枠で参加のgregさんに遭遇。サンドイッチをダッシュで食べ終えて一緒にスタッフ集合時間の8:50に受付へ向かうとスタッフ枠のmakotanoさんと数名の参加者の姿が。


受付の名簿に自分の名前がなくてアタフタしつつ一先ず受け付けて頂けたところで、スタッフさんから「こちらがmattnさんとkaoriyaさんです」と紹介されて振り向くとそこにお二人の姿が。

いきなりお会いすることになり、気の利いたオッサンギャグの一つも言えず、普通にご挨拶をさせて頂きました。お二人からすると見ず知らずのオッサンにいきなり挨拶されて「誰?」だったでしょうが(^^;) こちらは内心「おぉ〜!」とテンションが上がっていました(^^;) その後ymotongpooさんがいらしてお二人と挨拶をされていましたが、こちらも普通でした(そりゃそうだ)。

そんな皆様と共に会場へ。主催者のtenntennさんや会場スタッフのvvakameさんにご挨拶。今回は森タワー18Fのメルカリさん。部屋も綺麗で外の景色もバッチリで「こんな環境でGoやGCPで仕事できてるなんていいな〜」と田舎者らしく感心しながらスマホで写真を撮りまくり、ステッカーを頂いたり、会場入りされた方々と会話をしつつ開始を待ちました。



いざ開始。のっけからパネルディスカッションということでパネラーの方々は壇上へ。司会者はymotompooさん、パネラーはmattnさん、メルカリのcubicdaiyaさん、kaoriyaさん、すみません私、という蒼々たるメンバーにて1時間ほど開催され、事前に募集していたmattnさんへの質問の中からymotompooさんがチョイスしたものにパネラーの方がmattnさんから順に回答する形式で進行し、会場の方からの質問を受け付けて、パネラーの方々の感想で締められました。

パネラーの皆様ですが、mattnさんは今回のメインパネラーであり言わずもがなGo界隈のみならず有名なオッサンGopher(^^;)であり、cubicdaiyaさんはメルカリのSREさんで当初からプッシュ配信プロキシー「gaurun」を開発されているバリバリGopherであり、kaoriyaさんはWindows版Vimバイナリーを提供されつつ裏では(?)早くからGoを触られているスリーエスGopherであり、という豪華な顔ぶれ。

パネラーのメンバー構成は壇上に上がった時に初めて知り、上級Gopherの皆様を前にして「やっべ場違い」と感じつつ、私の役割はそのまま「Goは仕事で使えていなくて自主的に使っている初〜中級レベルGopher」の目線+「技術だけでなくGoコミュニティから」の目線、で立ち振る舞うことで他のパネラーの方々と差別化を図れるだろうと挑みました。

今回パネラー名はmattnさんしか公開されていなかったことや長年のGoCon参加経験(?)からすると、自分の役割がマッチしないことは予測できていたのですが、自分ではこれしかできず、後日、参加者の方々の感想ブログを拝見させて頂くと、私の言葉はほとんど拾われておらず、わかっていたのですがやはり「ショボーン」な気持ちになりました(※1)。個人的には、一人にでも何かしら届けば登壇した意味があったと思っていますし、GoCon後にGolang JP(Google+ Comminuty)の参加メンバーが少し増えたのを見ていると、自分なりの何らかの役割は果たせたかなぁ、と。

会場からの質問者は、遅刻してきた(^^;) deeeetさん(スポンサーセッションで発表)、2Dゲームライブラリー「Ebiten」開発者のhajimehoshiさん(今思えば存じ上げなかったと言えどもご存知だったことであろうことを堂々と回答してしまい恐縮)でした。

その後、席に戻ってからはGoCon半公認(?)のトゥギャり担当としてTogetterまとめ「Go Conference 2017 Autumn」をこれまた半リアルタイムで更新しつつ(今回も実物のzcheeさんにお会いできなかった&次回こそ!)、各セッションを拝聴させて頂きました。

今回のゲストスピーカーは前日のVimConf 2017から二連チャン&Vim用Goプラグイン「vim-go」の開発者であるFatih Arslan(ファティ)さんでした。

[今回のマイベストショット]
左:会場の風景、右:fatihさんとdeeeetさんのどたま

休憩時間には、会場スタッフのsinmetalさん(次回また落ち着いてお話ししましょう!)やこれまた前日のVimConf 2017から二連チャンでお疲れ気味だったhaya14busaさんにご挨拶したり、セッション登壇者のお一人で目の前に座られていたniconegotoさんに初めてお声掛けしたりできました。(fkmさんもお見かけしたのですがお声掛けまではできず)

最後に、Google社謹製のGopherTシャツ争奪じゃんけん大会が盛大に行われ、ゲットされた皆様はホクホク顔で会場を後にされていました。

以上、自分目線の内容でしか書けませんでしたが、まぁ、思い出の記録として。

GoCon主催&スタッフの皆様(パネラーに採用して頂いて感謝!)、会場提供のメルカリ&ソウゾウ社の皆様(今年のGCP Gopherのるつぼっぷりはヤバイっす&パねぇっす)、初対面ながら寛大に受け止めて頂いたパネラーの皆様(初対面とは思えず馴れ馴れし過ぎてすみません:ミスター&karoriyaさん)、参加されたGopherの皆様(目や耳を汚したならすみません&少しでもお役に立てたなら)、そして、今回も無事に連れて来てくださったツアーコンダクター(?)のtaknb2nchさん、感謝ありがとう!q@w@p


P.S.順番が崩れるが今回の東京ツアーの1日目と3日目も調整がついたら書き起こしたいところ。

※1 [2017.11.14] 参加者の方々の感想ブログを追加。拾って頂けた方も。感謝ありがとう!

2015年9月6日日曜日

Golang勉強会

私事ながら「東京フリープラン二日間の旅」の二日目、風の噂で聞いていたGo/golang/Go言語に関するイベントがなくなったということで、9/5(土)に東京は文京区にて「Golang勉強会」を開催しました!q@w@p

開催17時間前(!?)でのイベント告知にも関わらず、@sinmetalさん、@tenntennさん、@ohkawa_mさん、私(@qt_luigi)の4名のgopherに参加して頂きましたm(__)m

会場は@sinmetalさんに山盛りご協力して頂いて「TOPGATE」さんの会議室を使わせて頂きました。(建物の写真を撮るのを忘れましたm(__)m)

集合

初めての地ということで余裕を持って一時間前に現地入りしました。案の定、最寄り駅から会場までの道中で迷ってしまったので正解でした(^^;) 無事に@sinmetalさんと合流して会場の向かい側の台湾料理のお店で昼食をとりました。


食事後、建物の入り口で待たれていた@ohkawa_mさんと合流して会場入り。@tenntennさんも少し迷いつつも無事に合流されました。

3人とも@ohkawa_mさんとは「はじめまして」でしたが、すぐに打ち解け込んで頂けられたので一安心でした。

オープニング

友達が集まって「んじゃGoするかな〜」という感じの良い雰囲気だったので「なくてもよいかなー」とも思ったのですが、イベントとして開催してしまったので(^^;) 開催の挨拶をさせて頂きました。その後、各自にて自己紹介と本日のテーマ(以下を参照)を発表して頂きました。

  • @sinmetalさん:BigQueryにJSONを渡すGoツールの作成
  • @tenntennさん:gomobileにてボタンの作成
  • @ohkawa_mさん:並列処理の実装
  • @qt_luigiさん:自作Goツールの整理

私はテーマ発表の直前に暗号化+自己解凍形式にしていた自作Goツール群がexeファイルだったことをに気付いてしまい、のっけからテーマを失ってしまいました。ちなみに参加者は全員MacBookでした…(^^;)


もくもく会&交流会

主な活動内容は次の通りでした。

  • Goトーーーク
  • @ohkawa_mさんの質問コーナー(並列処理、channel、など)
  • @sinmetalさんと私がgophersのslackに参加
  • @tenntennさんによるsay(= OS Xのテキスト読み上げ)コマンドの紹介
  • おやつタイムの「きのこ vs たけのこ」戦争にて「たけのこ」が勝利
  • @tenntennさんによる「reflectのススメ(?)」から「オレオレTypeの試み」
  • @sinmetalさんの質問コーナー(構造体の解析、json.Unmarshal、など)

コードの提示などで「Go Playground」が大活躍しました!q@w@p ありがとう「Google」という名の会社さん!w


クロージング

和気あいあいとした盛り上がりの中、気が付けば予定時間の16:00を過ぎて17:00近くに。最後に皆さんから一言ずつ感想を頂いた後、私の帰りの飛行機に間に合わすべくドタバタと帰り支度を開始しました。

感謝ありがとう

@tenntennさん、先生やらお話やら、感謝ありがとう。良い刺激を頂きました。またGoConにて!q@w@p

@ohkawa_mさん、参加やら質問やら、感謝ありがとう。Goもだちが増えました。帰り道は助かりました&楽しかったです!q@w@p

@sinmetalさん、会場やら付合やら、感謝ありがとう。二日間お世話になりました。次は岡山にて!q@w@p

関連サイト



2015年7月20日月曜日

書籍「基礎からわかるGo言語」と改訂2版

2013年の夏、移動するフェリーの中で「ひまつぶしに」と始めた本書「基礎からわかる Go言語」の写経が私のGo人生(?)の始まりだったのかもしれません。写経や復習で結構使い込んでいたので「もう1冊、買わなければ」と思い始めていた2015年の夏、Go 1.4に対応した「改訂2版 基礎からわかる Go言語」が発売されたので早速購入しました。

何が変わったのかと興味津々、私調べで1ページずつ目視でざっくりと新旧を比較して、見つけた変更箇所は約30カ所。サンプルコードも文字コード変更による日本語の差分と2つの新規追加分ぐらいで、内容的には大きくは変わっていませんでした。

すなわち、Goの言語仕様は大きく変わっていない、つまり、安定しているということです。これは新たに言語を習得したり導入したりする部分で重要なことだと思います。Go 1.x系はコードレベルでの上位互換性が保証されていることも強みです。

小さくは変わっているので、主な変更点をご紹介。

Goのバージョン

 Go 1.0.3からGo1.4.2に変わっています。
 go runコマンドの実行時エラーにてexit statusが出力されています。
 サンプルのソースコードもGo 1.4で実行し直して動作確認されているようです。

Windows対応の強化

 コマンドプロンプト上での作業時における大半の注意書きがなくなっています。

コラムの追加

 新しいコラムがいくつか追加されており、既存のコラムの修正も少しあります。

追加された文法に対応

 メソッドの章ではGo 1.1からの「Method values」が追加されています。
 スライスの章ではGo 1.2からの「Three-index slices」が追加されています。
 繰り返し処理の章ではGo 1.4からの戻り値なしの「For-range loops」に変更されています。

その他、

 公式のダウンロード類のURLがgolang.orgに変更
 main関数を含む複数ファイルの実行不可
 go docコマンドの廃止(現在はgodocだがGo 1.5から復活)
 ログファイルの追記モード、など

細かなところまでキッチリと更新されています。

本書のウリは「公式サイトに書かれていること」を解説やコードを交えて日本語で書かれている点です。また、正誤表やミスがない点も挙げられます。たまにベテランgopher(?)の方が「◯◯を初めて知った」と発言されているシーンをお見受けしますが、「それ、本書に書かれてますよ。」というものだったりします。

残念な点を挙げるとしたら、来月リリース予定のGo 1.5対応でなかった点ですね。今後は「Goでモバイルアプリを作ろう」みたいな書籍も出てくるかも!?

これからGoを始めるgopherにはオススメですし、知識の再確認用にベテランgopherにもオススメの一冊です!q@w@p

私版:正誤表

 31ページのCOLUMNにて、Mac版のgitインストーラーのダウンロード先がcode.google.comになっていますが、現在はsourceforge.net(http://sourceforge.net/projects/git-osx-installer)です。

[2015.07.20] go docについて訂正

 go docコマンドですが、改訂2版には「Go 1.2で廃止」と記載されておりGo 1.4.2でも使えませんがGo 1.5からは復活するようです。

$ go version
go version go1.5beta2 darwin/amd64
$ go
Go is a tool for managing Go source code.

Usage:

go command [arguments]

The commands are:

build       compile packages and dependencies
clean       remove object files
doc         show documentation for package or symbol
env         print Go environment information
        (以下、省略)

2015年6月26日金曜日

Go Conference 2015 summer

6/21(日)に東京で開催された「Go Conference 2015 summer」に参加してきました。

会場の日経ビル(右側の少し黒っぽいビル)

本記事は私の活動記録となっているためGoConに関する内容につきましては他の方々のブログ記事などをご参照ください。

q@w@p 今回は抽選形式のLT枠で申し込みました!

申し込み当初は「こんなところでGoは使われています」をテーマにGoのプロダクトやGoで開発している会社などを国内外問わず紹介しようと情報を集めていました。

「あれも紹介しよう」「これも紹介せねば」とスライドを書き連ねて行くうちに50枚を越えてしまい何回練習しても発表時間の5分に収まらなくなっていました。

スライドを二分割してさらにテーマを日本の会社だけに絞ることで何とか発表時間内に収めることができました。(そのためタイトルに「日本の会社 編」を付けてあります。)

その後もGoで開発した会社の情報が公開されたり開発中として紹介していたプロダクトが正式リリースされたりとGo界隈の活発さに一喜一憂しながらスライドに反映して行きました。

発表後に「ウチもあと少しでGoで開発したシステムをリリースできます!」と声を掛けて頂いた会社さんもありました。私の力不足で調べ切れていない会社さんもまだまだあるようなので今後とも楽しみです。


q@w@p 今回も皆様のツイートをTogetterへまとめさせて頂きました!

今回は朝から電源を確保できたので最後まで「なんちゃってリアルタイム」でトゥギャリを更新し続けることができました。

手違いというか何というか対象キーワードを「#gocon」ではなく「gocon」としていたために周辺のツイートも集めてしまいましたが盛り上がり感を伝えることができていると判断してそのまま採用しました。


q@w@p ネット越しのgopherに会うことが出来ました!

今回は会場で懇親会が開催されましたが、その恩恵を受けることができました。

「gopherのgopherはみなgopherだ!」のごとく +Yasutaka Kawamoto さんから +Ato Araki さんを、 +Tetsuya Onuki さんから +Daigo Ikeda さんを、それぞれ紹介して頂きました。

q@w@p さいごに

遠方枠を用意して頂いたおかげで地方から安心して申し込みを行うことができました。

そして今回も +Takanobu Hagino さんのおかげで東京に来ることができましたm(__)m
# 「Haginoツアーズ」Presentsの旅、満喫させて頂きました!

来月7/11(土)に香川県で開催される「オープンセミナー香川@2015」にてGoについて少しお話させて頂くのですが、その際に今回のGoConについても少し報告させて頂く予定です。

あ、今回はお尻があまり痛くなりませんでしたね q@w@p

発表者へ配られたゴーファー人形と
サイバーエージェント様からの差し入れ水