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
Electronからクロスプラットフォーム・アプリケーションの歴史を考える
Search
Kenji Akiyama
October 03, 2015
Programming
2
12k
Electronからクロスプラットフォーム・アプリケーションの歴史を考える
PHP Conference Japan 2015
https://joind.in/15323
Kenji Akiyama
October 03, 2015
Tweet
Share
More Decks by Kenji Akiyama
See All by Kenji Akiyama
Webアプリのデプロイ今昔物語
artifactsauce
11
5.6k
技術的負債を返済する(DevOps編)
artifactsauce
3
950
Other Decks in Programming
See All in Programming
新世界の理解
koriym
0
130
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
2k
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
150
物語を動かす行動"量" #エンジニアニメ
konifar
12
3.5k
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
38
11k
0から始めるモジュラーモノリス-クリーンなモノリスを目指して
sushi0120
0
250
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
110
あのころの iPod を どうにか再生させたい
orumin
2
2.3k
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
5
580
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
3
800
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
390
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
630
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
39k
How to Ace a Technical Interview
jacobian
278
23k
Typedesign – Prime Four
hannesfritz
42
2.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Code Review Best Practice
trishagee
69
19k
Why Our Code Smells
bkeepers
PRO
337
57k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
Code Reviewing Like a Champion
maltzj
524
40k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Automating Front-end Workflow
addyosmani
1370
200k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Transcript
&MFDUSPO͔ΒΫϩεϓϥοτϑΥʔϜɾ ΞϓϦέʔγϣϯͷྺ࢙Λߟ͑Δ 1)1$POGFSFODF+BQBOc IUUQTKPJOEJO
ळࢁݦ࣏ ,FOKJ"LJZBNB גࣜձࣾϋςϨϏδϣϯ ΤϯδχΞ !BSUJGBDUTBVDF !BSUJGBDUTBVDF ,FOKJ"LJZBNB ΞϥϑΥʔஉࢠʢࡀʣ
֎ࢿब׆υοτίϜ w ৽ଔ͚ٻਓϝσΟΞ w ϦϦʔε w ౦େʗܚԠେͷब׆ੜͷ ͕ձһొ͍ͯ͠Δ w 8PSE1SFTT$BLF1)1
εΩϧηοτ
None
ࠓϥΠτͰΤϞʔγϣφϧͰϑΝ χʔͳτʔΫʹ͍ͨ͠ͱࢥ͍·͢ɻ
None
None
None
None
༻͍ͯ͠ΔςΩετΤσΟλ 0UIFS "UPN &NBDT 7JN 4VCMJNF5FYU
/PUF1BE IUUQTUBDLPWFSqPXDPNSFTFBSDIEFWFMPQFSTVSWFZUFDIFEJUPS
"50.ͷಛ ‣ ΫϩεϓϥοτϑΥʔϜ ‣ 8FCϒϥβʢ$ISPNJVNʣϕʔε ‣ +BWBTDSJQU$P⒎FFTDSJQUͰػೳ֦ு ‣ .*5ϥΠηϯε ‣
(JU)VC͕ࣾ։ൃ͍ͯ͠Δ ‣ IUUQTHJUIVCDPNBUPNBUPN
&MFDUSPO ‣ ΫϩεϓϥοτϑΥʔϜͷσεΫτοϓɾ ΞϓϦέʔγϣϯɾϑϨʔϜϫʔΫ ‣ .BD049 ‣ 8JOEPXT ‣ -JOVY
‣ 'SFF#4% ‣ چশɿ"UPN4IFMM
$ISPNJVN /PEFKT IUUQTTQFBLFSEFDLDPN[DCFO[QSBDUJDFPOFNCFEEJOHOPEFEPUKTJOUPBUPNFEJUPS IUUQTTQFBLFSEFDLDPN[DCFO[QSBDUJDFPOFNCFEEJOHOPEFEPUKTJOUPBUPNFEJUPS
IUUQTHJUIVCDPNTJOESFTPSIVTBXFTPNFFMFDUSPO
8FCΤϯδχΞʹͱͬͯͷར ‣ 8FCٕज़ͰσεΫτοϓɾΞϓϦέʔ γϣϯΛ։ൃ͢Δ͜ͱ͕Ͱ͖Δ
Կ͔࡞ͬͯΈ͍ͨ
5IF1PNPEPSP5FDIOJRVF ‣ ੜ࢈ੑΛ্͛ͭͭ೩͑ਚ͖ͳ͍ಇ͖ํ ‣ IUUQQPNPEPSPUFDIOJRVFDPN ‣ ̎̑ͷूத࣌ؒͱ̑ͷٳܜ࣌ؒΛ܁Γ ฦ͢ *NBHFGSPNIUUQSFDSVJUNFOUDPBDIDPNCBOJTIEJTUSBDUJPOTXJUIUIFQPNPEPSPUFDIOJRVF
ΞϓϦ͍Ζ͍Ζ͋Δ͚Ͳʜ
ࣗͰ࡞ͬͯΈΔ͜ͱʹͨ͠
εΩϧηοτ
σβΠϯͱ͔ऑ͍͠ʜ
ߏཁૉ ‣ &MFDUSPO ‣ 1PMZNFS8FC$PNQPOFOUT ‣ .BUFSJBM%FTJHO ‣ OPEFOPUJpFS
ͱΓ͋͑ͣ͜͜·ͰͰ͖ͨ ‣ 4UBSUϘλϯΛԡ͢ͱ ̎̑ؒΛܭଌ͢Δ ‣ 4UPQϘλϯΛԡ͢ͱ ܭଌΛதࢭ͢Δ ‣ /FYUϘλϯΛԡ͢ͱ ࣍ͷαΠΫϧʹճΔ
‣ ̎̑ܦͭͱ௨ηϯ λʔʹ௨͢Δ
·ͩͰ͖͍ͯͳ͍ ‣ ٳܜ࣌ؒΛܭଌ͢Δ ‣ ࣌ؒٳܜΛܭଌ͢Δ ‣ αΠΫϧΛճ͢ ‣ ֤࣌ؒͷઃఆΛมߋ͢Δ ‣
ܦաϩάΛอଘ͢Δ ‣ 8JOEPXT൛ʗ-JOVY൛ ‣ ʜ
None
σϞ
͚ͬ͜͏؆୯ʹͰ͖ͨ 1IPUPCZ-FDIPO,JSC
͜Ε͔Βָ͕͠Έ ‣ ࣗʹඞཁͳػೳ͚ͩΛ࣮ ‣ ࣗͷ͖ͳ6*ʹมߋ 1IPUPGSPN4UBSUVQ4UPDL1IPUPT
ΜʁͯΑʜ ‣ ͳͥࠓ·ͰσεΫτοϓɾΞϓϦέʔγϣϯ ʢ%"ʣΛ࡞Ζ͏ͱࢥΘͳ͔ͬͨͷ͔ʁ 1IPUPGSPNQJYBCBZ
ࢲ͕%"ʹ͍࣋ͬͯΔΠϝʔδ ‣ ৽ͨͳݴޠΛֶश͢Δίετ͕ߴ͍ ‣ ։ൃڥΛ༻ҙ͢Δίετ͕ߴ͍ ‣ σϕϩούʔొΛ͠ͳ͍ͱΠϯετʔϧ Ͱ͖ͳ͍ ‣ ͋ΔϓϥοτϑΥʔϜ͚ʢ8JOEPXTͱ
͔ʣʹߏங͞Εͨͷଞͷϓϥοτ ϑΥʔϜͰಈ͔ͳ͍
࣮ࡍͲ͏͚ͩͬͨͬʁ ͋ΔϓϥοτϑΥʔϜ͚ʢ8JOEPXTͱ͔ʣʹߏங͞Εͨ ιϑτΣΞଞͷϓϥοτϑΥʔϜ্Ͱಈ࡞͠ͳ͍
ྺ࢙ΛৼΓฦͬͯΈ͍ͨ
ҙ ‣ ࠓճͷࢲͱ͍͏8FCͷࢹͰݟͨσεΫτο ϓɾΞϓϦέʔγϣϯΛࡐʹ͍ͯ͠·͢ɻ ‣ ϞόΠϧɾϓϥοτϑΥʔϜΈࠐΈܥʹ͍ͭͯ ରͱ͍ͯ͠·ͤΜɻ ‣ ϓϨθϯͷੑ্࣭ɺܦҢΛྻͰ͠·͕͢ɺ࣮ࡍ ͷྺ࢙ฒྻ͔ͭಉ࣌ଟൃతʹى͖͍ͯΔ͜ͱΛ೦
಄ʹஔ͍͍ͯͩ͘͞ɻ ‣ ͯ͢Λཏ͢ΔͭΓͳ͍ͷͰʮԶͷѪ͢Δ̋̋ ͕ݴٴ͞Ε͍ͯͳ͍ʯͱౖ͔Γग़͞ͳ͍Ͱ͍ͩ͘͞ɻ
ΫϩεϓϥοτϑΥʔϜͷఆٛ ‣ ҟͳΔϓϥοτϑΥʔϜʢྫ͑1$"5ޓػͱ.BDJOUPTIɺ ͋Δ͍8JOEPXTɾ.BD049ɾ'SFF#4%ɾ-JOVYͳͲͷΑ ͏ʹɺ༷͕શ͘ҟͳΔػցʢϋʔυΣΞʣ·ͨΦϖϨʔ ςΟϯάγεςϜʣ্Ͱɺಉ༷͡ͷͷΛಈ͔͢͜ͱ͕ग़དྷ ΔϓϩάϥϜʢιϑτΣΞʣͷ͜ͱΛݴ͏ɻ8JLJQFEJB 8JOEPXTͱ.BDͱ-JOVY͚ͷΞϓϦέʔ γϣϯΛಉ͡ιʔείʔυ͔Β࡞Δ
ݹ͔ΒͷྲྀΕΛҰؾʹ ‣ 04ొҎલʢʣ ‣ ػछ͕มΘΕιϑτΣΞશʹॻ͖ͩͬͨ͠ ‣ 04ͷཱ֬ʢʣ ‣ 04͕ϋʔυΣΞͷҧ͍Λٵऩͯ͘͠ΕΔ ‣
ϋʔυΣΞ͓Αͼ04ͷཚཱʢʣ ‣ 04 "*9 *3*9 4PMBSJT .4%04 .BD04 ʜ ‣ ϋʔυΣΞ͓Αͼ04ͷऩଋʢʣ ‣ $16*OUFMɺ048JOEPXT .BD049 -JOVY
πϥ͍ ‣ छྨ͕ݮ͖ͬͯͨͱݴ͑ɺ։ൃऀෳ ͷ04ʹ͋ΘͤͯιϑτΣΞΛॻ͘ඞཁ ͕͋Δɻ ‣ ෳͷ04͚ʹϦϦʔε͢ΔͨΊʹͦ ΕͳΓͷ͕ඞཁʹͳΔɻ
։ൃऀͷئ͍ ‣ ̍ճιϑτΣΞΛॻ͍ͨΒͯ͢ʢͤΊ ͯෳʣͷϓϥοτϑΥʔϜ্Ͱಈ࡞ͯ͠ ཉ͍͠ɻ
+BWBʢ4VO.JDSPTZTUFNTࣾʣ ‣ ϋʔυΣΞ04ʹґଘ͠ͳ͍όΠτίʔυΛ࡞ ͠ɺԾϚγϯ্Ͱ࣮ߦ͞ΕΔ ‣ (6*πʔϧΩοτ ‣ "85ϦϦʔε ‣ 04͕ఏڙ͢Δύʔπͷബ͍ϥούʔ
‣ 4XJOHϦϦʔε ‣ શϓϥοτϑΥʔϜʹڞ௨ͷϧοΫˍϑΟʔϧ ‣ ʁ485 &DMJQTF ϦϦʔε ‣ "85ʹࣅ͍ͯΔ͕֦ுੑ͕ߴ͘ߴ
2Uʢ5SPMMUFDIࣾʣ ‣ ΞϓϦέʔγϣϯɾϢʔβΠϯλϑΣʔεɾϑϨʔϜϫʔΫ ‣ ݴޠ ‣ $ ‣ #JOEJOHϥΠϒϥϦʹΑͬͯଞݴޠ͔Β͑Δ
‣ 7FSTJPOϦϦʔε ‣ 8JOEPXT 6OJY-JOVY9 ‣ 7FSTJPOϦϦʔε ‣ .BD049ʹରԠ ‣ ݱࡏͰ'SFF#4% 4ZNCJBO "OESPJE J04 8JOEPXT$& ΈࠐΈ-JOVYͳͲʹରԠ
ϓϩμΫτྫ ‣ 2U ‣ (PPHMF&BSUI ‣ 4LZQF PME ‣
+BWB ‣ &DMJQTF *OUFMMJ+*%&" /FUCFBOT ‣ όΠΦΠϯϑΥϚςΟΫε άϥϑπʔ ϧ
ଟͷબࢶ
ͦΕͰࢲ࡞Βͳ͔ͬͨʜ
໊͋Δ͕ʜ ‣ ༏लͳϓϩμΫτ͕ଟ͍͜ͱ͔֬ɻ ‣ ΞϚνϡΞ͕όϯόϯ։ൃ͍ͯ͠ΔΑ͏ͳ ײ͡ແ͍ɻ ‣ ͳΜ͔ɺϥΠτ͡Όͳ͍ɻ ‣ +BWBͬͯݴΘΕͯ
‣ $ ͬͯݴΘΕͯ
8FCٕज़ͷ࠾༻ͷྲྀΕ ‣ 3*" 3JDI*OUFSOFU"QQMJDBUJPO ‣ "*3 "EPCF ‣
'MBTI 'MFY 8FC,JU "DUJPO4DSJQU ‣ 4JMWFSMJHIU .JDSPTPGU ‣ 9".- 7JTVBM#BTJD/&5 $ FUDʜ ‣ 8FCϒϥβ্Ͱಈ࡞ͤ͞ΔͨΊΛٕज़ ͕σεΫτοϓʹద༻
ଟͷબࢶ
ͦΕͰࢲ࡞Βͳ͔ͬͨʜ
ͩͬͯྲྀߦͬͯͳ͍Μ ‣ ϥϯλΠϜͷΠϯετʔϧ͕ඞཁͩͬͨɻ ‣ ͦͷٕज़͕ࣄʹ׆͖Δͷ͔ٙͩͬͨɻ ‣ 'MBTIδϣϒζ͔ΒݏΘΕ͍ͯͨɻ ‣ 4JMWFSMJHIUͬͯ.JDSPTPGU͢Βશવͬ ͯͳ͍Αʜɻ
‣ ϥΠτʹ࡞ΕΔͷ͘͢͝ྑ͔ͬͨΜ͚ͩ Ͳͳ͊ɻ
ϒϥβΞϓϦ ‣ (PPHMF$ISPNFΞϓϦ ‣ ϦϦʔε ‣ 8FCΞϓϦέʔγϣϯ͕ΦϑϥΠϯͰ ར༻Ͱ͖Δʂ ‣ ϒϥβΛ։͔ͳͯ͘ར༻Ͱ͖Δʂ
‣ ༷ʑͳϒϥβͷػೳΛར༻Ͱ͖Δʂ ‣ $ISPNFϥϯνϟʔ͔ΒىಈͰ͖Δʂ
ଟͷબࢶ
ͦΕͰࢲ࡞Βͳ͔ͬͨʜ
จ͔۟ͬΓͳʜ ‣ ઐ༻ϥϯνϟʔ͕͍ͭͯ·ͬͯ͢ɺͦΕ ϝϦοτͰͳ͍ɻ ‣ ϒϥβͷػೳΛར༻Ͱ͖Δͷ͘͢͝ྑ ͍͚Ͳɺϒϥβͷ֎ͷػೳར༻Ͱ͖ͳ ͍ɻ ‣ (PPHMF$ISPNFΛΠϯετʔϧ͢Δඞཁ
͕͋ΔͬͯͲ͏Αʁ
ຊͷ8FCϒϥβͷγΣΞ 0UIFS $ISPNF"OESPJE 4BGBSJ 'JSFGPY (PPHMF$ISPNF
*OUFSOFU&YQMPSFS IUUQTXFCSBHFKQNPCJMFEBUBQD@CSPXTFS@TIBSFIUNM
ҰํͰྑ͍ ‣ ͢ͰʹΫϩεϓϥοτϑΥʔϜΛલఏʹߏ ங͞Ε͍ͯΔ8FCϒϥβʹͲ͔ͬΓ ͔ͬͬͨඇৗʹྑ͔ͬͨɻ ‣ ։ൃऀͷن͕େ͖͘ࢀೖোน͕͍ ྑ͔ͬͨɻ
ࢮࢡྦྷʑͱ·ͰݴΘͳ͍͕ʜ ‣ ΫϩεϓϥοτϑΥʔϜɾσε ΫτοϓɾΞϓϦέʔγϣϯͳΜͧ࡞Γͨ ͍ͱࢥ͍ͬͯͳ͍ͷ͔ʁ ‣ 8FCΞϓϦέʔγϣϯͷػೳͱΫϩεϓ ϥοτϑΥʔϜੑʹຬ͍ͯͯ͠ɺελϯ υΞϩϯͷΞϓϦΛ։ൃ͍ͨ͠ͱ͍͏ಈػ ͕ബ͍ɻ
ԶΛಈ͔͢ʹΓͳ͍ʜ
ࢲͷཁΛ·ͱΊΔ ‣ ͳΔ͘ଟ͘ͷڥͰಈ࡞ͯ͠΄͍͠ ‣ ϥΠτͳݴޠͰ։ൃ͍ͨ͠ ‣ ͍࣋ͬͯΔٕज़ͷྲྀ༻͔ɺޙʹࣄʹྲྀ༻ Ͱ͖ͦ͏ͳٕज़Λ࠾༻͍ͨ͠ ‣ ϥϯλΠϜͷΠϯετʔϧͱ͔ͨ͘͠ͳ͍
ʗͤͨ͘͞ͳ͍
None
&MFDUSPOͷಛ ‣ )5.- $44Ͱ6*ߏங ‣ +BWBTDSJQUͰಈ࡞Λهड़ ‣ ΫϩεϓϥοτϑΥʔϜͷ8FCϒϥβ ΛϥϯλΠϜͱͯ͠ಉࠝ
ͯ͢ͷཁʹ߹க͍ͯ͠Δʂ
&MFDUSPOొͷ݅ ‣ ΦʔϓϯιʔεͷΫϩεϓϥοτϑΥʔϜɾ 8FCϒϥβʢ$ISPNJVNʣͷొ ‣ +BWBTDSJQUͷαʔόɾαΠυʢ࣮࣭తʹ ϒϥβ֎ʣ࣮ͷొ ‣ ಛʹ/PEFKT͕$ISPNFʹಉࠝ͞Ε͍ͯ Δ7Λϕʔεʹ͍ͯͨ͜͠ͱͰੑ
͕ߴ͔ͬͨɻ
ॳͷཁҎ্ͷར ‣ /PEFKTͷػೳΛར༻Ͱ͖Δ ‣ ສҎ্ͷOQNύοέʔδΛར༻Ͱ͖Δ ‣ ࣮࣭8FC։ൃͳͷʹରڥΛ&MFDUSPO $ISPNJVN ͓Αͼ/PEFKTͷΈʹߜΔ͜ ͱ͕Ͱ͖Δ
‣ ϒϥβͷछྨʹ͍ͭͯόʔδϣϯʹ ͍ͭͯɺؾΛΉඞཁͳ͍
+BWBTDSJQU
͍͍͚ͩͲΈΜͳ ͍ͬͯΔ+BWBTDSJQU
.0451016-"35&$)/0-0(*&4 +BWBTDSJQ U 4 2 - +BWB $ 1
) 1 1 ZUIPO $ $ / PEFKT " OHVMBS+4 3 VCZ 0 CKFDUJWF$ IUUQTUBDLPWFSqPXDPNSFTFBSDIEFWFMPQFSTVSWFZUFDIMBOH
:PVBSFUIF1)1 FYQFSU BSFO`UZPV
1)1FYQFSUTBSFBMTP +BWBTDSJQUFYQFSUT BSFO`UUIFZ
&MFDUSPOͷܽ ‣ όΠφϦαΠζ͕ແବʹେ͖͍ ‣ ࠓճͷσϞΞϓϦͰ.# ‣ $ISPNJVNΛؚΉඞཁ͕͋Δ ‣ ಈ࡞͕͍ ‣
04͕ఏڙ͢Δ6*ػೳΛར༻Ͱ͖ͳ͍ ‣ ։ൃϦιʔε͕গͳ͍Β͍͠ ‣ ࣮࣭![DCFO[ࢯ͚ͩͳΜͩͱ͔ ‣ IUUQNJ[DIJIBUFOBCMPHDPNFOUSZ
ͱݴ͑ ‣ ϋʔυσΟεΫ༰ྔ௨৴ɺ.#ఔͷ αΠζͷͱ͠ͳ͍ɻ ‣ ॲཧΛඞཁͱ͠ͳ͍ΞϓϦέʔγϣϯʹͱͬ ͯॲཧͦͦͰͳ͍ɻ ‣ ݱঢ়ಈ࡞͕͍͔͠Εͳ͍͕ɺϚγϯͷॲཧ ͷ্ʹΑΓɺਓؒͷԠΛ͑Εɺ
ͦΕ΄ͲۤͰͳ͍ɻ ‣ 8FCͰΘΕ͍ͯΔ6*ίϯϙʔωϯτΛར༻͢Ε ΄ͱΜͲͷ༻్ࣄΓΔɻ
#PJMFSQMBUF5FNQMBUF
1PMZNFS8FC$PNQPOFOUT
$ISPNJVN͚ͩΛରͱ͢Εྑ͍ͷͰ ޓੑΛؾʹͤͣ࠷৽ͷػೳΛ͑Δ
͜Μͳ༻్ʹಛʹ͍͍ͯΔ ‣ Զʑπʔϧ ‣ ͋·Γʹχονա͗ͯ୭࡞Βͳ͍͕ɺ ͋Δͱ͔ͳΓศརͳπʔϧ ‣ ࣾπʔϧ ‣ ࣗͷ։ൃڥ.BD͚ͩͲࣄܥ
8JOEPXT͍ͬͯͯɺࣄܥͷਓͷͨ Ίʹͪΐͬͱͨ͠πʔϧΛ࡞Γ͍ͨɻ
۩ମతʹ͜Μͳͷ ‣ 5XJUUFSʹߘ͢Δ͚ͩͷΞϓϦ ‣ ࣄதʹ5XJUUFSͷը໘Λ։͍͍ͯΔ͜ ͱጨΒΕΔ͕ɺͰߘ͍ͨ͠ɻ ‣ ग़ۈʗୀۈΛೖྗ͢Δ͚ͩͷΞϓϦ ‣ ͨͩͷλΠϜΧʔυػʹΓԼ͕͍ͬͯ
ΔάϧʔϓΣΞΛ։͖ͨ͘ͳ͍ɻ
ͪΖΜେֻ͔Γͳͷॻ͚Δ
IUUQSLBNVSBIBUFOBCMPHDPNFOUSZ
&MFDUSPO͕༗ͳཧ༝ ‣ 8FC։ൃऀ͕͍͖ͳΓσεΫτοϓɾΞ ϓϦέʔγϣϯ։ൃऀʹͳΕΔɻ ‣ খنͳͷ͔Βେنͳͷ·ͰରԠՄ ೳͳջͷਂ͞ɻ ‣ ։ൃ͔Β·Ͱͷ؆ศ͞ɻ
Α͘Θ͔ͬͯͳ͍͚ͲҠ২ੑʹ͍ͭͯ ‣ $PSEPWBͳͲͷϞόΠϧɾΫϩεϓϥοτ ϑΥʔϜɾΞϓϦέʔγϣϯʹ؆୯ʹҠ২ ͢Δ͜ͱ͕Մೳ͔͠Εͳ͍ɻ ‣ 3FBDUKTΛͬͯΔͱͦͦҠ২ੑߴͦ ͏ͳؾ͕͢Δɻ
-FU`THFUTUBSUFE
ϒϩάΛॻ͘·Ͱ͕ :"1$1)1$POͰ͢
IUUQTKPJOEJO
ࢀߟ ‣ IUUQRJJUBDPNNJ[DIJJUFNT CGFCEGBBB ‣ IUUQTUFQTEPEHTPOPSHC BUPNGSPNUIFTIFMM TJEF