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
ECSのサービス間通信 4つの方法を比較する 〜Canary,Blue/Greenも添えて〜
tkikuc
11
2.3k
Kotlin2でdataクラスの copyメソッドを禁止する/Data class copy function to have the same visibility as constructor
eichisanden
1
140
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
210
C#/.NETのこれまでのふりかえり
tomokusaba
1
160
のびしろを広げる巻き込まれ力:偶然を活かすキャリアの作り方/oso2024
takahashiikki
1
410
カスタムしながら理解するGraphQL Connection
yanagii
1
1.2k
Golang と Erlang
taiyow
8
1.9k
CSC509 Lecture 08
javiergs
PRO
0
110
推し活の ハイトラフィックに立ち向かう Railsとアーキテクチャ - Kaigi on Rails 2024
falcon8823
6
2.2k
讓數據說話:用 Python、Prometheus 和 Grafana 講故事
eddie
0
350
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
1
290
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.1k
Featured
See All Featured
Designing for humans not robots
tammielis
249
25k
Documentation Writing (for coders)
carmenintech
65
4.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Testing 201, or: Great Expectations
jmmastey
38
7k
Writing Fast Ruby
sferik
626
61k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
1
40
Unsuck your backbone
ammeep
668
57k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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