Go Wiki: Go talks

一部の講演のプレゼンテーションは http://talks.golang.org でご確認ください。包括的で厳選され、検索可能なインデックスについては、Damian Gryski の GopherVids をお試しください。

公式

入門講演

Goの紹介。

Russ Cox の Go ツアー

[動画と議論]

Goを高速、楽しく、生産的にする3つのこと:インターフェース、リフレクション、並行性。これらをデモンストレーションするために、おもちゃのウェブクローラーを構築します。

Go: シンプルなプログラミング環境

[動画] [別の動画] [スライド]

Goは、効率的な静的型付け言語と生産的な動的言語の間のギャップを埋める汎用言語です。しかし、Goを特別なものにしているのは言語だけではありません。Goには広く一貫性のある標準ライブラリと、強力でありながらシンプルなツールがあります。

この講演では、Goの紹介の後、Goプログラミング環境のパワー、範囲、シンプルさを示す実際のプログラムのツアーを行います。

Goを始める

[動画]

このセッションでは、Goのインストールといくつかのシンプルで便利なプログラムの記述を通して、言語とその標準ライブラリとツールの感覚を掴みます。

Goプログラミング

[動画] [コード]

Rob Pike と Russ Cox が Google I/O 2010 で行ったプレゼンテーション。Goに特有の機能をデモンストレーションする一連の例を通して、Goでのプログラミングが他の言語とどのように異なるかを示しています。これには、並行性、埋め込み型、任意の型へのメソッド、インターフェースを使用したプログラム構築が含まれます。

Go Tech Talk

[動画] [スライド]

Rob Pike が2009年10月にGoogleで行った1時間の講演。この言語の最初の公開紹介。発表以来言語は変更されていますが、それでも良い紹介です。

Goでの開発

Goでのウェブアプリの記述

[動画] [スライド]

Rob Pike と Andrew Gerrand が Google I/O 2011 で行った講演。シンプルなウェブアプリケーションの構築とデプロイメントを順を追って説明し、App Engine 用の Go ランタイムを発表しています。

現実世界のGo

[動画] [スライド]

Andrew Gerrand が Google I/O Bootcamp 2011 で行った講演。Goの型システムと並行性モデルの概要を広く提供し、実際の問題を解決するGoプログラムの4つの例を紹介しています。

Google Cloud Platformでの統合アプリの構築

[動画]

Andrew Gerrand が Google Developer Day Japan 2011 で行った講演。Google App Engineで動作し、Google Cloud Storageに保存されたレイトレース画像をレンダリングするウェブアプリケーションの開発について論じています。

App Engine上のGoによる高性能アプリ

Google I/O、2013年5月

[動画] [スライド]

実践的なGoプログラミング

[動画] [スライド] [コード]

この講演では、Goで完全なウェブアプリケーションを開発する様子を紹介します。URL短縮サービスのシンプルな例を使用して、設計、ストレージ、並行性、スケーリングの問題を詳細に考察しています。

Goでの字句解析

[動画]

Rob PikeによるこのGTUG講演では、Goの機能を表現力豊かな組み合わせで使用する字句解析器の詳細な設計について論じています。(終盤の初期化時のgoroutine回避に関する議論は古くなっています。Go 1ではinit関数内でgoroutineが許可されており、余分な複雑さは不要です。)

Goの生産環境への導入

Google I/O、2012年6月

[動画]

2009年のGoのリリース以来、多くの企業(もちろんGoogle以外にも)がこの言語を使って素晴らしいものを構築してきました。このセッションでは、いくつかの企業のプログラマーが、本番環境でGoを使用した直接の経験を共有します。

Go: 優雅に成長するコード

[動画] [スライド]

Goプログラミング言語の主要な設計目標の1つは、コードの適応性です。つまり、シンプルな設計を取り上げ、それをクリーンで自然な方法で構築することが簡単であるべきだということです。この講演では、入力TCP接続のペアを照合するシンプルな「チャットルーレット」サーバーについて説明し、Goの並行性メカニズム、インターフェース、および標準ライブラリを使用して、ウェブインターフェースやその他の機能で拡張する方法を示します。プログラムの機能は劇的に変化しますが、Goの固有の柔軟性により、元の設計は成長してもそのまま維持されます。

多倍長電卓の実装

