Go Conference 2018 Spring

2018/04/15(日)09:00 〜 18:00 開催
ブックマーク
Go

イベント内容

【重要】入館方法についてはメールにてご案内済みです。

スケジュール / Time Schedule

時間 ルーム1(Room 1) ルーム2(Room 2)
09:30 - 会場(Open)
10:00 - 10:10 オープニング(Opening Talk)
10:10 - 11:00 キーノート(Keynote)
11:00 - 11:10 休憩(Break) 休憩(Break)
11:00 - 11:50 ■スポンサーセッション(Suponsor Sessions)
・サイボウズ株式会社 様(Cybozu, Inc.)
・株式会社メルカリ 様(Mercari, Inc.)
11:50 - 13:20 昼休憩(Lunch Break) 昼休憩(Lunch Break)
13:20 - 14:05 ■セッションx2(2 Sessions)
・grapi: Building JSON API server with grpc-gateway for microservices by izumin5210
・Golangで実装するFTPプロキシサーバ by 山下 和彦(@pyama86)
■セッションx2(2 Sessions)
・How to write Go code by kaneshin
・ GoらしいAPIを求める旅路 by lestrrat
14:05 - 14:15 休憩(Break) 休憩(Break)
14:15 - 15:00 ■セッションx2(2 Sessions)
・組み込みLinuxでのGolangのススメ by tetsu_koba
・Linuxのユーザーランドをinitから全てまるごとgolangで書く by tetsu_koba
■セッションx2(2 Sessions)
・コードジェネレートとの付き合い方 by pei0804
・Gormの気持ちになってGormを使う by linyows
15:00 - 15:10 休憩(Break) 休憩(Break)
15:10 - 15:55 ■セッションx2(2 Sessions)
・Goroutine meets a signal by codehex
・Dgraph - A high performance graph database written in pure Go by munisystem
■セッション x 1(1 Session)
・Performance Optimization on Google AppEngine by timakin
15:55 - 16:10 休憩(Break) 休憩(Break)
16:10 - 16:45 LT大会(Lightning Talks)
・Whitespace言語処理系をGoで実装してみた by snowcrush
・クローラー実装で学ぶgo by 川部 勝也
・go-selfupdate-github でツールを「自己アップデート」できるようにする by ドッグ
・学生版のGoConを開催したい! by Yamashou
・Goで始めるdockerとcontainerd by sakajunquality
・Replaced Backlog Git Server from Perl to Go by Yuichi Watanabe
16:45 - 16:50 休憩(Break) 休憩(Break)
16:50 - 17:00 クロージング(Closing Talk)
17:00 - 18:00 完全撤収(Close) 完全撤収(Close)

キーノート / Keynote

How the Go runtime implements maps efficiently (without generics)

発表者: Dave Cheney

スポンサーセッション / Suponsor's Sessions

Go at Cybozu

発表者:サイボウズ株式会社 ymmt様

Testing with microservices in merpay

発表者:株式会社メルカリ kazegusuri様

メルペイでは外部サービスや複数のマイクロサービスを組み合わせてリクエストを処理しています。各システムとどのように接続しどのようにテストを行っているか紹介します。
Unit and E2E Test, Mocking and Fake Implementation, Fault Injection, Conformance Test

通常セッション / Normal Sessions

GoらしいAPIを求める旅路

発表者:lestrrat

具体例をみせつつ、いくつか選択肢があるなかでよりGoっぽいコードを書く、という流れを説明します

How to write Go code

発表者: kaneshin

Go初心者の方がGoのコードやパッケージ、ドキュメントなど標準が用意しているリソースを最大限に利用する方法をお話します。

Performance Optimization on Google AppEngine

発表者:timakin

GAEでのAPIのパフォーマンス最適化で、実際に行った例を紹介します。

Goroutine meets a signal

発表者:codehex

皆さんは goroutine にシグナルを送信したいと思ったことはありませんか?
...はい、ありますよね!

