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
How to manage data inconsistency
Search
kenkaton
January 29, 2020
Programming
250
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to manage data inconsistency
kenkaton
January 29, 2020
More Decks by kenkaton
See All by kenkaton
When we should use stub and mock
kenkaton
0
310
About Strict Memoization
kenkaton
0
460
Other Decks in Programming
See All in Programming
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.5k
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
310
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
190
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
170
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
260
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
320
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
880
共通化で考えるべきは、実装より公開する型だった
codeegg
0
220
act1-costs.pdf
sumedhbala
0
220
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
160
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
210
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
290
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Invisible Side of Design
smashingmag
301
52k
Google's AI Overviews - The New Search
badams
0
1.1k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
190
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
210
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Transcript
Re:valua t ion https://fril.jp/ L ead & Delight User F
irst Ownership Fail Smart σʔλෆ߹ͱͷઓ͍
ࣗݾհ
!LFOLBUPO !LFOLBUPO ϥΫϚͰαʔόʔαΠυΛ த৺ʹΤϯδχΞͬͯΔຽ ࣗݾհ ͔ͱ͚Μ
ࣗݾհ ɾֶੜ࣌ ɹɹɹಓ͔ͨ͠͠هԱ͕ͳ͍ʑΛૹ͍͕ͬͯͨʜ
ࣗݾհ ɾͳ͔ͥͪΌ͔ͬΓͱ ɹɹɹɹอ݈ମҭͷڭһ໔ڐ͚ͩऔಘͯ͠ʜ
ࣗݾհ ɾؾ͍ͨΒ*5ۀքͰXFCΤϯδχΞΛ͍ͯͨ͠
ࣗݾհ͜ͷ͘Β͍ʹ͓͍ͯͯ͠
σʔλෆ߹ͱͷઓ͍
ࠓ͢͜ͱ w σʔλෆ߹ͷى͜Γͦ͏ͳέʔε w σʔλෆ߹Λम෮͢Δ w 8SJUF3FQBJS w
"TZODISPOPVT3FQBJS w ͓ΘΓʹ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε όοΫΤϯυ ϑϩϯτΤϯυ %# αʔϏε" αʔϏε#
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε όοΫΤϯυ ϑϩϯτΤϯυ %# αʔϏε" αʔϏε# /8Τϥʔ͡Όᶃ
ᶃ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε όοΫΤϯυ ϑϩϯτΤϯυ %# αʔϏε" αʔϏε# /8Τϥʔ͡Όᶃᶄ
ᶃ ᶄ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε όοΫΤϯυ ϑϩϯτΤϯυ %# αʔϏε" αʔϏε# /8Τϥʔ͡Όᶃᶄ
ᶃ ᶄ %#Τϥʔ͡Όᶅ ᶅ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε όοΫΤϯυ ϑϩϯτΤϯυ %# αʔϏε" αʔϏε# /8Τϥʔ͡Όᶃᶄᶆ
ᶃ ᶄ %#Τϥʔ͡Όᶅ ᶅ ᶆ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε όοΫΤϯυ ϑϩϯτΤϯυ %# αʔϏε" αʔϏε# /8Τϥʔ͡Όᶃᶄᶆᶇ
ᶃ ᶄ %#Τϥʔ͡Όᶅ ᶅ ᶆ ᶇ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε όοΫΤϯυ ϑϩϯτΤϯυ %# αʔϏε" αʔϏε# /8Τϥʔ͡Όᶃᶄᶆᶇᶈ
ᶃ ᶄ %#Τϥʔ͡Όᶅ ᶅ ᶆ ᶇ ᶈ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε όοΫΤϯυ ϑϩϯτΤϯυ %# αʔϏε" αʔϏε# /8Τϥʔ͡Όᶃᶄᶆᶇᶈ
ᶃ ᶄ %#Τϥʔ͡Όᶅ ᶅ ᶆ ᶇ ᶈ ॻ͖ࠐΈ͕ޭ͍ͯ͠Δͷʹࣦഊʂʁ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε Ϣʔβʔେࠞཚͷঢ়گΛ࡞Δ͜ͱʹޭ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε ͏ͪΐ͍ෳࡶͳͷʜ όοΫΤϯυ ϑϩϯτΤϯυ %#ᶄ αʔϏε" αʔϏε#
%#ᶃ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε ͏ͪΐ͍ෳࡶͳͷʜ όοΫΤϯυ ϑϩϯτΤϯυ %#ᶄ αʔϏε" αʔϏε#
%#ᶃ ᶃ /8Τϥʔ͡Όᶃ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε ͏ͪΐ͍ෳࡶͳͷʜ όοΫΤϯυ ϑϩϯτΤϯυ %#ᶄ αʔϏε" αʔϏε#
%#ᶃ ᶃ /8Τϥʔ͡Όᶃ ᶄ %#Τϥʔ͡Όᶄ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε ͏ͪΐ͍ෳࡶͳͷʜ όοΫΤϯυ ϑϩϯτΤϯυ %#ᶄ αʔϏε" αʔϏε#
%#ᶃ ᶃ /8Τϥʔ͡Όᶃᶅ ᶄ %#Τϥʔ͡Όᶄ ᶅ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε ͏ͪΐ͍ෳࡶͳͷʜ όοΫΤϯυ ϑϩϯτΤϯυ %#ᶄ αʔϏε" αʔϏε#
%#ᶃ ᶃ /8Τϥʔ͡Όᶃᶅ ᶄ %#Τϥʔ͡Όᶄᶆ ᶅ ᶆ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε ͏ͪΐ͍ෳࡶͳͷʜ όοΫΤϯυ ϑϩϯτΤϯυ %#ᶄ αʔϏε" αʔϏε#
%#ᶃ ᶃ /8Τϥʔ͡Όᶃᶅᶇ ᶄ %#Τϥʔ͡Όᶄᶆ ᶅ ᶆ ᶇ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε ͏ͪΐ͍ෳࡶͳͷʜ όοΫΤϯυ ϑϩϯτΤϯυ %#ᶄ αʔϏε" αʔϏε#
%#ᶃ ᶃ /8Τϥʔ͡Όᶃᶅᶇᶈ ᶄ %#Τϥʔ͡Όᶄᶆ ᶅ ᶆ ᶇ ᶈ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε ͏ͪΐ͍ෳࡶͳͷʜ όοΫΤϯυ ϑϩϯτΤϯυ %#ᶄ αʔϏε" αʔϏε#
%#ᶃ ᶃ /8Τϥʔ͡Όᶃᶅᶇᶈᶉ ᶄ %#Τϥʔ͡Όᶄᶆ ᶅ ᶆ ᶇ ᶈ ᶉ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε ͏ͪΐ͍ෳࡶͳͷʜ όοΫΤϯυ ϑϩϯτΤϯυ αʔϏε" αʔϏε# ᶃ
/8Τϥʔ͡Όᶃᶅᶇᶈᶉᶊ ᶄ %#Τϥʔ͡Όᶄᶆ ᶅ ᶆ ᶇ ᶈ ᶉ ᶊ %#ᶃ %#ᶄ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε ͏ͪΐ͍ෳࡶͳͷʜ όοΫΤϯυ ϑϩϯτΤϯυ αʔϏε" αʔϏε# ᶃ
/8Τϥʔ͡Όᶃᶅᶇᶈᶉᶊ ᶄ %#Τϥʔ͡Όᶄᶆ ᶅ ᶆ ᶇ ᶈ ᶉ ᶊ %#ᶃ %#ᶄ ᶅᶆᶇ%#ᶃʹॻ͖ࠐΈޭˍ%#ᶄະॻ͖ࠐΈ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε ͍ɺݟࣄʹσʔλෆ߹ͷͰ͢
ࠓ͢͜ͱ w σʔλෆ߹ͷى͜Γͦ͏ͳέʔε w σʔλෆ߹Λम෮͢Δ w 8SJUF3FQBJS w
"TZODISPOPVT3FQBJS w ͓ΘΓʹ
σʔλෆ߹Λम෮͢Δ
σʔλෆ߹Λम෮͢Δ w 8SJUF3FQBJS w ϦτϥΠ w ଟॏϦΫΤετͱಉҰੑ w
*EFNQPUFOU3FRVFTUT w τϥϯβΫγϣϯͷঢ়ଶཧ w "TZODISPOPVT3FQBJS w σʔλڝ߹ͷճආ
σʔλෆ߹Λम෮͢Δ w 8SJUF3FQBJS w ϦτϥΠ w ଟॏϦΫΤετͱಉҰੑ w
*EFNQPUFOU3FRVFTUT w τϥϯβΫγϣϯͷঢ়ଶཧ w "TZODISPOPVT3FQBJS w σʔλڝ߹ͷճආ
σʔλෆ߹Λम෮͢Δ w 8SJUF3FQBJS w ϦτϥΠ w ଟॏϦΫΤετͱಉҰੑ w
*EFNQPUFOU3FRVFTUT w τϥϯβΫγϣϯͷঢ়ଶཧ w "TZODISPOPVT3FQBJS w σʔλڝ߹ͷճආ
σʔλෆ߹Λम෮͢ΔʢϦτϥΠʣ όοΫΤϯυ ϑϩϯτΤϯυ %#ᶄ αʔϏε" αʔϏε# %#ᶃ ॲཧʹࣦഊͨ͠ͷͳΒɺ"1*ϦΫΤετΛϦτϥΠͯ͠ΈΔͷ͡Ό
˞ͨͩ͠ɺΫϥΠΞϯτΤϥʔͷΑ͏ͳɺ ɹɹɹͦͦϦΫΤετࣗମ͕ޡ͍ͬͯΔ߹ແҙຯͳͷͰҙ
σʔλෆ߹Λम෮͢ΔʢϦτϥΠʣ SFUSZɺ SFTDVFઅͰCFHJOࣜΛ ͡Ί͔Β͏Ұ࣮ߦ͢Δͷʹ ༻͢Δͷ͡Ό IUUQTEPDTSVCZMBOHPSHKBMBUFTUEPDTQFDGDPOUSPMIUNMSFUSZ
σʔλෆ߹Λम෮͢ΔʢϦτϥΠʣ ͋ΕɺͰ%#ͷॻ͖ࠐΈޭͯ͠Δ͚Ͳ Ϩεϙϯε͚ͩਖ਼ৗʹฦ͖ͬͯͯͳ͍߹͋ΔΑͶʜ
σʔλෆ߹ͷى͜Γͦ͏ͳέʔε ͏ͪΐ͍ෳࡶͳͷʜ όοΫΤϯυ ϑϩϯτΤϯυ αʔϏε" αʔϏε# ᶃ
/8Τϥʔ͡Όᶃᶅᶇᶈᶉᶊ ᶄ %#Τϥʔ͡Όᶄᶆ ᶅ ᶆ ᶇ ᶈ ᶉ ᶊ %#ᶃ %#ᶄ
σʔλෆ߹Λम෮͢ΔʢଟॏϦΫΤετͱಉҰੑʣ όοΫΤϯυ ϑϩϯτΤϯυ %#ᶄ αʔϏε" αʔϏε# %#ᶃ ޭͷϨεϙϯε͕ฦͬͯ͜ͳ͍߹Ͱɺ
ϦτϥΠʹΑͬͯσʔλ͕ෳ࡞͞ΕΔՄೳੑʜ
σʔλෆ߹Λम෮͢ΔʢଟॏϦΫΤετͱಉҰੑʣ ෳͷಉҰσʔλ͕࡞ΒΕΔ͔͠Εͳ͍ͱ͍͏͜ͱʜ ɹྫ͑ɺଟॏܾࡁ͕ߦΘΕͯ͠·͏ʜʂʂʂ ਂࠁͳຄൃʂlϦτϥΠzΊͬͪΌ͐ͭʂʂʂ
σʔλෆ߹Λम෮͢ΔʢଟॏϦΫΤετͱಉҰੑʣ ͱɺͳΒͳ͍ΜͰ͢ΑͶʔX ͦ͜Ͱग़ͯ͘Δͷ͕
σʔλෆ߹Λम෮͢Δ w 8SJUF3FQBJS w ϦτϥΠ w ଟॏϦΫΤετͱಉҰੑ w
*EFNQPUFOU3FRVFTUT w τϥϯβΫγϣϯͷঢ়ଶཧ w "TZODISPOPVT3FQBJS w σʔλڝ߹ͷճආ
σʔλෆ߹Λम෮͢Δʢ*EFNQPUFOU3FRVFTUTʣ *EFNQPUFOUͱ ɹႈੑ ͖ͱ͏͍ͤ ͷ͜ͱ ႈੑͱ ɹಉ͡ૢ࡞ΛԿ܁Γฦͯ͠ɺಉ݁͡Ռ͕ಘΒΕΔ ΄΄͒ʔ
σʔλෆ߹Λम෮͢Δʢ*EFNQPUFOU3FRVFTUTʣ ͭ·Γ*EFNQPUFOU3FRVFTUTͱ ͋ΔϦΫΤετΛԿճϦτϥΠͯ͠ɺৗʹ݁ՌҰॹʂ
σʔλෆ߹Λम෮͢Δʢ*EFNQPUFOU3FRVFTUTʣ ͭ·Γ*EFNQPUFOU3FRVFTUTͱ ͋ΔϦΫΤετΛԿճϦτϥΠͯ͠ɺৗʹ݁ՌҰॹʂ ͍ɺ͜Ε༏উͰ͢
σʔλෆ߹Λम෮͢Δʢ*EFNQPUFOU3FRVFTUTʣ *EFNQPUFOU3FRVFTUTʹ͍ͭͯ ɾΫϥΠΞϯτ͕ϢʔβͷೖྗΛͱʹ*EFNQPUFODZ,FZΛੜ ɾαʔό*EFNQPUFODZ,FZͰطଘͷσʔλͱॏෳ͠ͳ͍͔֬ೝ ɾಉҰͷ*EFNQPUFODZ,FZ͕ͳ͍߹৽ن࡞ɺ ɹɹಉҰͷͷ͕͋Δ߹σʔλ࡞͕ޭͷϨεϙϯεΛฦ͢
σʔλෆ߹Λम෮͢Δ w 8SJUF3FQBJS w ϦτϥΠ w ଟॏϦΫΤετͱಉҰੑ w
*EFNQPUFOU3FRVFTUT w τϥϯβΫγϣϯͷঢ়ଶཧ w "TZODISPOPVT3FQBJS w σʔλڝ߹ͷճආ
σʔλෆ߹Λम෮͢ΔʢτϥϯβΫγϣϯͷঢ়ଶཧʣ ͰੈͷதͷγεςϜ ɹͦΜͳʹ୯७͡Όͳ͍͜ͱ͕ଟ͍ͷ͡Ό ɹɹɹྫ͑ʜ ͱ΄΄
σʔλෆ߹Λम෮͢ΔʢτϥϯβΫγϣϯͷঢ়ଶཧʣ όοΫΤϯυ ϑϩϯτΤϯυ αʔϏε" αʔϏε# %#ᶃ %#ᶄ ֎෦"1*
%#ᶅ
σʔλෆ߹Λम෮͢ΔʢτϥϯβΫγϣϯͷঢ়ଶཧʣ ɾόοΫΤϯυႈੑΛ୲อ͢Δ࣮͕ඞཁ ɾҰॲཧશ͕ͯҰτϥϯβΫγϣϯͰ ɹɹྃͤ͞ΒΕΕ͍͍͕ݱ࣮తͳ࣮Ͱͳ͍
σʔλෆ߹Λम෮͢ΔʢτϥϯβΫγϣϯͷঢ়ଶཧʣ όοΫΤϯυ ϑϩϯτΤϯυ αʔϏε" αʔϏε# %#ᶃ %#ᶄ ֎෦"1*
%#ᶅ ˋ ˋ ˋ ʷʷ ͘Β͍
σʔλෆ߹Λम෮͢ΔʢτϥϯβΫγϣϯͷঢ়ଶཧʣ ղܾࡦͱͯ͠ʜ ɾτϥϯβΫγϣϯΛΑΓཻͷࡉ͔͍୯Ґʹׂ ɾͦΕʹ߹ΘͤͯϦτϥΠͷ୯Ґׂ ɾͲͷॲཧ·ͰਐΜͩͷ͔ஈ֊తʹཧͰ͖Δʂ
σʔλෆ߹Λम෮͢ΔʢτϥϯβΫγϣϯͷঢ়ଶཧʣ όοΫΤϯυ ϑϩϯτΤϯυ αʔϏε" αʔϏε# %#ᶃ %#ᶄ ֎෦"1*
%#ᶅ ˋ ˋ ˋ ʷʷ ͘Β͍
σʔλෆ߹Λम෮͢Δ w 8SJUF3FQBJS w ϦτϥΠ w ଟॏϦΫΤετͱಉҰੑ w
*EFNQPUFOU3FRVFTUT w τϥϯβΫγϣϯͷঢ়ଶཧ w "TZODISPOPVT3FQBJS w σʔλڝ߹ͷճආ
σʔλෆ߹Λम෮͢Δʢ"TZODISPOPVT3FQBJSʣ "TZODISPOPVTͱඇಉظͰ͋Δ ͭ·Γɺ ɾϦτϥΠΊͬͪΌ͚ͨ͠Ͳࠓແཧʂ ɾ͏ϦτϥΠͯ͠ҙຯͳ͍ͱݴΘΕ͔ͨΒ์ஔதʂ ͳॲཧΛޙ͔Βσʔλमਖ਼͢Δͷ͡Ό ͖ͬ͞τϥϯβΫγϣϯΛஈ֊తʹߦ͑ΔΑ͏ʹ͔ͨ͠Βͷ
σʔλෆ߹Λम෮͢Δʢ"TZODISPOPVT3FQBJSʣ όοΫΤϯυ ϑϩϯτΤϯυ αʔϏε" αʔϏε# %#ᶃ %#ᶄ ֎෦"1*
%#ᶅ ඇಉظ࣮ߦʹ ɾ"DUJWF+PC ɾ4JEFLJRͳͲ͏
σʔλෆ߹Λम෮͢Δʢσʔλڝ߹ͷճආʣ ҙ ɾඇಉظͰߦ͏ॲཧͱɺγεςϜͷϝΠϯͷ ɹॲཧͰσʔλ͕ڝ߹͠ͳ͍Α͏ʹ͢Δ ɾόονॲཧ͕ෳճॲཧΛͯ͠େৎͳΑ͏ʹ͢Δ ɹͬͱ͍͑ɺόον͕ෳಉ࣮࣌ߦͷ߹Ͱʜ
σʔλෆ߹Λम෮͢Δʢσʔλڝ߹ͷճආʣ ͳͥͳΒʜ $MPVE4DIFEVMFSͷυΩϡϝϯτ Ͳͷ࣌Λͱͬͯಉ͡δϣϒͷෳΠϯελϯε͕ಉ࣌ʹ࣮ߦ͞Εͳ͍Α͏ʹ͍ͯͩ͘͠͞ɻ·ͨɺ$MPVE4DIFEVMFS ɺʮগͳ͘ͱճʯΛجຊʹॲཧΛߦ͏Α͏ઃܭ͞Ε͍ͯ·͢ɻͭ·Γɺδϣϒ͕εέδϡʔϧ͞ΕΔͱɺ$MPVE 4DIFEVMFSͦͷδϣϒͷϦΫΤετΛগͳ͘ͱճૹ৴͠·͢ɻ·Εʹɺಉ͡δϣϒͷෳͷΠϯελϯε͕ϦΫ Τετ͞ΕΔՄೳੑ͕͋Γ·͢ɻ͜ͷͨΊϦΫΤετϋϯυϥ͖Ͱ͋Δඞཁ͕͋Γ·͢ɻ·ͨίʔυΛهड़͢Δࡍ ɺ͜ͷΑ͏ͳঢ়ଶ͕ൃੜͨ͠߹ʹ༗ͳ෭࡞༻͕ൃੜ͠ͳ͍Α͏ʹ͢Δඞཁ͕͋Γ·͢ɻ
ͱ͍͏͜ͱΒ͍͠ ͏Ή
ࠓ͢͜ͱ w σʔλෆ߹ͷى͜Γͦ͏ͳέʔε w σʔλෆ߹Λम෮͢Δ w 8SJUF3FQBJS w
"TZODISPOPVT3FQBJS w ͓ΘΓʹ
͓ΘΓʹ ·ͱΊΔͱ ɾσʔλෆ߹Λճආɾमਖ਼͢ΔͷΊͬͪΌେม ɾͰॲཧΛ࣮֬ʹ࣮ߦ͍ͨ͠ͱ͖ʹඞཁͳࣝ ɾΘͨ͠ઋਓʹͳΓ͍ͨ ͏Ή
͓ΘΓʹ ࢀߟࢿྉɿ IUUQTTZGNIBUFOBCMPHDPNFOUSZ ˢࢲ͕ࠓͨ͜͠ͱͷશ͕ͯ͜͜ʹॻ͍ͯ͋Γ·͢
None