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
soudai sone
PRO
January 24, 2018
Technology
5
3k
java-monitoring
JJUG ナイトセミナーの登壇資料です。
https://jjug.doorkeeper.jp/events/69650
soudai sone
PRO
January 24, 2018
Tweet
Share
More Decks by soudai sone
See All by soudai sone
変化に強いテーブル設計の勘所 / Table design that is resistant to changes
soudai
PRO
52
14k
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
PRO
40
19k
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
PRO
34
12k
ソフトウェアエンジニアとしてキャリアの螺旋を駆け上がる方法 - 経験と出会いが人生を変える / Career-Anchor-Drive
soudai
PRO
17
5.9k
新婚19年目から学ぶ夫婦円満の正しい歩き方 / Life is beautiful
soudai
PRO
12
4.6k
顧客が本当に必要だったもの - パフォーマンス改善編 / Make what is needed
soudai
PRO
34
10k
仕事を前に進めるためのコツ - 判断と決断と共有 / Aim for the goal
soudai
PRO
89
64k
アプリケーションが 正しく動作するということ - 自動テスト編 / Automated Testing
soudai
PRO
17
3.6k
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
PRO
8
2.1k
Other Decks in Technology
See All in Technology
Cursor Meetup Tokyo
iamshunta
1
320
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
オープンソースのハードウェアのコンテストに参加している話
iotengineer22
0
530
新卒から4年間、20年もののWebサービスと向き合って学んだソフトウェア考古学 - PHPカンファレンス新潟2025 / new graduate 4year software archeology
oguri
2
350
プロジェクトマネジメント実践論|現役エンジニアが語る!~チームでモノづくりをする時のコツとは?~
mixi_engineers
PRO
3
180
他チームへ越境したら、生データ提供ソリューションのクエリ費用95%削減へ繋がった話 / Cross-Team Impact: 95% Off Raw Data Query Costs
yamamotoyuta
0
240
OSMnx Galleryの紹介
mopinfish
0
150
MCP Clientを活用するための設計と実装上の工夫
yudai00
1
800
DevOpsDays Taipei 2025 -- Creating Awesome Change in SmartNews!
martin_lover
0
160
toittaにOpenTelemetryを導入した話 / Mackerel APM リリースパーティ
cohalz
1
490
ソフトウェアテストのAI活用_ver1.10
fumisuke
0
240
libsyncrpcってなに?
uhyo
0
130
Featured
See All Featured
Designing for humans not robots
tammielis
253
25k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
660
Speed Design
sergeychernyshev
30
970
Statistics for Hackers
jakevdp
799
220k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.6k
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
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