SlideShare a Scribd company logo
ヤフーにおけるGoの一例紹介
加藤 一郎
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
About Me
 加藤一郎
 所属:ヤフー株式会社
 開発:
 Kotlin(Android、BE)
 Golang(BFF、ライブラリ)
 趣味:
 キャンプ
 BBQ
 旅行
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
今までGoとの絡み
 期間:
 一年ほど
 内容
 主にサービスのBFFの開発
 兼務でGoサポートチームに所属し、
ライブラリの作成
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
BFF
 アプリ専用マッシュアップAPI
 本体APIとアプリ間をつなぐ役目
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
BFF
 なぜGoを採用したのか
 非同期に向いていてパフォーマンスも期待できる
 XMLやJSONのパース処理が速い
 実装がシンプルゆえ、集団開発において品質を保
ち易そう
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
BFF
 導入している主な非標準ライブラリ
 pkg/profile
 rubyist/circuitbreaker
 gopkg.in/jarcoal/httpmock.v1
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
Goを始めて最初思った事
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
 Google製で安心、なんとなく性能良さそう
 Gopherかわいいなー、何の動物だろう
 標準ライブラリが豊富すぎる
 実行速度が速い
 クラスがないのは少し戸惑った
 構文の種類が多言語より少ない
 if err != nil { ... } めちゃ書くなー
 学習コストが少ない
余談:ある調査によるとGoエンジニアの年収が一番高いらしい!
Goサポートチーム
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
 チーム構成
 メンバー:5人
 隔週で一回集まって作業する
 役割:
 各サービスのGoを使うにあたっての支援
Goサポートチーム
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
 主な活動:
 Goを使っているチームへのヒアリング
 需要があるライブラリの精査
 サービス間認証ライブラリの作成
THANK YOU
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.

More Related Content

Similar to ヤフーにおけるGoの一例紹介

animation_prototype_campfire_design
animation_prototype_campfire_designanimation_prototype_campfire_design
animation_prototype_campfire_design
Yahoo!デベロッパーネットワーク
 
Text gen-and-gpt2
Text gen-and-gpt2Text gen-and-gpt2
Text gen-and-gpt2
Takatsugu Nokubi
 
iphone5 発表イベント 最速まとめLT
iphone5 発表イベント 最速まとめLTiphone5 発表イベント 最速まとめLT
iphone5 発表イベント 最速まとめLTVOYAGE GROUP
 
iphone5 発表イベント 速報まとめ
iphone5 発表イベント 速報まとめiphone5 発表イベント 速報まとめ
iphone5 発表イベント 速報まとめVOYAGE GROUP
 
Gihyo Digital Publishing10年の歩み~専門書・専門雑誌の電子出版の過去・現在・未来
Gihyo Digital Publishing10年の歩み~専門書・専門雑誌の電子出版の過去・現在・未来Gihyo Digital Publishing10年の歩み~専門書・専門雑誌の電子出版の過去・現在・未来
Gihyo Digital Publishing10年の歩み~専門書・専門雑誌の電子出版の過去・現在・未来
馮 富久
 
ARCoreアプリを作ってみよう
ARCoreアプリを作ってみようARCoreアプリを作ってみよう
ARCoreアプリを作ってみよう
ichirokato5
 
DroidKaigi 2018 - Dialogflow for Android
DroidKaigi 2018 - Dialogflow for AndroidDroidKaigi 2018 - Dialogflow for Android
DroidKaigi 2018 - Dialogflow for Android
SENSY Inc
 
ライブ配信コンテンツ「ワイキュー」でやったこと
ライブ配信コンテンツ「ワイキュー」でやったことライブ配信コンテンツ「ワイキュー」でやったこと
ライブ配信コンテンツ「ワイキュー」でやったこと
SaoriSomeya
 
YJTC18 C-1 Kotlin導入の状況と展望
YJTC18 C-1 Kotlin導入の状況と展望YJTC18 C-1 Kotlin導入の状況と展望
YJTC18 C-1 Kotlin導入の状況と展望
Yahoo!デベロッパーネットワーク
 
GitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyo
GitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyoGitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyo
GitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyo
Yahoo!デベロッパーネットワーク
 
全社デザインシステムとサービスの付き合い方
 全社デザインシステムとサービスの付き合い方 全社デザインシステムとサービスの付き合い方
全社デザインシステムとサービスの付き合い方
Yahoo!デベロッパーネットワーク
 
Yahoo!カレンダーにおける技術移行について - Legacy Meetup Kyoto -
Yahoo!カレンダーにおける技術移行について - Legacy Meetup Kyoto -Yahoo!カレンダーにおける技術移行について - Legacy Meetup Kyoto -
Yahoo!カレンダーにおける技術移行について - Legacy Meetup Kyoto -
Yahoo!デベロッパーネットワーク
 
