$30 off During Our Annual Pro Sale. View Details »
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
どうなる Remix 3
tanakahisateru
2
410
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
2
240
哲学史とモデリング
tanakahisateru
4
870
オブジェクト指向宗教史
tanakahisateru
32
18k
ほげ言語にあってPHPにない機能
tanakahisateru
6
3.6k
君たちはどうプログラミングするか
tanakahisateru
16
2.9k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
660
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.8k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.6k
Other Decks in Technology
See All in Technology
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
6
3.4k
特別捜査官等研修会
nomizone
0
570
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
160
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
Building Serverless AI Memory with Mastra × AWS
vvatanabe
0
550
Identity Management for Agentic AI 解説
fujie
0
470
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
1
400
株式会社ビザスク_AI__Engineering_Summit_Tokyo_2025_登壇資料.pdf
eikohashiba
1
110
Agent Skillsがハーネスの垣根を超える日
gotalab555
6
4.3k
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
180
アラフォーおじさん、はじめてre:Inventに行く / A 40-Something Guy’s First re:Invent Adventure
kaminashi
0
140
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
380
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
170
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
29
The Curious Case for Waylosing
cassininazir
0
190
Code Review Best Practice
trishagee
74
19k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
850
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
190
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
28
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
74
Site-Speed That Sticks
csswizardry
13
1k
Mobile First: as difficult as doing things right
swwweet
225
10k
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Ϣʔβʔζάϧʔϓ Ͱ͖Δ͔͗Γ݄ʹճ