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.4k
技術的負債を返済する(DevOps編)
artifactsauce
3
830
Other Decks in Programming
See All in Programming
CSC509 Lecture 12
javiergs
PRO
0
160
みんなでプロポーザルを書いてみた
yuriko1211
0
280
as(型アサーション)を書く前にできること
marokanatani
10
2.7k
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
3
240
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
340
カンファレンスの「アレ」Webでなんとかしませんか? / Conference “thing” Why don't you do something about it on the Web?
dero1to
1
110
CSC509 Lecture 13
javiergs
PRO
0
110
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.8k
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
300
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
120
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
136
6.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Visualization
eitanlees
145
15k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Adopting Sorbet at Scale
ufuk
73
9.1k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Documentation Writing (for coders)
carmenintech
65
4.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
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