Golang入門
Golang入門Golang入門
Golang入門
Yukihiro Kitazawa
 
Unification of the middle scale services by Nuxt.js
Unification of the middle scale services by Nuxt.jsUnification of the middle scale services by Nuxt.js
Unification of the middle scale services by Nuxt.js
HajimeSasanuma
 
未経験新卒入社でできること
未経験新卒入社でできること未経験新卒入社でできること
未経験新卒入社でできること
GMOアドパートナーズ株式会社
 
ヤフーにおけるkotlinとのかかわり #kotlinfest
ヤフーにおけるkotlinとのかかわり #kotlinfestヤフーにおけるkotlinとのかかわり #kotlinfest
ヤフーにおけるkotlinとのかかわり #kotlinfest
Yahoo!デベロッパーネットワーク
 

Similar to ヤフーにおけるGoの一例紹介 (16)

animation_prototype_campfire_design
animation_prototype_campfire_designanimation_prototype_campfire_design
animation_prototype_campfire_design
 
Text gen-and-gpt2
Text gen-and-gpt2Text gen-and-gpt2
Text gen-and-gpt2
 
iphone5 発表イベント 最速まとめLT
iphone5 発表イベント 最速まとめLTiphone5 発表イベント 最速まとめLT
iphone5 発表イベント 最速まとめLT
 
iphone5 発表イベント 速報まとめ
iphone5 発表イベント 速報まとめiphone5 発表イベント 速報まとめ
iphone5 発表イベント 速報まとめ
 
Gihyo Digital Publishing10年の歩み~専門書・専門雑誌の電子出版の過去・現在・未来
Gihyo Digital Publishing10年の歩み~専門書・専門雑誌の電子出版の過去・現在・未来Gihyo Digital Publishing10年の歩み~専門書・専門雑誌の電子出版の過去・現在・未来
Gihyo Digital Publishing10年の歩み~専門書・専門雑誌の電子出版の過去・現在・未来
 
ARCoreアプリを作ってみよう
ARCoreアプリを作ってみようARCoreアプリを作ってみよう
ARCoreアプリを作ってみよう
 
DroidKaigi 2018 - Dialogflow for Android
DroidKaigi 2018 - Dialogflow for AndroidDroidKaigi 2018 - Dialogflow for Android
DroidKaigi 2018 - Dialogflow for Android
 
ライブ配信コンテンツ「ワイキュー」でやったこと
ライブ配信コンテンツ「ワイキュー」でやったことライブ配信コンテンツ「ワイキュー」でやったこと
ライブ配信コンテンツ「ワイキュー」でやったこと
 
YJTC18 C-1 Kotlin導入の状況と展望
YJTC18 C-1 Kotlin導入の状況と展望YJTC18 C-1 Kotlin導入の状況と展望
YJTC18 C-1 Kotlin導入の状況と展望
 
GitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyo
GitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyoGitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyo
GitHubを導入したいとき、どう説得していこう #GitHubSatelliteTokyo
 
全社デザインシステムとサービスの付き合い方
 全社デザインシステムとサービスの付き合い方 全社デザインシステムとサービスの付き合い方
全社デザインシステムとサービスの付き合い方
 
Yahoo!カレンダーにおける技術移行について - Legacy Meetup Kyoto -
Yahoo!カレンダーにおける技術移行について - Legacy Meetup Kyoto -Yahoo!カレンダーにおける技術移行について - Legacy Meetup Kyoto -
Yahoo!カレンダーにおける技術移行について - Legacy Meetup Kyoto -
 
Golang入門
Golang入門Golang入門
Golang入門
 
Unification of the middle scale services by Nuxt.js
Unification of the middle scale services by Nuxt.jsUnification of the middle scale services by Nuxt.js
Unification of the middle scale services by Nuxt.js
 
未経験新卒入社でできること
未経験新卒入社でできること未経験新卒入社でできること
未経験新卒入社でできること
 
ヤフーにおけるkotlinとのかかわり #kotlinfest
ヤフーにおけるkotlinとのかかわり #kotlinfestヤフーにおけるkotlinとのかかわり #kotlinfest
ヤフーにおけるkotlinとのかかわり #kotlinfest
 

ヤフーにおけるGoの一例紹介

Editor's Notes

  1. ユニットテストに適している
  2. Goサポートチームが生まれた背景 Go言語の利用において、社内提供されているライブラリのGo版がない状態であった →また提供側にGo言語のスキル持った人間がいなかった →サポートチームを作成し、Go言語で必要なライブラリの洗い出しを行った →必要なライブラリに対して、サポートチームが開発する、もしくは必要とするチームに開発してもらい、それを管理していくことが役割