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.7k
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
2
220
哲学史とモデリング
tanakahisateru
4
860
オブジェクト指向宗教史
tanakahisateru
32
18k
ほげ言語にあってPHPにない機能
tanakahisateru
6
3.5k
君たちはどうプログラミングするか
tanakahisateru
16
2.8k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
650
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.7k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.6k
まんがのかきかた
tanakahisateru
8
730
Other Decks in Technology
See All in Technology
触れるけど壊れないWordPressの作り方
masakawai
0
580
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
230
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
180
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
310
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
750
「タコピーの原罪」から学ぶ間違った”支援” / the bad support of Takopii
piyonakajima
0
160
激動の時代を爆速リチーミングで乗り越えろ
sansantech
PRO
1
220
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
320
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
710
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
2.5k
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
2
230
20251102 WordCamp Kansai 2025
chiilog
0
350
Featured
See All Featured
For a Future-Friendly Web
brad_frost
180
10k
The Pragmatic Product Professional
lauravandoore
36
7k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Automating Front-end Workflow
addyosmani
1371
200k
Statistics for Hackers
jakevdp
799
220k
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
GitHub's CSS Performance
jonrohan
1032
470k
Fireside Chat
paigeccino
41
3.7k
How STYLIGHT went responsive
nonsquared
100
5.9k
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Ϣʔβʔζάϧʔϓ Ͱ͖Δ͔͗Γ݄ʹճ