[動画] [スライド]

Rob Pike が APL ライクな電卓言語のインタプリタについて説明します。

GoでGo

[動画] [スライド]

Rob Pike が Go ツールチェーンを C から Go に移行することについて語ります。

Goにおける並行処理

Goの並行性パターン

Google I/O、2012年6月

[動画]

高度な並行性パターン

[動画] [スライド]

Google I/0、2013年5月

並行性は、高性能ネットワークサービスを設計するための鍵です。この講演は、昨年の人気のある「Go Concurrency Patterns」講演をさらに掘り下げ、Goの並行性プリミティブを深く探求し、複雑な並行性問題をシンプルなGoコードでいかに優雅に解決できるかを示します。

Goの設計

Goの表現力

[スライド]

Goを表現力豊かで理解しやすい言語にしている品質についての議論。この講演は、Rob PikeによってJAOO 2010で発表されました。イベントの録音はハードウェアエラーにより失われました。

言語設計におけるGoの再挑戦

[シドニー大学の動画] [スライド]

言語を初めて使う聴衆を対象とした、Goの主要な機能の背景を含むツアー。この講演はOSCON 2010で発表されました。この講演は2010年9月にシドニー大学でも行われました。

Go Emerging Languages Conference Talk

[動画] [スライド]

Rob Pike が2010年7月に行った Emerging Languages Conference のプレゼンテーション。講演概要

Goの並行性へのアプローチは、多くの言語、さらには並行性を中心とする言語(Erlangなど)とも異なりますが、深いルーツを持っています。Hoareの1978年の論文からGoへの道は、Goがどのように、なぜ機能するのかについて洞察を提供します。

Goの現状

2014年6月

[動画] [スライド]

2015年2月

[動画] [スライド]

2015年5月

[動画] [スライド]

その他

GCC用Goフロントエンド

[論文]

gcc用Go言語フロントエンドの説明。Ian Lance TaylorのGCC Summit 2010での論文。

Goプロモーションビデオ

[動画]

Russ Cox が Go の高速コンパイラを実演する短いプロモーションビデオ。

Goチームに会う

Google I/O、2012年6月

[動画]

David Symonds、Robert Griesemer、Rob Pike、Ken Thompson、Andrew Gerrand、Brad Fitzpatrick によるパネルディスカッション。

Goチームとの炉辺談話

Google I/0、2013年5月

[動画]

Andrew Gerrand、Brad Fitzpatrick、David Symonds、Ian Lance Taylor、Nigel Tao、Rob Pike、Robert Griesemer、Sameer Ajmaniとの炉辺談話。

Gopherの現状

[動画] [スライド]

非公式

コミュニティメンバーによる講演。

Let’s Go、またはGoの紹介

[動画(14:35から)] [スライド] [ソース]

この講演では、Goをロシア語で紹介します。

Goモジュールとは何か、どう使うのか?

Paul JollyLondonGophersにて)

[動画] [スライド]

Go 1.11のその他の機能

Daniel MartìLondonGophersにて)

[動画] [スライド]

Go 1.11リリースを少しだけ公開

WebAssemblyでGoを始める

Johan BrandhorstLondonGophersにて)

[動画] [スライド] [コード wasm] [コード grpc]

この講演で、JohanはGo 1.11のWebAssemblyポートと、それがJavaScriptの混乱に対処するのにどのように役立つかを紹介します :)

GoとMongo - そしてその変化

DJ Walker-MorganLondonGophersにて)

[動画] [スライド]

Goでシンプルな並行性教育言語を構築する

Nicholas NgLondonGophersにて)

[動画] [スライド]

この講演で、NicholasはGoで実装された、並行性理論(プロセス計算)を教えるために設計されたシンプルな言語の設計と実装を紹介します。彼は実装で使用されたGoの静的解析ツールのいくつかを取り上げ、それらをどのように使用できるかを示します!

Remotoの紹介

Mat RyerLondonGophersにて)

[動画]

Mat は、RPC サービスの構築を容易にすることを目的とした新しいプロジェクトの最初の垣間見を共有します。gRPC はクライアント(特にウェブ)には向いておらず、RESTful な設計は時に紛らわしい API につながります。Remoto を使用すると、Go インターフェースでサービスを定義し、サービスの構築と消費に必要なすべてを生成できます。

