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.5k
技術的負債を返済する(DevOps編)
artifactsauce
3
920
Other Decks in Programming
See All in Programming
音声プラットフォームのアーキテクチャ変遷から学ぶ、クラウドネイティブなバッチ処理 (20250422_CNDS2025_Batch_Architecture)
thousanda
0
440
エンジニアが挑む、限界までの越境
nealle
1
340
Ruby で作る RISC-V CPU エミュレーター / RISC-V CPU emulator made with Ruby
hayaokimura
5
1.2k
Road to Ruby for A Linguistics Nerd
hayat01sh1da
PRO
0
370
CursorとDevinが仲間!?AI駆動で新規プロダクト開発に挑んだ3ヶ月を振り返る / A Story of New Product Development with Cursor and Devin
rkaga
5
1.3k
開発者フレンドリーで顧客も満足?Platformの秘密
algoartis
0
240
The New Developer Workflow: How AI Transforms Ideas into Code
danielsogl
0
140
Vibe Coding の話をしよう
schroneko
14
3.9k
はじめてのPDFKit.pdf
shomakato
0
110
個人開発の学生アプリが企業譲渡されるまで
akidon0000
2
1.2k
Boast Code Party / RubyKaigi 2025 After Event
lemonade_37
0
120
Cursor/Devin全社導入の理想と現実
saitoryc
29
22k
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Why Our Code Smells
bkeepers
PRO
336
57k
RailsConf 2023
tenderlove
30
1.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
Docker and Python
trallard
44
3.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Writing Fast Ruby
sferik
628
61k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
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