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
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
Search
adachi.ryo
August 07, 2025
Programming
1
3.1k
技術的負債で信頼性が限界だったWordPress運用をShifterで完全復活させた話
https://yuru-sre.connpass.com/event/360950/
ゆるSRE勉強会 #12 SRE乗り越え体験まつり 〜聞いてくれ俺の武勇伝〜のスライドです
adachi.ryo
August 07, 2025
Tweet
Share
More Decks by adachi.ryo
See All by adachi.ryo
Findy Team+のSOC2取得までの道のり
rvirus0817
0
220
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
890
Amazon Security Lakeを活用したセキュリティログの集約とAIによる可視化の最前線
rvirus0817
0
110
TechBull Membersの開発進捗どうですか!?
rvirus0817
0
1.4k
クラウド脆弱性の傾向とShisho Cloudの活用
rvirus0817
0
210
TechBullエンジニアコミュニティの取り組みについて
rvirus0817
0
1.1k
横断SREの立ち上げと、AWSセキュリティへの取り組みの軌跡
rvirus0817
3
12k
ゼロから創る横断SREチーム ~挑戦と進化~
rvirus0817
3
5.7k
入社1ヶ月でここまでやった!Findy Toolsインフラ支援の最適化
rvirus0817
11
14k
Other Decks in Programming
See All in Programming
CSC305 Lecture 01
javiergs
PRO
1
380
Web技術を最大限活用してRAW画像を現像する / Developing RAW Images on the Web
ssssota
2
950
Platformに“ちょうどいい”責務ってどこ? 関心の熱さにあわせて考える、責務分担のプラクティス
estie
2
510
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
120
大規模アプリにおけるXcode Previews実用化までの道のり
ikesyo
0
930
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
220
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
680
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
110
メモリ不足との戦い〜大量データを扱うアプリでの実践例〜
kwzr
1
630
AIを活用したレシート読み取り機能の開発から得られた実践知 / AI Receipt Scan Practice
rockname
2
1.4k
プログラミングどうやる? ~テスト駆動開発から学ぶ達人の型~
a_okui
0
180
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
900
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Producing Creativity
orderedlist
PRO
347
40k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Designing for humans not robots
tammielis
254
25k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
600
YesSQL, Process and Tooling at Scale
rocio
173
14k
How to Think Like a Performance Engineer
csswizardry
27
2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
880
Building a Scalable Design System with Sketch
lauravandoore
462
33k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
ٕज़తෛ࠴Ͱ৴པੑ͕ݶքͩͬͨ 8PSE1SFTTӡ༻Λ4IJGUFSͰશ෮׆ͤͨ͞ ΏΔ43&ษڧձ43&Γӽ͑ମݧ·ͭΓʙฉ͍ͯ͘ΕԶͷ༐ʙ ҆ୡྋ !BEBDIJO
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
4 ࣗݾհ ҆ୡྋ !BEBDIJO ɾϑΝΠϯσΟ ג $50ࣨϓϥοτϑΥʔϜ։ൃνʔϜ4FOJPS43& ɾ1PSUGPMJPBEBDIJONF#MPHCMPHBEBDIJONFXJLJBEBDIJONF
ɾ5FDI#VMM δϡχΞΤϯδχΞίϛϡχςΟ 'PVOEFS ɹɾ43&ΤϯδχΞͷϝϯλϦϯάྦྷܭ໊ˢ ɹɾ4MBDLࢀՃऀ໊Ҏ্ˢ ɹɾίϛϡχςΟϚωʔδϟʔ-5ΠϕϯτӡӦ.FNCFST։ൃ ɾ5&$)803-%Ͱ43&ؔ࿈ͷಈըΛൃ৴த
5
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
'JOEZͷ8PSE1SFTTࣄ 7 $PSQPSBUF 'JOEZCMPH 'JOEZ&OUFSQSJTF 'JOEZ'SFFMBODF &OUFSQSJTF
࣌ͷঢ়گ • "NB[PO-JHIUTBJM্ͷ୯ҰαʔόʔͰ ෳαΠτΛӡ༻ • ը૾ϑΝΠϧɾσʔλϕʔεΛͯ͢ ಉҰΠϯελϯε্Ͱཧ • ίʔϙϨʔταΠτҎ֎໌֬ͳӡ༻
୲ऀෆࡏɺϝϯςφϯεঢ়گ͕ෆ໌ྎ • αʔόʔͷϒϥοΫϘοΫεԽ • ɺ৴པੑʹݶքΛײ͍ͯͨ͡ 8
ίʔϙϨʔταΠτӡ༻՝ • ใγεςϜνʔϜ͕ຖिͷΑ͏ʹ ηΩϡϦςΟΞοϓσʔτΛରԠ • ςʔϚͷσϓϩΠશखಈɺࣗಈԽ ͞Ε͍ͯͳ͍ • ӡ༻ෛ୲͕େ͖͍ঢ়ଶ͕ܧଓ •
$.Δͱͷ͜ͱͰΠϯϑϥڧԽ ߟྀ͢Δඞཁ͕͋ͬͨ • ଐਓԽ͍ͯͨ͠8PSE1SFTTڥΛ ूɾ౷੍͢ΔऔΓΈΛ։࢝ 9
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ • 8PSEGFODFʹΑΔηΩϡϦςΟϨϙʔτ • ੬ऑੑͷ݅૿Ճʢલൺʴʣ • ओͳݪҼϓϥάΠϯɾςʔϚ • ࠷ଟ͍੬ऑੑͷछྨ944
ΫϩεαΠτεΫϦϓςΟϯά • ೝূෆཁͰ߈ܸͰ͖Δ੬ऑੑ͕ଟ͍ ׂ • ڞ௨ϥΠϒϥϦʹґଘͨ͠αϓϥΠνΣʔϯ੬ऑੑਂࠁ • ์ஔ͞ΕͨϓϥάΠϯखಈӡ༻͕ϦεΫͷԹচʹ 11 ࢀߟIUUQTXXXXPSEGFODFDPNCMPHBOOVBMXPSEQSFTTTFDVSJUZSFQPSUCZXPSEGFODF
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
4IJGUFSʹҠߦ͢Δഎܠ • ࣌&$4'BSHBUFͰߟ͍͕͑ͯͨɺ όʔδϣϯΞοϓσϓϩΠͳͲͷӡ༻͕͔͔Δ ͨΊɺ43&ͷෛ୲ΛԼ͔͛ͨͬͨ • 43&νʔϜҎ֎Ͱӡ༻Ͱ͖ΔΑ͏ʹ͔ͨͬͨ͠ • σδλϧΩϡʔϒ͕ࣾఏڙ͍ͯ͠Δ8PSE1SFTTΛ ੩తʹมɾϗεςΟϯάͰ͖ΔϚωʔδυαʔϏε
• ίετൺֱతʹ҆ՁͰಋೖ͍͢͠ ʙ݄ ʙؒ ׂҾ 13
4IJGUFSͷϝϦοτ • 1)1࣮ߦڥΛ࣋ͨͳ͍ͨΊɺ8PSE1SFTT ຊମϓϥάΠϯͷ੬ऑੑϦεΫ͕ܹݮ • Πϯϑϥ8PSE1SFTTͷόʔδϣϯΞοϓ ཧ͕ෆཁͰɺࣗಈԽͯ͘͠ΕΔ • ੩తϑΝΠϧΛ$%/ܦ༝Ͱߴ৴Ͱ͖Δ ͨΊɺϢʔβʔମݧͷ্
• ࣗಈόοΫΞοϓɾ؆୯ϩʔϧόοΫ ཧը໘͔ΒҙͷλΠϛϯάͰ෮ݩՄೳ 14
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
։ൃڥͷߏங • ίʔϙϨʔταΠτҎ֎ͷ։ൃڥ͕ະඋ • %PDLFSΛར༻ͯ͠θϩ͔Βߏங͠͠ɺ ࠶ݱੑͷ͋ΔڥΛ࣮ݱ • ϦϙδτϦߏ • 8PSE1SFTTຊମXPSEQSFTTDPSF
ϦϙδτϦͰҰݩཧ • ֤αʔϏεͷςʔϚݸผϦϙδτϦͰཧ • ୯ҰϦϙδτϦूආ͚ɺ༰ྔංେԽΛճආ 16
։ൃڥͷߏங DPNQPTFZNM • 4IJGUFS͕1)1ରԠͷͨΊɺಉҰόʔδϣϯͰߏ • /HJOYίϯςφ • "QQίϯςφ • .Z42-ίϯςφ
• ґଘύοέʔδͷόʔδϣϯࠩҟ͕͋Δͱɺ ੩తԽޙʹఆ֎ͷෆ۩߹͕ൃੜ͢ΔϦεΫ͕͋Δ • 4IJGUFSʹ%PDLFS։ൃڥ͋Δ͕ɺ ಠࣗա͗ͯϝϯςφϯεੑ͕ѱ͔ͬͨ • IUUQTHJUIVCDPNEJHJUBMDVCFTIJGUFSTUBUJDMPDBM 17
։ൃڥͷߏங +VTUGJMFԽ • ։ൃڥͷηοτΞοϓΛ+VTUGJMFͰࣗಈԽ • IPTUTొ • NLDFSUʹΑΔࣗݾॺ໊44-ূ໌ॻͷൃߦ • 4͔Βͷ%#μϯϓऔಘ
• ϦϙδτϦͷDMPOF • XQDPOGJHQIQͷίϐʔ • %PDLFS$PNQPTFͷىಈɾఀࢭ • %#ͷϦετΞ • KVTUBMMίϚϯυͰૉૣ͘։ൃڥΛߏஙՄೳʹ • Ҏલखॱ͕ෳࡶͰ͕͔͔࣌ؒͬͨߏங࡞ۀΛ؆ུԽ • ࠓޙ։ൃڥࣗମͷόʔδϣϯΞοϓΛ(JU)VC"DUJPOTͰࣗಈԽ ༧ఆ 18
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
4IJGUFSҠߦͱτϥϒϧγϡʔςΟϯά • Ҡߦํ๏"MMJO0OF81.JHSBUJPOϓϥάΠϯ • ެࣜυΩϡϝϯτͰਪ • 8PSE1SFTTαΠτΛؙ͝ͱ؆୯ʹΤΫεϙʔτɺ ΠϯϙʔτՄೳ • ࣮ࡍͷҠߦ࡞ۀεϜʔζʹ͕ྃͨ͠ɾɾɾ
• ͍͔ͭ͘ఆ֎ͷෆ۩߹͕ൃੜ • ࢀߟ • IUUQTKBHFUTIJGUFSJPTIJGUFSTVQQPSU EPDVNFOUTXQNJHSBUJPONJHSBUJOHUP TIJGUFS 20
ಠࣗςʔϚͷϖʔδωʔγϣϯ͕ਖ਼͘͠ಈ࡞͠ͳ͍ • 4IJGUFS͕੩తαΠτΛੜ͢Δࡍɺ 8PSE1SFTT3&45"1*͔Β63-Ұཡ +40/ Λऔಘ • χϡʔεϖʔδͷϖʔδωʔγϣϯ͕σϑΥϧτઃఆ ͷ··ͩͱݕग़͞Εͣର֎ʹͳΔ •
ରԠࡦ • 4IJGUFS͕ఏڙ͢Δ 4IJGUFS63-4"QQFOE63-UP"MMΛར༻ • ϖʔδωʔγϣϯ63-Λ໌ࣔతʹ੩తԽରՃ 21
χϡʔεҰཡͷը૾͕දࣔ͞Εͳ͍ • ॴʑɺը૾͕දࣔ͞Εͳ͍ࣄ͕ൃੜ • Α͘ݟΔͱຊޠϑΝΠϧ໊ͷը૾͕දࣔ͞Ε͍ͯͳ͍ • "MMJO0OF81.JHSBUJPO • ຊޠϑΝΠϧ໊ͷը૾͚ࣦͩഊ͢ΔόάΛ֬ೝ •
ରԠ • ϑΝΠϧ໊ΛखಈͰϦωʔϜ͠ɺ࠶ΞοϓϩʔυͰ ղܾ 22
αϒσΟϨΫτϦͰγΣΞϘλϯ͕4IJGUFSͷԾυϝΠϯʹͳͬͯ͠·͏ • CMPHͳͲαϒσΟϨΫτϦͰެ։͍ͨ͠ • طʹ$MPVE'SPOUͰΧελϜυϝΠϯ͕ઃఆ͞Ε͍ͯΔ߹ɺ4IJGUFSଆͷ$%/ʹಉ͡ ΧελϜυϝΠϯΛઃఆͰ͖ͳ͍ • ରԠํ๏ • TIJGUFSDMJͷOPTIJGUFSDEOΦϓγϣϯΛ༻͠ɺ4IJGUFSͷ$%/৴ΛແޮԽ
• ࣗલͷ$MPVE'SPOUΛܦ༝ͯ͠αϒσΟϨΫτϦԼʹެ։ • $MPVE'SPOUͷΦϦδϯυϝΠϯʹ4IJGUFSఏڙͷ$MPVE'SPOU63-Λઃఆ • ΩϟογϡϙϦγʔΛແޮԽ͠ɺ4IJGUFSੜͷ੩తαΠτΛͦͷ··৴ • ޮՌ • ΧελϜυϝΠϯԼͰαϒσΟϨΫτϦެ։͕Մೳʹ • γΣΞϘλϯ0(1ͷϦϯΫઌ͔Β4IJGUFSͷԾυϝΠϯ͕ͳ͘ͳͬͨ 23
αϒσΟϨΫτϦͰγΣΞϘλϯ͕4IJGUFSͷԾυϝΠϯʹͳͬͯ͠·͏ 24 IUUQTXJLJBEBDIJONFBSDIJWFT
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
ςʔϚσϓϩΠ • 4IJGUFS(JUIVC1MVHJO5IFNF*OTUBMMFE • ཧํ๏ • ॳෳςʔϚΛϞϊϨϙͰཧ༧ఆͩͬ ͕ͨɺ • 4IJGUFSͷ্༷ɺςʔϚʹϓϩδΣΫτ
୯ҰϦϙδτϦ ʹมߋ • ࣗಈԽରԠ • (JU)VC"DUJPOTΛ׆༻͠ɺϦϦʔεॲཧΛ ࣗಈԽ • खಈ࡞ۀΛݮΒ͠ɺӡ༻ޮΛվળ • IUUQTXXXEJHJUBMDVCFKQTIJGUFS 26 ɾςʔϚΛ git tagͰόʔδϣϯ͚ ɾgit push ͰλάΛөͱstyle.cssͷόʔδϣϯΛॻ͖͑ ɾςʔϚҰࣜΛ .zip ʹѹॖ͠ɺGitHub Releases ʹΞοϓϩʔυ ɾShifter͕֘ϦϦʔεͷ.zipΛऔಘ͠ɺςʔϚΛ࠷৽Խ
ςʔϚσϓϩΠ XPSLGMPXT 27
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
ݱࡏͷӡ༻ମ੍ • 4IJGUFSΞΧϯτཧ • ใγεςϜνʔϜ͕୲ • ςʔϚͷमਖ਼ɾٕज़ରԠ • ΤϯδχΞʗ43&ϝϯόʔ͕୲ •
هࣄެ։ɾίϯςϯπߋ৽ • ใ)3νʔϜɺϚʔέςΟϯάνʔϜ͕୲ • ֤νʔϜͷׂΛ໌֬ʹ୲͠ɺӡ༻ϑϩʔΛཧ 29
ݱࡏͷӡ༻ମ੍ సૹྔͷ੍ݶʹ͍ͭͯ • 4IJGUFSϓϥϯ͝ͱͷసૹྔͷ੍ݶ͕͋Δ • 5JFS݄ؒ(#·Ͱ • 5JFS݄ؒ(#·Ͱ • 5JFS݄ؒ5#·Ͱ
• (#खલʹͳΔ͜ͱ͕ଟ͔ͬͨ • ϝσΟΞ$%/Λ༗ޮʹ͢Δ͜ͱͰసૹྔ͕େ෯ʹΧοτ • ٯʹϝσΟΞ$%/Λແޮʹ͢Δͱը૾͕શͯআ͞ΕΔ 30
ݱࡏͷӡ༻ମ੍ సૹྔͷ੍ݶʹ͍ͭͯ 31
"*ͰίʔϙϨʔταΠτͷमਖ਼ΛࣗಈԽ • ͔͠͠ɺࢥͬͨҎ্ʹ43&ϝϯόʔͷ͍߹Θ͕ͤଟ͍ • %FWJOΛར༻ͯ͠จݴमਖ਼ͳͲΛ!LPV[ZVO+B͕࣮ • ؆୯ͳमਖ਼"*ͰࣗಈԽ͢Δ͜ͱ͕Ͱ͖ͨ • 43&νʔϜґཔ༰ͷ֬ೝʹ͔͔Δίϛϡχέʔγϣϯ ίετ͕ܰݮ
• ϨϏϡʔͷΈͰରԠͰ͖ΔͷͰΛݮͰ͖ͨ 32
͋͐͡Μͩ • ࣗݾհ • 'JOEZͷ8PSE1SFTTࣄ • 8PSE1SFTTͷ੬ऑੑͱʹ͍ͭͯ •
4IJGUFSʹҠߦ͢Δഎܠ • ։ൃڥͷߏங • 4IJGUFSҠߦޙͷτϥϒϧγϡʔςΟϯά • ςʔϚσϓϩΠ • ݱࡏͷӡ༻ମ੍ͱ"*Խ • ·ͱΊ
·ͱΊ • ηΩϡϦςΟ্ • ੩తϑΝΠϧԽʹΑΓ1)1੬ऑੑϦεΫΛഉআ • )5.-$44ͷΈߏͱͳΓɺηΩϡϦςΟ্͕ • ϓϥάΠϯͷόʔδϣϯΞοϓࣗಈԽ •
ύϑΥʔϚϯεվળ • $%/ඪ४ࡌͰߴ৴Λ࣮ݱ 34
·ͱΊ • ӡ༻໘ͷվળ • ඇΤϯδχΞϝϯόʔӡ༻Մೳͳڥʹ • όοΫΞοϓͷ෮ݩ͕؆୯Ͱɺཧෛ୲Λܰݮ • ΞΧϯτཧ •
Ұͭͷ4IJGUFSΞΧϯτͰෳαΠτΛҰݩཧ • αΠτ͝ͱʹϢʔβʔΛൃߦ͢Δඞཁ͕ͳ͍ • ࠪͰͷϢʔβʔ୨Է͕͠༰қʹ 35
·ͱΊ • 4IJGUFSΫη͋Δ͕ɺ8PSE1SFTTͷ৴པੑ্ͱҰݩཧΛ࣮ݱ • Ҡߦޙͷಈ࡞֬ೝʹख͕͔͔ؒͬͨ • ࢼߦࡨޡ͕ͨ͠ɺٕज़αϙʔτϨε͕ૣͯ͘ඇৗʹॿ͔ͬͨ • σϝϦοτ •
هࣄߋ৽ͷͨͼʹ4IJGUFSଆͰ੩తԽσϓϩΠ͕ඞཁ • ө·Ͱʹ͕͔͔࣌ؒͬͯ͠·͏ 36
·ͱΊ 37 ಋೖࣄྫͰհ͍͖ͯͨͩ͠·ͨ͠ IUUQTKBHFUTIJGUFSJPTIPXDBTFBSDIJWF
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