golang.tokyo #17

2018/08/21(火)19:00 〜 21:50 開催
ブックマーク

イベント内容

イベントについて

第17回目の開催となりました!

  • 前回から年齢確認のできる身分証の提示と未成年者は保護者の同意書が必要です
  • 行動指針についても追加されていますので予めご確認ください
  • LT登壇者も募集中です

golang.tokyo って?

プログラミング言語のGoの導入企業のメンバーが集まり、Goの普及を推進するコミュニティです トークイベント、ハンズオン、etcのイベントを開催していく予定です!

LT登壇者募集(08/14 13:00まで)

LT登壇者を募集しています。 発表時間は10分で最大3名募集しています。 希望者は以下のフォームから応募してください。 なお、フォームに記載してある注意事項をご確認のうえ、ご応募ください。

タイムテーブル

時間 内容
19:00 ~ 開場・受付
19:30 ~ 19:40 オープニング
19:40 ~ 20:10 Tour of testing by budougumi0617
20:10 ~ 20:40 非公開な機能を使ったテスト by tenntenn
20:40 ~ 21:10 休憩
21:10 ~ 21:20 LT1 外部環境への依存をテストする by duck8823
21:20 ~ 21:30 LT2 Developer-friendly なテストを考える by izumin5210
21:30 ~ 21:40 LT3 止めたいのに止められないテストの話 by knsh14
21:40 ~ 21:50 終了・撤収

セッションには質疑応答時間を含みます

登壇者

Tour of testing

清水 陽一郎 (@budougumi0617)

freee株式会社 所属。バックエンドエンジニア。2017年にGoが書きたくて現職に転職。普段はクラウド会計サービスの裏側のマイクロサービスをGo + gRPCで開発中。

Twitter: https://twitter.com/budougumi0617
Blog: https://budougumi0617.github.io/
過去の発表資料: https://speakerdeck.com/budougumi0617

非公開な機能を使ったテスト

上田 拓也 (@tenntenn)

メルカリ/メルペイ所属。 バックエンドエンジニアとして日々Goを書いている。 Go Conference主催者。golang.tokyo、Goビギナーズ、GCPUG Tokyo運営。 大学時代にGoに出会い、それ以来のめり込む。 社内外で自ら勉強会を開催し、Goの普及に取り組んでいる。 マスコットのGopherの絵を描くのも好き。人類をGopherにしたいと考えている。

Twitter: https://twitter.com/tenntenn
Qiita: https://qiita.com/tenntenn
過去の発表資料: https://www.slideshare.net/takuyaueda967/

参加枠について

一般参加枠(抽選)

抽選で決まる参加枠です。

Devquiz枠(抽選)

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

問題

以下のテスト関数Testが成功するように、IsAllEven関数を修正してください。 なお、IsAllEven関数以外は変更しないですください。 回答は申込時のアンケートにGo PlaygroundのシェアURLを貼って下さい。

ヒント:初級者向けGoの落とし穴と解説 / Traps and Explanations in Go

package main

import (
    "fmt"
    "testing"
)

type ErrNotEven struct {
    N int
}

func (err *ErrNotEven) Error() string {
    return fmt.Sprintf("%d is not even", err.N)
}

// IsAllEvenだけを編集し、テストが通るようにしてください
func IsAllEven(ns ...int) error {
    var err *ErrNotEven
    for n := range ns {
        if n%2 != 0 {
            err = &ErrNotEven{N: n}
            break
        }
    }
    return err
}

func Test(t *testing.T) {
    cases := map[string]struct {
        ns       []int
        hasError bool
    }{
        "1,2,3": {ns: []int{0, 1, 2}, hasError: true},
        "1,3,5": {ns: []int{1, 3, 5}, hasError: true},
        "0,2,4": {ns: []int{2, 4, 6}, hasError: false},
    }

    for n, tc := range cases {
        tc := tc
        t.Run(n, func(t *testing.T) {
            err := IsAllEven(tc.ns...)
            switch {
            case err != nil && !tc.hasError:
                t.Error("unexpected error:", err)
            case err == nil && tc.hasError:
                t.Error("expected error has not occurred")
            }
        })
    }
}

ブログ枠(先着)

イベントに関するブログを書いて頂ける方にご応募頂く参加枠です。

LT(10分)枠(抽選)

抽選で決まるLT枠です。 発表順は当日心の準備が整った順でお願いします。

キャンセルにつきまして

参加は抽選になりますが、より多くの方へご参加いただきたいと考えています。今回当日都合が悪くなって来れないことが分かった方は、お手数ですが速やかにキャンセル処理をお願いします。

参加の状態のまま当日お越しいただけなかった方は、次回以降の参加の優先順位を下げさせて頂く可能性があります。

撮影につきまして

当日はブログ枠を用意している関係で、会場内で写真撮影をする場合がございます。 参加の際にはご了承ください。

動画撮影につきまして

かねてより申し込み希望者多数のため、残念ながら参加して頂けない方も多数いらっしゃいましたので、ビデオ録画を行う予定です。

なお、ライブ配信を行うわけではございません。撮影されたビデオは、編集後ホームページ等に公開する予定です。 主に登壇者とスライドを撮影する予定ですので、参加者の皆様は写っても後ろ姿になるかと思いますが、撮影されては困る方は当日はカメラより後ろの席に座って頂くようお願い致します。

また、LT枠についても撮影させていただこうと考えていますが、LT枠の方で撮影NGの場合や顔出しNGの場合はお知らせください。

会場

今回はfreee株式会社様に会場をスポンサー提供いただいております(ありがとうございます!)

freee株式会社 東京都品川区西五反田2-8-1 五反田ファーストビル 9F
五反田駅より徒歩 3 分

入館方法

https://corp.freee.co.jp/company/

19:00をすぎると通常の入り口が使えなくなり、通用門からの出入りとなります。
五反田ファーストビル敷地内に併設しているセブンイレブン左横にビル通用口(と守衛窓口)がございます。
守衛での受付などは特に必要ありませんので、ビル入館後、エレベーターにて9Fへお上がりください。

受付終了後の入館方法

受付終了後の入館は基本的に対応しておりません。 予め受付時間をご確認のうえ、お越し下さい。

喫煙について

会場内は禁煙です。喫煙スペースも設けておりませんので、喫煙はお控え下さい。

電源とWifiについて

  • Wifiはご用意しております
  • 電源については十分な数のご用意はありません

行動指針

本イベントに参加するすべての人は下記の行動規範を守ることを求められます。

注意事項

  • 懇親会ではアルコールの提供がありますので、年齢の確認ができる身分証をお持ち頂き受付でご提示ください。
  • 車を運転される予定のある方は飲酒をお控えいただくようお願いします。
  • 未成年の参加には保護者の同意書が必要になります。当日ご提出お願いします。準備が難しい場合は開催1週間前までに運営にご相談ください。

Gopherの画像ついて

GoのマスコットのGopherの原作者はRenee Frenchさんです。

注意事項

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

関連するイベント