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に活かす最近のPHPエンジニアトレンド2016 画面つき
Search
Hisateru Tanaka
July 10, 2016
Technology
8
4.6k
WordPressに活かす最近のPHPエンジニアトレンド2016 画面つき
WordCamp関西2016の発表スライド + デモのスクリーンショット
Hisateru Tanaka
July 10, 2016
Tweet
Share
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
哲学史とモデリング
tanakahisateru
4
680
オブジェクト指向宗教史
tanakahisateru
31
17k
ほげ言語にあってPHPにない機能
tanakahisateru
6
2.9k
君たちはどうプログラミングするか
tanakahisateru
12
1.7k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
570
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.4k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.3k
まんがのかきかた
tanakahisateru
8
680
Other Decks in Technology
See All in Technology
Wvlet: A New Flow-Style Query Language For Functional Data Modeling and Interactive Data Analysis - Trino Summit 2024
xerial
1
110
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
2
2.2k
社外コミュニティで学び社内に活かす共に学ぶプロジェクトの実践/backlogworld2024
nishiuma
0
260
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
190
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
330
サイバー攻撃を想定したセキュリティガイドライン 策定とASM及びCNAPPの活用方法
syoshie
3
1.2k
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
240
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
.NET 9 のパフォーマンス改善
nenonaninu
0
780
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
220
MLOps の現場から
asei
6
630
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Mobile First: as difficult as doing things right
swwweet
222
9k
Documentation Writing (for coders)
carmenintech
66
4.5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
GraphQLとの向き合い方2022年版
quramy
44
13k
It's Worth the Effort
3n
183
28k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Practical Orchestrator
shlominoach
186
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Transcript
8PSE1SFTTʹ׆͔͢࠷ۙͷ 1)1ΤϯδχΞτϨϯυ
ͨͳ͔ͻͯ͞Δ @tanakahisateru Pinoco developer PHPTAL contributor Firebug translation contributor Yii
framework user PhpStorm user ॴ ؔ1)1Ϣʔβʔζάϧʔϓ
݄ 2ԿͷͰ͠ΐ͏͔
1)1
1)1 w ͿΓͷϝδϟʔόʔδϣϯΞοϓ w ͪͳΈʹશ1)1ͷྺ࢙ w 1)1ͷϝδϟʔόʔδϣϯίΞͷݴޠΤϯδϯ ˠࠓճจ๏༷ͷ֦ுগͳ͍
1)1ϦϦʔεલ w 1)1ΧϯϑΝϨϯεؔͰ1)1Λѻͬͨ ͚Ͳʜ w 1)1ΧϯϑΝϨϯε౦ژʹɺͳΜͱ1)1ͷ࡞ ऀɺϥεϚεࢯ͕ొஃ w ৽͍͠จ๏ཁૉɺ1)1Y))7.ͱͷൺֱ
ϥεϚεࢯʮΈͳ͞ΜͷΑ͏ͳΤϯδχ ΞʹͱͬͯগʑΫϨΠδʔͳ͜ͱʹฉ ͑͜Δ͔͠Ε·ͤΜ͕ɺ1)1ݴޠɺ 8PSE1SFTTΛඇৗʹॏཁࢹ͍ͯ͠·͢ʯ
IUUQUBMLTQIQOFUUPLZPXQCFODI
1)1༻ײ w 1)1֦ுͱͷؔϩʔϨϕϧͳςΫχοΫ·Θ Γʹͨ·ʹ͕ࠩग़Δ w ΞϓϦέʔγϣϯ࣮తͳͰɺ΄ͱΜͲจ๏ͷ มߋӨڹ͕ͳ͔ͬͨ w ϕϯμʔͷରԠΛ֬ೝ͑͢͠͞ΕҠߦ͍ w
΄ͱΜͲͷπʔϧ͕ܧଓͯ͠ར༻Ͱ͖Δ
1IQ4UPSN
1)1FS͕*%&ΛΜͩ w 7JN&NBDTΛ͖ͬͯͨΤϯδχΞ͕*%&ΛΜ Ͱ͍࢝Ί͍ͯΔ w 1)1ʹΦϒδΣΫτࢦ͕͍ࠜͨ݁Ռˠ*%&ͱ ͷ૬ੑ্͕ͨ͠ ʜͷ͔ͳ
1IQ4UPSNͷػೳ w 1)1ίʔυղੳ w %#ΫϥΠΞϯτ w 3&45ΫϥΠΞϯτ w (JU w
7BHSBOU w 4BTT-&444UZMVT w $P⒎FF4DSJQU5ZQF4DSJQU w (SVOU(VMQ w 8PSE1SFTTϓϥάΠϯ w '514'51
8PSE1SFTT ϓϥάΠϯʲެࣜʳ
ʜɺ͕࣌ؒ͋͠Εʹͯ͠
'51
1IQ4UPSN%FQMPZσϞ
w ͍·Ͳ͖ͷ8FC։ൃͰɺݹ͍ϓϩάϥϜΛͯ͢ফ͠ ͯ৽͍͠ϓϩάϥϜΛσϓϩΠ w ͚Ͳ8PSE1SFTTXQDPOUFOUͷத͕ॻ͖ΘΔ w ͠αʔό͕ࣗಈతʹ͍Ζ͍Ζߋ৽͍ͯͨ͠Β w ͠ςʔϚ$44͕ཧը໘͔Βฤू͞Ε͍ͯͨΒ w
ΞοϓϩʔυϑΝΠϧ໊͕ڝ߹ͨ͠Β w खݩͰม͑ͨ༰ͱαʔόͰมΘͬͨ༰ΛͭͶʹࢹͰ ֬ೝ͠ͳ͕Βಉظ͕ݱ࣮త
͓ͬͱɺ%PDLFSͷ͜ͱ࣍ͷͰ
*%&·ͱΊ ͳͥड͚ೖΕΒΕ͔ͨ w ͔ͭͯɺϑϨʔϜϫʔΫ$.4͝ͱʹશ͘ҧ͏1)1 ͷ͍ํΛ͍ͯͨ͠ w ݱࡏʮ1)1Ͱ͋Δʯͱ͍͏࣌Ͱ͋ΔఔͷҰ؏ ੑ͕Ͱ͖ͨˠػցతͳิॿΛ͘͢͠ͳͬͨ w ͳͷͰɺ*%&͕ྲྀߦͬͨͷ୭ͷ͓͔͔͛ͱ͍͏
ͱʜ
None
Ͱͳͯ͘
ΦϒδΣΫτࢦ 1)1ίϛϡχςΟඪ४
1)1'*( ͝ଘͰ͔͢
143 ͋ΒͨΊͯʜ͝ଘͰ͔͢
w 143໊લۭؒͱϑΥϧμ͚ͷن ഇࢭ143ʹ৽ w 143ίʔσΟϯάελΠϧن w ͜ΕҎલϑϨʔϜϫʔΫ͝ͱʹશ෦όϥόϥͷϥ ΠϒϥϦͩͬͨ
1)1'*( w '*('SBNFXPSL*OUFSPQ(SPVQ w Φʔϓϯιʔεͷ1)1ϥΠϒϥϦ͕ޓ͍ʹྑ͘͠ ͨΒศརͩΑͶ w 143 1)14UBOEBSE3FDPNNFOEBUJPO Λࡦఆ
1)1'*(ࢀՃϝϯόʔ "TTFUJDBOE#V[[ ,SJT8BMMTNJUI !LSJTXBMMTNJUI "VSB1SPKFDUBOE4PMBS'SBNFXPSL 1BVM.+POFT !QNKPOFT $BLF1)1
-BSSZ.BTUFST !1IQ/VU $PNQPTFS +PSEJ#PHHJBOP !TFMEBFL DPODSFUF ,PSWJO4[BOUP !LPSWJOT[BOUP $POUBP0QFO4PVSDF$.4 -FP'FZFS !MFPGFZFS %SVQBM -BSSZ(BSpFME !$SFMM F;1VCMJTI "OESF3PNDLF !BOESFSPN )PSEF +BO4DIOFJEFS !ZVOPTI *#.J5PPMLJU "EBN$VMQ !BEBNDVMQ *DJDMF "BSPO1JPUSPXTLJ !USPXTLJ +BDLBMPQF -VLBT,BIXF4NJUI !MTNJUI +PPNMB3PCFSU%FVU[ !SEFVU[ 5IF-FBHVFPG&YUSBPSEJOBSZ1BDLBHFT (SBIBN%BOJFMT !HSFZEOMT -JUIJVN/BUF"CFMF !OBUFBCFMF .BHFOUP #FO.BSLT !CFONBSLT 1&"3 $IVDL#VSHFTT !BTIOB[H 1IBMDPO "OESFT(VUJFSSF[ !QIBMDPOQIQ 1IJOH .JDIJFM3PPL !NJDIJFMUDT QIQ## .BSD"MFYBOEFS !NBSD QIQ%PDVNFOUPS .JLFWBO3JFM !NWSJFM 1)1JYJF 3PNBO5TJVQB !ESBDPOZ@HJNQ 11*'SBNFXPSL1BVM%SBHPPOJT !ESHPPOJT 1SFTUB4IPQ 3ÉNJ(BJMMBSE !YUB[ 1ZSP$.4 3ZBO5IPNQTPO !3ZBO5IF1ZSP 3FBDU1)1 $FFT+BO,JFXJFU !8ZSJ)BYJNVT 3FWJWF"ETFSWFS .BUUFP#FDDBUJ !NCFDDBUJ 4DVMQJO$ISJT5BOLFSTMFZ !ESBHPONBOUBOL 4JMWFS4USJQF %BNJBO.PPZNBO !USBDUPSDPX 4MJN +BTPO$PXBSE !ESVNTIBNBO 4UBTI 3PCFSU)BGOFS !UFEJWN 4UPSNQBUI1)14%, #SJBO3FUUFSFS !CSFUUFSFS 4VHBS$3. "OESFBT4BOECFSH !ZFMMPXBOEZ 4ZNGPOZ 'BCJFO1PUFODJFS !GBCQPU /FPTBOE'MPX,BSTUFO%BNCFLBMOT !LEBNCFLBMOT 8JLJCBTFBOE4FNBOUJD.FEJB8JLJ +FSPFO%F%BVX !+FSPFO%F%BVX :JJGSBNFXPSL "MFYBOEFS.BLBSPW !TBN@EBSL ;FOE'SBNFXPSL .BUUIFX8FJFS01IJOOFZ !NXPQ ;JLVMB 4IFpL.BDBVMFZ !TIFpL@JOGP ݱࡏ IUUQXXXQIQpHPSHNFNCFST
8PSE1SFTT ೖͬͯͳ͍ +PPNMB %SVQBM DPODMFUF QIQ## .FEJB8JLJ 4VHBS$3. ͋Ε
֤8FCϑϨʔϜϫʔΫ
8PSE1SFTTͱ'*(ͷؔ w 1)1'*(ͷՃೖͱΠέͯΔ͔Ͳ͏͔ແؔ w 143ͷతόϥόϥͷ044ΠϯλʔϑΣʔε Λڞ༗ͯ͠શମͰίϛϡχςΟΛܗ͠Α͏ w 8PSE1SFTTͱͱେ͖ͳίϛϡχςΟΛ࣋ͭ w ϓϥάΠϯςʔϚͷ৹ࠪϫʔΫϑϩʔ
w ίʔσΟϯάࣝͷڞ༗ίϛϡχςΟ
None
ࣄ݅ w %PDUSJOF w (V[[MF w 1SPQFM w -BSBWFM ଞཹ
㱠ର ͜ΕҎ্ͷඪ४ࡦఆʹՃΘΒͳ͍͕༗༻ͳ143ʹΔ
ূڌʮ143ʹͬͯͳ͍ͳ Μͯ͋Γ͑ͳ͍ɻͳͥͬͯʜʯ
$PNQPTFS
$PNQPTFS w 1)1ύοέʔδཧπʔϧ w 143ʹ४ڌ͢ΕSFRVJSF@PODFෆཁ w ͍ͭʹϦϦʔε w ӬԕͷΞϧϑΝ൛ͱݴΘΕͳ͕ΒେଟͷϑϨʔϜϫʔ ΫϥΠϒϥϦ͕࠾༻
w 1)1ΧϯϑΝϨϯεؔʹɺຊͰͬͱॏཁ ͳίϯτϦϏϡʔλʔ͕
QBDLBHJTUPSH
ʮͰͦΕ143ͬͯ͜ͱɺ 8PSE1SFTTͷϓϥάΠϯʹ ͑ͳ͍Μ͡Όʜʯ
XQBDLBHJTUPSH ͑ ͑ΔΑ
͍ํ \ SFQPTJUPSJFT< \ UZQFDPNQPTFS VSMIUUQTXQBDLBHJTUPSH ^ >
SFRVJSF\ DPNQPTFSJOTUBMMFSTd XQBDLBHJTUQMVHJODPOUBDUGPSN? ^ FYUSB\ JOTUBMMFSQBUIT\ EPDSPPUXQDPOUFOUQMVHJOT\OBNF^<UZQFXPSEQSFTTQMVHJO> EPDSPPUXQDPOUFOUUIFNFT\OBNF^<UZQFXPSEQSFTTUIFNF> ^ ^ ^ DPNQPTFSKTPO σϑΥϧτͷQBDLBHJTUҎ֎ʹ ͔͜͜Βऔಘͯ͠ ಛघͳύεʹΠϯετʔϧͰ ͖ΔΑ͏ʹͪΐͬͱ ͜ΕೖΕͯ
σϞͷ(JU $ tree . ├── LICENSE ├── README.md ├── Vagrantfile
├── codeception.yml ├── composer.json ├── composer.lock ├── docroot │ └── wp-content │ ├── plugins │ │ └── site │ └── themes │ └── site │ ├── functions.php │ └── style.css ├── init.sh ├── provisioning │ ├── playbook.yml │ ├── scripts │ │ ├── install-wp-cli.sh │ │ └── setup-wordpress.sh │ └── templates │ └── httpd.conf ├── salts.txt └── tests ├── … ུ └── unit.suite.yml ͖Ε͍ͳϑΥϧμͯ͠ΔͩΖɻ ιΈ͍ͨͩΖɻ XQDPOUFOUͳΜͩͥɻ XQDPSFEPXOMPBE DPNQPTFSJOTUBMMͰ
None
$PNQPTFSར༻ͷϝϦοτ w μϯϩʔυͨ͠ϥΠϒϥϦͷίϐʔΛόʔδϣϯ ཧʹؚΊͳ͍͍ͯ͘ w XQDMJΑΓႈੑ͕ߴ͍ طʹ͋ͬͨΒೖΕͳ͍ɺ ཁΒͳ͍ͷΛ͞ͳ͍ɺෳڥʹಉ͡όʔδϣ ϯߏ͕࠶ݱͰ͖Δ
w XQDMJͱDPNQPTFSͷซ༻͕Φεεϝ
1)1ͷόʔδϣϯͰ͋Γ·ͤΜɻͯ͞ԿͰ͠ΐ͏ ͏ͻͱͭͷ
143 3&45GVM
3&45 w 3FQSFTFOUBUJPOBM4UBUF5SBOTGFSͷུ w ଏʹ͍͏ 8FCαʔϏεͷ "1* w γϯάϧϖʔδΞϓϦέʔγϣϯ 41"
w αΠτઃܭͷϚΠΫϩαʔϏεԽ
౷తͳ8FCΞϓϦέʔγϣϯ αʔϏε ϒϥβ )5.- (&5 1045
ۙࠒͷΞʔΩςΫνϟ αʔϏε 3&45 ଞͷ8FCΞϓ Ϧέʔγϣϯ ϒϥβ +4 ϞόΠϧ ΞϓϦ "1*
"1* (&51045 165%&-&5&1"5$)
+BWB4DSJQUͷͷߴ·Γ w 1)1ΧϯϑΝϨϯεͰ"OHVMBS+4ɺ+BWB4DSJQU ؔ࿈ͷηογϣϯ͕ਓؾΛूΊ͍ͯΔ w 1)1ΧϯϑΝϨϯεؔͰ8FC $PNQPOFOUʹؔ͢Δηογϣϯ͕ͭ w 1)1ͷϓϩάϥϜͱϢʔβʔΠϯλʔϑΣʔεΛ ͍ͨ͠ͱ͍͏ؾ࣋ͪ
ϚΠΫϩαʔϏε143 w ϚΠΫϩαʔϏεαʔόʔؒΛ)551Ͱͭͳ͝͏ w 143)551NFTTBHFJOUFSGBDFT w 1)1͔Β)551ϦΫΤετ͢Δͱ͖ͷ͓ଋ w 1)1͕)551ϦΫΤετΛड͚ͨͱ͖ͷ͓ଋ w
ૣ͘"844%,͕Ұ෦143ʹ४ڌ
͜ͷΜ8PSE1SFTT ͰΘ͔Γ͍͘͢͏ͱ
813&45"1*
w 8PSE1SFTTΛૢ࡞͢ΔϞόΠϧΞϓϦ͕࡞ΕΔ w 8PSE1SFTTΛར༻ͨ͠ผͷ8FCαʔϏεΛ࡞ΕΔ w ͬͯͱ͖ʹ w 1)1Ͱྑ͘αʔόؒ௨৴͢ΔͳΒͳΔ͘143 ҙࣝͯ͠Ͷ
ৄࡉ͋ͱͷϋϯζΦϯʹ
ࣄྫ"84&MBTUJDTFBSDI 4FSWJDFೝূ w "84ͷ&MBTUJDTFBSDI4FSWJDFʹϕϯμʔඪ४ ͷύεϫʔυೝূ͕ͳ͍ w *".ϩʔϧೝূ w "844%,͕ɺ143ϦΫΤετΛड͚ͯ*".ϩʔ ϧೝূใ͖ϦΫΤετΛग़ྗ͢ΔΑ͏ʹͳͬͨ
ϦΫΤετ "844%, ೝূࡁΈϦΫΤετ LFZ TFDSFU SFHJPO "84Ͱ͑Δ "84Ͱ͑ͳ͍ 143 143
"84 )551
w &MBTUJDTFBSDI)551ͰΞΫηε͢ΔݕࡧಛԽ/P42- w .Z42-શจݕࡧ͕ۤखɺ&MBTUJDTFBSDIશจݕࡧΠ ϯσοΫεͷઃఆ͕༏ल w 8PSE1SFTTͷશจݕࡧʹ౷߹ˠϓϥάΠϯXQ FMBTUJDTFBSDI XPSEQSFTTGBOUBTUJDFMBTUJDTFBSDI w
ͱͱ"84ͱແ͕ؔͩͬͨɺ"84͕ &MBTUJDTFBSDIͷϗεςΟϯάαʔϏε։࢝ w ެࣜͷΫϥυϗεςΟϯά͔ͳΓ༏लˠIUUQ UBOBLBIJTBUFSVIBUFOBCMPHKQFOUSZ &MBTUJDTFBSDIΛΒͳ͔ͬͨਓಡΜͰ͓͍͍ͯͩ͘͞
ͪΐͬͱ͚ͩ࣋ w ·͋ɺΫϥΠΞϯτ·ͰΦʔϧ3&45Ͱ݁Ͱ͖Δ ઃܭͳΜͯͷجຊɺάάΒΕͳ͍ͷγΣΞ ͞Εͳ͍ͷΛ࡞ΔͰ͢ΑͶ w ΞϓϦέʔγϣϯ͕ൃୡ͢Εͦ͜ɺ༏ΕͨςΩε τ8FCίϯςϯπͱͯ͠ɺ)5.-υΩϡϝϯτ ͜Ε͔Β·͢·͢ॏཁͩͱࢥ͍·͢ w
Ͱɺ͓ͨ͘ͷ8FCϖʔδյΕ͍ͯ·ͤΜ͔
ࣗಈςετ w ϓϩάϥϜΛςετ͢ΔϓϩάϥϜ ྫ1)16OJU w ࠷ۙͷ1)1ΧϯϑΝϨϯεͰɺ+BWB4DSJQUΛؚ Ήςετʹ w ·ͨɺۙͰৼΔ͍ςετʹؔ͢Δηογϣ
ϯ͕૿͑ͨ
$PEFDFQUJPO
$PEFDFQUJPO w ࣗಈςετϑϨʔϜϫʔΫ w ड͚ೖΕςετɺػೳςετɺ୯ମςετ w 81୯ମςετ͕͍͠ w $PEFDFQUJPOड͚ೖΕػೳςετ͕ಛ w
ʮ8FCϖʔδΛ։͍ͨʯͰ࢝·ΓɺʮϦϯΫΛΫ ϦοΫʯʮจݴ͕ग़͍ͯΔ͔ʯΛ֬ೝ
͜Μͳ;͏ʹॻ͖·͢ <?php $I = new AcceptanceTester($scenario); $I->am('user'); $I->wantTo('login to website');
$I->lookForwardTo('access all website features'); $I->amOnPage('/login'); $I->fillField('Username','davert'); $I->fillField('Password','qwerty'); $I->click('Login'); $I->see('Hello, davert');
w ͍͠จ๏͕Θ͔Βͳͯ͘ɺεΫϦϓτͱͯ͠ॻ ͚Δ ಡΊΔˠςετͨ͠ࣄฑΛڞ༗͍͢͠ w ϩʔΧϧͷ։ൃڥ͚ͩͰͳ͘ɺεςʔδϯάڥ ຊ൪ڥʹରͯ͠ɺࣗಈςετΛ࣮ߦͰ͖Δ w 8FCαΠτߋ৽ͨ͠Βɺ೦ͷͨΊಈ࡞νΣοΫ͠ ·͢ΑͶɻϧʔνϯϫʔΫͰ͢ΑͶ
IUUQDPEFDFQUJPODPNGPSXPSEQSFTT ެࣜ
ʜʹ͕ͨͬͯ͠ ड͚ೖΕςετͬͯΈͨσϞ
ड͚ೖΕςετͷίπ w هड़͕؆୯ͳ໘ɺذ͕͋ͬͨΓͯ͠Օॻ͖Ͱ ॻ͚ͳ͍΄Ͳෳࡶͳදݱʹ͔ͳ͍ w ͬͱॏཁͳਖ਼ৗܥͷૢ࡞γφϦΦΛɺ͍͞͞ͳ Τϯόά͔ΒकΔ͜ͱɺ͚ͦͩ͜ʹযΛ w ਫ਼ີʹςετ͗͢͠ˠ͍ςετΛಈ͔͢ಡ Ή΄͏͕͘͠ͳΔˠຊస
σϞͰͬͨίʔυ wIUUQTHJUIVCDPN UBOBLBIJTBUFSV XQEFNPXDL w ͳਓ͕5XJUUFSͰγΣΞͯ͘͠ΕΔΜͰ͢ΑͶ͖ͬͱ
·ͱΊ 8PSE1SFTT1)1Ͱ͋Δ 1)1ͷ࠷৽ಈΛऔΓೖΕΑ͏ ͋ɺ͏औΓೖΕͯΔ ͳΒ͓͏ͥ Δνϟϯεʜ ͦ͏ͩ1)1ͷྲྀߦΓ͔Β ͔͚ͬΑ͏
1)1ΧϯϑΝϨϯεؔ ֤ҬͰճશࠃͰҬ
ؔ1)1ษڧձ ؔ1)1Ϣʔβʔζάϧʔϓ Ͱ͖Δ͔͗Γ݄ʹճ