Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Takuya Ueda
PDF, PPTX
2,606 views
そうだ、Goを始めよう
GDG Tokyo New Year Seminar 2018で発表した資料です。 https://gdg-tokyo.connpass.com/event/73835/
Technology
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 36
2
/ 36
3
/ 36
4
/ 36
5
/ 36
6
/ 36
7
/ 36
8
/ 36
9
/ 36
10
/ 36
11
/ 36
12
/ 36
13
/ 36
14
/ 36
15
/ 36
16
/ 36
17
/ 36
18
/ 36
19
/ 36
20
/ 36
21
/ 36
22
/ 36
23
/ 36
24
/ 36
25
/ 36
26
/ 36
27
/ 36
28
/ 36
29
/ 36
30
/ 36
31
/ 36
32
/ 36
33
/ 36
34
/ 36
35
/ 36
36
/ 36
More Related Content
PDF
メルカリ カウルのマスタデータの更新
by
Takuya Ueda
PDF
Goにおけるバージョン管理の必要性 − vgoについて −
by
Takuya Ueda
PDF
RSGT参加レポート
by
Noriyuki Nemoto
PDF
プロトタイピングで変わる開発プロセス 一休.comレストランの事例
by
Tetsuya Takeda
PDF
WebAssembly with Go
by
Takuya Ueda
PDF
Google Assistant関係のセッションまとめ
by
Takuya Ueda
PDF
Go Friday 傑作選
by
Takuya Ueda
PDF
GAE/Goとsyncパッケージ
by
Takuya Ueda
メルカリ カウルのマスタデータの更新
by
Takuya Ueda
Goにおけるバージョン管理の必要性 − vgoについて −
by
Takuya Ueda
RSGT参加レポート
by
Noriyuki Nemoto
プロトタイピングで変わる開発プロセス 一休.comレストランの事例
by
Tetsuya Takeda
WebAssembly with Go
by
Takuya Ueda
Google Assistant関係のセッションまとめ
by
Takuya Ueda
Go Friday 傑作選
by
Takuya Ueda
GAE/Goとsyncパッケージ
by
Takuya Ueda
What's hot
PDF
GoによるiOSアプリの開発
by
Takuya Ueda
PDF
GAOGAO事業のご紹介
by
Takuya Tejima
PDF
GAOGAOゲート2期生サービス概要資料
by
Takuya Tejima
PDF
Google colab 2
by
Masatoshi Itagaki
PDF
粗探しをしてGoのコントリビューターになる方法
by
Takuya Ueda
PDF
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
by
Takuya Ueda
PDF
サービスデザイン方法論実践編 第4回ペーパープロトタイピング-Prottのご紹介
by
Tetsuya Takeda
PDF
Introduction
by
Takeshi Akutsu
PDF
Pythonを始めよう
by
shouta yoshikai
PDF
Gceハンズオン20150411イン福岡
by
Ryosuke Akahoshi
PDF
Cloud Functionsの紹介
by
Takuya Ueda
KEY
Dev love hangarflight wintersortie-
by
toshihiro ichitani
PDF
Cloud functionsの紹介
by
Takuya Ueda
PDF
組織と個人が内発的動機により継続的に成長するための施策
by
Yusuke Kojima
PDF
Namespace API を用いたマルチテナント型 Web アプリの実践
by
Takuya Ueda
PDF
GDC15エデュケーション報告 (in Japanese)
by
syamane
PDF
生産性を倍にしたハピネスチームビルディング
by
Yusuke Kojima
PPTX
PyPro2の読みどころ紹介:Python開発の過去と現在
by
Takayuki Shimizukawa
PDF
U1w共有会 21/10/09
by
yousan1
PDF
エンタープライズにおける開発ツールの導入と活用推進
by
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
GoによるiOSアプリの開発
by
Takuya Ueda
GAOGAO事業のご紹介
by
Takuya Tejima
GAOGAOゲート2期生サービス概要資料
by
Takuya Tejima
Google colab 2
by
Masatoshi Itagaki
粗探しをしてGoのコントリビューターになる方法
by
Takuya Ueda
静的解析とUIの自動生成を駆使してモバイルアプリの運用コストを大幅に下げた話
by
Takuya Ueda
サービスデザイン方法論実践編 第4回ペーパープロトタイピング-Prottのご紹介
by
Tetsuya Takeda
Introduction
by
Takeshi Akutsu
Pythonを始めよう
by
shouta yoshikai
Gceハンズオン20150411イン福岡
by
Ryosuke Akahoshi
Cloud Functionsの紹介
by
Takuya Ueda
Dev love hangarflight wintersortie-
by
toshihiro ichitani
Cloud functionsの紹介
by
Takuya Ueda
組織と個人が内発的動機により継続的に成長するための施策
by
Yusuke Kojima
Namespace API を用いたマルチテナント型 Web アプリの実践
by
Takuya Ueda
GDC15エデュケーション報告 (in Japanese)
by
syamane
生産性を倍にしたハピネスチームビルディング
by
Yusuke Kojima
PyPro2の読みどころ紹介:Python開発の過去と現在
by
Takayuki Shimizukawa
U1w共有会 21/10/09
by
yousan1
エンタープライズにおける開発ツールの導入と活用推進
by
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
Similar to そうだ、Goを始めよう
PDF
エキスパートGo
by
Takuya Ueda
PDF
エディタの壁を越えるGoの開発ツールの文化と作成法
by
Takuya Ueda
PDF
Javaプログラマのための頑張らないGo入門
by
yy yank
PPTX
Go言語ってどんな言語? 導入実績や気になるトレンド
by
Atsushi Yasuda
PDF
Goとテスト
by
Takuya Ueda
PDF
メルカリ・ソウゾウでは どうGoを活用しているのか?
by
Takuya Ueda
PDF
Go入門
by
Takuya Ueda
PDF
今日から始めるGopher - スタートGo #0 @GDG名古屋
by
Takuya Ueda
PDF
静的解析を使った開発ツールの開発
by
Takuya Ueda
PDF
What is "Go" Gopher?
by
Ryuji Iwata
PDF
Goでかんたんソースコードの静的解析
by
Takuya Ueda
PDF
GoによるWebアプリ開発のキホン
by
Akihiko Horiuchi
PDF
20130824 Lightweight Language "Go" @LL matsuri
by
Yoshifumi Yamaguchi
PDF
JavaScript経験者のためのGo言語入門
by
Shohei Arai
PDF
私なりのGo言語のご紹介
by
Ryuji Iwata
PDF
Go一緒にいかが?
by
Ryuji Iwata
PDF
Go1.8 for Google App Engine
by
Takuya Ueda
PDF
Goにおける静的解析と製品開発への応用
by
Takuya Ueda
PDF
マスター・オブ・goパッケージ
by
Takuya Ueda
PDF
初心者向けGo言語勉強会
by
leverages_event
エキスパートGo
by
Takuya Ueda
エディタの壁を越えるGoの開発ツールの文化と作成法
by
Takuya Ueda
Javaプログラマのための頑張らないGo入門
by
yy yank
Go言語ってどんな言語? 導入実績や気になるトレンド
by
Atsushi Yasuda
Goとテスト
by
Takuya Ueda
メルカリ・ソウゾウでは どうGoを活用しているのか?
by
Takuya Ueda
Go入門
by
Takuya Ueda
今日から始めるGopher - スタートGo #0 @GDG名古屋
by
Takuya Ueda
静的解析を使った開発ツールの開発
by
Takuya Ueda
What is "Go" Gopher?
by
Ryuji Iwata
Goでかんたんソースコードの静的解析
by
Takuya Ueda
GoによるWebアプリ開発のキホン
by
Akihiko Horiuchi
20130824 Lightweight Language "Go" @LL matsuri
by
Yoshifumi Yamaguchi
JavaScript経験者のためのGo言語入門
by
Shohei Arai
私なりのGo言語のご紹介
by
Ryuji Iwata
Go一緒にいかが?
by
Ryuji Iwata
Go1.8 for Google App Engine
by
Takuya Ueda
Goにおける静的解析と製品開発への応用
by
Takuya Ueda
マスター・オブ・goパッケージ
by
Takuya Ueda
初心者向けGo言語勉強会
by
leverages_event
More from Takuya Ueda
PDF
Go静的解析ハンズオン
by
Takuya Ueda
PDF
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
by
Takuya Ueda
PDF
Mobile Apps by Pure Go with Reverse Binding
by
Takuya Ueda
PDF
GAE/GoでLINE Messaging API を使う
by
Takuya Ueda
PDF
オススメの標準・準標準パッケージ20選
by
Takuya Ueda
PDF
Goでwebアプリを開発してみよう
by
Takuya Ueda
PDF
goパッケージで型情報を用いたソースコード検索を実現する
by
Takuya Ueda
PDF
GAE/GoでWebアプリ開発入門
by
Takuya Ueda
PDF
Gopher Fest 2017参加レポート
by
Takuya Ueda
PDF
条件式評価器の実装による管理ツールの抽象化
by
Takuya Ueda
PDF
Static Analysis in Go
by
Takuya Ueda
Go静的解析ハンズオン
by
Takuya Ueda
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
by
Takuya Ueda
Mobile Apps by Pure Go with Reverse Binding
by
Takuya Ueda
GAE/GoでLINE Messaging API を使う
by
Takuya Ueda
オススメの標準・準標準パッケージ20選
by
Takuya Ueda
Goでwebアプリを開発してみよう
by
Takuya Ueda
goパッケージで型情報を用いたソースコード検索を実現する
by
Takuya Ueda
GAE/GoでWebアプリ開発入門
by
Takuya Ueda
Gopher Fest 2017参加レポート
by
Takuya Ueda
条件式評価器の実装による管理ツールの抽象化
by
Takuya Ueda
Static Analysis in Go
by
Takuya Ueda
そうだ、Goを始めよう
1.
The Go gopher
was designed by Renée French. The gopher stickers was made by Takuya Ueda. Licensed under the Creative Commons 3.0 Attributions license. そうだ、Goを始めよう 2018年1月16日(火) @GDG Tokyo New Year Seminar 2018
2.
自己紹介 上田拓也 @tenntenn 所属 コミュニティ活動 & Go ビギナーズ Go Conference 上田拓也 @tenntenn
3.
ソウゾウ エキスパートチーム 技術をアウトプットするところに技術は集まる ■ エキスパートチームとは? ●
50%以上の時間を技術コミュニティへの貢献に充てる ■ エキスパートチームの役割 ● 社内に新しい技術を取り取り込む ● 社外のコミュニティなどを通じて社会へ還元する ■ エキスパートチームの活動 ● カンファレンス・勉強会の開催/運営 ● 対外的な講演活動 ● 執筆、雑誌への寄稿、インタビュー ● 社内外での担当技術の普及推進 @tenntenn 担当:Go・GCP @mhidaka 担当:Android メンバー
4.
そうだ、Goを始めよう
5.
Goとは? ■ Googleが開発したプログラミング言語 ● 2009年11月に最初のバージョンをオープンソースで公開 ○
2012年3月に正式バージョンであるGo1.0を公開 ○ 2017年12月の最新バージョンはGo1.9 ● Robert Griesemer、Rob Pike、Ken Thompsonによって設計された ■ 特徴 ● 強力でシンプルな言語設計と文法 ● 並行プログラミング ● 豊富な標準ライブラリ群 ● 周辺ツールの充実 ● シングルバイナリ・クロスコンパイル
6.
Goが開発された理由 ■ Google内の課題を解決するために開発された ● 開発速度の低下 ○
超巨大なコードベース ○ 複雑な依存関係 ● マルチコア時代のシステム言語 ○ 並行処理とガベージコレクタを同時に採用 ● 軽量プログラミング言語(LL, Light weight Language)の盛り上がり ○ 静的型付け言語だとコンパイル時にエラーが発見できる ○ 動的型付け言語だと書きやすい ○ いいところ取りの書きやすい静的型付け言語がない
7.
Goを学ぶ理由 ■ 多くのプロダクトで採用 ■ メルカリ、メルカリ
カウル ■ Docker、Kubernetes ■ AbemaTV、AWA ■ AndApp ■ ペアーズ ■ チーム開発に向いている ■ 静的型付け ■ 文法がシンプル ■ パフォーマンスが良い ■ ゴールーチンとチャネル ■ バイナリになる スタートアップから 大規模開発まで対応できる
8.
よし、Goを始めよう
9.
でも、自前でサーバたてるの大変ですよね?
10.
Google App Engineでも使えるよ
11.
Google App Engineとは ■
Google が提供するPaaS ● 高いスケーラビリティ ● メンテナンスコストが低い ■ スタンダード環境とフレキシブル環境 ● スタンダード環境 ○ 従来からあるGAEの環境、SEとも ○ Go、Java8、Python 2.7、PHPが使える ○ Goはインスタンスの起動が恐ろしく早い ● フレキシブル環境 ○ 旧MVMs、FEとも ○ Go、Java8、Python 2.7/3.4、Node.js、Ruby 11
12.
簡単に始められる ※GopherConのパンフレットより
13.
でも、サーバサイドの言語ですよね?
14.
コマンドラインツールも作れるよ
15.
標準パッケージが充実 ■ コマンドラインツールに便利な標準パッケージ flag コマンドライン引数 os,
path/filepath ファイル操作など strings テキスト処理 encoding JSON, XML, CSVなど
16.
コマンドラインツールを作ろう ■ 環境変数のGOOSとGOARCHを指定する 開発環境とは違うOSやアーキテクチャ向けにクロスコンパイルできる 16 シングルバイナリになるので 動作環境を用意しなくてよい # Windows(32ビット)向けにコンパイル $
GOOS=windows GOARCH=386 go build # Linux(64ビット)向けにコンパイル $ GOOS=linux GOARCH=amd64 go build ※ go build はGoのソースコードをビルドするコマンド
17.
よし、Goを始めよう
18.
でも、Androidエンジニアだし...
19.
モバイルアプリも作れるよ
20.
Go Mobile ■ Goでモバイルアプリを作るツール群 ●
iOS / Androidに対応 ● golang.org/x/mobile ■ 2通りのスタイル ● Nativeアプリ ⇒ Goだけで書く ● SDKアプリ ⇒ Goで書いたライブラリを呼び出す 参考:https://github.com/golang/go/wiki/Mobile
21.
よし、Goを始めよう
22.
でも、フロントエンドエンジニアだし...
23.
フロントエンド書けますよ
24.
GopherJS ■ GoからJavaScriptを生成するツール群 ● ゴールーチンとチャネルに対応 ●
ほとんどの標準パッケージに対応 ● Node.JSでも動く ● Java(Nashorn)でも動く
25.
デモ https://gopherjs.github.io/playground/
26.
でも、重いんでしょ?
27.
WebAssemblyに対応が進んでる ■ WebAssembly ● ブラウザ上で実行できるバイナリ形式の言語 ●
ネイティブに近いパフォーマンスで動作する ● C/C++などをコンパイルする ■ Goの対応状況 ● https://blog.gopheracademy.com/advent-2017/go-wasm/ ● 実装が進み始めている ● まだJSとの連携を取る方法がない
28.
デモ https://blog.gopheracademy.com/advent-2017/go-wasm/
29.
よし、Goを始めよう
30.
どうやって勉強するの?
31.
A Tour of
Go ■ ブラウザ上で実行できるチュートリアル ● https://go-tour-jp.appspot.com
32.
ドキュメントを読む ■ 言語仕様 ● コンパクトな言語仕様なので簡単に読める ■
Go Code Review Comments (日本語訳) ● Goらしい書き方が学べる ■ Effective Go ● Code Review Commentsより詳しい内容 ■ パッケージドキュメント ● ドキュメントをしっかり読む
33.
Goをコミュニティで学ぶ ■ Goビギナーズ ● https://go-beginners.connpass.com/ ●
初心者向けのGoのコミュニティ ■ golang.tokyo ● https://golangtokyo.connpass.com/ ● Goの採用企業間で情報共有をするコミュニティ ■ Go Conference ● https://gocon.connpass.com/ ● 日本最大のGoのカンファレンス ■ Gophers Slack ● https://invite.slack.golangbridge.org/ ● 世界中のGopher(Goのユーザ)が集まる Go ビギナーズ Go Conference
34.
大学で学ぶ ■ 2018年は大学で講義する予定です ● 集中講義を計画中 ●
おそらく2校くらい ● 他にも絶賛募集中 ■ 学生のGoのコミュニティもあります ● 招待フォーム:https://goo.gl/vm7PpN
35.
まとめ ■ Goでできること ● サーバサイドの言語として ○
Google App Engineではじめよう ● コマンドラインツールを作る ● モバイルアプリを作る [experimental] ● フロントエンドを書く ○ GopherJS ○ WebAssembly [experimental] ■ Goを学ぶ ● 公式チュートリアルやドキュメント ● コミュニティ ● 学校
36.
Thank you! twitter: @tenntenn Qiita:
tenntenn connpass: tenntenn 36
Download