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
java-monitoring
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
soudai sone
PRO
January 24, 2018
Technology
3.1k
5
Share
java-monitoring
JJUG ナイトセミナーの登壇資料です。
https://jjug.doorkeeper.jp/events/69650
soudai sone
PRO
January 24, 2018
More Decks by soudai sone
See All by soudai sone
制約を設計する - 非決定性との境界線 / Designing constraints
soudai
PRO
5
1.2k
APMの世界から見るOpenTelemetryのTraceの世界 / OpenTelemetry in the Java
soudai
PRO
0
350
失敗できる意思決定とソフトウェアとの正しい歩き方_-_変化と向き合う選択肢/ Designing for Reversible Decisions
soudai
PRO
11
3.3k
外部キー制約の知っておいて欲しいこと - 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
Other Decks in Technology
See All in Technology
Why we keep our community?
kawaguti
PRO
1
420
OpenClaw初心者向けセミナー / OpenClaw Beginner Seminar
cmhiranofumio
0
290
第26回FA設備技術勉強会 - Claude/Claude_codeでデータ分析 -
happysamurai294
0
370
Data Intelligence Engineering Unit 部門と各ポジション紹介
sansantech
PRO
0
110
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
2.1k
【関西電力KOI×VOLTMIND 生成AIハッカソン】空間AIブレイン ~⼤阪おばちゃんフィジカルAIに続く道~
tanakaseiya
0
140
AWSで2番目にリリースされたサービスについてお話しします(諸説あります)
yama3133
0
120
BIツール「Omni」の紹介 @Snowflake中部UG
sagara
0
140
出版記念イベントin大阪「書籍紹介&私がよく使うMCPサーバー3選と社内で安全に活用する方法」
kintotechdev
0
140
GitHub Copilotを極める会 - 開発者のための活用術
findy_eventslides
1
630
トイルを超えたCREは何屋になるのか
bengo4com
0
120
2026-04-02 IBM Bobオンボーディング入門
yutanonaka
0
190
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
24k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Technical Leadership for Architectural Decision Making
baasie
3
310
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
110
The Pragmatic Product Professional
lauravandoore
37
7.2k
Bash Introduction
62gerente
615
210k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
510
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
280
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
Designing Powerful Visuals for Engaging Learning
tmiket
1
320
Transcript
WebαʔϏεͷ ϞχλϦϯάͷצॴ ++6(φΠτηϛφʔ
What is it? ϞχλϦϯάͯ͠·͔͢ʁ
What is it? WebαʔϏεੜ͖
What is it? WebαʔϏεੜ͖ ↓ ৗʹมԽ͍ͯ͠Δ
What is it? WebαʔϏε͍͠
What is it? WebαʔϏε͍͠ ↓ ৭ΜͳӨڹΛड͚ͳ͕ΒՔಇ͍ͯ͠Δ
What is it? WebαʔϏε͍͠ ↓ ৭ΜͳӨڹΛड͚ͳ͕ΒՔಇ͍ͯ͠Δ ΠϯλʔωοτɺΫϥΠΞϯτɺ ϓϩτίϧɺαʔόαΠυFUDʜ
What is it? ͔ͩΒͦ͜ϞχλϦϯά͕ඞཁ
What is it? ͔ͩΒͦ͜ϞχλϦϯά͕ඞཁ ↓ ࠓ͔Β࢝ΊΔօ͞Μ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹͬͯಘ͢ΔTips ̑ɹ·ͱΊ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹͬͯಘ͢ΔTips ̑ɹ·ͱΊ
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ33ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿCustomer Reliability Engineering ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹɹ
ษڧձ୲ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
ࣗݾհ ໊લɿીࠜɹେʢͦͶɹ͚ͨͱʣ ྸɿ33ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿCustomer Reliability Engineering ॴଐɿגࣜձࣾ ͯͳʢMackerelνʔϜʣ ɹɹɹຊPostgreSQLϢʔβձ ɹɹɹɹɹɹ
ษڧձ୲ ɹɹٕज़తʹLLܥݴޠͱ͔RDB͕͖Ͱ͢
Mackerel
ͯͳؒΛ୳ͯ͠·͢ curl -sIL mackerel.io | grep engineer
ͯͳؒΛ୳ͯ͠·͢ curl -sIL mackerel.io | grep engineer ͜Εͩͱ$3&ग़ͯ͜ͳ͍ͷͰHSFQDSF͍ͯͩ͘͠͞ʂʂ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹͬͯಘ͢ΔTips ̑ɹ·ͱΊ
WebαʔϏεΛݟΔ 8FCαʔϏεੜ͖
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ ࠷Θ͔Γ͍͢ྖҬ ϞχλϦϯά͢Δ͜ͱͰαʔϏεͷঢ়ଶΛΔ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ ࠷Θ͔Γ͍͢ྖҬ ϞχλϦϯά͢Δ͜ͱͰαʔϏεͷঢ়ଶΛΔ ϞχλϦϯάʹΑΔޮՌ͕ग़͍͢
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ ίϯτϩʔϧͰ͖Δ͕ҙਤ͠ͳ͍͜ͱଟ͍
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ ίϯτϩʔϧͰ͖Δ͕ҙਤ͠ͳ͍͜ͱଟ͍ ϞχλϦϯά͠ͳ͍ͱݪҼٻग़དྷͳ͍
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ զʑͰίϯτʔϧग़དྷͳ͍ྖҬ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ զʑͰίϯτʔϧग़དྷͳ͍ྖҬ ͔ͩΒͦ͜ϞχλϦϯά͕େࣄ
WebαʔϏεΛݟΔ αʔόαΠυ w 04 w ωοτϫʔΫ w ϛυϧΣΞ w ΞϓϦέʔγϣϯʜFUD
WebαʔϏεΛݟΔ ΫϥΠΞϯταΠυ w ϒϥβ w +BWB4DSJQU w ϓϩτίϧ w ωοτϫʔΫʜFUD
WebαʔϏεΛݟΔ Πϯλʔωοτ w ϨΠςϯγʔ w εϧʔϓοτ w ϨεϙϯεʜFUD
WebαʔϏεΛݟΔ ͦΕͧΕͷৼΔ͍ΛՄࢹԽ͢Δ
WebαʔϏεΛݟΔ
WebαʔϏεΛݟΔ 8FCαʔϏεੜ͖
WebαʔϏεΛݟΔ 8FCαʔϏεੜ͖ ˣ αʔϏεࣗମՄࢹԽ͢Δ
WebαʔϏεΛݟΔ αʔϏεͷՄࢹԽ w 17๚ w μϯϩʔυ w Ϣʔβͷར༻ྔ w Ϋϥυྉۚͷ՝ۚྔʜFUD
WebαʔϏεΛݟΔ αʔϏεͷมԽ γεςϜͷมԽͱ૬ؔ
WebαʔϏεΛݟΔ ͔ͩΒ8FCαʔϏεΛݟΔ
WebαʔϏεΛݟΔ ͔ͩΒ8FCαʔϏεΛݟΔ ˣ ͦͷͨΊʹৼΔ͍ΛՄࢹԽ͢Δ
WebαʔϏεΛݟΔ
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹͬͯಘ͢ΔTips ̑ɹ·ͱΊ
ϞχλϦϯάͷצॴ Γ͍ͨ͜ͱԿͳͷ͔ʁ
ϞχλϦϯάͷצॴ Γ͍ͨ͜ͱԿͳͷ͔ʁ ˣ αʔϏε͕ਖ਼͘͠ಈ͍͍ͯΔ͔
ϞχλϦϯάͷצॴ γεςϜͷϞχλϦϯά ϦιʔεΛਖ਼͑ͯ͘͠Δ͔
ϞχλϦϯάͷצॴ γεςϜͷϞχλϦϯά ϦιʔεΛਖ਼͑ͯ͘͠Δ͔ Ϧιʔε͕ෆͯ͠༨Βͯ͠ବ
ϞχλϦϯάͷצॴ ҙਤ͠ͳ͍ڍಈʹؾ͘
ϞχλϦϯάͷצॴ αʔϏεͷมԽͷػඍʹؾ͘
ϞχλϦϯάͷצॴ αʔϏεͷมԽͷػඍʹؾ͘ ˣ มԽͷ͕ࠩ͋Δ͔Βؾ͚Δ
ϞχλϦϯάͷצॴ γεςϜͷঢ়ଶΛՄࢹԽ͢Δ
%/4 #(1 *41 WebαʔϏεΛݟΔ αʔό ωοτϫʔΫ ΞϓϦέʔγϣϯ ௨৴ৗʹԟདྷ͍ͯ͠Δ ΫϥΠΞϯτ Πϯλʔωοτ
αʔόαΠυ શͯγεςϜ
ϞχλϦϯάͷצॴ ౿ΈࠐΜͩγεςϜͷՄࢹԽ w ࣮ߦCBUDIͷδϣϒ w Ωϡʔ w อଘ͞ΕͯΔը૾ w %/4/51ͷঢ়ଶ
ϞχλϦϯάͷצॴ αʔϏεͷঢ়ଶΛՄࢹԽ͢Δ
ϞχλϦϯάͷצॴ ౿ΈࠐΜͩαʔϏεͷՄࢹԽ w ϢʔβͷϓϨΠঢ়گ w Πϯετʔϧ͞Εͨ04 w Ϣʔβͷݕࡧϫʔυ w ਃ͠ࠐΈϘλϯͷΫϦοΫ
ϞχλϦϯάͷצॴ αʔϏεͷՄࢹԽͷ5JQT
ϞχλϦϯάͷצॴ 5XJUUFSͰ ʮ˓˓ॏ͍ʯ ͷසग़ྔΛϞχλϦϯά͢Δ
ϞχλϦϯάͷצॴ ͍߹ΘͤճΛՄࢹԽ
ϞχλϦϯάͷצॴ JTTVFλεΫͷΛՄࢹԽ
ϞχλϦϯάͷצॴ ࣗͷαʔϏεͷ֎ՄࢹԽ͢Δ
ϞχλϦϯάͷצॴ ՄࢹԽ͢Δ͜ͱͰৄࡉ͕ݟ͑ͯ͘Δ
ϞχλϦϯάͷצॴ ՄࢹԽ͢Δ͜ͱͰৄࡉ͕ݟ͑ͯ͘Δ ˣ վળͷαΠΫϧ͕ճΓग़͢
ϞχλϦϯάͷצॴ ୭ݟͳ͍άϥϑʹҙຯແ͍
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹͬͯಘ͢ΔTips ̑ɹ·ͱΊ
ͬͯಘ͢ΔTips γεςϜϝτϦοΫͷݟํ
γεςϜϝτϦοΫͷݟํ
γεςϜϝτϦοΫͷݟํ γεςϜͷঢ়ଶΛՄࢹԽ͢Δ w MPBEBWH w DQV w NFNPSZ w EJTL
w JOUFSGBDF w pMFTZTUFN
γεςϜϝτϦοΫͷݟํ γεςϜͷঢ়ଶΛՄࢹԽ͢Δ w MPBEBWH w DQV w NFNPSZ w EJTL
w JOUFSGBDF w pMFTZTUFN
ϩʔυΞϕϨʔδ w ࣮ߦͪ ࣮ߦΩϡʔʹ͋Δ ϓϩηεͷ w σΟεΫͷ*0ͪͷϓϩηεͷ ˣ ߹ܭ
ϩʔυΞϕϨʔδ w ࣮ߦͪ ࣮ߦΩϡʔʹ͋Δ ϓϩηεͷ w σΟεΫͷ*0ͪͷϓϩηεͷ ˣ ߹ܭ ͭ·ΓϩʔυΞϕϨʔδ͕ߴ͚Ε
$16%JTL*0͕٧·͍ͬͯΔ͜ͱΛද͢
ϩʔυΞϕϨʔδ VQUJNF ɹVQ VTFS MPBEBWFSBHF
ϩʔυΞϕϨʔδ VQUJNF ɹVQ VTFS MPBEBWFSBHF
ϩʔυΞϕϨʔδ VQUJNF ɹVQ VTFS MPBEBWFSBHF
ϩʔυΞϕϨʔδ VQUJNF ɹVQ VTFS MPBEBWFSBHF 3
1 5 10
ϩʔυΞϕϨʔδ MPBEBWH্͕͕Δͱ γεςϜʹෛՙ͕͔͔͍ͬͯΔ
ϩʔυΞϕϨʔδ MPBEBWH্͕͕Δͱ γεςϜʹෛՙ͕͔͔͍ͬͯΔ ͔͠͠ଈোͱݶΒͳ͍
ϩʔυΞϕϨʔδ ॠؒతʹॲཧ͕ूதͯ͠ɺ ฏৗ࣌ͷෛՙʹ·Ͱ མͪண͘͜ͱ͕Ͱ͖Δ͔Ͳ͏͔
ϩʔυΞϕϨʔδ ʮ࣮ࡍʹࡹ͍͍ͯΔॲཧྔʢYʣʯ ʮࡹ͖͘ॲཧͷ૯ྔʢZʣʯ ͕YZʹͳ͍ͬͯͳ͍͔
ϩʔυΞϕϨʔδ
ϩʔυΞϕϨʔδ εύΠΫ͍ͯ͠Δ͕ ͙͢ʹऩଋ͍ͯ͠ΔͷͰແ͍
ϩʔυΞϕϨʔδ X < Y !
ϩʔυΞϕϨʔδ X < Y !
CPU DISC
γεςϜϝτϦοΫͷݟํ γεςϜͷঢ়ଶΛՄࢹԽ͢Δ w MPBEBWH w DQV w NFNPSZ w EJTL
w JOUFSGBDF w pMFTZTUFN
CPU $16༻ͷׂ߹ΛΔ
CPU $16༻ͷׂ߹ΛΔ $16͕ͷ߹ʹ Ͳ͜Ͱ͍ͬͯΔ͔ΛΔ
CPUͰ͑Δ͖ϝτϦοΫ w DQVVTFS w DQVJPXBJU w DQVTZTUFN w DQVJEMF
CPUͰ͑Δ͖ϝτϦοΫ w DQVVTFS w DQVJPXBJU w DQVTZTUFN w DQVJEMF ΧʔωϧҎ֎͕༻ͨ࣌ؒ͠ͷׂ߹
CPUͰ͑Δ͖ϝτϦοΫ w DQVVTFS w DQVJPXBJU w DQVTZTUFN w DQVJEMF *0ͪʹΑΓΞΠυϧঢ়ଶͰ
͋ͬͨ࣌ؒͷׂ߹
CPUͰ͑Δ͖ϝτϦοΫ w DQVVTFS w DQVJPXBJU w DQVTZTUFN w DQVJEMF Χʔωϧ͕༻ͨ࣌ؒ͠ͷׂ߹
CPUͰ͑Δ͖ϝτϦοΫ w DQVVTFS w DQVJPXBJU w DQVTZTUFN w DQVJEMF *0͕ͪͳ͘ɺ͔ͭ$16͕
ΞΠυϧঢ়ଶͰ͋ͬͨ࣌ؒͷׂ߹
cpu.iowait͕ߴಅ͍ͯ͠Δ࣌ σΟεΫͷ*0ੑೳ͕ωοΫ
cpu.iowait͕ߴಅ͍ͯ͠Δ࣌ σΟεΫͷ*0ੑೳ͕ωοΫ %JTDͷϝτϦοΫͷ3FBEͱ8SJUFΛ֬ೝ
cpu.user͕ߴಅ͍ͯ͠Δ࣌ ΧʔωϧҎ֎ͷϓϩηε͕ݪҼ
cpu.user͕ߴಅ͍ͯ͠Δ࣌ ΧʔωϧҎ֎ͷϓϩηε͕ݪҼ ྫ͑ΞϓϦέʔγϣϯ
cpu.user͕ߴಅ͍ͯ͠Δ࣌ ΧʔωϧҎ֎ͷϓϩηε͕ݪҼ ྫ͑ΞϓϦέʔγϣϯ ΞϓϦͷվળΛߦ͏͔ɺ$16ͷεϖοΫΛ্͛Δ͜ͱͰ վળ͞ΕΔՄೳੑ͕͋Δ
ϞχλϦϯάͷצॴ 45 IUUQCMPHBLOPXNFFOUSZ
ΞϓϦέʔγϣϯΛΔ +BWBͷৼΔ͍ΛΔ
ΞϓϦέʔγϣϯΛΔ +BWBͷৼΔ͍ΛΔ ˣ +7.ΛϞχλϦϯά͢Δ
JVMͷϞχλϦϯά KTUBUΛ͏ IUUQTEPDTPSBDMFDPNKBWBTF EPDTUFDIOPUFTUPPMTTIBSFKTUBUIUNM
JVMͷϞχλϦϯά
JVMͷϞχλϦϯά KPMPLJBΛ͏ IUUQTKPMPLJBPSH
JVMͷϞχλϦϯά NFUSJDTΛ͏ IUUQNFUSJDTESPQXJ[BSEJP
JVMͷϞχλϦϯά .BDLFSFMͰ+BWBͷΞϓϦέʔγϣϯ ϞχλϦϯάΛ͢Δ IUUQTRJJUBDPNLBXBTJNBJUFNTCGECCCB
͋͐͡Μͩ ̍ɹࣗݾհ ̎ɹWebαʔϏεΛݟΔ ̏ɹϞχλϦϯάͷצॴ ̐ɹͬͯಘ͢ΔTips ̑ɹ·ͱΊ
·ͱΊ ·ͣՄࢹԽΛ͢Δ
·ͱΊ ਪଌΑΓܭଌ
·ͱΊ ਪଌΑΓܭଌ ↓ ܭଌΑΓ؍ଌ
·ͱΊ ࣄ࣮ΛΑΓଟ͘ɺਖ਼͘͠Δ͜ͱͰ ະདྷΛਖ਼͘͠༧ଌͰ͖Δ
None
·ͱΊ ΤϯδχΞʹࠜڌ͕ඞཁ
·ͱΊ ΤϯδχΞʹࠜڌ͕ඞཁ ↓ ͳΜͱͳ͘Ͱࣄग़དྷͳ͍
·ͱΊ
·ͱΊ
·ͱΊ
·ͱΊ ςετίʔυϓϩάϥϜͷ࣭ͷՄࢹԽ ϞχλϦϯάαʔϏεͷ࣭ͷՄࢹԽ
·ͱΊ lࢹͱܧଓతͳςετͰ͋Δz ԞҰึ IUUQEFWFMPQFSDZCP[VDPKQBSDIJWFTLB[VIPDSPOMPHGIUNM
·ͱΊ lߴʹൃୡͨ͠γεςϜͷҟৗ ਆͷౖΓͱݟ͚͕͔ͭͳ͍z Z@VVLJ
·ͱΊ ମॏܭʹΔ͚ͩͰ૫ͤͳ͍
·ͱΊ ମॏܭʹΔ͚ͩͰ૫ͤͳ͍ ↓ ࣭ΛՄࢹԽ͚ͨͩ͠Ͱվળ͞Εͳ͍
·ͱΊ lखΛಈ͔ͨ͠ਓ͚͕ͩੈքΛม͑Δz :BTVIJSP0OJTIJ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