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
【社内勉強会用】SQLアンチパターン / SQL Antipatterns study
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
VTRyo
April 12, 2020
Programming
0
2.7k
【社内勉強会用】SQLアンチパターン / SQL Antipatterns study
2020/4/13 第5章 エンティティ・アトリビュート・バリュー
VTRyo
April 12, 2020
Tweet
Share
More Decks by VTRyo
See All by VTRyo
あの職員室 / That teachers' lounge
vtryo
0
84
自分だけの、誰も想像できないキャリアの育て方 〜偶然から始めるキャリアプラン〜 / Career planning starting by luckly v2
vtryo
1
380
60以上のプロダクトを持つ組織における開発者体験向上への取り組み - チームAPIとBackstageで構築する組織の可視化基盤 - / sre next 2025 Efforts to Improve Developer Experience in an Organization with Over 60 Products
vtryo
3
2.7k
一体いつからSRE NEXTがSREだけのカンファレンスだと錯覚していた? / When did you ever get the idea that SRE NEXT was a conference just for SREs?
vtryo
1
700
一人から始めたSREチーム3年の歩み - 求められるスキルの変化とチームのあり方 - / The three-year journey of the SRE team, which started all by myself
vtryo
9
14k
2ヶ月かかるDBアップグレード検証を最大2週間に短縮した自作Go製CLIツール「Platinum」を紹介する / Introducing Go CLI tool "Platinum" for shortened DB upgrade validation
vtryo
3
1.9k
MySQLテーブル毎のデータサイズ集計をDatadog × Prometheus Exporter × Kubernetesを使って自動化する / Automate data size aggregation for each MySQL table using Datadog, Prometheus Exporter and Kubernetes
vtryo
0
440
自分だけの、誰も想像できないキャリアの育て方 ~懇親会で実践できる!偶然から始めるキャリアプラン~ / Career planning starting by luckly
vtryo
2
1.4k
なぜSREをはじめるのは難しいのか / Why is it hard to start SRE?
vtryo
1
700
Other Decks in Programming
See All in Programming
Oxlint JS plugins
kazupon
1
810
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
180
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
190
AgentCoreとHuman in the Loop
har1101
5
230
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
170
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
380
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
400
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
150
Implementation Patterns
denyspoltorak
0
280
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
110
CSC307 Lecture 07
javiergs
PRO
0
550
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
550
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
110
Claude Code のすすめ
schroneko
67
210k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Technical Leadership for Architectural Decision Making
baasie
1
240
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
910
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
The Spectacular Lies of Maps
axbom
PRO
1
520
Typedesign – Prime Four
hannesfritz
42
2.9k
Transcript
d753ZPQSFTFOUBUJPO NBTUFS WUSZPDUMEFTDSJCFQSFTFOUBUJPO d753ZPQSFTFOUBUJPO NBTUFS QSFTFOUBUJPOTUBSUFE 42-Ξϯνύλʔϯ ୈষ ΤϯςΟςΟɾΞτϦϏϡʔτɾόϦϡʔ ʢ˞ࣾษڧձൃදࢿྉʣ
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW ˞ҙ w ຊࢿྉࣾษڧձͷ՝Ͱ࡞ͨ͠ͷͰ͢ w l42-ΞϯνύλʔϯzΛࢀߟʹ࡞͍ͯ͠·͢ w ͡ΊͯຊॻΛಡΜͰ͍·͢
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW &"7ͱ w ΤϯςΟςΟɾΞτϦϏϡʔτɾόϦϡʔ ʢఆٛରʣɹɹɹʢଐੑʣɹɹʢʣ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW Ξϯνύλʔϯߏ Α͘ݟͨΒ ϯνύλʔϯʹͳͬͯ·ͨ͠ ൚༻తͳଐੑςʔϒϧΛ༻ͪ͠Ό͏ ଐੑΛߦʹ֨ೲͪ͠Ό͏ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW ଐੑऔಘ͢Δʹ ΫΤϦ͕ෳࡶʹͳΔ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW ඞਢଐੑΛઃఆͰ͖ͳ͍ /05/6--੍Λએݴ͢Δ͚ͩͰ ຊΑ͔ͬͨͷʹʜ ଐੑ͕ ߦʹ֨ೲ͞Ε͍ͯΔ BUUS@OBNFྻʹEBUF@SFQPSUFE͕ೖ͍ͬͯΔߦΛ JTTVF@JE͝ͱʹଘࡏͤ͞Δ੍͕Ϝζ͍
ผʹ·ͱΊͯϨϙʔτΛ࡞Γ͍ͨ ˠʮEBUF@SFQPSUFEͰूܭ͠Αʯ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW σʔλܕΛ͑ͳ͍ %"5&ܕͰྻΛఆٛ͢Ε͍͍ ͚ͩͳͷʹʜ σʔλܕ ͕จࣈྻ ݸผͷBUUS@WBMVFྻΛఆٛ͢Δ͜ͱ͋Δ͕ʜ ΫΤϦෳࡶԽ͢Δ
ผʹ·ͱΊͯϨϙʔτΛ࡞Γ͍ͨ ˠʮEBUF@SFQPSUFEͰूܭ͠Αʯ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW ࢀর߹ੑͷڧ੍ෆՄ '03&*(/,&: TUBUVT 3&'&3&/$&4#VH4UBUVT TUBUVT
Ͱ͍͍ͷʹʜ શߦʹ ద༻͞Εͯ͠·͏ '03&*(/,&: BUUS@WBMVF 3&'&3&/$&4#VH4UBUVT TUBUVT TUBUVTଐੑͷ#VH4UBUVTςʔϒϧ͕ ֨ೲ͍ͯ͠Δʹ͍ͨ͠ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW *TTVFΛҰߦͰऔಘ ɾ࠶ߏங͕ඞཁ ɾଐੑ૿Ճʹ݁߹ͷ૿Ճ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW ͏Ξϯνύλʔϯ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW ΞϯνύλʔϯͰ͍͍ྫ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW &"7Λճආ͠Α͏ ̍ɽͻͱͭͷςʔϒϧʹ αϒλΠϓΛશ෦ೖΕΔ ̎ɽαϒλΠϓ͝ͱʹ ςʔϒϧΛ࡞͢Δ ̏ɽςʔϒϧΛΦϒδΣΫτࢦͷ ΫϥεʹݟཱͯͯܧঝΛ฿͢Δ
̐ɽ9.-+40/ܗࣜͰଐੑɾ Λڞʹ֨ೲ͢Δ దͳঢ়گͰͲΕ͔Λબͯ͜͠͏ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW ̍ɽγϯάϧςʔϒϧܧঝ w શͯͷଐੑΛ*TTVFͷݸผྻͱͯ֨͠ೲ͢Δ w "DUJWF3FDPSEͱ૬ੑΑ͖ w αϒλΠϓͷগͳ͍ͱ͖ʹ༗ޮ
Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW ̎ɽ۩ςʔϒϧܧঝ w #VHTςʔϒϧɺ'FBUVSF3FRVFTUTςʔϒϧͳͲαϒλΠ ϓ͝ͱʹ࡞͢Δ w ڞ௨͢ΔଐੑͱݸผͷଐੑΛ࣋ͭ w
ͯ͢ͷαϒλΠϓΛ·͍ͨͩݕࡧ͕গͳ͍ͱ͖༗ޮ w αϒλΠϓ͕ผςʔϒϧʹ͋ΓෳࡶԽ͢ΔͨΊ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW ̏ɽΫϥεςʔϒϧܧঝ w ͯ͢ͷαϒλΠϓʹڞ௨͢ΔଐੑΛؚΉجఈςʔϒϧ ʢ*TTVFʣΛ࡞Δ w *TTVFςʔϒϧɺ#VHTςʔϒϧɺ'FBUVSF3FRVFTUT ςʔϒϧʹJTTVF@JEΛઃఆ͢Δ
w ͯ͢ͷαϒλΠϓʹڞ௨͢ΔྻΛࢀর͢ΔΫΤϦ͕ස ൟʹ࣮ߦ͞ΕΔͱ͖ʹ༗ޮ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW ̐ɽߏԽςʔϒϧ w සൟʹଐੑΛՃ͢Δέʔε-0#ܕʢ-BSHF0CKFDUʣ ΛՃ͠+40/ͳͲͷܗࣜͰ֨ೲ͢Δ w ͲΜͳଐੑͰ֨ೲͰ͖ΔͷͰ֦ுੑ͕ߴ͍ w
ಛఆͷଐੑʹΞΫηε͢Δखஈ͕ͳ͘ɺΞϓϦέʔγϣϯ ίʔυͰղ͢Δඞཁ͕͋Δܽ w αϒλΠϓͷ੍͕ݶͰ͖ͳ͍ɺଐੑఆٛͷॊೈੑ͕ඞཁ ͳ߹ʹ༗ޮ Q
d753ZPQSFTFOUBUJPO NBTUFS 5XJUUFS!T@IW ·ͱΊ w 42-ɺҟͳΔଐੑҟͳΔྻʹ֨ೲ͢Δํ๏ཱ͕֬͞ Ε͍ͯΔ w &"7ͷ࠾༻ɺଐੑΛࣝผ͢ΔͨΊͷ৽ͨͳํ๏Λ42- ্ʹߏங͢Δ͜ͱΛҙຯ͢Δ
w ʮϝλσʔλɺϝλσʔλͷͨΊʹ༻͍·͠ΐ͏ʯ Q
d753ZPQSFTFOUBUJPO NBTUFS WUSZPDUMEFTDSJCFQSFTFOUBUJPO d753ZPQSFTFOUBUJPO NBTUFS QSFTFOUBUJPOTUBSUFE 42-Ξϯνύλʔϯ ୈষ ΤϯςΟςΟɾΞτϦϏϡʔτɾόϦϡʔ ʢ˞ࣾษڧձൃදࢿྉʣ