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
ほげ言語にあってPHPにない機能
Search
Hisateru Tanaka
February 11, 2024
Technology
6
3.2k
ほげ言語にあってPHPにない機能
PHPカンファレンス関西2024発表資料です。
Hisateru Tanaka
February 11, 2024
Tweet
Share
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
2
190
哲学史とモデリング
tanakahisateru
4
810
オブジェクト指向宗教史
tanakahisateru
32
17k
君たちはどうプログラミングするか
tanakahisateru
16
2.7k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
620
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.6k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.5k
まんがのかきかた
tanakahisateru
8
720
10秒で衝突するUUIDの作り方
tanakahisateru
40
40k
Other Decks in Technology
See All in Technology
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
740
20250623 Findy Lunch LT Brown
3150
0
720
監視のこれまでとこれから/sakura monitoring seminar 2025
fujiwara3
10
2.7k
VISITS_AIIoTビジネス共創ラボ登壇資料.pdf
iotcomjpadmin
0
140
成立するElixirの再束縛(再代入)可という選択
kubell_hr
0
540
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
460
SFTPコンテナからファイルをダウンロードする
dip_tech
PRO
0
570
Claude Code Actionを使ったコード品質改善の取り組み
potix2
PRO
2
760
In Praise of "Normal" Engineers (LDX3)
charity
2
1.2k
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
10
3k
知識を整理して未来を作る 〜SKDとAI協業への助走〜
yosh1995
0
110
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
4
400
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Agile that works and the tools we love
rasmusluckow
329
21k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Facilitating Awesome Meetings
lara
54
6.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
4 Signs Your Business is Dying
shpigford
184
22k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Transcript
΄͛ݴޠʹ͋ͬͯ 1)1ʹͳ͍ػೳ GBMTF )" (&
·͍ͲͰ͓·Μ͕ͳ ؔ1)1Ϣʔβʔ͓͡͞ΜͰ͢ w ʮͪΐ͏ͥͭιϑτΣΞ ઃܭೖʯஶऀ w ؔͷ1)1ίϛϡχςΟʹ ΄Ͳ͍·͢ w ݩͷօ͞Μ͝ແࠫଡͰ͢
Α͏ͦ͜ଞҬͷօ͞Μ !UBOBLBIJTBUFSV ాதͻͯ͞Δ ͪΐ͏ͥͭιϑτΣΞઃܭೖ ʕʕ1)1Ͱཧղ͢ΔΦϒδΣΫτࢦͷ׆༻ ాதͻͯ͞Δஶ *4#/
΄͛ݴޠ ͱʜ
ϙʔϧɾάϨΞϜ ʮී௨ͷౕΒͷ্Λߦ͚ʯͰ
΄͛ݴޠͷύϥυοΫε w ͦͦ͜͜ਓؾͷϓϩάϥϛϯάݴޠΛԾʹʮ΄͛ݴޠʯͱ͢Δ w ΄͛ݴޠ͕࠷ߴͩͱݴ͏ਓɺΑΓػೳͳݴޠΛྼ͍ͬͯΔͱݟԼ͢ w ͱ͜Ζ͕ɺ΄͛ݴޠΑΓߴͳػೳΛ࣋ͭݴޠ࣮ࡏ͢Δ w ͦ͏ݴΘΕͯɺΑΓߴͳݴޠػೳͷҙຯΛೝࣝͰ͖ͳ͍ w
΄͛ݴޠΑΓෳࡶͳݴޠաͰແବͩͱޡೝ͍ͯ͠Δ w ͜ͷؔ૬ରతͰɺ΄͛ݴޠԿʹͰஔ͖͑ͯݴ͏͜ͱ͕Ͱ͖Δ
͜Θ ҙຯΘ͔ΒΜ ͓͓ Ϋιݴޠ͕ ΄͛ݴޠѪऀͷ ೝࣝϨϯδ
΄͛ݴޠ1)1ͩͱͯ͠ɺ ͳ͍ػೳͷඞཁੑΛ͓͖ͬͯ·͠ΐ͏
Ϧετͱࣙॻͷ۠ผ 1)1Ҏ֎ͷ΄ͱΜͲͷݴޠ͔Βݟͯҧײ͋Δͷ͕BSSBZ ɻ ྫ͑1ZUIPOͷجຊܕMJTUͱEJDUͰશ͘ผɻ 1)1ͷྻ1ZUIPOͰݴ͏ͱ0SEFSFE%JDUʹ͋ͨΔɻ 1)1ʙϦετͷΑ͏ʹ͏ͱϦετͱͯ͠࠷దԽ͞ΕΔΑ͏ʹɻ ύϑΥʔϚϯεͳ͘ͳ͚ͬͨͲɺߏจ্BSSBZͷΈɻ %PDίϝϯτͰBSSBZͱMJTUΛ۠ผͯ͠1)14UBOΛཔΔɻ
δΣωϦΫε ܕύϥϝʔλ *UFSBUPS"OJNBMͷΑ͏ͳΈ߹Θͤܕɻ ίϯύΠϧ࣌ʹෆਖ਼Λશʹ͚ͳ͍ॲཧܥͰ͍͠ɻ ͔Ζ͏ͯ͡ྻʹؔͯ͠ɺ%PDίϝϯτͱ੩తղੳͰิॿ͢Δश׳ɻ "OJNBM<>BSSBZTUSJOH "OJNBMMJTU"OJNBMʜ 1)14UBOʹ!UFNQMBUF͕͋Δ͚Ͳɺ5ZQF4DSJQUͷํ͕ང͔ʹʜ
શ͕ͯΦϒδΣΫτ :FT3VCZ 1ZUIPO +BWB4DSJQU 4DBMBʜ มʹଋറͰ͖Δͷશͯɺಉ͡ܗࣜͰϝιουίʔϧՄೳɻ ΦϒδΣΫτҎ֎ͷܕ͕ͳ͍ͷͰΦϑαΠυϧʔϧ͕গͳ͘ͳΔɻ /P$ +BWB (P
3VTUʜ8): ॏࢹͷݴޠͰɺόΠτ෯ΧπΧπͷ࠷దԽΛهड़͍ͨ͠ɻ 4DBMB3VCZͷΑ͏ͳΦϒδΣΫτΛόΠτίʔυʹ࠷దԽɻ 1)1ͱ͔1FSMͱ͔ʜ྆ํͷσϝϦοτΛ࣋ͭײ͡ˠؤுΖ͏ɻ
ύοέʔδ ໊લۭؒ Մࢹੑ +BWBͷσϑΥϧτʮΫϥεͷ࠶ར༻ಉҰύοέʔδʯɻ֎෦ެ ։ʹQVCMJDDMBTTͱࢦఆ͢Δඞཁ͕͋Δɻ GJOBMDMBTTҎ֎ʹTFBMFEDMBTT͋ΔɻܧঝؔΛ࡞ΕΔͷύο έʔδͰ͚ͩɺͷΑ͏ʹ੍ݶͰ͖Δɻ 1)1ͷ3'$ʹQSJWBUFDMBTTͷ͋ͬͨؾ͕͢ΔΜ͚ͩͲͳʜ %PDίϝϯτͰ!JOUFSOBMͳͲΛͬͯҙਤΛද͓ͯ͜͠͏ɻ
UIJT ·ͨTFMG ͷলུ ΫϥεͰࣗΛද͢UIJTΛলུͯ͠ॻ͚Δɻ w ϝιουˠͳ͔ͬͨΒάϩʔόϧؔ w ϩʔΧϧมˠͳ͔ͬͨΒϓϩύςΟˠͳ͔ͬͨΒάϩʔόϧ Ͱ͖Δ$ +BWBܥ
$ 3VCZ ͪΐͬͱΈҧ͏͚Ͳ Ͱ͖ͳ͍1)1 1ZUIPO +BWB4DSJQU (P 3VTUʜ ͲͪΒ͕ྑ͍͔୯७ͳ༏ྼͱݴ͑ͳ͍ɻ Ͱ1)16OJUͷUIJTBTTFSU&RVBMT +6OJUΑΓΊΜͲ͍ͳ
͠͞ͷਪҠੑ ҉ܕมͷݫ͠͞ "##$Ͱ͋Ε"$Ͱ͋Δɻ ʜͱͳΒͳ͍߹͕͋Δɻ WBS@EVNQ GBMTFGBMTFl USVF WBS@EVNQ l
GBMTF ʮ҉Ͱʹมͯ͠ൺֱʯʮԿ͔ͩGBMTFͬΆ͍ʯͱ͍ͬͨΏΔ͍ ՁੑൺֱΛΔํɻ͔ͱ͍ͬͯͰݫ͗͢͠Δ߹ʜ ଞͷݴޠʮൺֱ͢ΔͱΤϥʔʯΛબ͍ͯ͠Δ͜ͱ͕ଟ͍ɻ
จࣈྻҎ֎ͷϋογϡࣙॻΩʔ +BWB0CKFDUʹIBTI$PEF Λ࣋ͭˠԿͰΩʔʹ͑Δɻ DIFTT(SJE.BQQVU OFX1PJOU% QBXO 1ZUIPOͷλϓϧΠϛϡʔλϒϧͳͷͰࣙॻͷΩʔʹͳΔɻ
DIFTT@HSJE@EJDU< >QBXO 3VCZҙͷΦϒδΣΫτ0,ͰɺγϯϘϧܕ͕͍͍ײ͡ɻ +BWB4DSJQUͱ1)1จࣈྻΩʔͷΈɻ
҉มলུͷ໌ࣔతͳఆٛ 4DBMB࣍ͷΑ͏ͳ҉ϧʔϧΛʮఆٛʯ͢Δจ๏Λ࣋ͭ wԋࢉͰܕ͕߹Θͳ͍ͱ͖ͷมΛͲ͏͢Δ͔ wಛఆͷهड़ ྫ͑UIJT Λলུͨ࣌͠ͷڍಈ JNQMJDJUΩʔϫʔυʜ΄͛ݴޠͷϢʔβʔ͕ཧղͰ͖ͳ͍ݴޠػೳͷ ͔ͳΓ্Ґʹ͋ΔΜ͡Όͳ͍Ͱ͠ΐ͏͔ɻ ͰυϝΠϯಛԽݴޠͳΜ͔ʹศརɻٕज़తͳϊΠζݮɻ
طଘΫϥεͷಈతͳ֦ு 3VCZͷಛҟΫϥεɻ3BJMTͰEBZTͱ͔ॻ͚ΔΞϨɻ wϦςϥϧͷ3VCZຊମͷ*OUFHFSΠϯελϯε طଘ wϝιουͷEBZTޙ͚ͷ(FNʹఆٛ͞Ε͍ͯΔ 4DBMBͷ߹ɺଘࡏ͠ͳ͍ϝιουͷίʔϧ࣌ʹɺJNQMJDJUఆٛͨ͠ ϥούʔΫϥε͕উखʹ͔Ϳ͞ΔΑ͏ͳΈͰɺࣅͨΑ͏ͳڍಈΛ ࣮ݱͰ͖Δɻ
ϚΫϩ ϝλϓϩάϥϛϯά -JTQσʔλߏͱϓϩάϥϜίʔυ͕ಉ͡ܗΛ͍ͯ͠Δɻσʔλߏ Λ࡞ΔϓϩάϥϜΛॻ͚ͩ͘ͰɺಈతʹϓϩάϥϜΛੜͰ͖Δɻ 3VCZ4DBMBϓϩάϥϜͰϓϩάϥϜΛ࡞ΔͨΊͷػೳΛ࣋ͭɻ /JN4DBMBͷJNQMJDJUʹࣅͨܗͰɺߏจΧελϚΠζϚΫϩΛ࣋ͭɻ 1)1ʹࠇຐज़༻ͷػೳ͕͋·Γͳ͍ͷͰɺQIQϑΝΠϧʹจࣈྻͰ ϓϩάϥϜίʔυΛॻ͍͍ͯ͘͜ͱʹɻ μα͍
Ͱ࣮ࡍɺςϯϓϨʔτΤϯδϯͳΜ͔ͰΑ͘औΒΕͯΔํ๏ɻ
ԋࢉࢠΦʔόʔϩʔυ $ ͷDPVUl)FMMP8PSMEzFOEMͷͷͱ͜Ζɻ ͦͦจࣈྻͷՃࢉ͕ ͳͷTUSDBU ͷγϣʔτΧοτɻ 3VCZ 4DBMB ͪΐͬͱݶఆత͚ͩͲ1ZUIPO
ΦϒδΣΫτʹԋࢉࢠΛͬ ͨ࣌ͷڍಈΛఆٛͰ͖Δɻ +BWBจࣈྻͷՃࢉ͚ͩͯ͠ɺΧελϚΠζੑΛҙਤతʹഉআɻ 1)11ZUIPOʹࣅͯϚδοΫϝιου͕͋Δ͚ͲɺͰ͖ͳ͞+BWBͱಉ͡ ͙Β͍ɻϢʔβʔ͕Ͱ͖ΔͷQSPQͱQSPQͷϑοΫ͙Β͍ɻ
άϦʔϯεϨουͳඇಉظ*0 04ͷϚϧνεϨουΛΘͣɺݴޠॲཧܥͰฒߦॲཧɻ ཁ1SPNJTFΈ͍ͨͳΞϨɻ+BWB4DSJQUͱ1ZUIPOɺݴޠϨϕϧ ͰBTZODBXBJUΩʔϫʔυΛ࣋ͭɻ (Pશͯͷαϒϧʔνϯίʔϧʹ͓͍ͯɺ໌ࣔతͳBXBJUͳ͠Ͱ*0 ͪඇಉظΛαϙʔτɻ͔͠04ͷฒྻॲཧʹࣗಈόϥϯεɻ 1)1ͩͱ4XPPMF͕͍͚ۙͲɺ(Pඇಉظ*0ͷ؆୯͞ͱ҆શ͞Ͱ܈ Λൈ͍͍ͯΔɻ(PHSPVUJOFͷ%4-ͩͱࢥ͏ɻ
Πϛϡʔλϒϧͳม 1)1ͰɺΦϒδΣΫτͷϓϩύςΟʹSFBEPOMZࢦఆ͕૿͑ͨɻ ʜ͕ɺଟ͘ͷؔܕʹ͋ΔMFUɺ+BWB4DSJQUͷDPOTUͳ͍ɻ 1)1Ͱมͷ্ॻ͖Λ੍ݶͰ͖ͳ͍ˠͷͰؔͷείʔϓখ͞ ͘ดͯ͡Γ·͠ΐ͏ɻ 3VTUσϑΥϧτ͕ΠϛϡʔλϒϧͰɺՄมͳมʹNVUΛ͚ Δɻαϒߏ͕NVUͷͱ͖ɺʹNVU͕ײછ͢Δɻ )BTLFMMʮϞφυͰԿ͔Ͱ ʯ
TDBMBSܕ SFTPVSDFܕ JT@TDBMBS ͋ΔͷʹɺJOUcGMPBUcTUSJOHcCPPMΛ૯শ͢Δܕ͕ͳ͍ɻ Ͳ͏ͤͳΒJT@OVNFSJD ʹରԠ͢ΔOVNFSJDܕ͋ͬͯཉ͍͠ɻ DBMMBCMFͱJUFSBCMFͳΜͯ૯শ͋Δͷʹɻ GPQFO ͷΓʹରԠ͢ΔSFTPVSDFܕ͕ͳ͍ɻͳΜͰ͜͜NJYFE ͳΜͩ
ͬͯͳΔɻ Ұ؏ੑ͕ޙճ͠ʹͳͬͯ͠·͏ݴޠͩͱ͍͏ɻ
6'$4 6OJGPSN'VODUJPO$BMM4ZOUBYͷུɻҎԼͷͭಉ͡ҙຯ wBQQFOE EBUB Y wEBUBBQQFOE Y ͦͷ··ߴ֊ؔΕΔײ͡ͱɺϝιουνΣʔϯ͍͚ͯͦ͠͏ͳͷ
ͷɺͲͬͪͰॻ͍͍͍ͯͱ͍͏ΞΠσΞɻ%ݴޠͱ/JN͕࠾༻ɻ 1)1ͰEBUBBQQFOE ͰDBMMBCMFʹͳΔɻ ͱ͜ΖͰ/JNʜ
ίʔυهड़·ΘΓͷػೳ͕ඇৗʹڧ͍ /JN͚ͩͲɺଟଶੑ όϦΞϯτ Ͱ ։์ดݪଇΛຬͨͤͳ͍ IUUQT[FOOEFWUBOBLBIJTBUFSVBSUJDMFTBG l/JNɺʮ͠ΞϥϯɾέΠ͕ΦϒδΣΫτࢦͱݴΘͳ͔ͬͨΒʯ ͱ͍͏ྺ࢙ͷJGΛײͤͯ͘͡͞ΕΔݴޠͩͱࢥͬͨΛ͠·͢ɻ
࠷ڧͷ΄͛ݴޠ ͳΜ͔͋ΒΜͷ
ͱ͜ΖͰ1)1ͷ࡞ऀʜ ʮ1)1ࣃϒϥγʯ 1)1ࣃϒϥγ͘Β͍ڵฃʹ͢ ΔɻγϯϓϧͰɺຖ͏ศརͳಓ ۩ɻ͔ͩΒͲ͏ͨ͠ɻࣃϒϥγʹ ͍ͭͯॻΛړΔ͕͍ͭΔ͔ʁ
ͦΜͳࣃϒϥγɺͰܕ γεςϜ͕ڧԽ͞Ε͖ͯ·ͨ͠
͍ͬΆ͏ࢲʜ ઌݞγεςϜ͕յΕͯɺࣃϒϥγͷΑ͏ͳͷΛΠϯετʔϧ͠·ͨ͠
HJIZPKQ 1)1ͷੜΈͷɺϥεϚεɾϥʔυϑࢯΠϯλϏϡʔ IUUQTHJIZPKQOFXTSFQPSU z1)1πʔϧͰ͢ɻϋϯϚʔͷΑ͏ͳͷͰ͢ɻԿͷมͳ͍ಓ۩͚ͩΕ ͲɺͦΕΛͬͯ࡞ΒΕͨͷਓʑͷΒ͠Λม͖͑ͯ·ͨ͠ɻ zࣾձΛΓସ͑ͨͷϋϯϚʔΛ࡞ͬͨஉͰͳ͘ɺͦΕͰͷΛ࡞ͬͨ ਓʑͰ͢ɻϋϯϚʔΛͬͨਓʑͰ͢ɻ ˡલͷͰདྷͷͱ͖
ʮϓϩάϥϛϯά ݴޠ खஈʯ ୭͕ݴ͏͔Ͱ͍ͣͿΜҙຯ͕มΘͬͯ͘ΔΑͶ
ϓϩάϥϛϯά ઃܭ ӡ༻ମ੍ ࢿۚ܁Γ ϚʔέςΟϯά Ϣʔβʔαϙʔτ ΤϯυϢʔβʔ ϢʔβʔจԽ ࣾձৗࣝͷมԽ ίϯςϯπ
ίϛϡχέʔγϣϯ ੜ׆Πϯϑϥ σϕϩούʔจԽ γεςϜΠϯϑϥ Χϧνϟʔ ,ʙ.ഒͷ ਓޱنͷࠩ
ʮखஈͳΜͯςΩτʔͰ͍͍Αʯ ͱ୭ݴͬͯͳ͍ɻ
Ϋι࣮͕ؒҧͬͯ ചΕͯ͠·ͬͨྫ खஈภॏͷצҧ͍͕ ى͖ͨ։ൃͷ࿏ ͱ͍͑ɺͬͪ͜·ͩച্ Ͱࢧ͑Εٹ͍͕͋Δ ༧ࢉͷग़ॴͲ͜ʜ
ݴޠҰ؏ੑΑΓखஈɻ తͱ֓೦͕߹͑शಘ͙͢ɻ
͋ͷੈք࠷େऀͷݴޠʜ ྺ࢙తཧ༝ʹΑͬͯ࠷Ұ؏ੑ͕ࣦΘΕͨݴޠ ΠϯυɾϤʔϩούޠͷݯྲྀ ϰΝΠΩϯάͷ৵߈ έϧτจԽ ϑϥϯεͷҰ෦ ͩͬͨ࣌ ΩϦετڭ ϥςϯޠ ݹӳޠʹ໊ࢺҎ֎ͷ୯ޠʹ
֨ͷมԽ͕͋ͬͨɻϰΝΠΩ ϯά࣌ʹ୯७Խ͔ͨ͠ɻ ϑϥϯεޠͱϥςϯޠʹޠኮͷ ಛ͕େ෯ʹ৵ུ͞Εͨɻ ࣮ࡍͷൃԻͱҧ͏εϖϧΛ׆൛ ҹͯ͠͠·ͬͨɻ
खஈͱతΛຬͨ͢࠷దͳͷ ੈքʹͬͱෆࢥٞͳࣗવݴޠ w ؾީɾڥɾจԽʹΑͬͯɺ֓೦Λද͢୯ޠʹଟ͘ͷҧ͍͕͋Δɻ w ͨͱ͑ɺ৭Λද֓͢೦͕ʮനʯʮࠇʯʮʯ͔͠ͳ͍ݴޠ͕࣮ࡏ͢Δɻ w લޙࠨӈͱ͍ͬͨ૬ରతͳ͖Λද͢୯ޠΛ࣋ͨͳ͍ݴޠͷ෦͍Δɻ w ൴Βͷੜ͖ํʹ૬ରํͷ֓೦͕ొ͠ͳ͍ɻ͖Λৗʹ౦ೆͰೝࣝ
͍ͯͯ͠ɺͦΕͰશ͘ࠔ͍ͬͯͳͦ͞͏ɻ w ීวจ๏ ਓྨڞ௨ͷίΞ͕͋Δͱߟ͑ͨ νϣϜεΩʔઌੜͼͬ͘Γ
ʮͰ্ͳݴޠΛѻ͑Δͱɺଧ͍ͪͯ͜ਓ݄ ୯ՁऔΕΔͰ͠ΐʯͬͯ ͋ʔɺ͜ͷͰɺͦ͏͍͏ײ͔֮ͬ͢Γͳ ͘ͳͬͪΌ͍·ͨ͠Ͷɻ
༏ྼͰͳ͘ϑΟʔϧυͷҧ͍ͷཧղΛ ͜ͷຊͰհ͞Ε͍ͯΔݴޠ 3VCZ *P 1SPMPH 4DBMB &SMBOH $MPTVSF )BTLFMM
༁൛ɻ·ͩ+43VTU ͞Εͯͳ͔ͬͨࠒɻ$+BWBؚ·Ε ͳ͍͠ɺ4NBMMUBML1BTDBMͳ͍ɻͦ ΕΒΛؚΊΔͱͭ͡Όࡁ·ͳ͍ɻ ϑΟʔϧυΛݟۃΊͯదʹબͿͷɻ
Ͱ1)1ͷϑΟʔϧυ ༷ʑͳ׆༻ࣄྫΛ͜ͷΧϯϑΝϨϯε དྷ݄࠶དྷ݄ Ͱʹ͠·ͨ͠Ͷ ίϛϡχςΟͷ׆ൃ͞ϑΟʔϧυͷ͞Λද͠·͢ɻ ͜Ε͕ɺ1)1ӳޠͷΑ͏ͩͱݴΘΕΔॴҎͰ͢