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
カート刷新プロジェクトにおけるOpenAPIを活用したコード自動生成の今と明日 / AStud...
Search
ASKUL Engineer
April 19, 2019
Technology
0
140
カート刷新プロジェクトにおけるOpenAPIを活用したコード自動生成の今と明日 / AStudy20190419
アスクル社内勉強会で発表した資料です!
ASKUL Engineer
April 19, 2019
Tweet
Share
More Decks by ASKUL Engineer
See All by ASKUL Engineer
EditorConfigで導くコードの「美しさ」
askul
0
600
いまさら聞けないAWS
askul
0
5.7k
CTOが語る、テックカンパニーに向けた未来の話。by アスクル
askul
0
170
チームでリーダブルコードを実現するには?
askul
0
3k
ラズパイを使ってスマートリモコンを作ってみた
askul
0
780
Discord Bot はじめの一歩
askul
0
640
10分で「エラスティックリーダーシップ」をアウトプット
askul
0
3.4k
1on1をする上で大切なこと
askul
1
780
JBUG東京#20 〜そこが知りたい!Backlog活用術〜
askul
1
3.2k
Other Decks in Technology
See All in Technology
Autify Company Deck
autifyhq
2
44k
LIXIL基幹システム刷新に立ち向かう技術的アプローチについて
tsukuha
1
250
microCMSではじめるAIライティング
himaratsu
0
140
衛星運用をソフトウェアエンジニアに依頼したときにできあがるもの
sankichi92
1
280
〜『世界中の家族のこころのインフラ』を目指して”次の10年”へ〜 SREが導いたグローバルサービスの信頼性向上戦略とその舞台裏 / Towards the Next Decade: Enhancing Global Service Reliability
kohbis
3
1.3k
Snowflake Intelligenceという名のAI Agentが切り開くデータ活用の未来とその実現に必要なこと@SnowVillage『Data Management #1 Summit 2025 Recap!!』
ryo_suzuki
1
150
オフィスビルを監視しよう:フィジカル×デジタルにまたがるSLI/SLO設計と運用の難しさ / Monitoring Office Buildings: The Challenge of Physical-Digital SLI/SLO Design & Operation
bitkey
1
400
ソフトウェアQAがハードウェアの人になったの
mineo_matsuya
3
200
20250708オープンエンドな探索と知識発見
sakana_ai
PRO
4
1k
NewSQLや分散データベースを支えるRaftの仕組み - 仕組みを理解して知る得意不得意
hacomono
PRO
3
230
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
120
毎晩の 負荷試験自動実行による効果
recruitengineers
PRO
5
170
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
340
How to train your dragon (web standard)
notwaldorf
96
6.1k
A Tale of Four Properties
chriscoyier
160
23k
Writing Fast Ruby
sferik
628
62k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
What's in a price? How to price your products and services
michaelherold
246
12k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
108
19k
GitHub's CSS Performance
jonrohan
1031
460k
How GitHub (no longer) Works
holman
314
140k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Transcript
தڿਓΞεΫϧגࣜձࣾ "4UVEZ ΞεΫϧࣾษڧձ Χʔτ৽ϓϩδΣΫτʹ͓͚Δ 0QFO"1*Λ׆༻ͨ͠ίʔυࣗಈੜͷ ࠓͱ໌ ͋͢
8FCΞϓϦέʔγϣϯΤϯδχΞ தڿਓ!/","/0@"LJIJUP IUUQTBDLJOUPTIHJUIVCJPBCPVU
044׆ಈ w0QFO"1*(FOFSBUPS wIUUQTHJUIVCDPN0QFO"1*5PPMTPQFOBQJHFOFSBUPS w(BOFTIB Ψωʔγϟ wIUUQTHJUIVCDPNBDLJOUPTIHBOFTIB w4OJEFM εφΠσϧ
wIUUQTHJUIVCDPNBDLJOUPTITOJEFM
8&# %#13&447PM ಛू <ޮٸ্ঢ>εΩʔϚۦಈ8FC"1*։ൃ ষޙʙষΛࣥච͍͖ͤͯͨͩ͞·͠ ͨ!ײँ IUUQTHJIZPKQNBHB[JOFXEQSFTTBSDIJWFWPM
None
ΞεΫϧࣾษڧձ ฏ࠷ޙͷAStudy
࣍ wͳͥίʔυΛࣗಈੜ͢Δͷ͔ʁ w0QFO"1* w υΩϡϝϯτϑΥʔϚοτपลπʔϧͷ֓ཁ w εΩʔϚۦಈ։ൃ wΧʔτ৽ϓϩδΣΫτ w 0QFO"1*Λ׆༻ͨ͠ίʔυࣗಈੜ
w 0QFO"1*υΩϡϝϯτΛॻ͚ͩ͘Ͱ࠷ݶͷςετ͕ࣗಈతʹΔੈք ίʔυࣗಈੜͷ׆༻ঢ়گΛཧ ͨ͠͏͑Ͱɺ0QFO"1*Λ׆༻ͯ͠ ͬͱੜ࢈ੑΛߴΊΔͨΊʹɺ ۙͰΓ͍ͨ͜ͱΛ͓͠·͢ʂ
ͳͥਓྨ ίʔυΛࣗಈੜ͢ΔͷͩΖ͏͔
࢈ۀֵ໋ʹΈΔਐԽͷྺ࢙ ୈҰ࣍࢈ۀֵ໋ ୈೋ࣍࢈ۀֵ໋ ୈࡾ࣍࢈ۀֵ໋ ୈ࢛࣍࢈ۀֵ໋
࢈ۀֵ໋ʹΈΔਐԽͷྺ࢙ ୈҰ࣍࢈ۀֵ໋ ୈೋ࣍࢈ۀֵ໋ ୈࡾ࣍࢈ۀֵ໋ ୈ࢛࣍࢈ۀֵ໋ ػցιϑτΣΞͰஔ͖͑ͯ ޮԽ͍ͯ͘͠ਐԽͷྺ࢙
ίʔυΛॻ͘ͱ͍͏ӦΈʹ͓͚ΔਐԽ wίʔυͷࣗಈੜʹΑͬͯ։ൃΛࢧԉ͢Δπʔϧͨͪ wఆܕతͳίʔυπʔϧʹͤΔ͜ͱͰ։ൃऀੜ࢈ੑΛߴΊɺۀϩδοΫ ʹूதͰ͖Δ ϘΠϥʔϓϨʔτίʔυͷੜ पลπʔϧʹΑΔίʔυੜͷαϙʔτ ίʔυੜΛแͨ͠ύϥμΠϜ IUUQTQSPKFDUMPNCPLPSH IUUQTXXXKFUCSBJOTDPNJEFB IUUQTPQFOBQJHFOFSBUPSUFDI
IUUQTXXXKIJQTUFSUFDI IUUQTHSBQIRMDPEFHFOFSBUPSDPN IUUQTHSQDJP
ͭ·ΓɺਐԽͷͨΊ
None
࣍ wͳͥίʔυΛࣗಈੜ͢Δͷ͔ʁ w0QFO"1* w υΩϡϝϯτϑΥʔϚοτपลπʔϧͷ֓ཁ w εΩʔϚۦಈ։ൃ wΧʔτ৽ϓϩδΣΫτ w 0QFO"1*Λ׆༻ͨ͠ίʔυࣗಈੜ
w 0QFO"1*υΩϡϝϯτΛॻ͚ͩ͘Ͱ࠷ݶͷςετ͕ࣗಈతʹΔੈք ίʔυࣗಈੜͷ׆༻ঢ়گΛཧ ͨ͠͏͑Ͱɺ0QFO"1*Λ׆༻ͯ͠ ͬͱੜ࢈ੑΛߴΊΔͨΊʹɺ ۙͰΓ͍ͨ͜ͱΛ͓͠·͢ʂ
OpenAPI
0QFO"1*֓ཁ IUUQTHJUIVCDPN0"*0QFO"1*4QFDJpDBUJPO The OpenAPI Specification w0QFO"1* 0QFO"1*TQFDJpDBUJPO wچ4XBHHFSTQFDJpDBUJPO w3&45"1*ͷ༷Λهड़͢ΔϑΥʔϚοτ
w0QFO"1**OJUJBUJWF w0QFO"1*ͷϑΥʔϚοτΛਪਐ͢Δஂମ w.JDSPTPGUɺ(PPHMFɺ*#.ɺ4NBSU#FBSͳͲ͕ ࢀՃ
w݄0QFO"1**OJUJBUJWF݁ w݄4XBHHFSTQFDJpDBUJPO͕0QFO"1**OJUJBUJWFʹدଃ͞ΕΔ w4XBHHFSTQFDJpDBUJPO͕0QFO"1*TQFDJpDBUJPOʹϦωʔϜ͞ ΕΔ w݄0QFO"1*TQFDJpDBUJPOϦϦʔε w݄ݱࡏͷόʔδϣϯ0QFO"1*TQFDJpDBUJPO 0QFO"1*ྺ࢙ 4XBHHFSϓϩδΣΫτ 0QFO"1**OJUJBUJWF 0QFO"1*TQFD
4XBHHFSTQFD 4XBHHFSUPPMT
0QFO"1*ϑΥʔϚοτ IUUQTCMPHSFBENFJPBOFYBNQMFpMMFEHVJEFUPTXBHHFS
0QFO"1*ϑΥʔϚοτ ϝλใ IUUQTCMPHSFBENFJPBOFYBNQMFpMMFEHVJEFUPTXBHHFS
0QFO"1*ϑΥʔϚοτ ΤϯυϙΠϯτ IUUQTCMPHSFBENFJPBOFYBNQMFpMMFEHVJEFUPTXBHHFS
0QFO"1*ϑΥʔϚοτ ίϯϙʔωϯτ IUUQTCMPHSFBENFJPBOFYBNQMFpMMFEHVJEFUPTXBHHFS
पลπʔϧ
0QFO"1*पลπʔϧ w 4XBHHFS&EJUPS w 0QFO"1*υΩϡϝϯτ εΩʔϚ ͷهड़Λࢧԉ w IUUQTFEJUPSTXBHHFSJP w
4XBHHFS6* w "1*༷Λࢹ֮ԽɺΠϯλϥΫςΟϒͳ"1*ૢ࡞ w IUUQTQFUTUPSFTXBHHFSJP w 0QFO"1*(FOFSBUPS w 0QFO"1*υΩϡϝϯτ͔ΒιʔείʔυΛࣗಈੜ w IUUQTPQFOBQJHFOFSBUPSUFDI IUUQTPQFOBQJUPPMT
εΩʔϚۦಈ։ൃ
εΩʔϚۦಈ։ൃ IUUQTHJIZPKQNBHB[JOFXEQSFTTBSDIJWFWPM ͡ΊʹΈΜͳͰ8FC"1*ͷ༷Λ૬ஊܾͯ͠Ίͯ 0QFO"1*υΩϡϝϯτΛهड़ͯ͠ पลπʔϧΛ׆༻ͯ͠։ൃΛޮԽ͢Δ ։ൃνʔϜશମͷϫʔΫϑϩʔ εΩʔϚͰ։ൃΛۦಈ͢Δ͜ͱ
εΩʔϚۦಈ։ൃͱपลπʔϧ IUUQTCMPHPOLOJOKBTDIFNB@pSTU@EFWFMPQNFOU API هड़ݴޠҎޙͷੈք 0QFO"1*υΩϡϝϯτͷهड़ ༷ͷڞ༗ɾ֬ೝ ελϒੜػೳΛར༻ͨ͠εΩϟϑΥʔϧσΟϯά ੜͨ͠ελϒΛར༻ͨ͠ฏߦ։ൃ ੜͨ͠ΫϥΠΞϯτΛར༻ͨ͠ݮ ςετίʔυͷࣗಈੜ
Swagger Editor Swagger UI OpenAPI Generator
0QFO"1*υΩϡϝϯτͷهड़ ༷ͷڞ༗ɾ֬ೝ Swagger Editor Swagger UI ίʔυࣗಈੜͷԸܙେ͖͍ IUUQTCMPHPOLOJOKBTDIFNB@pSTU@EFWFMPQNFOU API هड़ݴޠҎޙͷੈք
ελϒੜػೳΛར༻ͨ͠εΩϟϑΥʔϧσΟϯά ςετίʔυͷࣗಈੜ OpenAPI Generator ੜͨ͠ελϒΛར༻ͨ͠ฏߦ։ൃ ੜͨ͠ΫϥΠΞϯτΛར༻ͨ͠ݮ
࣍ wͳͥίʔυΛࣗಈੜ͢Δͷ͔ʁ w0QFO"1* w υΩϡϝϯτϑΥʔϚοτपลπʔϧͷ֓ཁ w εΩʔϚۦಈ։ൃ wΧʔτ৽ϓϩδΣΫτ w 0QFO"1*Λ׆༻ͨ͠ίʔυࣗಈੜ
w 0QFO"1*υΩϡϝϯτΛॻ͚ͩ͘Ͱ࠷ݶͷςετ͕ࣗಈతʹΔੈք ίʔυࣗಈੜͷ׆༻ঢ়گΛཧ ͨ͠͏͑Ͱɺ0QFO"1*Λ׆༻ͯ͠ ͬͱੜ࢈ੑΛߴΊΔͨΊʹɺ ۙͰΓ͍ͨ͜ͱΛ͓͠·͢ʂ
Χʔτ৽ϓϩδΣΫτ
Χʔτ৽ϓϩδΣΫτ w-0)"$0ͷچ0SEFSγεςϜΛ৽"1*ج൫γεςϜʹҠߦ͢Δ wϓϩδΣΫτ໊UJBNBU ςΟΞϚτ wϨΨγʔΛ٫͠ɺ։ൃޮαʔϏεͷ࣭Λ্͢Δ wΧʔτɾϨδը໘ΛരԽ͢Δ շదͳ͓ങ͍ମݧͷఏڙ
Χʔτ৽ϓϩδΣΫτͷͬ͘͟Γͨ͠ਤ #'' ૹ Ϣʔβʔ จ "1*ج൫ ,PUMJO 4QSJOH#PPU 4QSJOH8FC'MVY
,PUMJO+BWB 4QSJOH#PPU "QBDIF$BNFM 5ZQF4DSJQU +2VFSZ 0QFO"1* 1SPUPDPM#V⒎FST "1*༷ɾεΩʔϚఆٛ
"1*༷ɾεΩʔϚఆٛ ૹ Ϣʔβʔ จ ,PUMJO 4QSJOH#PPU 4QSJOH8FC'MVY ,PUMJO+BWB 4QSJOH#PPU
"QBDIF$BNFM 5ZQF4DSJQU +2VFSZ 0QFO"1*Λͱʹͨ͠ίʔυੜͷ׆༻ঢ়گ "1*ج൫ 0QFO"1* 1SPUPDPM#V⒎FST #'' #''ͰͷϞσϧΫϥεੜͷΈ
0QFO"1*υΩϡϝϯτͷهड़ ༷ͷڞ༗ɾ֬ೝ Swagger Editor Swagger UI ίʔυࣗಈੜ׆༻ͷ༨͋Δ IUUQTCMPHPOLOJOKBTDIFNB@pSTU@EFWFMPQNFOU API هड़ݴޠҎޙͷੈք
ελϒੜػೳΛར༻ͨ͠εΩϟϑΥʔϧσΟϯά ςετίʔυͷࣗಈੜ OpenAPI Generator ੜͨ͠ελϒΛར༻ͨ͠ฏߦ։ൃ ੜͨ͠ΫϥΠΞϯτΛར༻ͨ͠ݮ
"1*༷ɾεΩʔϚఆٛ ૹ Ϣʔβʔ จ ,PUMJO+BWB 4QSJOH#PPU "QBDIF$BNFM 5ZQF4DSJQU +2VFSZ
׆༻ͷ༨͋Δ"1*ΫϥΠΞϯτ "1*ج൫ ,PUMJO 4QSJOH#PPU 4QSJOH8FC'MVY 0QFO"1* 1SPUPDPM#V⒎FST #'' ίϧʔνϯͰ͍͍͢Α͏ʹ 8FC$MJFOUΛಠࣗʹϥοϓͨ͠Ϋϥε Λ͍ͬͯΔͷͰɺ ࣗಈੜͷ׆༻͍͔͠ "1*ΫϥΠΞϯτͷࣗಈੜ
"1*༷ɾεΩʔϚఆٛ ,PUMJO 4QSJOH#PPU 4QSJOH8FC'MVY 5ZQF4DSJQU +2VFSZ ׆༻ͷ༨͋Δ"1*αʔόʔ #'' ,PUMJO+BWB 4QSJOH#PPU
"QBDIF$BNFM ૹ Ϣʔβʔ จ "1*ج൫ 0QFO"1* 1SPUPDPM#V⒎FST ελϒੜΛར༻ͨ͠εΩϟϑΥʔϧσΟϯά ࠾༻͍ͯ͠Δٕज़͕ɺ 0QFO"1*(FOFSBUPS͕ੜ͢Δ ελϒͷίʔυͱҧ͏ͷͰ͑ͳ͍͔
׆༻ͷ༨͋Δͷͷ #'' ૹ Ϣʔβʔ จ "1*ج൫ ,PUMJO 4QSJOH#PPU 4QSJOH8FC'MVY
,PUMJO+BWB 4QSJOH#PPU "QBDIF$BNFM 5ZQF4DSJQU +2VFSZ 0QFO"1* 1SPUPDPM#V⒎FST "1*༷ɾεΩʔϚఆٛ ಋೖͷखؒʹݟ߹͏͚ͩͷޮՌ͕ಘΒΕΔ͔Ͳ͏͔ ඍົͳ͜ͱ͕ଟ͔ͬͨ తɺίʔυࣗಈੜͷ׆༻Ͱͳ͘։ൃͷੜ࢈ੑΛ্͛Δ͜ͱ ͦ͜Ͱ
APIͷE2Eςετ(ͷҰ෦)Λ ࣗಈੜ͍ͨ͠
εΩʔϚۦಈ։ൃ IUUQTHJIZPKQNBHB[JOFXEQSFTTBSDIJWFWPM ୈষ0QFO"1*ʹΑΔεΩʔϚۦಈ։ൃ ʮεΩʔϚΛ༻͍༷ͯͱ࣮ͷҰகΛࣗಈςετ͢Δʯ 3VCZPO3BJMTͰ࣮ͨ͠"1*αʔόͷϨεϙϯε ͕ɺ0QFO"1*υΩϡϝϯτͱဃ͍ͯ͠ͳ͍͔ࣗ ಈతʹνΣοΫ͢Δ࣮Λհ͍ͯ͠Δɻ 34QFD PBT@QBSTFS KTPO@TDIFNB
$PNNJUUFF
IUUQTHJIZPKQNBHB[JOFXEQSFTTBSDIJWFWPM εΩʔϚۦಈ։ൃ ୈষ0QFO"1*ʹΑΔεΩʔϚۦಈ։ൃ ʮεΩʔϚΛ༻͍༷ͯͱ࣮ͷҰகΛࣗಈςετ͢Δʯ 3VCZPO3BJMTͰ࣮ͨ͠"1*αʔόͷϨεϙϯε ͕ɺ0QFO"1*υΩϡϝϯτͱဃ͍ͯ͠ͳ͍͔ࣗ ಈతʹνΣοΫ͢Δ࣮Λհ͍ͯ͠Δɻ 34QFD PBT@QBSTFS KTPO@TDIFNB
$PNNJUUFF Χʔτ৽ϓϩδΣΫτ͕࠾༻͍ͯ͠Δٕज़Ͱ Ͳ͏࣮ݱ͢Δ͔
Spring Cloud Contract (SCC)
4QSJOH$MPVE$POUSBDU 4$$ w$POTVNFS%SJWFO$POUSBDUT $%$ EFWFMPQNFOU w IUUQXXXTFSWJDFEFTJHOQBUUFSOTDPN8FC4FSWJDF&WPMVUJPO$POTVNFS%SJWFO$POUSBDUT w"1*ར༻ऀ͕ظ͢ΔڍಈΛυΩϡϝϯτԽ͢Δ $POUSBDU
w"1*ར༻ऀఏڙऀͷํ͕$POUSBDUΛͱʹςετΛߦ͏͜ͱͰ࣭Λอ ͪͳ͕ΒχʔζΛຬͨ͢։ൃΛߦ͏ w4QSJOH$MPVE$POUSBDU$%$ͷ࣮ફΛαϙʔτ͢Δπʔϧ w$POUSBDUͷهड़(SPPWZͱ:".-͕͑Δ w$POUSBDU͔ΒελϒαʔόςετΛࣗಈੜͰ͖Δ IUUQTHJUIVCDPNTQSJOHDMPVETQSJOHDMPVEDPOUSBDU
4QSJOH$MPVE$POUSBDU 4$$ $POUSBDU (SPPWZ%4- ࣗಈੜ͞ΕΔςετίʔυ
4$$ͷ$POUSBDUͱ0QFO"1*υΩϡϝϯτͷҧ͍ w4$$ͷ$POUSBDU wϦΫΤετ˓˓˓Λૹ৴ͨ͠ΒɺϨεϙϯº͕ฦͬͯ͘Δ ˠʮετʔϦʔʯ w0QFO"1*υΩϡϝϯτ wड͚ΔϦΫΤετύϥϝʔλ໊9ɺܕ99 ฦ͢Ϩεϙϯεͷߏ:ɺܕ:: ˠʮ༷ʯ ߏܕΛఆٛ͢Δ͚ͩ
$POUSBDUΛ0QFO"1*υΩϡϝϯτʹຒΊࠐΉͱ͍͏ൃ w0QFO"1*υΩϡϝϯτͷ֦ுྖҬʹ$POUSBDU :".-%4- ΛຒΊࠐΉ͜ͱͰɺఆٛ༰ͷॏෳΛഉআ͠ɺ୯ҰͷυΩϡ ϝϯτͰ༷ͱετʔϦʔΛཧՄೳʹͳΔ w0QFO"1* $POUSBDUͷυΩϡϝϯτΛίϯόʔλʹ௨͢͜ͱ ͰɺετʔϦʔ෦Λݕূ͢ΔςετίʔυΛੜ͢Δ IUUQTHJUIVCDPNTQSJOHGSBNFXPSLHVSVTQSJOHDMPVEDPOUSBDUPB 4QSJOH$MPVE$POUSBDU0QFO"1*$POUSBDU$POWFSUFS
+PIO5IPNQTPO !TQSJOHGSBNFXPSLHVSV IUUQTTQSJOHGSBNFXPSLHVSVEFpOJOHTQSJOHDMPVEDPOUSBDUTJOPQFOBQJ
$POUSBDUΛ0QFO"1*υΩϡϝϯτʹຒΊࠐΉͱ͍͏ൃ ϦΫΤετ Ϩεϙϯε
Γ͍ͨࣄͱͪΐͬͱҧ͏ ͜Ε͜ΕͰૉఢ͚ͩͲ
0QFO"1*υΩϡϝϯτ͔ΒςετίʔυΛੜ͍ͨ͠ w"1*αʔό͕ฦ͢Ϩεϙϯεͷߏ͕0QFO"1*υΩϡϝϯτͷͦΕͱဃͯ͠ ͍ͳ͍͔ςετ͍ͨ͠ w $POUSBDUͳͲॻ͔ͣʹૉͷ 0QFO"1*υΩϡϝϯτΛॻ͚ͩ͘Ͱɺ࠷ݶ ͷςετ ˞ ͕ࣗಈతʹΔੈք w
˞ 0QFO"1*ʮ༷ʯͷهड़͚ͩͳͷͰɺςετͰ͖Δ͜ͱݶΒΕΔ w͕ɺϨεϙϯεͷߏςετͰ͖Δ
4QSJOH$MPVE$POUSBDU0QFO"1* w0QFO"1*υΩϡϝϯτͷఆٛΛ4$$ͷ$POUSBDUʹ ม͢Δ(SBEMF.BWFOϓϥάΠϯ wϨεϙϯεͷߏΛςετ͢Δ$POUSBDUʹมͯ͠ ςετίʔυΛੜ͢Δ IUUQTHJUIVCDPNBDLJOUPTITQSJOHDMPVEDPOUSBDUPQFOBQJ ແ͍ͳΒ࡞Ε͍͍
4QSJOH$MPVE$POUSBDU0QFO"1* ಈ࡞Πϝʔδ 0QFO"1*υΩϡϝϯτ 4QSJOH$MPVE$POUSBDU0QFO"1* 4$$Λར༻ͯ͠$POUSBDU͔Β ςετίʔυΛੜ 0QFO"1*υΩϡϝϯτʹఆٛ͞Ε͍ͯΔ ϨεϙϯεͷߏΛ$POUSBDUΦϒδΣΫτʹม
4QSJOH$MPVE$POUSBDU0QFO"1* w·ͩ࡞Γ࢝Ί͔ͨΓ wͱΓ͋͑ͣςετ͕ੜ͞ΕΔ ಈ࡞͢Δ͔ෆ໌ ͷϨϕϧ w࣮༻Ϩϕϧʹ্࣮͛ͯࡍʹ׆༻͍͖͍ͯͨ͠ wΞεΫϧͷ044ͱͯ͠ҭ͍͖͍ͯͯͨ
ίʔυࣗಈੜΛ׆༻ͯ͠ ໌དྷΔΤϯδχΞϦϯάΛʂ ΞεΫϧ