Open 2018.07.03
Whitespace言語処理系をGoで実装してみた
- GoCon
- 未設定
■ 動画紹介
本動画はGo Conference 2018 (Go Con)の Room1の動画を収録しております。
会員登録後、全てのコンテンツが無料で視聴できます。
■Agenda
-How the Go runtime implements maps efficiently (without generics):Dave Cheneyさん
-Go at Cybozu: ymmtさん(サイボウズ株式会社)
-Testing with microservices in merpay:kazegusuriさん(株式会社メルカリ)
メルペイでは外部サービスや複数のマイクロサービスを組み合わせてリクエストを処理しています。各システムとどのように接続しどのようにテストを行っているか紹介します。
Unit and E2E Test, Mocking and Fake Implementation, Fault Injection, Conformance Test
-grapi: Building JSON API server with grpc-gateway for microservices:izumin5210さん (Wantedly,inc.)
-Golangで実装するFTPプロキシサーバ :山下 和彦さん (GMO Pepabo, Inc)
話し手は、Golangを利用して、FTPプロキシサーバを開発しています。その際に起こった問題や、Golangにおける複数ソケットを扱う際のテクニックを紹介します。
-組み込みLinuxでのGolangのススメ:tetsu_kobaさん
ラズパイのようなボードでセンサーデバイスとネットワークにつながるような機器を作るときに、C言語でもなくPythonでもなくGolangを使うとデバイスアクセスからWebAPIのアクセスまで統一的にできるのではかどりますという話。
-Linuxのユーザーランドをinitから全てまるごとGolangで書く:tetsu_kobaさん
golangで作られたスタティックリンクされた実行ファイルは必要なライブラリを含んでいるので、OSとの依存性が低くなっています。もう一歩踏み込んで、あと何を追加したら完全にgolangだけで動かせるようになるでしょうか。具体的に、Linuxのユーザーランドをinitから全てまるごとgolangで書くにはどうすればできるかを、gokrazy というプロジェクトを題材にしてさぐっていきます。
-Goroutine meets a signal:codehexさん
皆さんは goroutine にシグナルを送信したいと思ったことはありませんか?
...はい、ありますよね!
Golet という *.go を小さなスーパーバイザーもどきとして扱えるようなライブラリを作成しました。Golet を使った Go のプログラムへシグナルが送信された時、それが管理しているプロセスと goroutine へシグナルの情報を送ることができます。
そこで、プロセスはもちろん、goroutine へシグナルの通知をするための機構をどのようにして開発したのかを話します。
-Dgraph - A high performance graph database written in pure Go:munisystemさん
Go で書かれたハイパフォーマンスな分散グラフデータベース Dgraph について、プロダクションの事例ともにどのようにしてハイパフォーマンスを実現しているのか紹介致します。
何故他のグラフデータベースではなくDgraphなのか、導入した背景とその理由をアーキテクチャを元に解説します。
-Whitespace言語処理系をGoで実装してみた:snowcrushさん
-クローラー実装で学ぶgo:川部 勝也さん
-go-selfupdate-github でCLIツールを「自己アップデート」できるようにする:ドッグさん
-Goで始めるdockerとcontainerd :sakajunqualityさん
-Replaced Backlog Git Server from Perl to Go:Yuichi Watanabeさん
会員登録後、全てのコンテンツが無料で視聴できます。
■Agenda
-How the Go runtime implements maps efficiently (without generics):Dave Cheneyさん
-Go at Cybozu: ymmtさん(サイボウズ株式会社)
-Testing with microservices in merpay:kazegusuriさん(株式会社メルカリ)
メルペイでは外部サービスや複数のマイクロサービスを組み合わせてリクエストを処理しています。各システムとどのように接続しどのようにテストを行っているか紹介します。
Unit and E2E Test, Mocking and Fake Implementation, Fault Injection, Conformance Test
-grapi: Building JSON API server with grpc-gateway for microservices:izumin5210さん (Wantedly,inc.)
-Golangで実装するFTPプロキシサーバ :山下 和彦さん (GMO Pepabo, Inc)
話し手は、Golangを利用して、FTPプロキシサーバを開発しています。その際に起こった問題や、Golangにおける複数ソケットを扱う際のテクニックを紹介します。
-組み込みLinuxでのGolangのススメ:tetsu_kobaさん
ラズパイのようなボードでセンサーデバイスとネットワークにつながるような機器を作るときに、C言語でもなくPythonでもなくGolangを使うとデバイスアクセスからWebAPIのアクセスまで統一的にできるのではかどりますという話。
-Linuxのユーザーランドをinitから全てまるごとGolangで書く:tetsu_kobaさん
golangで作られたスタティックリンクされた実行ファイルは必要なライブラリを含んでいるので、OSとの依存性が低くなっています。もう一歩踏み込んで、あと何を追加したら完全にgolangだけで動かせるようになるでしょうか。具体的に、Linuxのユーザーランドをinitから全てまるごとgolangで書くにはどうすればできるかを、gokrazy というプロジェクトを題材にしてさぐっていきます。
-Goroutine meets a signal:codehexさん
皆さんは goroutine にシグナルを送信したいと思ったことはありませんか?
...はい、ありますよね!
Golet という *.go を小さなスーパーバイザーもどきとして扱えるようなライブラリを作成しました。Golet を使った Go のプログラムへシグナルが送信された時、それが管理しているプロセスと goroutine へシグナルの情報を送ることができます。
そこで、プロセスはもちろん、goroutine へシグナルの通知をするための機構をどのようにして開発したのかを話します。
-Dgraph - A high performance graph database written in pure Go:munisystemさん
Go で書かれたハイパフォーマンスな分散グラフデータベース Dgraph について、プロダクションの事例ともにどのようにしてハイパフォーマンスを実現しているのか紹介致します。
何故他のグラフデータベースではなくDgraphなのか、導入した背景とその理由をアーキテクチャを元に解説します。
-Whitespace言語処理系をGoで実装してみた:snowcrushさん
-クローラー実装で学ぶgo:川部 勝也さん
-go-selfupdate-github でCLIツールを「自己アップデート」できるようにする:ドッグさん
-Goで始めるdockerとcontainerd :sakajunqualityさん
-Replaced Backlog Git Server from Perl to Go:Yuichi Watanabeさん
■ コンテンツ一覧
- How the Go runtime implements maps efficiently (without generics) (39:53) >>
- Go at Cybozu (18:46) >>
- Testing with microservices in merpay (22:23) >>
- grapi: Building JSON API server with grpc-gateway for microservices (21:43) >>
- Golangで実装するFTPプロキシサーバ (17:14) >>
- 組み込みLinuxでのGolangのススメ (26:53) >>
- Linuxのユーザーランドをinitから全てまるごとGolangで書く (12:17) >>
- Goroutine meets a signal (12:34) >>
- Dgraph - A high performance graph database written in pure Go (20:53) >>
- Whitespace言語処理系をGoで実装してみた (05:03) >>
- クローラー実装で学ぶgo (05:11) >>
- go-selfupdate-github でCLIツールを「自己アップデート」できるようにする (05:12) >>
- Goで始めるdockerとcontainerd (05:11) >>
- Replaced Backlog Git Server from Perl to Go (05:14) >>