Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
新規サービスでGo, GAEを使ってみた話 とその振り返り
Search
takuya tsuruda
May 23, 2018
Technology
0
1.8k
新規サービスでGo, GAEを使ってみた話 とその振り返り
takuya tsuruda
May 23, 2018
Tweet
Share
Other Decks in Technology
See All in Technology
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
310
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
190
テストを軸にした生き残り術
kworkdev
PRO
0
210
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
1k
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
1k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
10
75k
データ分析エージェント Socrates の育て方
na0
5
600
roppongirb_20250911
igaiga
1
240
KotlinConf 2025_イベントレポート
sony
1
140
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
190
Unlocking the Power of AI Agents with LINE Bot MCP Server
linedevth
0
110
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.2k
Featured
See All Featured
Done Done
chrislema
185
16k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
530
How to train your dragon (web standard)
notwaldorf
96
6.2k
The Cult of Friendly URLs
andyhume
79
6.6k
Designing Experiences People Love
moore
142
24k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Speed Design
sergeychernyshev
32
1.1k
Statistics for Hackers
jakevdp
799
220k
Context Engineering - Making Every Token Count
addyosmani
3
57
Transcript
Copyright © DeNA Co., Ltd. All Rights Reserved. 新規サービスでGo, GAEを使ってみた話
とその振り返り 1
Copyright © DeNA Co., Ltd. All Rights Reserved. 自己紹介 2
・基本情報 - DeSCヘルスケア - 新卒2年目 - 鶴田拓也(つるだたくや) ・普段してること - カミナル 開発・運用 - サーバサイドエンジニア
Copyright © DeNA Co., Ltd. All Rights Reserved. 今日話すこと 3
・DeSCヘルスケアのサービス ・新規で作ったプロダクト ・こんな感じで作りました - Google App Engine(GAE) - Deploy - QA環境の構築 - Analytics - DataStore - BigQuery - DataStudio ・失敗したこと・苦戦したこと
Copyright © DeNA Co., Ltd. All Rights Reserved. DeSCヘルスケアのサービス
Copyright © DeNA Co., Ltd. All Rights Reserved. DeSCヘルスケアのサービス KenCoM
さんぽジスタ
Copyright © DeNA Co., Ltd. All Rights Reserved. DeSCヘルスケアのサービス -
利用者の健診結果 - 身体データの記録(歩数・体重・血圧 ・血糖値) - 興味関心に沿った健康情報のレコメ ンデーション - ウォーキングイベント開催 - 活動に応じてポイント取得 KenCoM
Copyright © DeNA Co., Ltd. All Rights Reserved. DeSCヘルスケアのサービス -
歩数管理 - 1対1のデイリー歩数バトル - 健保内での月間歩数ランキング - KenCoMポイントの獲得 さんぽジスタ
Copyright © DeNA Co., Ltd. All Rights Reserved. 今回作ったサービス
Copyright © DeNA Co., Ltd. All Rights Reserved. カミナルとは 9
・歩いたら - 1日8000歩以上 - 週に4日以上 ・ご褒美 - コーヒー - アイス ・2017/10 ~ - 開発開始 ・2018/03 ~ - トライアルスタート
Copyright © DeNA Co., Ltd. All Rights Reserved. こんな感じで作りました
Copyright © DeNA Co., Ltd. All Rights Reserved. こんな感じで作りました
Copyright © DeNA Co., Ltd. All Rights Reserved. こんな感じで作りました ・GAE
+ Go + Datastore ・net/http + GAE libraly ・gorilla/mux, urfave/negroni, pkg/error ….
Copyright © DeNA Co., Ltd. All Rights Reserved. こんな感じで作りました 13
・GAE - サクッと作ってサクッと潰す - 社内の知見を増やす - 使ってみたかった ・Go - Standard EnvironmentでRails使えない - Go使ってみたかった
Copyright © DeNA Co., Ltd. All Rights Reserved. こんな感じで作りました Deployment
Copyright © DeNA Co., Ltd. All Rights Reserved. ~Deploy~ 15
test deploy webhook push
Copyright © DeNA Co., Ltd. All Rights Reserved. ~Deploy~ 16
f/branch_a f/branch_b f/branc_c QA push push push
Copyright © DeNA Co., Ltd. All Rights Reserved. ~Deploy~ 17
f/branch_a f/branch_b f/branch_c version: version: version: QA https://f-branch-a-dot.com - branch毎に環境が作 成される https://f-branch-b-dot.com https://f-branch-c-dot.com
Copyright © DeNA Co., Ltd. All Rights Reserved. ~Deploy~ 18
f/branch_a f/branch_b f/branch_c version: version: version: QA https://f-branch-a-dot.com - debugモードで向き先を 変更できるように
Copyright © DeNA Co., Ltd. All Rights Reserved. こんな感じで作りました Analytics
Copyright © DeNA Co., Ltd. All Rights Reserved. ~Analytics~ 20
Datastore Big Query Data Studio
Copyright © DeNA Co., Ltd. All Rights Reserved. ~Analytics~ 21
Data Studio Big Query
Copyright © DeNA Co., Ltd. All Rights Reserved. 失敗したこと・苦戦したこと
Copyright © DeNA Co., Ltd. All Rights Reserved. 歩数は最新のものが届くとは限らない
Copyright © DeNA Co., Ltd. All Rights Reserved. 歩数送信の流れ 5/21
5/22 12:00 12:00 7000 8000 7000 ①送る! ②8000歩 確定!! 5/21の歩数 ③送る! 8000 23:59
Copyright © DeNA Co., Ltd. All Rights Reserved. 歩数送信の流れ 5/21
5/22 12:00 12:00 7000 8000 7000 7000 ①送る! ②8000歩 確定!! 5/21の歩数 ③送る! 23:59
Copyright © DeNA Co., Ltd. All Rights Reserved. 歩数取得失敗の原因 5/21の実際の歩数
5/21 12:00 5/21 23:59 5/22 12:00 7000 8000 8000 歩数の書き込み ヘルスケアから 取得 7000歩を送る 歩数の書き込み ヘルスケアから 取得 8000歩を送る 7000歩 8000歩
Copyright © DeNA Co., Ltd. All Rights Reserved. 歩数取得失敗の原因 7000
8000 8000 歩数の書き込み ヘルスケアから 取得 7000歩を送る 歩数の書き込み ヘルスケアから 取得 7000歩を送る 歩数の書き込み 5/21 12:00 5/21 23:59 5/22 12:00 7000歩 7000歩 5/21の実際の歩数
Copyright © DeNA Co., Ltd. All Rights Reserved. ヘルスケアの歩数情報 ヘルスケア⇨今日⇨歩数⇨全てのデー
タを表示
Copyright © DeNA Co., Ltd. All Rights Reserved. ヘルスケアの歩数情報 ヘルスケへの追加日⇨
終了時間⇨ ヘルスケア⇨今日⇨歩数⇨全てのデー タを表示 差分
Copyright © DeNA Co., Ltd. All Rights Reserved. 歩数取得失敗の原因 7000
8000 8000 歩数の書き込み ヘルスケアから 取得 7000歩を送る 歩数の書き込み ヘルスケアから 取得 7000歩を送る 歩数の書き込み 5/21 12:00 5/21 23:59 5/22 12:00 7000歩 7000歩 5/21の実際の歩数 差分
Copyright © DeNA Co., Ltd. All Rights Reserved. 歩数取得できない原因 差分
歩数が更新されてからヘルスケアに書き込まれ るまでラグがある カミナルが最新の歩数を取得できない 前日の歩数をポストするが、最新の歩数とは限ら ない 目標を達成しているのに、不達成になってしまう
Copyright © DeNA Co., Ltd. All Rights Reserved. 歩数問題への対応 ・対応
- 判定結果が失敗の場合は最大1週間待つ - 端末側でヘルスケアへの導線を追加 - ヘルスケアを開くと歩数が書き込まれるた め
Copyright © DeNA Co., Ltd. All Rights Reserved. struct に
context を詰めていた
Copyright © DeNA Co., Ltd. All Rights Reserved. 失敗例
Copyright © DeNA Co., Ltd. All Rights Reserved. 失敗例 Do
not store Contexts inside a struct type; instead, pass a Context explicitly to each function that needs it. The Context should be the first parameter, typically named ctx: Go Doc - Package context
Copyright © DeNA Co., Ltd. All Rights Reserved. 対応
Copyright © DeNA Co., Ltd. All Rights Reserved. 理由 struct
をリクエストスコープと紐づけて状態として管理してしまっている ので 別のリクエストスコープから struct を利用できてしまい キャンセル情報が伝搬されない(メモリリークの可能性)
Copyright © DeNA Co., Ltd. All Rights Reserved. まとめ ・Go,
GAEでサクッと構築 ・Datastore, BQ, DataStudio で BI 構築 ・端末からの歩数は最新のものとは限らない ・アンチパターン踏んじゃった
Copyright © DeNA Co., Ltd. All Rights Reserved. ご静聴ありがとうございました。