Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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.9k
新規サービスでGo, GAEを使ってみた話 とその振り返り
takuya tsuruda
May 23, 2018
Tweet
Share
Other Decks in Technology
See All in Technology
Identity Management for Agentic AI 解説
fujie
0
320
Kiro を用いたペアプロのススメ
taikis
3
1.3k
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
1.7k
100以上の新規コネクタ提供を可能にしたアーキテクチャ
ooyukioo
0
210
1人1サービス開発しているチームでのClaudeCodeの使い方
noayaoshiro
2
530
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
3
220
業務のトイルをバスターせよ 〜AI時代の生存戦略〜
staka121
PRO
2
240
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
5
1.6k
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
1.1k
Building Serverless AI Memory with Mastra × AWS
vvatanabe
0
100
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
0
300
AI時代の新規LLMプロダクト開発: Findy Insightsを3ヶ月で立ち上げた舞台裏と振り返り
dakuon
0
360
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The SEO Collaboration Effect
kristinabergwall1
0
300
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
390
It's Worth the Effort
3n
187
29k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
140
Practical Orchestrator
shlominoach
190
11k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
87
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Navigating Team Friction
lara
191
16k
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. ご静聴ありがとうございました。