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
MW WP Form について語り尽くす
Search
Takashi Kitajima
May 21, 2017
Technology
0
2.9k
MW WP Form について語り尽くす
WordBench Fest.山口 -Spring WP Fever- 2017/05/20
Takashi Kitajima
May 21, 2017
Tweet
Share
More Decks by Takashi Kitajima
See All by Takashi Kitajima
Snow Monkey&unitone から見た WordPress エディターの変遷
inc2734
0
99
Snow Monkey CM
inc2734
0
62
メンテナンス性を考慮した CSS 設計
inc2734
0
280
Snow Monkey とは
inc2734
0
1k
WordPress_テーマのつくりかた.pdf
inc2734
4
470
受託開発者だった僕が WordPress の有料テーマ開発者になって学んだこと
inc2734
1
900
Snow Monkey(WordPress) による web コンテンツ制作の新しいカタチ【ビジネスパーソン向け】
inc2734
0
71
Snow Monkey とコミュニティ
inc2734
0
560
Snow Monkey における私の技術的偏愛
inc2734
0
520
Other Decks in Technology
See All in Technology
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
日経電子版のStoreKit2フルリニューアル
shimastripe
1
150
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
710
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
190
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
【LT】ソフトウェア産業は進化しているのか? #Agilejapan
takabow
0
100
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
130
心が動くエンジニアリング ── 私が夢中になる理由
16bitidol
0
100
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
450
FlutterアプリにおけるSLI/SLOを用いたユーザー体験の可視化と計測基盤構築
ostk0069
0
120
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Making Projects Easy
brettharned
115
5.9k
Designing for humans not robots
tammielis
250
25k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Happy Clients
brianwarren
98
6.7k
Being A Developer After 40
akosma
87
590k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Transcript
.881'PSNʹ͍ͭͯޠΓਚ͘͢ 8PSE#FODI'FTUࢁޱ4QSJOH81'FWFS
ϞϯΩʔϨϯν IUUQTJODPSH ΩλδϚλΧγ !JOD ϑϦʔϥϯε 8FCσβΠφʔϓϩάϥϚʔ
8PSE1SFTTϓϥάΠϯ .881'PSNɺ4NBSU$VTUPN'JFMET 8PSE1SFTTςʔϚ )BCBLJSJɺ.JNJ[VLV 4BTT$44ϑϨʔϜϫʔΫ #BTJT
8PSE1SFTTίϛϡχςΟͱͷؔΘΓ 8PSE$BNQ5PLZP࣮ߦҕһ 8PSE$BNQ5PLZP-5 8PSE$BNQ,BOTBJ࣮ߦҕһϋϯζΦϯ 8PSE$BNQ,BOTBJ࣮ߦҕһεϐʔΧʔ
8PSE$BNQ5PLZPεϐʔΧʔ FUD
ຊʹ͑ΔςʔϚͱͲͷΑ͏ͳ ͷ͔Λߟ͑ଓ͚ͨ݁Ռ ΩλδϚλΧγ!JOD IUUQTHJUIVCDPNJODNJNJ[VLV
.881'PSNͱ
.881'PSNͱ w ͓͍߹ΘͤϑΥʔϜ࡞ϓϥάΠϯ w ֬ೝը໘Λ͞Ή͜ͱ͕Ͱ͖Δ w μϯϩʔυɿ w
ΞΫςΟϒΠϯετʔϧɿ
$POUBDU'PSN w μϯϩʔυɿ w ΞΫςΟϒΠϯετʔϧɿ
https://nondesu.jp/
IUUQTXQEPSH
IUUQTXQEPSH
.881'PSNͷجຊػೳ
ೖྗը໘c֬ೝը໘cྃը໘ 63-ͷઃఆ ͍߹Θͤͷσʔλϕʔεอଘ ͍߹Θͤσʔλͷάϥϑදࣔ ๛ͳόϦσʔγϣϯϧʔϧ
.881'PSNͷ࣮ߦϓϩηε
༁ϑΝΠϧͷಡΈࠐΈ ֤ೖྗϑΟʔϧυͷಡΈࠐΈ ֤όϦσʔγϣϯϧʔϧͷಡΈࠐΈ .881'PSNΛཧ͢ΔΧελϜߘλΠϓΛొ ϝΠϯίϯτϩʔϥʔಡΈࠐΈ
ςϯϓϨʔτͷಡΈࠐΈલ UFNQMBUF@JODMVEF ߘσʔλɾςϯϓϨʔτʹ.881'PSNΛ࣮ߦ͢ΔͨΊͷγϣʔτίʔυ <NXGPSN@GPSNLFZ>ɺ<NXGPSN> ͕ଘࡏ͢Δ͔νΣοΫ ଘࡏ͠ͳ͔ͬͨΒ͜͜Ͱ.881'PSNʹؔ͢Δॲཧऴྃ γϣʔτίʔυΛͱʹͦͷϑΥʔϜͷઃఆΛऔಘ ૹ৴σʔλΛ%#ʹҰ࣌తʹอଘ 5SBOTJFOU"1* $PPLJF ϖʔδΩϟογϡΛແޮʹ͢ΔͨΊͷ)551ϔομʔΛग़ྗ ૹ৴σʔλ͕ਖ਼͍͔͠νΣοΫ $43'ରࡦͱͯ͠ૹ৴σʔλʹؚ·ΕΔτʔΫϯΛνΣοΫ ૹ৴σʔλʹର͠όϦσʔγϣϯνΣοΫΛ࣮ߦ ૹ৴σʔλɺόϦσʔγϣϯ݁ՌΛݩʹͲͷը໘Λදࣔ ϦμΠϨΫτ ͢Δ͔Λܾఆ 1045࣌ɺ͘͠ϦμΠϨΫτઌ͕ݱࡏͷ63-ͱҟͳΕϦμΠϨΫτΛ࣮ߦ ॳظԽɾجຊॲཧ ը໘දࣔͷͨͼʹ࣮ߦ Wݱࡏ
લड़ͷॳظԽॲཧΛ࣮ߦ ࠷ॳʹදࣔ͢Δ͖ը໘ೖྗը໘ͳͷͰϦμΠϨΫτߦΘΕͳ͍ ֤ೖྗϑΟʔϧυͷγϣʔτίʔυΛొ BEE@TIPSUDPEF ϖʔδදࣔ
UIF@DPOUFOU 8PSE1SFTTͷը໘ද͕࣮ࣔߦɺ.881'PSNͷγϣʔτίʔυͷ࣮ߦ͕ߦΘΕɺ ϑΥʔϜ͕දࣔ͞ΕΔ ֬ೝϘλϯԡԼ ݱࡏදࣔதͷը໘ʹ1045 ૹ৴ϘλϯԡԼ ݱࡏදࣔதͷը໘ʹ1045 ೖྗը໘ 1045 Wݱࡏ
લड़ͷॳظԽॲཧΛ࣮ߦ @1045ʹ8PSE1SFTTͷϦΫΤετ RVFSZ@WBST ͱಉ໊ͷΩʔؚ͕·Ε͍ͯΔ߹ɺ ͦͷRVFSZ@WBSTΛআ ϑΝΠϧͷΞοϓϩʔυ͕͋Δ߹ɺϦμΠϨΫτͷલʹҰ࣌σΟϨΫτϦʹอଘ
όϦσʔγϣϯΤϥʔͳ͠ ֬ೝը໘ϦμΠϨΫτ όϦσʔγϣϯΤϥʔ͋Γ όϦσʔγϣϯΤϥʔը໘ϦμΠϨΫτ ೖྗը໘⒌ ϦμΠϨΫτ IUUQFYBNQMFDPN OBNFࢁాଠ ໊͓લɿ<NXGPSN@UFYUOBNFlOBNFz> Wݱࡏ
લड़ͷॳظԽॲཧΛ࣮ߦ όϦσʔγϣϯΤϥʔͳ͠ ͦͷ··֬ೝը໘Λදࣔ όϦσʔγϣϯΤϥʔ͋Γ όϦσʔγϣϯΤϥʔը໘ϦμΠϨΫτ
֤ೖྗϑΟʔϧυͷγϣʔτίʔυΛొ BEE@TIPSUDPEF ϖʔδදࣔ UIF@DPOUFOU 8PSE1SFTTͷը໘ද͕࣮ࣔߦɺ.881'PSNͷγϣʔτίʔυͷ࣮ߦ͕ߦΘΕɺ ϑΥʔϜ͕දࣔ͞ΕΔ %#ʹҰ࣌తʹอଘͨ͠ૹ৴σʔλΛআ XQ@GPPUFS ΔϘλϯԡԼ ݱࡏදࣔதͷը໘ʹ1045 ૹ৴ϘλϯԡԼ ݱࡏදࣔதͷը໘ʹ1045 ֬ೝը໘ 1045 Wݱࡏ
લड़ͷॳظԽॲཧΛ࣮ߦ @1045ʹ8PSE1SFTTͷϦΫΤετ RVFSZ@WBST ͱಉ໊ͷΩʔؚ͕·Ε͍ͯΔ ߹ɺͦͷRVFSZ@WBSTΛআ όϦσʔγϣϯΤϥʔͳ͠
ϝʔϧͷૹ৴ॲཧΛ࣮ߦ ྃը໘ϦμΠϨΫτ όϦσʔγϣϯΤϥʔ͋Γ όϦσʔγϣϯΤϥʔը໘ϦμΠϨΫτ ֬ೝը໘⒌ ϦμΠϨΫτ Wݱࡏ
લड़ͷॳظԽॲཧΛ࣮ߦ όϦσʔγϣϯΤϥʔͳ͠ ͦͷ··ྃը໘Λදࣔ όϦσʔγϣϯΤϥʔ͋Γ όϦσʔγϣϯΤϥʔը໘ϦμΠϨΫτ
֤ೖྗϑΟʔϧυͷγϣʔτίʔυΛొ BEE@TIPSUDPEF ϖʔδදࣔ UIF@DPOUFOU 8PSE1SFTTͷը໘ද͕࣮ࣔߦɺ.881'PSNͷγϣʔτίʔυͷ࣮ߦ͕ߦΘΕɺ ྃը໘ϝοηʔδ͕දࣔ͞ΕΔ %#ʹҰ࣌తʹอଘͨ͠ૹ৴σʔλΛআ XQ@GPPUFS ྃը໘ Wݱࡏ
લड़ͷॳظԽॲཧΛ࣮ߦ όϦσʔγϣϯΤϥʔ͋Γ ͦͷ··όϦσʔγϣϯΤϥʔը໘Λදࣔ ֤ೖྗϑΟʔϧυͷγϣʔτίʔυΛొ BEE@TIPSUDPEF
ϖʔδදࣔ UIF@DPOUFOU 8PSE1SFTTͷը໘ද͕࣮ࣔߦɺ.881'PSNͷγϣʔτίʔυͷ࣮ߦ͕ߦΘΕ ϑΥʔϜ͕දࣔ͞ΕΔ %#ʹҰ࣌తʹอଘͨ͠ૹ৴σʔλΛআ XQ@GPPUFS όϦσʔγϣϯΤϥʔը໘ Wݱࡏ
ͳΜͰ@4&44*0/ΛΘͳ͍ͷʁ $PMVNO
w ϑΥʔϜͷૹ৴σʔλΛ࣋ͪճΔํ๏ओʹͭ ೖྗը໘ͰೖྗϑΟʔϧυɺ֬ೝը໘Ͱ IJEEFOϑΟʔϧυ͍1045Ͱ࣋ͪճΔ ૹ৴͞ΕͨσʔλΛ@4&44*0/ʹอଘͯ͠ ࣋ͪճΔ
w 1045Ͱ࣋ͪճΔํ๏ը໘ભҠͷίϯτϩʔϧ͕໘ͳͷ ͱɺϦϩʔυͨ͠ͱ͖ʹʮ࠶ૹ৴͠·͔͢ʁʯతͳϒϥβΞ ϥʔτ͕ग़Δͷ͕͏ͬͱ͏͍͠ w @4&44*0/Λ͏ͷ͕Ұൠతͳํ๏ͩͱࢥ͏͕ɺڥʹΑͬͯ ಈ͔ͳ͍͜ͱ͕͋ͬͨΓɺεέʔϧΞτ͢Δͱ͖ʹ໘ w ͪͳΈʹ8PSE1SFTTຊମ@4&44*0/Λ͍ͬͯͳ͍ w
.881'PSNͱͱ@4&44*0/Λ͍͕ͬͯͨɺ্هͷ Α͏ͳ͜ͱ͕ؾʹͳΓɺ5SBOTJFOU"1* Ұ࣌తͳσʔλΛ%# ʹΩϟογϡ͢Δػೳ ͰٖࣅతʹηογϣϯػೳతͳͷΛ ࡞ΓɺͦΕΛ͏Α͏ʹมߋ
ϝʔϧૹ৴ॲཧͲ͏Δͷʁ $PMVNO
w ͱͱࣗ࡞͍ͯͨ͠ɻNC@TFOE@NBJM w Ͱࣗલڥͱ͔ΊΜͲ͍͘͞͠ةݥ w 8PSE1SFTTͷXQ@NBJM Λ͏ͷ͕٢
XQ@NBJM UP TVCKFDU NFTTBHF IFBEFST BUUBDINFOUT
ϑοΫΛͬͨ .881'PSNͷΧελϚΠζ
ϝʔϧૹ৴࣌ͷϑΟϧλʔϑοΫ w NXGPSN@BVUP@NBJM@SBX@NXXQGPSNYYY \OBNF^มલͷࣗಈฦ৴ϝʔϧΛॻ͖͑ΔϑοΫ w NXGPSN@BVUP@NBJM@NXXQGPSNYYY \OBNF^มޙͷࣗಈฦ৴ϝʔϧΛॻ͖͑ΔϑοΫ w NXGPSN@BENJO@NBJM@SBX@NXXQGPSNYYY \OBNF^มલͷཧऀѼϝʔϧΛॻ͖͑ΔϑοΫ
w NXGPSN@BENJO@NBJM@NXXQGPSNYYY \OBNF^มޙͷཧऀѼϝʔϧΛॻ͖͑ΔϑοΫ
ϝʔϧૹ৴࣌ͷΞΫγϣϯϑοΫ w NXGPSN@CFGPSF@TFOE@BENJO@NBJM@NXXQGPSNYYY ཧऀѼϝʔϧૹ৴લͷϑοΫ w NXGPSN@CFGPSF@TFOE@SFQMZ@NBJM@NXXQGPSNYYY ࣗಈฦ৴ϝʔϧૹ৴લͷϑοΫ w NXGPSN@BGUFS@TFOE@NXXQGPSNYYY ཧऀѼϝʔϧɺࣗಈฦ৴ϝʔϧૹ৴ޙͷϑοΫ
ಠࣗόϦσʔγϣϯϧʔϧͷՃ w ຊจϨϕϧ w ຊจϨϕϧ w ຊจϨϕϧ w ຊจϨϕϧ w
ຊจϨϕϧ class MW_Validation_Rule_Foo extends MW_Validation_Rule { protected $name = ‘foo’; public function rule( $key, array $options = array() ) { if ( ΤϥʔʹͳΔ݅ ) { return ‘Τϥʔϝοηʔδ’; } } public function admin( $key, $value ) { ?> <label> <input type="checkbox" <?php checked( $value[$this->getName()], 1 ); ?> name="<?php echo MWF_Config::NAME; ?>[validation][<?php echo $key; ?>][<?php echo esc_attr( $this->getName() ); ?>]" value="1" /> όϦσʔγϣϯϧʔϧ໊ </label> <?php } } // ͜Εকདྷతʹෆཁʹ͢Δ༧ఆ add_filter( 'mwform_validation_rules', function( $validation_rules ) { $validation_rules[‘foo’] = new MW_Validation_Rule_Foo(); return $validation_rules; } );
ಠࣗೖྗϑΟʔϧυͷՃ w ͪ͜ΒϑοΫෆཁͰɺ .8@81@'PSN@"CTUSBDU@'PSN@'JFMEΫϥεΛܧঝ͠ ͨΫϥεΛ࡞ΓJODMVEF͢Δ͚ͩͰՃ͞Ε·͢ w ίʔυ͕ͯ͘αϯϓϧ͕ࡌͤΒΕͳ͍ͷͰ͜͜Λ͝ࢀ র͍ͩ͘͞ʜ IUUQTHJUIVCDPNJODNXXQGPSNCMPC NBTUFSDMBTTFTGPSNpFMET
ΧελϜϝʔϧλάͷՃ w ϝʔϧૹ৴࣌ʹΦϦδφϧͷʮϝʔϧλάʯΛఆٛ͢Δػೳ w ྫ͑ϝʔϧ༰ͷઃఆͰ\TFOE@EBUFUJNF^ͱͨ͠ͱ͖ʹૹ ৴࣌ʹม͞Εͯϝʔϧૹ৴ͤ͞Δͱ͍͏͜ͱ͕Մೳ add_filter( 'mwform_custom_mail_tag', function( $value,
$key, $inserted_inquiry_id ) { if ( $key === 'send_datetime' ) { return date( 'Y/m/d l H:i:s' ); } return $value; }, 10, 3 );
ϑΥʔϜ༰ͷܗΛఆٛ͢Δ w $POUBDU'PSNϑΥʔϜ࡞࣌ʹϑΥʔϜͷܗ͕ೖྗ͞ Ε͍ͯ·͕͢.881'PSNͦ͏ͳ͍ͬͯ·ͤΜ w ඞཁͳํϑοΫͰՃͰ͖·͢ /** * ςʔϚ inc/mw-wp-form-default-content.php
Λܗͱͯ͠ར༻͢Δαϯϓϧ */ add_filter( 'mwform_default_content', function( $content ) { ob_start(); get_template_part( 'inc/mw-wp-form-default-content' ); return ob_get_clean(); } );
ϚωλΠζ
ΞυΦϯൢച .881'PSNʹؔ͢Δػೳ։ൃґཔ
ΞυΦϯൢച
͍·ൢച͍ͯ͠Δͷ w .881'PSN(FOFSBUPS ϑΥʔϜ࡞ΛΤσΟλܗࣜͰͳ͘(6*ܗࣜʹมߋ͢Δ σβΠϯͷఏڙɻεΩϯػೳͰସՄೳ ԁ ੫ൈ w
.881'PSN$"15$)" ΩϟϓνϟೝূϑΟʔϧυΛՃ͢Δ ԁ ੫ൈ
ͱͱൢച͍ͯͨ͠ͷ w .881'PSN4UBOEBSE ϑΥʔϜ࡞࣌ʹϑΥʔϜͷܗ͕ೖྗ͞ΕΔΑ͏ʹͳΔ σβΠϯͷఏڙɻεΩϯػೳͰସՄೳ ԁ ੫ൈ
w )5.-ܗࣜͷܗΛఏڙ͢Δܗͩͱ)5.-ߏΛม͑ Δ͜ͱ͕Ͱ͖ͳ͍ͷͰσβΠϯεΩϯͷ࡞ʹ੍ݶ͕ Ͱ͖ͯ͠·͏ w .881'PSN4UBOEBSEΛΊͯɺϢʔβʔ͕)5.- Λҙࣝ͠ͳ͍ܗͰϑΥʔϜ࡞εΩϯͷબ͕Ͱ͖ Δ.881'PSN(FOFSBUPSΛൢച
w ػೳ͕ҧ͏ͷͷɺ࠷ऴతʹϢʔβʔʹఏڙ͢ΔՁ )5.-$44͕ॻ͚ͳͯͬͨ͘ϑΥʔϜ͕࡞Ͱ ͖Δ ΄΅ಉ͡ w ֹ͕ۚഒʹͳΔͷͰൢചݸݮΔͷͰʜ
w ൢചݸʹӨڹͳ͘ɺՁ֨ͷΞοϓʹൺྫͯ͠ച Γ্͛Ξοϓ w (6*ػೳͷఏڙͱ͍͏৽͍͠ՃՁͷՃ͋ͬͨ ͷͷ ಛผ҆͘͠ͳͯ͘ചΕΔͷചΕΔ w ͨͱ͑҆ͨ͘͠΄͏͕ൢചݸ͕૿͑Δͷͩͱͯ͠ɺ ಉ͡ചΓ্͛Λ͋͛Δʹֹۚʹൺྫͨ͠ݸΛചΒͳ
͍ͱ͍͚ͳ͍ͷͰ҆͘͢Ε͍͍ͱ͍͏ͷͰͳ͍ ԁചΓ্͛Δʹ ԁͳΒݸͰ͍͍͕ ԁͳΒݸͷൢച͕ඞཁ
.881'PSNʹؔ͢Δػೳ։ൃґཔ
w ࣄۀചΓ্͛ͷ͍͍ͩͨʙ͘Β͍ .881'PSNΛؚΊαΠτશମͷ։ൃͱ͔͖͋ͬͯͬͪΓΘ͚Εͳ͍ ͷ͋ΔͷͰ͓͓Αͦ w .881'PSNʹؔ͢ΔґཔίϛϡχςΟͳͲͰͱ ͱΓ߹͍ͷํ͔Βͷґཔׂ͕͍͍ͩͨɺશવ໘ࣝ ͷͳ͍ํ͔Βͷґཔׂ͕͍͍ͩͨ w
໘ࣝͷͳ͍ํ͔Βͷґཔ୯ൃɾ୯ػೳͷ߹͕ଟ͍ɻ ͦͷͨΊ͔ґཔ͔Βೲ·Ͱϝʔϧ͚ͩͰ݁͢Δ͜ ͱ͕΄ͱΜͲ
ࠓޙͷల։
ΞυΦϯൢച w ചΓ্্͕͛ΓͤͣԼ͕Γͤͣͳঢ়ଶ͕ଓ͍͍ͯΔ w ݱঢ়ϚʔέςΟϯάͷྨҰ͍ͯ͠ͳ͍ͷͰϦεςΟϯά ࠂͷӡ༻͘Β͍ͯ͠Έ͍ͨͷͰ͕͋͢ͱԿΛ͢Εྑ͍ͷ Ͱ͠ΐ͏ʜʢ࣮ w ෛۀʹൺΔͱ΄΅ख͕͔͔Βׂ͕ͣྑ͍ͷͰ৳͍ͯ͠ ͖͍ͨ
ࠓߟ͍͑ͯΔͷ(FOFSBUPSͷεΩϯՃ*NQPSUFSɾ&YQPSUFSͷ։ൃ w ෛ͕ࣄۀͷओମͳͷͰͳ͔ͳׂ͔͕͚࣌ؒͳ͍ͷ͕
.881'PSNຊମ w ίʔυ͕͋·Γ͔͚ͳ͍ͱ͖͔Βʙ͘Β͍։ൃ͠ଓ͚͍ͯΔ ͨΊٕज़తෛ࠴͕݁ߏ͋ΔɻͰޙํޓੑͷ͜ͱΛߟ͑Δͱม ߋ͕͔ͬͨ͠Γɺ͏ϜϦͳ෦ଟ͍ w ࠓճ࣮ߦϓϩηεΛจࣈىͯ͜͠͠ɺॲཧ͕ൿͷλϨతʹ݁ߏ ෳࡶԽͯ͠ΔͳͱࢥͬͨͷͰɺ͏গ͠γϯϓϧͳํͰϦϑΝΫ λϦϯάΛ͡Ί͍ͯ·͢ɻͰޙํޓੑʜ IUUQTHJUIVCDPNJODNXXQGPSNUSFFGFBUVSF
SFGBDUPSJOH w (JU)VCͰެ։͍ͯ͠ΔͷͰɺJTTVFɾϓϧϦΫେܴͰ͢ʂ IUUQTHJUIVCDPNJODNXXQGPSN