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
110
Snow Monkey CM
inc2734
0
69
メンテナンス性を考慮した CSS 設計
inc2734
0
290
Snow Monkey とは
inc2734
0
1k
WordPress_テーマのつくりかた.pdf
inc2734
4
490
受託開発者だった僕が WordPress の有料テーマ開発者になって学んだこと
inc2734
1
920
Snow Monkey(WordPress) による web コンテンツ制作の新しいカタチ【ビジネスパーソン向け】
inc2734
0
76
Snow Monkey とコミュニティ
inc2734
0
570
Snow Monkey における私の技術的偏愛
inc2734
0
530
Other Decks in Technology
See All in Technology
re:Invent2024 KeynoteのAmazon Q Developer考察
yusukeshimizu
1
170
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
210
「隙間家具OSS」に至る道/Fujiwara Tech Conference 2025
fujiwara3
7
6.7k
Building Scalable Backend Services with Firebase
wisdommatt
0
110
データ基盤におけるIaCの重要性とその運用
mtpooh
4
690
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
140
dbtを中心にして組織のアジリティとガバナンスのトレードオンを考えてみた
gappy50
0
350
「人物ごとのアルバム」の精度改善の軌跡/Improving accuracy of albums by person
mixi_engineers
PRO
2
140
2024AWSで個人的にアツかったアップデート
nagisa53
1
110
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
260
FinJAWS_reinvent2024_recap_database
asahihidehiko
2
130
JAWS-UG20250116_iOSアプリエンジニアがAWSreInventに行ってきた(真面目編)
totokit4
0
170
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
52k
Writing Fast Ruby
sferik
628
61k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
39
1.9k
The Cult of Friendly URLs
andyhume
78
6.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
580
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Rails Girls Zürich Keynote
gr2m
94
13k
Designing for Performance
lara
604
68k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
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