Golet (https://github.com/Code-Hex/golet) という *.go を小さなスーパーバイザーもどきとして扱えるようなライブラリを作成しました。

Golet を使った Go のプログラムへシグナルが送信された時、それが管理しているプロセスと goroutine へシグナルの情報を送ることができます。

そこで、プロセスはもちろん、goroutine へシグナルの通知をするための機構をどのようにして開発したのかを話します。

組み込みLinuxでのGolangのススメ

発表者:tetsu_koba

ラズパイのようなボードでセンサーデバイスとネットワークにつながるような機器を作るときに、C言語でもなくPythonでもなくGolangを使うとデバイスアクセスからWebAPIのアクセスまで統一的にできるのではかどりますという話。

Linuxのユーザーランドをinitから全てまるごとgolangで書く

発表者:tetsu_koba

golangで作られたスタティックリンクされた実行ファイルは必要なライブラリを含んでいるので、OSとの依存性が低くなっています。もう一歩踏み込んで、あと何を追加したら完全にgolangだけで動かせるようになるでしょうか。具体的に、Linuxのユーザーランドをinitから全てまるごとgolangで書くにはどうすればできるかを、gokrazy というプロジェクトを題材にしてさぐっていきます。

コードジェネレートとの付き合い方

発表者:pei0804

コードジェネレートは生産性を劇的に上げる素晴らしいものに見えます。ただ、使い方を間違えると、余計に工数を増やすことがあります。私の失敗経験や今やっていることを交えて、付き合い方についての話をします。

grapi: Building JSON API server with grpc-gateway for microservices

発表者:izumin5210

マイクロサービスな JSON API の実装言語に真っ先に選択肢として挙げられる(?)のが,みんな大好き Golang です.が,実際に書いてみると

data, err := ioutil.ReadAll(req.Body)
if err != nil {
    http.Error(w, err.Error(), http.InternalStatusInternalServerError)
    return
}

book := &Book{}
err = json.Unmarshal(data, book)
if err != nil {
    http.Error(w, err.Error(), http.InternalStatusInternalServerError)
    return
}

// ここから本当にやりたい処理

に代表される多様なめんどくささや,「API ドキュメントがないから毎回聞かないといけない」「でも書くのめんどくさい」問題など,いろいろな壁にぶちあたります.

本セッションでは,これらの問題に立ち向かうために導入した gRPC + grpc-gateway という構成と,その背景,およびさらなる開発効率化のために実装した grapi という CLI 兼 grpc-gateway wrapper ライブラリを利用したサービス開発について紹介します.

Dgraph - A high performance graph database written in pure Go

発表者:munisystem

Go で書かれたハイパフォーマンスな分散グラフデータベース Dgraph について、プロダクションの事例ともにどのようにしてハイパフォーマンスを実現しているのか紹介致します。
何故他のグラフデータベースではなくDgraphなのか、導入した背景とその理由をアーキテクチャを元に解説します。

Gormの気持ちになってGormを使う

発表者:linyows

ORMのGormを使う上でアンチパターンを示した上でベストプラクティスを実際のコードを通じてご紹介します

Golangで実装するFTPプロキシサーバ

発表者:山下 和彦(@pyama86)

話し手は、Golangを利用して、FTPプロキシサーバを開発しています。その際に起こった問題や、Golangにおける複数ソケットを扱う際のテクニックを紹介します。

LT / Lightning Talks

  • Whitespace言語処理系をGoで実装してみた by snowcrush
  • クローラー実装で学ぶgo by 川部 勝也
  • go-selfupdate-github でツールを「自己アップデート」できるようにする by ドッグ
  • 学生版のGoConを開催したい! by Yamashou
  • Goで始めるdockerとcontainerd by sakajunquality
  • Replaced Backlog Git Server from Perl to Go by Yuichi Watanabe

会場 / Venue

東京都中央区日本橋2-7-1 東京日本橋タワー
サイボウズ株式会社

Tokyo Nihonbashi Tower, 2-7-1, Nihonbashi, Chuo-ku, Tokyo, Japan
Cybozu, Inc.

入場方法

別途、メールにてお知らせします。

懇親会

運営では懇親会を開催する予定はありません。 野良での開催は歓迎いたします。

参加者枠について

  • 一般参加(先着):普通の参加者で、先着順で決まります
  • 一般参加(抽選):普通の参加者で、抽選で決まります
  • 遠方枠(先着):遠方の方専用の枠です
  • スタッフ枠:当日まで何かしらのお手伝いをしてもらいます
  • Devquiz枠:抽選で決まりますが、申込み時のDevquizに正解した方のみ当選する可能性がある枠です。詳細はDevquiz枠の欄を御覧ください。

※参加者多数の場合、セッションの参加状況によっては立ち見になる可能性があります

3/31には一旦募集を終了しますが、抽選枠の抽選終了後に再度オープンする予定です。

なおキャンセルは構いませんが、きちんとキャンセル処理をお願い致します。無断キャンセルの方は次回以降優先順位を下げさせてもらうかもしれません。

遠方枠は、新幹線や飛行機を使わないと来れない方々向けの参加枠です。 そのため、関東圏や電車で来て頂ける距離にお住まいの方は、遠方枠への申し込みはご遠慮ください。

スタッフ枠にて参加され方には、当日受付や設営・片付けなどをお手伝いして頂く予定です。 8時50分に会場の7Fに集合お願いします。

Devquiz枠

抽選で決まりますが、申込み時のDevquizに正解した方のみ当選する可能性がある枠です。
未回答や回答が間違っている場合は当選しません。

問題

次のプログラムを実行しようとした場合に何がおきますか?

package main

import (
    "fmt"
)

type Hoge struct{}

func (h *Hoge) M() {
    fmt.Println(h)
}

func main() {
    var h *Hoge
    h.M()
}

選択肢

1. コンパイルエラー
2. パニックが発生
3. <nil>と表示される
4. 何も表示されない

スポンサー

会場スポンサー

サイボウズ株式会社様に会場のご提供を頂いております。

スカラーシップスポンサー

株式会社メルカリ様に学生向けスカラーシップをご提供頂いております。

無断キャンセルについての対応

前回の開催の際に、無断キャンセルを行った方には、参加の優先順位下げさせて頂く可能性があります。具体的には、以下のように無断キャンセルを行った方を対象といたします。

  • 申し込み順が早いにも関わらず、当日受付処理が行われなかった
  • キャンセルを当日受付が行われてから行った
  • 懇親会を当日無断で欠席した

このような処置をいたします理由としては、無断キャンセルによって参加できない方を減らしたいという意図から行っております。 前回までのGoConにおいても、イベントページにて

なおキャンセルは構いませんが、きちんとキャンセル処理をお願い致します。無断キャンセルの方は次回以降優先順位を下げさせてもらうかもしれません。

と記載しておりました。 今回も応募者が多数になると考えられるため、他の方を優先させていただく可能性があります。 なお、こちらの手違いでキャンセル処理をされた方は大変お手数ですが,@tenntennまでご連絡をいただけたらと思います。

なお、次回以降も同様の対処をする可能性がありますので、今回当日都合が悪くなって来れないことが分かった方は、お手数ですが速やかにキャンセル処理をお願いします。

撮影とレポート記事について

当日の様子をレポート記事としてWebサイト等に公開する可能性があります。 当日はセッションの様子の動画撮影や会場の様子の写真撮影を行う可能性があります。 主に後ろからの撮影になり、顔が映ることはないかと思いますが、撮影されると問題がある場合は、@tenntennまでお知らせ下さい。

その他

  • スケジュールなど本ページの掲載内容は状況により変更する場合がありますので予めご了承ください。
  • GoのマスコットのGopherの原作者はRenee Frenchさんです。
  • Gopherのイラストはtenntennによるものです。

注意事項

※ こちらのイベント情報は、外部サイトから取得した情報を掲載しています。
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。