Enviar búsqueda
Cargar
『歩いておトク』の不具合事例から学ぶトランザクションの落とし穴
•
1 recomendación
•
1,735 vistas
DeNA
Seguir
DeNA TechCon 2018の登壇資料です。
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 20
Recomendados
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DeNA
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
DeNA
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
DeNA
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
DeNA
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
DeNA
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeNA
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
DeNA
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA
Recomendados
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜
DeNA
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
IoTと業務システムをつなぐgRPC/RESTサービスの開発と運用
DeNA
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
Can We Make Maps from Videos? ~From AI Algorithm to Engineering for Continuou...
DeNA
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
DeNA
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
DeNA
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeClang 誕生!Clang ベースのハッキング対策コンパイラ【DeNA TechCon 2020 ライブ配信】
DeNA
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
仕様起因の手戻りを減らして開発効率アップを目指すチャレンジ 【DeNA TechCon 2020 ライブ配信】
DeNA
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA データプラットフォームにおける 自由と統制のバランス【DeNA TechCon 2020 ライブ配信】
DeNA
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
DeNA
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
DeNA
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
DeNA
DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介
DeNA
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
DeNA
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
DeNA
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
DeNA
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
DeNA
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
DeNA
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについて
DeNA
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
DeNA
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
DeNA
知っててもいいかもしれない知財のこと(抜粋版)
知っててもいいかもしれない知財のこと(抜粋版)
DeNA
ゲーム開発者からMaaS開発者へ ゲーム開発のノウハウを活かして 移動体情報配信システムを作ってみた [DeNA TechCon 2019]
ゲーム開発者からMaaS開発者へ ゲーム開発のノウハウを活かして 移動体情報配信システムを作ってみた [DeNA TechCon 2019]
DeNA
パネルディスカッション:データサイエンスの競技者、 Kagglerたちが活躍する職場とは [DeNA TechCon 2019]
パネルディスカッション:データサイエンスの競技者、 Kagglerたちが活躍する職場とは [DeNA TechCon 2019]
DeNA
10年目の『エブリスタ』を支える技術
10年目の『エブリスタ』を支える技術
DeNA
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
DeNA
DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]
DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]
DeNA
DeNAにおけるCorpTechエンジニアリング [DeNA TechCon 2019]
DeNAにおけるCorpTechエンジニアリング [DeNA TechCon 2019]
DeNA
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Más contenido relacionado
Más de DeNA
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
DeNA
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
DeNA
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
DeNA
DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介
DeNA
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
DeNA
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
DeNA
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
DeNA
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
DeNA
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
DeNA
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについて
DeNA
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
DeNA
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
DeNA
知っててもいいかもしれない知財のこと(抜粋版)
知っててもいいかもしれない知財のこと(抜粋版)
DeNA
ゲーム開発者からMaaS開発者へ ゲーム開発のノウハウを活かして 移動体情報配信システムを作ってみた [DeNA TechCon 2019]
ゲーム開発者からMaaS開発者へ ゲーム開発のノウハウを活かして 移動体情報配信システムを作ってみた [DeNA TechCon 2019]
DeNA
パネルディスカッション:データサイエンスの競技者、 Kagglerたちが活躍する職場とは [DeNA TechCon 2019]
パネルディスカッション:データサイエンスの競技者、 Kagglerたちが活躍する職場とは [DeNA TechCon 2019]
DeNA
10年目の『エブリスタ』を支える技術
10年目の『エブリスタ』を支える技術
DeNA
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
DeNA
DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]
DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]
DeNA
DeNAにおけるCorpTechエンジニアリング [DeNA TechCon 2019]
DeNAにおけるCorpTechエンジニアリング [DeNA TechCon 2019]
DeNA
Más de DeNA
(20)
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
リアルタイムリモートデバッグ環境によるゲーム開発イテレーションの高速化【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
MOV の機械学習システムを支える MLOps 実践【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
コンピュータビジョン技術の実応用〜DRIVE CHARTにおける脇見・車間距離不足検知〜【DeNA TechCon 2020 ライブ配信】
DeNA の Slack 導入と活用の事例紹介
DeNA の Slack 導入と活用の事例紹介
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
タクシーxAIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて [SRE NEXT 2020]
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
オートモーティブ領域における 位置情報関連アルゴリズムあれこれ
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
後部座席タブレットにおけるMaaS時代を見据えた半歩先のUX設計」 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
ドライブレコーダ映像からの3次元空間認識 [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOVで実践したサーバーAPI実装の超最適化について [MOBILITY:dev]
MOV お客さま探索ナビの GCP ML開発フローについて
MOV お客さま探索ナビの GCP ML開発フローについて
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
課題ドリブン、フルスタックAI開発術 [MOBILITY:dev]
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
DeNAのQCTマネジメント IaaS利用のベストプラクティス [AWS Summit Tokyo 2019]
知っててもいいかもしれない知財のこと(抜粋版)
知っててもいいかもしれない知財のこと(抜粋版)
ゲーム開発者からMaaS開発者へ ゲーム開発のノウハウを活かして 移動体情報配信システムを作ってみた [DeNA TechCon 2019]
ゲーム開発者からMaaS開発者へ ゲーム開発のノウハウを活かして 移動体情報配信システムを作ってみた [DeNA TechCon 2019]
パネルディスカッション:データサイエンスの競技者、 Kagglerたちが活躍する職場とは [DeNA TechCon 2019]
パネルディスカッション:データサイエンスの競技者、 Kagglerたちが活躍する職場とは [DeNA TechCon 2019]
10年目の『エブリスタ』を支える技術
10年目の『エブリスタ』を支える技術
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]
DeNAゲーム事業におけるデータエンジニアの貢献 [DeNA TechCon 2019]
DeNAにおけるCorpTechエンジニアリング [DeNA TechCon 2019]
DeNAにおけるCorpTechエンジニアリング [DeNA TechCon 2019]
Último
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Último
(10)
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
『歩いておトク』の不具合事例から学ぶトランザクションの落とし穴
1.
『歩いておトク』の不具合事例から学ぶ トランザクションの落とし穴 DeNAライフサイエンス 馬場 南実
2.
自己紹介 • 馬場 南実 -
2017年 新卒入社 - DeNAライフサイエンス 所属 - 歩いておトク - iOS/Android エンジニア 2
3.
『歩いておトク』の紹介 • ドコモヘルスケア社と協業 • 計測された歩数に応じて・・・ -
dポイントがもらえる! - バーチャル旅行が進む! 3
4.
『歩いておトク』の紹介 • ドコモヘルスケア社と協業 • 計測された歩数に応じて・・・ -
dポイントがもらえる! - バーチャル旅行が進む! 4 『歩いておトク』で発生した 歩数データに関する不具合を通して トランザクションに関する学びを得た話
5.
利用者毎の歩数データの更新 • クライアントから定期的に歩数送信され、データベースに保存 - 保存されている歩数より大きい場合のみ、データ更新 5 5000歩
送信 10:30 更新! 0歩 5000歩 2000歩 送信 10:30 更新しない 5000歩 5000歩 5010歩 送信 10:35 更新! 5000歩 5010歩
6.
今回発生した不具合 • 連続した歩数送信時に、不適切な更新が発生してしまった • 次の歩数送信まで歩数が違う値になり、アプリ上の表示に違和感 6 5000歩
送信 10:30 更新! 0歩 5000歩 2000歩 送信 10:30 更新! 0歩 2000歩 5010歩 送信 10:35 更新! 5000歩 5010歩
7.
今回発生した不具合 • 連続した歩数送信時に、不適切な更新が発生してしまった • 次の歩数送信まで歩数が違う値になり、アプリ上の表示に違和感 7 5000歩
送信 10:30 更新! 0歩 5000歩 2000歩 送信 10:30 更新! 0歩 2000歩 5010歩 送信 10:35 更新! 5000歩 5010歩 まずは、正しく動作していた時の 実装から紹介していきます
8.
歩数更新の実装 🙆 • 今からご紹介する実装は、擬似的なコードです •
クライアントから、定期的に歩数送信が行われる 8 クライアント
9.
歩数更新の実装 🙆 • その時サーバーでは、以下のような処理が行われる 9 サーバー
10.
歩数更新のデータ操作 🙆 • その時MySQLでは、以下のようなSQL文が実行される 10 MySQL
11.
複数送信時のデータ操作の流れ 🙆 11 5000歩 送信
2000歩 送信 トランザクション開始 歩数取得&ロック開始 歩数更新 ロック&トランザクション終了 0歩 5000歩 トランザクション開始 歩数取得&ロック開始 0歩 5000歩 ロック待ち 更新後の値を取得 ロック&トランザクション終了
12.
複数送信時のデータ操作の流れ 🙆 12 5000歩 送信
2000歩 送信 トランザクション開始 歩数取得&ロック開始 歩数更新 ロック&トランザクション終了 0歩 5000歩 トランザクション開始 歩数取得&ロック開始 0歩 5000歩 ロック待ち 更新後の値を取得 ロック&トランザクション終了 つづいて、不具合が発生していた時の 実装を紹介します
13.
歩数更新の実装 🙅 • 関係ないテーブルからデータを取得する、たった1行を追加 13 サーバー
14.
歩数更新のデータ操作 🙅 • トランザクション開始とロック開始の間に 一つ処理が入ってしまっている・・・ •
これこそが不具合の原因!! 14 MySQL
15.
複数送信時のデータ操作の流れ 🙅 15 5000歩 送信
2000歩 送信 トランザクション開始 歩数取得&ロック開始 歩数更新 ロック&トランザクション終了 0歩 5000歩 トランザクション開始 歩数取得&ロック開始 ロック&トランザクション終了 0歩 0歩 ロック待ち メッセージ取得 メッセージ取得 歩数更新 2000歩 更新前の 歩数を 取得 不適切な更新
16.
今回ハマった落とし穴 • トランザクションの分離性 - 1つ目のSQLが実行されたタイミングで データベースの状態が切り取られる -
それ以降、別のトランザクションで更新されたデータは読み込めない - データを取得するタイミングによって、結果が 変わってしまうことを防ぐため - トランザクション分離レベルによって挙動は変わる (詳しい説明は割愛) 16
17.
複数送信時のデータ操作の流れ 🙅 17 5000歩 送信
2000歩 送信 トランザクション開始 歩数取得&ロック開始 歩数更新 ロック&トランザクション終了 0歩 5000歩 トランザクション開始 歩数取得&ロック開始 ロック&トランザクション終了 0歩 0歩 ロック待ち メッセージ取得 メッセージ取得 歩数更新 2000歩 切り取り この更新は 反映されず 0歩
18.
複数送信時のデータ操作の流れ 🙅 18 5000歩 送信
2000歩 送信 トランザクション開始 歩数取得&ロック開始 歩数更新 ロック&トランザクション終了 0歩 5000歩 トランザクション開始 歩数取得&ロック開始 ロック&トランザクション終了 0歩 0歩 ロック待ち メッセージ取得 メッセージ取得 歩数更新 2000歩 切り取り この更新は 反映されず 0歩 たった一行のデータ取得により ロック機構が上手く機能しなくなった
19.
歩数更新の実装 🙆 • トランザクション開始の直後にロック開始されるように修正 19 サーバー
20.
まとめ • トランザクション開始の直後にロック開始するのが無難だと思う • ここにハマらないようにする方法があれば教えて欲しい 20 『歩いておトク』で発生した 歩数データに関する不具合を通して トランザクションに関する学びを得た話