Go Swagger

Simone TrubianLondonGophersにて)

[動画]

SimoneはGo Swaggerコマンドラインツールの概要を説明し、REST APIの設計における生産性を向上させるために彼がそれを使用した方法を簡潔に説明します。

GoにおけるORM

Renato Serra(LondonGophersにて)

[動画]

RenatoはORMが役立つ場所、利用可能な選択肢、そして実際にORMを使用した経験について説明します。

Goコードの未使用パラメータ

Daniel MartìLondonGophersにて)

[動画] [スライド]

Danielは、SSAとコールグラフを使用して強力なコード分析ツールを作成する方法について話します。特に、関数内の未使用のパラメータを検出する方法を実演します。

嘘、ひどい嘘、そしてベンチマーク

Amnon(LondonGophersにて)

[動画] [スライド]

Amnonは、マイクロベンチマークが実世界のシステムを最適化する上でなぜ誤解を招く可能性があるのか、データレイアウトがコード構造よりも重要な場合が多いのはなぜか、そしてGoがパフォーマンスを追求する上でどのように役立つかについて議論します。

ゼロからのデバッガ

Liz RiceLondonGophersにて)

[動画] [スライド] [コード]

Lizは、Goの数行でデバッガを構築することで、デバッガがどのように機能するかを説明します。これには、Goソースコードとそれがコンパイルされる機械語命令とのマッピング、およびptraceシステムコールを使用してブレークポイントを設定し、実行中のプロセスを検査および変更する方法が含まれます。

SDLで高速フラクタルを楽しむ

Sue SpenceLondonGophersにて)

[動画] [スライド] [コード]

マンデルブロ集合やジュリア集合などの画像を生成するGoプログラムは、しばしば画像ファイルを出力します。代わりに、Simple Directmedia LayerライブラリのGoバインディングを使用して、表示デバイスに出力する方法を紹介します。

並行性: RubyからGoへの旅

Mathilda ThompsonLondonGophersにて)

[動画]

多言語環境におけるGo

Kevin McKelvinLondonGophersにて)

[動画]

この講演でKevinは、Goの採用、多言語環境への移行、成功と課題、そしてGoが彼の会社の全体的なアーキテクチャと戦略にどのように適合するかについて、自身の経験を語ります。

Goサービスの提供

Zak KnillLondonGophersにて)

[動画]

Goサービスの提供:会社にGoを導入し、最初のGoサービスをデプロイした後、次のステップは何でしょうか?この講演では、次に起こることのいくつか、つまり「X(10、20、30)分で新しいサービスを本番環境へ」という伝説的な話や、途中で遭遇する落とし穴について焦点を当てます。

Go-ing Lambda

David BloomanLondonGophersにて)

[動画]

Go-ing Lambda - 本番環境での1年:我々(FundApps)がGoをLambda関数でどのように使用し、金融サービス向けにデータのインポート/スクレイピング/パースを行うサービスを構築し、その上にAPIを構築したか。GoにおけるLambda関数のヒントとコツ、制限、パフォーマンス、Apexフレームワークの使用について。

REDメソッド

Tom WilkieLondonGophersにて)

[動画]

また、採用活動を行っている方や、就職活動中の方に向けたセクションも設けます(前回のように見逃してしまった場合は、遠慮なくお知らせください)。

Goのnetパッケージを悪用して楽しむ&儲ける

Michał WitkowskiLondonGophersにて)

[動画]

この講演では、netパッケージに適用されているGoのコンポジションベースの哲学を創造的に活用して、スタックの機能を大幅に拡張する美しく有用なハックを作成する方法について詳しく説明します。net.Connを探索し、それを創造的な方法で(悪用)する方法について説明します。net/httpを覗き込み、http.Handlerとhttp.Roundtripperインターフェースを創造的に流用して有用なミドルウェアを構築する方法を探索します。その後、net/httpの内部、およびそれらがtls.Connとx/net/http2にどのように関連しているかをさらに深く掘り下げ、それらがどのように機能するかを理解し、その知識を武器に、最も美しいハックのいくつかを示します。

2018年のstringer

Daniel MartìLondonGophersにて)

[動画] [スライド]

2018年のstringer - おそらく聞いたことのない新機能のデモンストレーション。


このコンテンツはGo Wikiの一部です。