Golden Road

信じた道なら行けばいい

Go

gRPC(Go)でタイムアウト時にio.EOFエラーになる件を調査した

WEB+DB PRESS Vol.110のgRPC特集がおもしろくて手を動かしながら読んでいる。 WEB+DB PRESS Vol.110作者: 藤村大介,森田リーナ,渡邉祐一,市原創,板倉広明,高橋征義,笹田耕一,大原壯太,新倉涼太,末永恭正,久保田祐史,牧大輔,東邦之,星北斗,池田拓司,竹馬光太…

スプレッドシートのデータを取得する

slack botでスプレッドシートからデータ取得する場面があったので調査して検証がてらgolangで実装してみた。 気をつける所とかメモ的に書いておく。 作ったのはスプレッドシートで重み付け抽選を行うアプリ。 github.com 認証 認証方法はAPIキー、OAuth、サ…

GitHub Gistにファイルをアップロードするコマンドをgolangで作った

Go

Gistを作る時、毎回catでファイル内容を表示してコピーして、GistのWeb画面にペーストしてたんだけど、 これが地味にめんどくなってきたので、ファイルを渡すとGistを作ってくれるコマンドをgolangで作った。 github.com 使い方 target.goをGistにアップロー…

golang.tokyo #4に行ってきた。 #golang #golangtokyo

Go

inabaです。 golang.tokyo #4に補欠からの当日滑り込み繰り上がりという運の良さで参加してきました。 会場はペアーズの株式会社エウレカさん。 倍率が2倍ということもあり、狭き門という印象のgolang.tokyoですが、今回から動画撮影も始まったようです。 次…

bufio.Scannerのエラーと解決策 #golang

こんばんわ。 inabaです。 今日はAtCoder Beginner Contest 055に参加していました。 その時に起こったエラーを調査したので参考までに。 Runtime Error ある問題を解いて提出したら何件かでRuntime Errorが出た。 Runtime Errorの内容は見られないのでコー…

外部キーが設定されているとTRUNCATEできない #MariaDB #MySQL

inabaです。 最近はgolangでDBをいじっています。 テストもテスト用DBを作り、実際に書き込んで行うようにしていました。 テストをするたびにAUTO_INCREMENTの値が増えていく まぁそうでしょう。 なので、テストデータのクリアをするためにTRUNCATEしようと…

【Go】structをJSONにする時、ゼロ値を含む/含まないを切り替える方法と注意点 #golang

Go

inabaです。 Go言語でstructをJSONにする時、ゼロ値を含まない場合はタグにomitemptyをつけますよね。 type stampCard struct { Stamp int `json:"stamp,omitempty"` } しかし、同じstructを使っている時にゼロ値を含む/含まないを切り替えたい時があります…

【Go】kingpinをinit()でパースしていたらテストでエラーが出た話 #golang

Go

kingpin 標準のflagパッケージでは、同時に長いオプションと短いオプション(shortオプション)を定義するのが面倒。 package main import ( "flag" "fmt" ) var ( dryRun = flag.Bool("dry-run", false, "dry run mode.") ) func init() { flag.BoolVar(dryRu…