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
RDB anti-pattern that Java engineer wants to know
Search
soudai sone
PRO
May 20, 2017
Technology
11k
6
Share
RDB anti-pattern that Java engineer wants to know
JJUG CCC 2017 spring での登壇資料です。
http://www.java-users.jp/ccc2017spring/
soudai sone
PRO
May 20, 2017
More Decks by soudai sone
See All by soudai sone
APMの世界から見るOpenTelemetryのTraceの世界 / OpenTelemetry in the Java
soudai
PRO
0
340
失敗できる意思決定とソフトウェアとの正しい歩き方_-_変化と向き合う選択肢/ Designing for Reversible Decisions
soudai
PRO
10
3.1k
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
15
6.3k
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
42
10k
これからアウトプットする人たちへ - アウトプットを支える技術 / that support output
soudai
PRO
21
8.5k
コミュニティと計画的偶発性理論 - 出会いが人生を変える / Life-Changing Encounters
soudai
PRO
8
4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
変化に強いテーブル設計の勘所 / Table design that is resistant to changes
soudai
PRO
68
21k
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
PRO
52
35k
Other Decks in Technology
See All in Technology
Physical AI on AWS リファレンスアーキテクチャ / Physical AI on AWS Reference Architecture
aws_shota
1
200
来期の評価で変えようと思っていること 〜AI時代に変わること・変わらないこと〜
estie
0
120
Move Fast and Break Things: 10 in 20
ramimac
0
100
タスク管理も1on1も、もう「管理」じゃない - KiroとBedrock AgentCoreで変わった“判断の仕事”
yusukeshimizu
0
150
出版記念イベントin大阪「書籍紹介&私がよく使うMCPサーバー3選と社内で安全に活用する方法」
kintotechdev
0
120
脳が溶けた話 / Melted Brain
keisuke69
1
1.1k
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
250
OCI技術資料 : ロード・バランサ 概要 - FLB・NLB共通
ocise
4
27k
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
450
SaaSの操作主体は人間からAIへ - 経理AIエージェントが目指す深い自動化
nishihira
0
130
非同期・イベント駆動処理の分散トレーシングの繋げ方
ichikawaken
1
240
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
130
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7k
Faster Mobile Websites
deanohume
310
31k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
150
Side Projects
sachag
455
43k
We Are The Robots
honzajavorek
0
210
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
The Invisible Side of Design
smashingmag
302
51k
A better future with KSS
kneath
240
18k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
My Coaching Mixtape
mlcsv
0
90
Transcript
JavaΤϯδχΞʹͬͯ΄͍͠ RDBΞϯνύλʔϯ ++6($$$4QSJOH
What is it? ࠓΈͳ͞Μʹ࣋ͬͯؼͬͯ΄͍͜͠ͱ
What is it? σʔλϕʔεͷण໋ ΞϓϦέʔγϣϯΑΓ͍
What is it? ͦΜͳ͍͖߹͍ʹͳΔσʔλϕʔε ͷେͳࣄΛ͓͑͠·͢
What is it? ରͷσʔλϕʔειϑτΣΞ
What is it? PostgreSQL 9.6ͱMySQL 5.7(InnoDB)ʹݶΔ ଞͷRDBͷ͠·ͤΜ
What is it? RDBΞϯνύλʔϯ
What is it? RDBΞϯνύλʔϯ ↓ ޙʑʹۤ͠ΈΛੜΉ
What is it? RDBΞϯνύλʔϯΛΔ
What is it? RDBΞϯνύλʔϯΛΔ ↓ ಉ͡աͪΛ܁Γฦ͞ͳ͍
What is it? ࠓRDBͷࣦഊྫΛ͝հ͠·͢
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍ ̐ɹࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍ ̐ɹࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
Mackerel
Mackerel
ͯͳؒΛ୳ͯ͠·͢ curl -sIL mackerel.io | grep engineer
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍ ̐ɹࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ
None
σʔλϕʔεͷ໎ٶ 4PGUXBSF%FTJHOΛಡΜͰ͘Εʂʂ Ҏ্οʂʂʂʂ
σʔλϕʔεͷ໎ٶ σʔλϕʔεͷઃܭͷ
σʔλϕʔεͷ໎ٶ demo=# SELECT delete_falg AS delete_flag FROM users GROUP BY
delete_flag delete_flag ------------- 1 2 0 9 99 NULL (6 ߦ)
σʔλϕʔεͷ໎ٶ ▪༷ॻ_20170513(1).xls 0: ະআ 1: আࡁΈ 2: ཧऀʹΑΔڧ੍আ 9: ຣফ
99: Α͘Θ͔Βͳ͍ NULL: όάͰೖΔ
σʔλϕʔεͷ໎ٶ NFNP NFNP NFNP
σʔλϕʔεͷ໎ٶ NFNP NFNP NFNP NFNPͰͳ͘NFNPͷͱ͜Ζ͕ྺ࢙Λײͤ͡͞Δ
σʔλϕʔεͷ໎ٶ σʔλϕʔεͷ໎ٶͷ
σʔλϕʔεͷ໎ٶ w ෆదͳ໊લͰσʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕அग़དྷͳ͍ w
ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ औΓग़͍͍͔ͤΘ͔Βͳ͍
σʔλϕʔεͷ໎ٶ w ෆదͳ໊લͰσʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕அग़དྷͳ͍ w
ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ औΓग़͍͍͔ͤΘ͔Βͳ͍
σʔλϕʔεͷ໎ٶ w ෆదͳ໊લͰσʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕அग़དྷͳ͍ w
ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ औΓग़͍͍͔ͤΘ͔Βͳ͍
σʔλϕʔεͷ໎ٶ w ෆదͳ໊લͰσʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕அग़དྷͳ͍ w
ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ औΓग़͍͍͔ͤΘ͔Βͳ͍
σʔλϕʔεͷ໎ٶ w ෆదͳ໊લͰσʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕அग़དྷͳ͍ w
ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ औΓग़͍͍͔ͤΘ͔Βͳ͍
σʔλϕʔεͷ໎ٶ ཧ*%
σʔλϕʔεͷ໎ٶ ཧ*% ˣ ձһ*%Λྫʹ͠·͢
σʔλϕʔεͷ໎ٶ
σʔλϕʔεͷ໎ٶ ͔Β࢝·ΔͷҰൠϢʔβ ͔Β࢝·ΔͷཧϢʔβ
σʔλϕʔεͷ໎ٶ ϢʔβͷಓݝΛද͢
σʔλϕʔεͷ໎ٶ ຊͷձһ*%
σʔλϕʔεͷ໎ٶ σʔλʹϩδοΫΛຒΊࠐΉͳͬʂ
σʔλϕʔεͷ໎ٶ σʔλʹϩδοΫΛຒΊࠐΉͳͬʂ ˣ σʔλΛσʔλͱͯ͠ಡΈऔΕͳ͍
σʔλϕʔεͷ໎ٶ ॲํᝦ w ΧϥϜΛਖ਼໊͘͠લΛ͚ͭΔ w σʔλͷΛ͚Δ w มԽʹ߹ΘͤͯϦϑΝΫλϦϯά͢Δ
σʔλϕʔεͷ໎ٶ ॲํᝦ w ΧϥϜΛਖ਼໊͘͠લΛ͚ͭΔ w σʔλͷΛ͚Δ w มԽʹ߹ΘͤͯϦϑΝΫλϦϯά͢Δ
σʔλϕʔεͷ໎ٶ ϦϑΝΫλϦϯάͷྫ
σʔλϕʔεͷ໎ٶ JE ໊લ ྸ ીࠜɹେ ીࠜɹኽָ
ીࠜɹᗅָ ીࠜɹࡣָ ݱঢ়
σʔλϕʔεͷ໎ٶ ձһJE ໊લ ྸ ݖݶJE ಓݝJE ીࠜɹେ
ીࠜɹኽָ ીࠜɹᗅָ ીࠜɹࡣָ ཧ
σʔλϕʔεͷ໎ٶ JE ձһJE ໊લ ྸ ݖݶJE ಓݝJE /6-- ીࠜɹେ
/6-- /6-- /6-- ીࠜɹኽָ /6-- /6-- /6-- ીࠜɹᗅָ /6-- /6-- /6-- ીࠜɹࡣָ /6-- /6-- ରͷΧϥϜΛՃ
σʔλϕʔεͷ໎ٶ JE ձһJE ໊લ ྸ ݖݶJE ಓݝJE ીࠜɹେ
ીࠜɹኽָ ીࠜɹᗅָ ીࠜɹࡣָ ରͷΧϥϜΛՃ
σʔλϕʔεͷ໎ٶ Ͳ͏ͬͯཧ*%Λ ৽͍͠ΧϥϜʹೖΕΔ͔
σʔλϕʔεͷ໎ٶ ϦϑΝΫλϦϯάख๏ͷྫ w */4&3561%"5&ͷ࣌ʹΞϓϦ͕ೖΕΔ w */4&3561%"5&ͷ࣌ʹτϦΨʔΛ͏ w Ծྻ7JFXΛ͏
σʔλϕʔεͷ໎ٶ ձһJE ໊લ ྸ ݖݶJE ಓݝJE ીࠜɹେ
ીࠜɹኽָ ીࠜɹᗅָ ીࠜɹࡣָ ཧͷ7JFXΛ࡞Δ
σʔλϕʔεͷ໎ٶ αʔϏεͷੑ࣭ʹ߹Θͤͯ ख๏ΛબͿ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍ ̐ɹࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ
ڧ͗͢Δ੍ σʔλϕʔε αʔϏεʹ༩͑ΔӨڹൣғ͕͍
ڧ͗͢Δ੍ ༩͑ΔӨڹൣғͷྫ w %#Λఀࢭ͢ΔͱαʔϏε͕ࢭ·Δ w มߋ͢ΔͱෳαʔϏεͷվम͕ඞཁ w σʔλৗʹੵ͞Ε͍ͯ͘
ڧ͗͢Δ੍ ࣌ؒܦաͰσʔλ͕͢Δ
ڧ͗͢Δ੍ ͭ·Γมߋ͕େม
ڧ͗͢Δ੍ ͭ·Γมߋ͕େม ˣ ͕࣌ؒܦͯܦͭ΄Ͳঢ়گ͕ѱԽ
ڧ͗͢Δ੍ ͔ͩΒͦ͜ਖ਼͍͠ઃܭʹҭͯΔ͖
ڧ͗͢Δ੍ ͦͷͨΊʹ3%#ͷػೳΛ׆༻͢Δ
ڧ͗͢Δ੍ ͦͷͨΊʹ3%#ͷػೳΛ׆༻͢Δ ˣ ͔ͦ͠͠Ε͕ཪʹग़Δ͜ͱ
ڧ͗͢Δ੍ 3%#ͷػೳʹґଘ͗͢͠Δͱ ͦΕڧ͗͢Δ੍ʹͳΔ
ڧ͗͢Δ੍ ڧ͗͢Δ੍ͷྫ w τϦΨʔ͕ଟ͘ͷ5"#-&ʹӨڹΛ༩͑Δ w ετΞυ͕ϩδοΫΛ࣋ͪ͗͢Δ w ϚςϏϡʔ%#-JOLͷଟ༻͗͢͠Δ
ڧ͗͢Δ੍ 3%#ͷػೳͱͯศར
ڧ͗͢Δ੍ 3%#ͷػೳͱͯศར ˣ ͔ۜ͠͠ͷؙͰͳ͍
ڧ͗͢Δ੍ ઃܭͷόϥϯεײ͕֮େࣄ
ڧ͗͢Δ੍ ॲํᝦ w ͦͷػೳΛར༻͢ΔظؒΛݕ౼͢Δ w ͦͷػೳͷӨڹൣғΛཧղ͢Δ w ຊʹ࠷దͳΞϓϩʔν͔͍͢
ڧ͗͢Δ੍ ॲํᝦ w ͦͷػೳΛར༻͢ΔظؒΛݕ౼͢Δ w ͦͷػೳͷӨڹൣғΛཧղ͢Δ w ຊʹ࠷దͳΞϓϩʔν͔͍͢
ڧ͗͢Δ੍ ਓաڈͷޭମݧͷ όΠΞε͕͔͔Δ
ڧ͗͢Δ੍ ਓաڈͷࣦഊମݧ όΠΞε͕͔͔Δ
ڧ͗͢Δ੍ ઃܭͷόϥϯεײ͕֮େࣄ
ڧ͗͢Δ੍ ઃܭͷόϥϯεײ͕֮େࣄ ˣ ଟ͘ͷઃܭΛݟͯཆ͏͜ͱ͕େࣄ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍ ̐ɹࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ
ࢹ͞Εͳ͍σʔλϕʔε ࢹͱϞχλϦϯά
ࢹ͞Εͳ͍σʔλϕʔε
ࢹ͞Εͳ͍σʔλϕʔε
ࢹ͞Εͳ͍σʔλϕʔε ͳΜͰςετॻ͘ͷʹ ϞχλϦϯά͠ͳ͍ΜͰ͔͢ʁ
ࢹ͞Εͳ͍σʔλϕʔε ࢹࡾஈ֊͋Δ
ࢹ͞Εͳ͍σʔλϕʔε w͍ͪૣ͘োൃੜΛ֬ೝ͢Δ w෮چͷͨΊͷݪҼΛ֬ೝ͢Δ wঢ়گͷมԽΛ࣌ܥྻͰࢹ͢Δ͜ͱͰ Ϧιʔεཧোͷ༧ஹͷѲ͢Δ
ࢹ͞Εͳ͍σʔλϕʔε w͍ͪૣ͘োൃੜΛ֬ೝ͢Δ w෮چͷͨΊͷݪҼΛ֬ೝ͢Δ wঢ়گͷมԽΛ࣌ܥྻͰࢹ͢Δ͜ͱͰ Ϧιʔεཧোͷ༧ஹͷѲ͢Δ ࢮ׆ࢹ
ࢹ͞Εͳ͍σʔλϕʔε w͍ͪૣ͘োൃੜΛ֬ೝ͢Δ w෮چͷͨΊͷݪҼΛ֬ೝ͢Δ wঢ়گͷมԽΛ࣌ܥྻͰࢹ͢Δ͜ͱͰ Ϧιʔεཧোͷ༧ஹͷѲ͢Δ νΣοΫࢹ
ࢹ͞Εͳ͍σʔλϕʔε w͍ͪૣ͘োൃੜΛ֬ೝ͢Δ w෮چͷͨΊͷݪҼΛ֬ೝ͢Δ wঢ়گͷมԽΛ࣌ܥྻͰࢹ͢Δ͜ͱͰ Ϧιʔεཧোͷ༧ஹͷѲ͢Δ ϞχλϦϯάࢹ
ࢹ͞Εͳ͍σʔλϕʔε
ࢹ͞Εͳ͍σʔλϕʔε
ࢹ͞Εͳ͍σʔλϕʔε Πϯϑϥੜ͖
ࢹ͞Εͳ͍σʔλϕʔε Πϯϑϥੜ͖ ˣ ʑͷهΛݟΔ
ࢹ͞Εͳ͍σʔλϕʔε աڈΛΔ͜ͱͰ ࠓͷॴ͕Θ͔Δ
ࢹ͞Εͳ͍σʔλϕʔε ࠓͱաڈͷࠩ
ࢹ͞Εͳ͍σʔλϕʔε ࠓͱաڈͷࠩ ˣ ະདྷΛΔͨΊͷࡐྉ
ࢹ͞Εͳ͍σʔλϕʔε ࢹ͖߲͢ w ౷ܭใ04ϦιʔεͳͲ3%#ͷঢ়ଶ w εϩʔΫΤϦϩάΤϥʔϩάͳͲ w ෳͷ%#ΛॏͶͨൺֱ
ࢹ͞Εͳ͍σʔλϕʔε ϞχλϦϯάվળͷҰา
ࢹ͞Εͳ͍σʔλϕʔε ॲํᝦ w దʹϞχλϦϯάΛ͢Δ w ϞχλϦϯάπʔϧΛ׆༻͢Δ w վળͷͨΊͷҰาΛ౿Έग़͢
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍ ̐ɹࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ
·ͱΊ ۪ऀܦݧʹֶͿ ݡऀաڈʹֶͿ
·ͱΊ ΞϯνύλʔϯΛΔ
·ͱΊ
·ͱΊ SQLΞϯνύλʔϯݫબ͞Εࣦͨഊू
·ͱΊ SQLΞϯνύλʔϯݫબ͞Εࣦͨഊू ↓ DBͷϊϋ͕٧·໊ͬͨஶ
·ͱΊ Ұ࡞ͬͨ%#ফͤͳ͍
·ͱΊ Ұ࡞ͬͨ%#ফͤͳ͍ ˣ ઃܭ͕େࣄ
·ͱΊ σʔλϕʔεͷࢮαʔϏεͷࢮ
·ͱΊ σʔλϕʔεͷࢮαʔϏεͷࢮ ˣ ղܾͰ͖Δਓӳ༤
·ͱΊ %#ͷΕͨࠒʹͬͯ͘Δ
·ͱΊ
·ͱΊ αʔϏενʔϜΛकΔ
·ͱΊ αʔϏενʔϜΛकΔ ˣ ͦͷͨΊʹֶͿ
·ͱΊ पғͷܦݧஊ͔ΒֶͿ
·ͱΊ पғͷܦݧஊ͔ΒֶͿ ˣ ੵۃతʹίϛϡχςΟΛར༻͢Δ
ࢀߟࢿྉ ɾQPTUHSFTRMKQ4MBDL νϟοτϧʔϜ IUUQTQPTUHSFTRMIBDLFSTKQIFSPLVBQQDPN ɾNZTRMDBTVBM4MBDL νϟοτϧʔϜ IUUQTNZTRMDBTVBMTMBDLJOIFSPLVBQQDPN
·ͱΊ 3%#ͷࣝण໋͕͍
·ͱΊ 3%#ͷࣝण໋͕͍ ˣ ֮͑ΕࣄͰ͍ؒʹཱͭ
·ͱΊ lखΛಈ͔ͨ͠ਓ͚͕ͩੈքΛม͑Δz :BTVIJSP0OJTIJ
·ͱΊ ΑΓྑ͍ઃܭΛ Ұॹʹߟ͑ͯߦ͖·͠ΐ͏
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