Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GopherCon 2019 Report Talk

GopherCon 2019 Report Talk

#gopherdojo で話したGopherCon 2019報告会での発表です

Kazuki Higashiguchi

August 26, 2019
Tweet

More Decks by Kazuki Higashiguchi

Other Decks in Technology

Transcript

  1. © - BASE, Inc. X GopherCon 報告会 . “On the

    Road to Go ” . Recommendation to Lightning Talk Speaker #gopherdojo . . - @hgsgtk Kazuki Higashiguchi
  2. © - BASE, Inc. Agenda “On the Road to Go

    ” by Russ Cox GopherCon Recommendation to Lightning Talk Speaker
  3. © - BASE, Inc. : @hgsgtk Who am I? 東⼝

    和暉 ( Higashiguchi Kazuki ) BASE BANK, Inc. (BASE, Inc.) 業務としてGopherCon に 参加
  4. © - BASE, Inc. Agenda “On the Road to Go

    ” by Russ Cox GopherCon Recommendation to Lightning Talk Speaker
  5. © - BASE, Inc. GopherCon • DAY Pre-Conference Workshop •

    DAY Sessions & Welcome Party • DAY Sessions • DAY LT / Community Day
  6. © - BASE, Inc. 聴講したSession • On the Road to

    Go • How Uber "Go"es • Portable, Immediate Mode GUI Programs for Mobile and Desktop in % Go • Go, pls stop breaking my editor • Handling Go Errors • Optimization for Number of goroutines Using Feedback Control • Contributing to the os Package: How Deep Do You Go? • The Athens Project - A Proxy Server for Go Modules • Generics in Go • You Can't Go Your Own Way: The Standardization of Go at GitHub • Small is Going Big: Go on Microcontrollers
  7. © - BASE, Inc. 聴講したSession • On the Road to

    Go • How Uber "Go"es • Portable, Immediate Mode GUI Programs for Mobile and Desktop in % Go • Go, pls stop breaking my editor • Handling Go Errors • Optimization for Number of goroutines Using Feedback Control • Contributing to the os Package: How Deep Do You Go? • The Athens Project - A Proxy Server for Go Modules • Generics in Go • You Can't Go Your Own Way: The Standardization of Go at GitHub • Small is Going Big: Go on Microcontrollers
  8. © - BASE, Inc. Agenda “On the Road to Go

    ” by Russ Cox GopherCon Recommendation to Lightning Talk Speaker
  9. © - BASE, Inc. 概要 • Go⾔語開発の考え⽅ • Experiment/Simplify/Ship •

    Go • Error Handling • Generics • Dependencies Management • Go tools
  10. © - BASE, Inc. Rs Reshaping 再形成 Redefine 再定義 https://blog.golang.org/experiment

    Removing 削除 Restricting 制約 • 有⽤性 or 重要性が低いものを 削除 • ソースファイル UTF- • gofmt
  11. © - BASE, Inc. Go • Error Handling • Generics

    • Dependencies Management • Go tools
  12. © - BASE, Inc. Error Value History - 2008年 syscall

    errorはint型で定義 - `errno int ` - 2008年 ↑の2時間後error typeが⽣まれる - type Error struct、Print()‧String()という2つのシグネ チャを持っていた - 2009年 Error interface - Print()が取り除かれ現在の形へ - pkg/errorsなどError experimentsが⾊々 - experimentの結果が溜まってくる
  13. © - BASE, Inc. Go Error Handling • Error Value

    Handling • Unwrap interface • errors.Is • errors.As • Error syntax • check? try? (abandoned)
  14. © - BASE, Inc. try/check • proposal “check” • proposal

    “try” • https://go.googlesource.com/ proposal/+/master/design/ - try-builtin.md • abandoned.
  15. © - BASE, Inc. Go Tools • gopls(“go, please”) •

    https://github.com/golang/go/wiki/ gopls • LSPの実装
  16. © - BASE, Inc. Agenda “On the Road to Go

    ” by Russ Cox GopherCon Recommendation to Lightning Talk Speaker
  17. © - BASE, Inc. 聴講したSession⾃分的分類分け • Go⾔語⾃体 • On the

    Road to Go • Go, pls stop breaking my editor • Generics in Go • Microservice‧⼤規模開発 • How Uber “Go"es • You Can't Go Your Own Way: The Standardization of Go at GitHub • Web以外の利⽤ • Portable, Immediate Mode GUI Programs for Mobile and Desktop in % Go • Small is Going Big: Go on Microcontrollers • (※ 量が多いのでさらにピックアップしてます)