「Go Conference 2019 Spring」に参加してきた!
はじめに
It's time to GO!#gocon pic.twitter.com/oxBUGrwHmS
— 手塚竜太 Ryuta Tezuka (@Tzone99) 2019年5月17日
入館証
とても重要なお知らせです。お帰りの際は、入館証は、受け取った受付までお返しください。出た場所に箱がありますが *箱には入れないでください* #gocon pic.twitter.com/zuWDaQvp6G
— kuma @ Go Conference Tokyo Spring 2019 (@kumakumakkk) 2019年5月18日
Wantedly Techbook
Wantedly Techbookデプロイされました!!!
— Mizuki Takeuch (@amanda__mt) 2019年5月18日
一箱、机の下に眠っておりました🙇♂️ #gocon #golang pic.twitter.com/uObnnLiD6v
スピーカー特典
スピーカー特典で Gopher くんもらいました嬉しい、デスクに置きます #gocon pic.twitter.com/xRcDrAdpdM
— Kazuki Higashiguchi (@hgsgtk) 2019年5月18日
いいなぁ。欲しい。
Keynote
Thank you Katie for Keynote presentation! #gocon #Google #go pic.twitter.com/eHVWc4stG2
— Wady / Tokyo🏯 (@wady) 2019年5月18日
How a “not the greatest engineer” achieved his first contribution to Go
スライド
発表者
概要
Every engineer dream of contributing to open source projects. But it’s not easy, is it? I had the idea too, but I gave it a try and my first commit was merged to Go! Let me share my experience, it might encourage you to start the challenge. It wasn’t easy, but not as hard as you imagine!
内容
Go公式ドキュメントに「Contribution Guide」というのがあるらしい。
オススメのスライド2つ
顔合わせではなくコメントだけだし、
全て英語でコミュニケーションとらないといけないし、
勉強するのにも時間が取られる...。
ということでけ、継続的に開発していくには...
- マインドを保つのが大切
- 完璧にすることはできないんだ
ということかな?
エラー設計について/Designing Errors
スライド
発表者
概要
これこそGoにおけるエラーハンドリングのベストプラクティス。
内容
今日の「エラー設計について」はFailure is your Domainというブログ記事を参考にしながら、いくつか変更を加えた内容を話します。https://t.co/QroTtlzwgr #gocon
— morikuni (@inukirom) 2019年5月18日
エラーとは、
- エラーは処理が失敗した時に発生する
- エラーは既知のエラー(予測されるエラー)と未知のエラー(予測されないエラー、Goではpanicが起きる)がある
未知エラーを既知エラーにする
- エラーをアプリケーションの一部に組み込む
エラーに求められていること
- どうやってエラー情報を誰に知らせるか
- アプリケーション
- エラーを識別できること
- 型などで知らせる
- クライアント
- エラーを識別できること
- ステータスで返す
- エンドユーザー
- 問題を解決するヒントになるようなメッセージが含まれていること
- 運用者
- 問題の根本的な原因を調査し、解決する手助けになる情報が含まれていること
- アプリケーション
Goのアプリケーションでエラーをどのように扱う
- アプリケーション固有のエラーコードを定義し、エラーを識別する
- クライアントで使うステータスコードを使う
- 既知の外部のエラーは上で定義したエラーコードに変換する
failureというツールを作ったよ!
スポンサーセッション
クラウドサインの弁護士ドットコム
Go Conference 2019 Springにコーヒースポンサーとして協賛します #gocon https://t.co/vVDCas88y5
— Takuji Hashizume (@takujihashizume) 2019年5月18日
クラウドサインの弁護士ドットコムさん、ありがとうございます!! #gocon pic.twitter.com/jtmEmzzIpr
— micchie ʕ•ᴥ•ʔ (@micchiebear) 2019年5月18日
freee
Go Conference 2019 Spring開催!freeeはお水のスポンサーさせていただきました。 13:20からのスポンサーセッションも登壇しますので是非ご覧下さいませー🤓 #gocon pic.twitter.com/yuqLpTgD98
— 【公式】freee Developers (@freeeDevelopers) 2019年5月18日
freeeのマイクロサービス構成について説明した去年のアドベントカレンダーです。https://t.co/lxp1vaQXY5 #gocon #gocon_hall
— Yoichiro Shimizu (@budougumi0617) 2019年5月18日
H3 (S): 標準パッケージのみで大量のPNG画像をいかに高速に処理するか
スライド
発表者
概要
Goの標準パッケージimage/pngを愚直に使って大量のPNG画像を処理すると、非常に遅い。 そこでサンプルのソースコードに対して、プロファイリングツールのpprofを用い、どの関数がボトルネックになっているかを調査します。 そして、「ボトルネックの発見」と「ソースコードの修正」を繰り返しながらインクリメンタルに処理を高速化する例を示します。
内容
アドテクスタジオ、Scala 中心かと思ってたけど広告画像処理周り?には Go を使っているという事なのかな。 #gocon #gocon_hall
— ザネリ (@so_zaneli) 2019年5月18日
去年は学生スカラーシップでGoConに参加して今年は就職して発表者としてGoConに参加されているということ。嬉しい話しだ!q@w@p #gocon #room_hall
— Ryuji Iwata (@qt_luigi) 2019年5月18日
- プロファリングツール
- 今回は、runtime/pprof を使った
プロファリングした結果、
image/png.filterで時間がかかっていることがわかった(全体の実行時間の1/7を使っていた)
- フィルタの種類
- None
- Sub
- Up
- Average
- Paeth
ただ、image/png.filterは標準パッケージなので、 ここのボトルネックは解決できないので次に時間がかかっているところを調べ、 ボトルネックを解消したことで速度が2倍になった。
compress/flateが3番目に重かった。
圧縮レベルを調整できる。
image/png.CompressionLevel
- DefaultCompression
- NoCompression
- BestSpeed
- BestCompression
画像処理の高速化が題材だけどやってることはpprofで計測、時間かかってる処理のうち改善できそうな処理をみつけ直すという愚直な取り組みでよい。どこでも応用できそうな話だし為になった。そして新卒でめちゃ若いしおまけでしれっとGoにコントリビューとしててすごい。(語彙力)
— yusuke misawa (@FpmpAmpm) 2019年5月18日
#gocon_hall
runtime/pprof で堅実にパフォーマンスチューニングと、過程で公式ライブラリにコントリビューション。すごい #gocon #gocon_hall
— ぶーやー (@tyabu12) 2019年5月18日
A4 (S): Design considerations for container-based Go applications
スライド
発表者
概要
Go言語でのアプリケーション開発で、特にコンテナを前提とする場合の設計考慮点について話します。 例えば、Go言語でAPIを開発する場合、コンテナとして動かすことを前提とするケースが多いと感じます。コンテナベースで動かすことを前提とした場合、コンテナイメージ作成・アプリケーション監視において、考慮すべき点が出てくるでしょう。このトークでは、Go言語での実装にまで踏み込んだ上で、コンテナベースアプリケーションにおける設計の考慮点について話します。
内容
https://t.co/LrtC5IUl6Y #gocon #gocon_a
— さかぐち (@ysakaguch1) 2019年5月18日
これかhttps://t.co/FHQFsDWIwl#gocon_a
— jon (@jon_ground) 2019年5月18日
入門 監視 ―モダンなモニタリングのためのデザインパターン Mike Julian https://t.co/NmVtnVt8CC #gocon #gocon_a
— さかぐち (@ysakaguch1) 2019年5月18日
zapを使って、JSON形式のログを吐き出すhttps://t.co/tEk4lWLNdX#gocon #gocon_a
— しょうちゃん (@xioota) 2019年5月18日
checkとdeep check、livenessとreadiness的な話で良いのかな。https://t.co/Me1tmQIQNr#gocon #gocon_a
— はずみ (@hazumirr) 2019年5月18日
H5 (L): Writing Go Analyses with go/analysis (from Go Team)
スライド
発表者
Michael Matloob
概要
The Analysis API is used to write analyses (like those in go vet and go lint) that canhelp surface bugs and show code improvements to users. I’ll show how to use andwrite analyses, and see their results, so you can help improve your code quality.
内容
今日プレゼン内で出てきたソースコード
Great talks from my teammates Julie (about Go package discovery) and Michael (about Go analysis)!! #gocon @matloob @JQiu25 pic.twitter.com/bk5MryTS13
— Katie Hockman (@katie_hockman) 2019年5月18日
今日プレゼン中に起きたこと
プレゼン者のPCがバッテリー切れ&カーネルパニック
バッテリ切れはあるけど、カーネルパニックが起きるのはなかなかないから、
そういう意味でも貴重な公演だった!
Kernel panic, Everyone panic #gocon_hall
— Ruins (@C_Ruins) 2019年5月18日
お祭り感のあるハプニングだな〜w #gocon #gocon_hall
— mafuyuk (@mafuyuk_m) 2019年5月18日
#gocon_hall #gocon 電池が死につつカーネルパニックを起こす登壇者
— ゆいな (@yuina1056) 2019年5月18日
プレゼン解説ツイート群(ほぼ全て上田さんのツイート)
go/analysisの話を聞きに来たぞ! #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
レシーバがポインタじゃない #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
diagnosticsの正しい発音を聞いた #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
ASTですね #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
go/analysisでAnalyzerを作るなら https://t.co/ClO4sBC8Hb を使うと簡単にできます! #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
inpsectorでASTを簡単に探索できます。フィルターにセットした型のASTのノードだけが渡されます #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
自分以外がgo/analysisの発表するのテンションあがるね #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
cmp.Equalsに渡された引数が同じ型かどうかをチェックするAnalyzerの話を聞いている。まずはASTから関数呼び出し(CallExpr)を探して、渡されている引数を探し、その型を型情報から取得して同じ型か調べている #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
もっと一般化しよう。cmp.Equalsだけではなく、同じ型を取らないといけない場合にアノテーションを仕掛けたらチェックするようにする。 #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
アノテーションはannotationパッケージのSameType関数を用いる #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
Factを使いましょう。 #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
Factの使い方はhttps://t.co/WgLPKFRz15 あたりを見ると分かる #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
Factはインタフェースなので、AFactというメソッドを実装すればよい(中身はなくていい) #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
Factの型ってexpternalにしないと思うんだけど、してもいいのかな? #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
関数にFactを関連付けるために、まずはアノテーション用の関数呼び出し(annotation.SameType)を探して、その関数が呼び出されている関数を発見する(引数が同じ型である必要があるもの)。そして、見つけた関数にFactを関連付ける。 #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
Factで内部でannotation.SameTypeを呼び出している関数ということを印を付けておいて、あとでその関数を呼んでるところを調べるという手順ですね #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
Analyzer作っただけではだめなので、解析対象のファイルとかをとってくる必要があります。そのためにはsinglecheckerパッケージやunitcheckerパッケージ、multicheckerパッケージを使う必要がある #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
今からgo/analysisを始める方はこちらもどうぞ。https://t.co/2Ue6gKkMrv #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
備考
今日の話、メルカリの上田さんの記事や「Mercari Engineering Blog」に書かれていた。
B6 (S): GoでAPIサーバをはやくつくる
スライド
発表者
概要
クリーンアーキテクチャで依存関係を整理しつつ、コード生成(wire, grpc, xorm, gotests, implなど)を利用してGoでAPIサーバを作る方法を説明します
内容
今日は #gocon 「B6 (S): GoでAPIサーバをはやくつくる」で発表します。アーキテクチャを考えつつ、gRPC-Webやwireなどなどを活用して自動生成で楽をする話です。サンプルアプリはブログにあります。https://t.co/MRFoR1qW5ohttps://t.co/fqppyot5sA
— Jumpei Takiyasu (@juntaki) 2019年5月18日
参考
サーバサイドだとやはりこうするよね
— そな太 (@sonatard) 2019年5月14日
> Application層からWeb層にDomain層のオブジェクトを返却https://t.co/yCtbpKJ0Dj
H7 (S): We want AWESOME CLI tool & development
スライド
発表者
概要
golang と言えば CLI ツール、CLI ツールと言えば golang、といった純粋想起が醸成されつつあります。初学者から達人まで、あらゆる Gopher が CLI ツールを開発し、CLI ツールの開発は難しくないと思われがちです。しかし、「優れた」設計・テスト・UI・ビルド・リリース・アップデート・CI・ドキュメンテーションなど、「より」CLI ツールを洗練するために考慮すべき点はあります。一方でその知見はあまり集合知として語られず、「達人」であっても疎かになっている点はあります。そこで今回は CLI ツール開発の包括的知見を紹介したいと思います。
内容
CLIのテストは標準のos/execやlogパッケージのテスト手法をまねるとよい #gocon #gocon_hall
— yusuke misawa (@FpmpAmpm) 2019年5月18日
「Hashicorpのミッチェルさん」
— mafuyuk (@mafuyuk_m) 2019年5月18日
創業者w
#gocon #gocon_hall
errorのtypeによってExitCodeを分ける、なるほど #gocon #gocon_hall
— n (@NoahOrberg) 2019年5月18日
goldenファイルの話はこのスライドがよい https://t.co/Lp3iGyEoxd #gocon #gocon_hal
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
https://t.co/kSv5sVVKmS
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年5月18日
#gocon
Go1.12でホームディレクトリ取る関数が追加されたはず。 https://t.co/jHujvrf2Ei #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
メモ
B8 (L): CPU, Memory and Go
スライド
発表者
概要
基本的なCPUやメモリを簡単に触れ、Goの最適化、コンパイラの最適化、Goで実装したときのCPUやメモリの振る舞いを紹介します。 またこれら最適化の様子やパフォーマンスを実際にGoの標準ツールを使いながら確認していきます。
内容
集積回路の数が増えても冷却が限界だからパフォーマンスは横這い #gocon_b
— うじまる🐔 (@uzimaru0000) 2019年5月18日
ハードウェアの性能限界が来ているからそれ以外の高速化が必要な時代#gocon_b #gocon
— はちぼー/エンジニア&カメラマン (@hachiblog) 2019年5月18日
これだね!https://t.co/z40VDcSS3g#gocon #gocon_b
— FUMI@Python&Go&Rust (@FumiProgrammer) 2019年5月18日
Other Session
Hacking Go Compiler Internals
スライド
発表者
概要
Since the previous talk at Go Con 2014 Autumn, lots of things in the internals have changed. In this talk, I will try to give an overview of Go compiler internals and update the information as much as possible, along with my new hacks.
Case studies of designing developer friendly libraries
スライド
発表者
概要
ライブラリやツールなど、自分以外の人間が「ユーザ」となる開発では、その Interface / Experience が重要であり、生産性や開発の楽しさにも直結します。本セッションでは、自身のこれまでの経験・まわりからのフィードバックから集めた、Developer にとってより良い Interface / Experience なライブラリ・ツールを作るための Tips や考え方を紹介します。
Golang JP Google+ Community Survey Results
スライド
発表者
概要
Golang JP Google+ Community was closed on April 2, 2019. There were about 950 posts in 8 years and 4 months. I surveyed these posts as the last work of a coordinator. Let’s look back on trends and events of Go in Japan from this survey results! q@w@p
Security Scan for golang Using Open Source
スライド
Not found.
発表者
メモ
Better asset bundling tool than the best
スライド
発表者
概要
I am creating new asset bundling tool. It will have some new features that the existing tools don’t have
Subee: Pub/Sub Worker Framework Implementation
スライド
発表者
概要
マイクロサービス間で非同期処理を実現するために,メッセージキュー(Google Cloud Pub/Sub,Apache Kafka…etc)を用いた方法などが存在します.メッセージをキューと呼ばれる領域に保持し,メッセージを取得する側の処理が完了するのを待たずに次の処理を実行できるといった特徴があります.メッセージを取得する側では,単一メッセージまたは,複数メッセージを扱うWorkerを実装する必要があります.そこで,これらの要件を満たす,Pub/Sub Worker FrameworkであるSubeeを開発しました.本セッションでは,実装時に意識したこと,実際の利用方法について紹介します.
Goによる外部プロセス起動ベストプラクティス及びtimeoutパッケージ徹底解決
スライド
発表者
概要
Goで外部プロセスを起動する方法をシステムプログラミングにまで踏み込んで解説します。また、外部コマンドのタイムアウトを正しくハンドリングするための、github.com/Songmu/timeoutパッケージの解説もおこないます。これはGNU timeoutのGo portingですが、GNU版との差異についても解説します。
Gopherと行く Langな旅
スライド
発表者
概要
Go書こうかなぁどう書いたらいいんだろう? 新しく言語書きたいけど、Goではああいう書き方できるのかな? の疑問・不安を解決します
煩雑な運用をGoを使って楽にする
スライド
発表者
概要
プロジェクトを運用していると日々様々なタスクが発生します 例えばExcelでやりとりされるデータを適切に処理する必要があったり、Google Driveに保存してあるファイルを処理しつつバージョン管理する必要があったり、特定のファイルを大量に生成する必要があったり などです そんなGoで開発/運用されているのプロジェクトで起きた課題をどのように解決し、またその過程で嵌った点などを紹介できればと思います
Go1.9 で作られた App Engine のサービスを Go1.11 に移行した話
スライド
発表者
概要
GAE/Go1.9 で運用されてきた MicroServices で作られたプラットフォームサービスを GAE/Go1.11 に移行する中で得た知見を紹介します。
Expand observability in Go
スライド
発表者
概要
Go standard toolkit provides benchmark, tracer and profiler out of the box and its ecosystem provides those extensions that fit large-scale systems. In this talk, I’ll introduce how you can start implementing performant applications with standard tools, and how you can expand it to larger scale app.
Design pattern for Image and text composition in Go
スライド
Not found.
発表者
[https://twitter.com/search?q=timakin&src=typd:embed:cite]
概要
Owing to sophisticated standard or semi-standard packages, Go lets you process image and text composition so simply. However, a lot of references show only how to simply process images. In my talk session, I will explain one of a design pattern to combine them flexibly depending on a real business.
Dive into Buildkit LLB with Go
スライド
発表者
概要
Dockerに正式統合されたBuildKitをGoで扱う方法について発表します。
BuildKit は Goで実装されている為、Goのソースコードを読むことでGoを使ったDockerfile解析ツールや、独自のBuildKit LLB frontendを作成できます。
今回の発表ではGoでどのようにBuildkitが記述されているかをコードを追いながら、Goを使ったDoコンテナイメージフロントエンドの解析ツールの作り方や、独自のコンテナイメージフロントエンドの作り方にも触れて行く為、Goでコンテナ技術を理解する大きな1歩になるでしょう。
内容
先ほど「Dive into Buildkit & LLB with Go」という発表をしました。少し最後駆け足でした。。僕のQiitaにこの辺を詳しく追った記事があるのでそれをみていただけると幸いです。#gocon #gocon_hallhttps://t.co/w6hubXT3Sm
— po3rin (@po3rin) 2019年5月18日
Building FIDO2 server in Go
スライド
発表者
概要
FIDO2 (WebAuthn) is an authentication standard which enables passwordless authentication. I’ll introduce the mechanism of FIDO2 and how we can implement its server-side processing, especially the signature algorithm, in Go. I’ll also mention its integration with existing API servers written in Go.
Golang で Dockerベース のCIを作る
スライド
発表者
概要
Continuous Integration (CI) は開発者にとってなくてはならないものですが、 CI定義などの学習/メンテナンスのコストや、ローカル開発環境との差分に悩まされることもあります。 そこで、Dockerfile のみで定義を行うCIサーバーを開発しています。 GolangにはCIサーバーの開発に必要な機能を実現するための仕組みが数多く備わっており、本発表ではそれらについて紹介したいと思います。
database/sql入門
スライド
発表者
概要
これから始める人のためにdatabase/sqlパッケージの使い方をまとめます。 アプリケーションコード内での使い方だけではなく、環境構築方法、マイグレーション方法、単体テストや結合テスト、CI上でのテストの仕方も紹介します。以下のような気持ちの初心者にオススメです。
GoでDB操作したいけどどこかに情報まとまってない?
DB操作するコードってどうやってテストコード書けばいいの?
Fuzzy finder as a Go library
スライド
発表者
概要
fzf や peco のような、インタラクティブにリストから特定の要素を検索・選択できるようなツールの登場は、コマンドラインにおける表現をより一層豊かにさせました。しかし、行指向には限界があり、こういった fuzzy finder はその能力を十分に発揮することができていません。このセッションではコマンドライン fuzzy finder が抱える問題を説明し、その問題を fuzzy finder をライブラリとして提供することで解決することを試みた話をします。
JavaプログラムをGoに移植するためのテクニック――継承と例外
スライド
発表者
概要
Javaプログラムの設計や構造をそのままGoに移植しようとするとき、言語構造の違いに直面します。 Javaではクラスによるオブジェクト指向と例外機構が標準的に使われますが、Goでは構造体とインターフェイスを用いる他、例外機構ではないエラーハンドリングによって、元のJavaプログラムと同等の機能を実現する必要があります。 ここでは、ZXingというJavaのバーコードライブラリをGoに移植しているgozxingプロジェクトの経験から、Javaプログラムの特に継承と例外について、Goでどのように実現したかを紹介します。
Building Modules Discovery (from Go Team)
スライド
Not found.
発表者
Julie Qiu twitter.com
概要
At some point, we all find ourselves wanting to use a third-party Go package in our Go code. This talk discusses strategies for discovering, evaluating and maintaining Go packages and modules. It also shares new tools that the Go team is building to make this process better.
内容
Speaker of the day: Julie Qiu is leading the project to build the Go discovery site for modules at the @golang team at @Google, and she graduated @Yale with a degree in Cognitive Science.@JQiu25 will talk about Building Modules Discovery!#gopherconEU #golang #gophers pic.twitter.com/SWeV0f1pn9
— GopherCon Europe (@gopherconeu) 2019年4月2日
Great talks from my teammates Julie (about Go package discovery) and Michael (about Go analysis)!! #gocon @matloob @JQiu25 pic.twitter.com/bk5MryTS13
— Katie Hockman (@katie_hockman) 2019年5月18日
Implementing Quota as a Service
スライド
発表者
概要
Quota、あるいはRate Limitという単語を聞いたことがありますか?あるサービスのリソース単位の割当量をQuota、その中でも特に、APIのリクエスト数など、ある一定時間に対してかけられた制限をRate Limitなどと呼びます。本セッションでは、Quota as a Serviceを実装するに至った経緯や、実際に実装していくにあたって検討したアルゴリズムやOSSとして公開されているQuotaライブラリについて紹介・解説、実装で考慮する必要があった課題とその解決についてお話します。
Dark side of the reflect
スライド
www.slideshare.net
発表者
概要
Golang has a feature called reflect. Generally, it is said that using reflect is antipattern, but sometimes we face the scene to use it. This talk will describe the golang’s reflect function through the experience of writing ORM from scratch using reflect in our products.
スポンサーセッション
Go Quiz
スライド
発表者
gobpfでPostgreSQLを動的トレーシングする
スライド
発表者
標準パッケージにおけるテストでの利用例から学ぶ testing.quick パッケージ
スライド
発表者
SQLFormatter written in Go
スライド
Not found.
発表者
Event Sourcing with Go
スライド
発表者
[https://twitter.com/garsue:embed:cite]
俺はビッグエンディアンでテストがしたいんだ!!!(How to test on BigEndian arch on Travis CI)
スライド
発表者
システムライブラリに依存しないlessコマンドAPIの簡易版を作った
スライド
発表者
Other memo
ダークサイドを覗きに来た。DeNA ってデナって読むのか #gocon_c #gocon
— Yusuke Hatanaka (@hatajoe) 2019年5月18日
初めて聞いた #gocon #gocon_c
— ぷらす (@plus_kyoto) 2019年5月18日
» attic-labs/noms: The versioned, forkable, syncable database https://t.co/N74qFYvRTR
ライブラリを導入する際って複雑さの増加みたいなものも考慮すべきかなと思ってる #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日
importパスが同じなら後方互換を保たなければならない #gocon #gocon_hall
— tenntennʕ ◔ϖ◔ʔ ==Go (@tenntenn) 2019年5月18日