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
1
240
How to manage data inconsistency
kenkaton
January 29, 2020
Tweet
Share
More Decks by kenkaton
See All by kenkaton
When we should use stub and mock
kenkaton
0
300
About Strict Memoization
kenkaton
0
450
Other Decks in Programming
See All in Programming
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
740
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
Fluid Templating in TYPO3 14
s2b
0
130
CSC307 Lecture 01
javiergs
PRO
0
690
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
240
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
140
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
710
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
690
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
並行開発のためのコードレビュー
miyukiw
0
240
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Test your architecture with Archunit
thirion
1
2.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
Scaling GitHub
holman
464
140k
Raft: Consensus for Rubyists
vanstee
141
7.3k
The Cult of Friendly URLs
andyhume
79
6.8k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
120
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
180
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Google's AI Overviews - The New Search
badams
0
910
What does AI have to do with Human Rights?
axbom
PRO
0
2k
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