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
200
哲学史とモデリング
tanakahisateru
4
830
オブジェクト指向宗教史
tanakahisateru
32
17k
ほげ言語にあってPHPにない機能
tanakahisateru
6
3.3k
君たちはどうプログラミングするか
tanakahisateru
16
2.7k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
630
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.6k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.5k
まんがのかきかた
tanakahisateru
8
720
Other Decks in Technology
See All in Technology
大規模組織にAIエージェントを迅速に導入するためのセキュリティの勘所 / AI agents for large-scale organizations
i35_267
6
330
Ktor + Google Cloud Tasks/PubSub におけるOTel Messaging計装の実践
sansantech
PRO
1
330
AIを使っていい感じにE2Eテストを書けるようになるまで / Trying to Write Good E2E Tests with AI
katawara
3
1.9k
AIに全任せしないコーディングとマネジメント思考
kikuchikakeru
0
270
ファインディにおける Dataform ブランチ戦略
hiracky16
0
210
TypeScript 上達の道
ysknsid25
23
4.8k
【CEDEC2025】LLMを活用したゲーム開発支援と、生成AIの利活用を進める組織的な取り組み
cygames
PRO
1
1.6k
Jitera Company Deck / JP
jitera
0
250
ecspressoの設計思想に至る道 / sekkeinight2025
fujiwara3
12
2.1k
Kiro Hookを Terraformで検証
ao_inoue
0
140
[TechNight #91] Oracle Database 最新パフォーマンス分析手法
oracle4engineer
PRO
3
150
機械学習を「社会実装」するということ 2025年夏版 / Social Implementation of Machine Learning July 2025 Version
moepy_stats
1
1.4k
Featured
See All Featured
Music & Morning Musume
bryan
46
6.7k
Navigating Team Friction
lara
187
15k
Balancing Empowerment & Direction
lara
1
510
KATA
mclloyd
30
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Docker and Python
trallard
45
3.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
How STYLIGHT went responsive
nonsquared
100
5.7k
Visualization
eitanlees
146
16k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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Ϣʔβʔζάϧʔϓ Ͱ͖Δ͔͗Γ݄ʹճ