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
日経電子版を支える基盤API
Search
osamunmun
February 03, 2017
Programming
17
7.3k
日経電子版を支える基盤API
osamunmun
February 03, 2017
Tweet
Share
More Decks by osamunmun
See All by osamunmun
日経電子版SREチーム立ち上げ中
osamunmun
6
14k
Other Decks in Programming
See All in Programming
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
11
2.8k
変化を楽しむエンジニアリング ~ いままでとこれから ~
murajun1978
0
650
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
10
1.5k
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
21
10k
MCPで実現できる、Webサービス利用体験について
syumai
7
2.3k
あまり知られていない MCP 仕様たち / MCP specifications that aren’t widely known
ktr_0731
0
220
DataformでPythonする / dataform-de-python
snhryt
0
150
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
920
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
220
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
4
2.4k
Streamlitで実現できるようになったこと、実現してくれたこと
ayumu_yamaguchi
2
270
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
750
Featured
See All Featured
A designer walks into a library…
pauljervisheath
207
24k
A Tale of Four Properties
chriscoyier
160
23k
Bash Introduction
62gerente
614
210k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
How to train your dragon (web standard)
notwaldorf
96
6.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Building Adaptive Systems
keathley
43
2.7k
The Language of Interfaces
destraynor
158
25k
A better future with KSS
kneath
238
17k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
Transcript
ܦిࢠ൛Λࢧ͑Δج൫"1* "1*.&&561 0TBNV5BLBZBTV
2 0TBNV5BLBZBTV &OHJOFFSBU/JLLFJ *OD 1ZUIPO "84 3VCZ MVB ʹܦʹ+0*/ ओʹܦిࢠ൛ͷ"1*ͷ։ൃʹैࣄ
"CPVUNF
3 ݄ʹץ ༗ྉձһ ԁ݄ ສਓ ݄ؒΞΫηεԯ݅
ຖ݅ͷهࣄΛ৴ 1$ɾϞόΠϧαΠτɺJ04ɺ "OESPJEΞϓϦʹରԠ ܦిࢠ൛ͱ
4 "1*ͷΞʔΩςΫνϟ ։ൃɺӡ༻ํ๏ʹ͍ͭͯ ࠓޙͷํੑɺ՝ ࠓ͓͢͠Δ͜ͱ
ΞʔΩςΫνϟ 5
6 ܦిࢠ൛ͷγεςϜશମ૾ "84 ϩάੳͳͲɺαʔϏε ։ൃऀ͕ར༻ هࣄͷฤूɺཧ $.4 هࣄ৴ ֤छ"1* ੳج൫
ࠓ͓͢͠Δ zج൫"1*z͜ͷҰ෦
7 ج൫"1*ΞʔΩςΫνϟ "1*("5&8": 4&"3$) '-"( 1"1&3 ʜ ֤$MJFOU ଞγεςϜͷαʔόʔ *."(&
$%/ ج൫"1* ݸͷ"1* ֤"1*ϦΫΤε τͷೝՄݕূ TJHOFEVSMͰ ΞΫηε੍ޚ 4FBSDI&OHJOF %#4UPSBHF #BUDI -PH
8 "1*("5&8":ͷׂ ɾϢʔβʔʗΫϥΠΞϯτೝূ ɾ֤"1*ͷϦΫΤετͷೝՄݕূ ɾཧը໘Ͱ֤$MJFOUͷݖݶཧ ɾ֤"1*ͷ*'༷υΩϡϝϯτ
.JDSPTFSWJDFT 9
10 ߏཁૉ "1*("5&8": 4&"3$) '-"( 1"1&3 ʜ *."(& $%/ ج൫"1*
4FBSDI&OHJOF %#4UPSBHF #BUDI -PH &MBTUJD#FBOTUBML &MBTUJD#FBOTUBML &MBTUJD#FBOTUBML &MBTUJD#FBOTUBML &MBTUJD#FBOTUBML $MPVE'SPOU 4 3FEJT 3%4 3FETIJGU "VSPSB &MBTUJD#FBOTUBML #JH2VFSZ 4
&$JOTUBODF 11 &MBTUJD#FBOTUBMLͷத "QQMJDBUJPO$POUBJOFS -PH4FOEFS$POUBJOFS ˞ ˞IUUQTHJUIVCDPNCVOHPVNFMPHTFOEFS ʜ ʜ ʜ
ʜ ෛՙʹԠͯ͡ BVUPTDBMF &-# &#ͷڥΛίʔυͰఆٛ ɾ&MBTUJD#FBOTUBMLͷઃఆϑΝΠϧ 71$ &-# 4FDVSJUZ(SPVQ "VUPTDBMF $MPVE8BUDI"MBSN ɾ%PDLFSSVOBXTKTPO $POUBJOFS ڥม Ϧιʔε ɾFCFYUFOTJPOT IPTU໊मਖ਼ OFXSFMJDઃఆ
12 ֤"1*ʹڞ௨෦͕ଟ͍ "1*("5&8": 4&"3$) '-"( 1"1&3 ʜ *."(& $%/ ج൫"1*
4FBSDI&OHJOF %#4UPSBHF #BUDI -PH &MBTUJD#FBOTUBML &MBTUJD#FBOTUBML &MBTUJD#FBOTUBML &MBTUJD#FBOTUBML &MBTUJD#FBOTUBML $MPVE'SPOU 4 3FEJT 3%4 3FETIJGU "VSPSB &MBTUJD#FBOTUBML #JH2VFSZ 4
13 ֤"1*ͷڞ௨෦ΛςϯϓϨʔτԽ SFRVJSFNFOUTUYU UPYJOJ %KBOHPΞϓϦͷઃఆ %PDLFSpMF
&MBTUJD#FBOTUBMLͷઃఆϑΝΠϧ $JSDMF$*ͷઃఆϑΝΠϧ
14 ڞ௨Խ͓ͯ͘͠ϝϦοτ &$JOTUBODF "QQMJDBUJPO$POUBJOFS -PH4FOEFS$POUBJOFS ˞ ʜ ʜ ʜ ʜ
։ൃऀ֤"1*ݻ༗ͷ ϏδωεϩδοΫʹྗ &-# ɾ৽͍͠"1*Λ্ཱ͙ͪ͛͢ΒΕΔ ɾมߋ༰Λ֤"1*ʹ؆୯ʹөͰ͖Δ UFNQMBUFͷߋ৽ DPPLJFQBUDIFS ˞ ͱ͍͏πʔϧ͕ ͋Δ ֤"1*ϨϙδτϦʹ࠷৽ͷςϯϓ ϨʔτΛద༻ ˞IUUQTHJUIVCDPNIJSPLJLZDPPLJFQBUDIFS
15 .JDSPTFSWJDFTͰΑ͔ͬͨ͜ͱ ɾ"1*͝ͱ ˺αʔϏε͝ͱʣͰૄ݁߹ʹ։ൃΛਐΊΒΕɺ ɹ։ൃεϐʔυ͕ͰΔ ɾ"1*͝ͱʹಠཱͯ͠σϓϩΠ͕ՄೳͰɺมߋ͍͢͠ ɾෛՙͷߴ͍"1*͚ͩεέʔϧͰ͖ɺϦιʔεͱίετͷ ɹ࠷దԽ͕Ͱ͖Δ
#BUDI 16
&$JOTUBODF 17 #BUDI&# %PDLFSͰߏங "QQMJDBUJPO$POUBJOFS &-# &$JOTUBODF /HJOY$POUBJOFS &-#
ʜ ʜ ɾ36/%&$,ͷઃఆ +0#ͷઃఆɺ࣮ߦཤ ྺ 3%4 .Z42- ʹอଘ ɾ֤+0#͝ͱʹ%PDLFSQVMM࣮ͯ͠ߦ &-#ͷIFBMUIDIFDLͷ ͨΊʹ/HJOY͕͍Δ ෳ+0#͕ͬͯޓ͍ʹ Өڹ͠ͳ͍ૉͳؔ
-0( 18
19 -PHͷྲྀΕ "QQMJDBUJPO$POUBJOFS -PH4FOEFS$POUBJOFS -PH"HHSFHBUPS BDUJPOMPH V84(*MPH OHJOYMPH ҙͷϩάFYݕࡧΫΤϦ ֤"1*
$MPVE'SPOU 4 MBNCEB ۙdϲ݄ ͘Β͍ͷϩά #JH2VFSZ 4 DGMPHTEPNBJOͱ͍͏CVDLFUʹॻ ͖ग़͢ͱMBNCEBͰॲཧͯ͠&4ʹೖΔઃఆ
%FQMPZ 20
21 %FQMPZqPX VOJUUFTU EPDLFSCVJME EPDLFSQVTI &MBTUJD#FBOTUBML EFQMPZ 1SPE&/7 4UBOECZ&/7 TXBQ
$MPVE'SPOU FFUFTU FFUFTU NBTUFSCSBODIEFWڥ EFQMPZNFOUQSPEVDUJPOCSBODIQSPEڥ JNBHF"1*͚ͩɺ$'͕લஈʹ ͍ΔͷͰɺ$'ܦ༝Ͱςετ EPDLFSQVMM &MBTUJD$POUBJOFS3FHJTUSZ DPNNJUIBTIͷઌ಄ จࣈͰUBH͚
22 TXBQ͙ͯ͢͠ΓସΘΔͷʁ ɾ&#ͷ%/4ͷ55-NJO EFGBVMU ɾͨͩ͠ɺ$MJFOU͕ΩϟογϡΛ࣋ͬͨ߹PVUPGDPOUSPM &$JOTUBODF /HJOY$POUBJOFS &-# ͜͜TXBQ
͠ͳ͍ SPVUF &MBTUJD#FBOTUBML 1SPE&/7 4UBOECZ&/7 &MBTUJD#FBOTUBML 1SPE&/7 4UBOECZ&/7 SFWFSTFQSPYZ͕ɺ "1*ͷTXBQΛै
NJOTFD 23 EFQMPZʹ݁ߏ͕͔͔͍࣌ؒͬͯͨ VOJUUFTU EPDLFSCVJME EPDLFSQVTI &MBTUJD#FBOTUBML EFQMPZ 1SPE&/7 4UBOECZ&/7
TXBQ $MPVE'SPOU FFUFTU FFUFTU EPDLFSQVMM &MBTUJD$POUBJOFS3FHJTUSZ NJO NJOTFD NJO ͦͷଞॾʑ߹Θͤͯ5PUBMNJO΄Ͳ
24 EFQMPZ࣌ؒΛॖ ɾ#BTF*NBHFʹ"MQJOF-JOVYΛར༻ ΠϝʔδαΠζΛେ෯ݮ.#.#ఔ ɾ$JSDMF$*ͰΩϟογϡΛར༻ EFQFOEFODJFTηΫγϣϯͰґଘϥΠϒϥϦΛΠϯετʔϧ EPDLFSCVJME͢Δલʹ࠷৽ΠϝʔδΛQVMM͓ͯ͘͠
NJOTFD 25 EFQMPZ͕࣌ؒNJO͘Β͍ॖ VOJUUFTU EPDLFSQVMMCVJME EPDLFSQVTI &MBTUJD#FBOTUBML EFQMPZ 1SPE&/7 4UBOECZ&/7
TXBQ $MPVE'SPOU FFUFTU FFUFTU EPDLFSQVMM &MBTUJD$POUBJOFS3FHJTUSZ NJOTFD NJOTFDTFD NJO 5PUBMNJO͘Β͍NJO͘Β͍
26 MBNCEBͷEFQMPZେମಉ͡ VOJUUFTU BQFYEFQMPZ MBNCEB
.POJUPSJOH/PUJpDBUJPO 27
28 ࢹͱ௨ͷશମ૾ Πϯϑϥ $16 .FNPSZ /FUXPSL $MPVE8BUDI ΞϓϦέʔγϣϯ Τϥʔ Ϧιʔεࢹ
MBUFODZ TUBUVTDPEF 63-ࢹ FFUFTU ి௨ ௨ઌ໊Ͱ ϩʔςʔγϣϯ
29 ͕ൃੜͨ͠Β,JCBOBΛ֬ೝ ͋Β͔͡Ίॏཁͳϝ τϦΫεͷμογϡ ϘʔυΛ࡞͓ͬͯ͘
30 5JQT සൟʹσϓϩΠ͕ߦΘΕΔ͠ɺ&MBTUJD#FBOTUBMLͷ&$Πϯελϯεෆఆظʹ ೖΕସΘΔ 4FOUSZ DPNNJUIBTIΛૹͬͯɺ ͲͷWFSTJPOͷΞϓϦ͔Λࣝผ /FXSFMJD IPTU໊ʹΞϓϦέʔγϣϯ໊ΛೖΕͯɺ ͲͷΞϓϦͷΠϯελϯε͔Λࣝผ
"84 31
32 "84ͳ͠ͰΓཱͨͳ͍ &$JOTUBODF "QQMJDBUJPO$POUBJOFS -PH4FOEFS$POUBJOFS ʜ ʜ ʜ ʜ &-#
ࣗͨͪͷൣғ ɾSPVUF &MBTUJD#FBOTUBML "$.ͳͲ ɹ"84ͷઃఆ ɾ%PDLFS$POUBJOFS ઃఆ͢Δͱ "84͔ΒͨΒ͞ΕΔͷ ɾBVUPTDBMFPVUJO ɾΠϯελϯεɺίϯςφͷࣗಈ෮چ ɾNPOJUPSJOH BMBSN ɾ63-ͷTXBQʹΑΔCMVFHSFFOEFQMPZ ɾଞଟʜ
33 ਐԽ͢Δ"84 Ҏ্ͷGFBUVSF ΛϦϦʔεɻຖͭҎ্ SF*OWFOUͰݸͷ৽ αʔϏε͕ൃද ,FZOPUFʹͯ l"84XJMMNBLFZPVGFFMMJLF
ZPVIBWFCFFOHJWFO4VQFS 1PXFSTz
34 Δ͔͠ͳ͍͜ͷϏοά SZ ɾອવͱ͍ͬͯͯ"84ͷਐԽͷԸܙ͕ड͚ΒΕͯ͠·͏ FY"844IJFME͕$MPVE'SPOUʹσϑΥϧτద༻ FY0QFO44-੬ऑੑରԠ FYΠϯελϯεԼ͛ɾɾ ɾອવͱ͍ͬͯΔͱ"84ͷਐԽͷԸܙΛड͚ΒΕͳ͍߹ଟ͍ ໌ࣔతͳόʔδϣϯΞοϓ FY&MBTUJDCFBOTUBMLͷQMBUGPSNͷߋ৽
৽αʔϏεͷݕূɺಋೖ FYMBNCEBBUFEHF "UIFOB 3FLPHOJUJPO ৽αʔϏεɺʑͷߋ৽ΛऔΓೖΕͯɺࣗࣾαʔϏεΛਐԽ͍ͤͯ͘͞
35 "84ͰϋϚΔ͜ͱΑ͋͘Δ 4VQQPSUܖΛ݁ΜͰ݁ߏ͍߹Θ ͍ͤͯ͠Δ "84ͷόάΛ౿Ή͜ͱ͋Δ ୯ʹ͍ํ͕Α͘Θ͔Βͳ͍߹
ػೳͷཁΛग़͢ ͳ͔ͳ͔5PLZPSFHJPOʹདྷͳ͍ ͳ͔ͳ͔("ʹͳΒͳ͍
4BB4ͷ׆༻ 36
37 4BB4։ൃɺӡ༻πʔϧܥ͕ଟ͍ ར༻ͯ͠Δ4BB4 4FOUSZ 4MBDL /FX3FMJD 4UBUVT$BLF (JUIVC QBHFSEVUZ $JSDMF$*
#JH2VFSZ 7JTJPO"1* /BUVSBM-BOHVBHF"1* 5SFMMP
*NBHF"1*Λஔ͖͑ 38
39 *NBHF"1*ͱ ΦϦδφϧը૾ σϑΥϧτ هࣄͷϨΠΞτʹ ߹ΘͤͯΓൈ͖ إೝࣝ SFTJ[F
DSPQ ࠲ඪࢦఆՄೳ TJHOFEVSM GPSNBUDPOWFSTJPO 8FC1 IUUQTBSUJDMFJNBHFOJLLFJDPNYYD@@%49.;01#KQH IBTIDED
40 *NBHF"1* $MPVE'SPOU &$JOTUBODF /HJOY$POUBJOFS OHY@TNBMM@MJHIUΛGPML *NBHF.BHJDL
MVBͰQBSBNFUFSWBMJEBUJPO PQFOSFTUZMVBOHJOYNPEVMF 4 JNBHF 4 JNBHFNFUBEBUB MBNCEB 4&"3$)"1* TFBSDISFTVMU JOEFYJOH JNBHFpMFͷIBTI إɾݐɾMPHPͷ࠲ඪ ը૾ͷMBCFM $.4 JNBHFpMF 7JTJPO"1*
41 -BNCEBͷ׆༻ 4 JNBHF MBNCEB $.4 JNBHFpMF MBNCEB ϑΝΠϧ໊ͱQBUIΛมߋ MBNCEB
4 JNBHFNFUBEBUB ͭͷ4FWFOU͔ΒͭͷMBNCEB ͔͠ൃՐͰ͖ͳ͍ͷͰɺSPVUJOH ແବʹ"1*Λୟ͔ͳ͍Α͏ʹɺ JNBHFpMFͷ&5BHΛνΣοΫ 7JTJPO"1*
42 *NBHF"1* $MPVE'SPOU &$JOTUBODF /HJOY$POUBJOFS OHY@TNBMM@MJHIUΛGPML *NBHF.BHJDL
MVBͰQBSBNFUFSWBMJEBUJPO PQFOSFTUZMVBOHJOYNPEVMF 4 JNBHF 4 JNBHFNFUBEBUB MBNCEB 4&"3$)"1* TFBSDISFTVMU JOEFYJOH JNBHFpMFͷIBTI إɾݐɾMPHPͷ࠲ඪ ը૾ͷMBCFM $.4 JNBHFpMF 4BB4Ͱஔ͖͑
43 ͳͥஔ͖͑ʁ ɾ(PPHMF$MPVE7JTJPO"1*ͰಘΒΕΔɺݐɾMPHPͷ࠲ඪɺ ը૾ͷMBCFMใ͕׆༻͞Εͳ͔ͬͨ ɾࣗલͰओʹ$MPVE'SPOUͷඅ༻͕݁ߏ͔͔Γɺ4BB4ʹൺͯ ͍҆Θ͚Ͱͳ͍ ɾ4BB4ʹ͋ΔػೳͷՃཁٻ͕͋ͬͨ Γൈ͖ͷ࠲ඪࢦఆͰͳ͘ɺDSPQGBDFͷΑ͏ʹࢦఆ͍ͨ͠
ΫϥΠΞϯτʹԠͯ͡ը૾αΠζͷ࠷దԽΛ͍ͨ͠ XBUFSNBSLΛ͚͍ͨ ɾܦిࢠ൛ݻ༗ͷཁ݅ʹ༝དྷ͢Δ༷ͳ͍ 4BB4Ͱ͋ΔఔΧελϚΠζͰ͖Δ߹͋Δ͠ɺ 4BB4ͱࣗલ"1*ͷΈ߹ΘͤΔύλʔϯ͋Δ هࣄը૾ΛΓൈ͘ͱ͖ʹʹͳΔέʔεɺ إ͕ରʹͳΔέʔε͕΄ͱΜͲ
44 ީิ SFTJ[F DSPQ إΛத৺ʹ͠ ͨDSPQ ը૾ͷॏͶ ߹Θͤ GPSNBU ม
4JHOFE 63- ը૾αΠζ ͷ࠷దԽ *NBHF"1* ˓ ˓ ☓ ☓ ˓ ˓ ☓ $MPVEJOBSZ ˓ ˓ ˓ ˓ ˓ ˓ ˓ JNH*9 ˓ ˓ ˓ ˓ ˓ ˓ ˓ "LBNBJ*NBHF .BOBHFS ˓ ˓ ☓ ˓ ˓ *NBHF'MVY ˓ ˓ ☓ ˓ ˓ ˞ݸਓௐͳͷͰɺ࠷৽ͷใ֤ެࣜιʔεΛ֬͝ೝ͍ͩ͘͞
45 ίϞσΟςΟԽͨ͠"1*4BB4ʁ ɾ*NBHFɺ4FBSDIɺػցֶशɾɾɾɺࠓޙ4BB4͞Βʹ૿͑ͦ͏ ࣗલ"1* 4BB4 อक ɾ4PGUXBSFWFSTJPOVQ FY੬ऑੑରԠ ɾোରԠ
΄ͱΜͲͳ͍ ɾ͓·͔ͤ ΧελϚΠζ ɾࣗ͝༝ʹ ɾཁɺҕୗϕʔε ΓͱΓ͕खؒɺͦ ͦͰ͖ͳ͍߹ ։ൃྗ ɾਓ ɾࣗલΑΓਓଟͯ͘ɺ։ൃྗߴ͍ ίετ $BTFCZ$BTF
46 ίϞσΟςΟԽͨ͠"1*4BB4ʁ ɾ*NBHFɺ4FBSDIɺػցֶशɾɾɾɺࠓޙ4BB4͕૿͑ͦ͏ ࣗલ"1* 4BB4 อक ɾ4PGUXBSFWFSTJPOVQ FY੬ऑੑରԠ ɾোରԠ
΄ͱΜͲͳ͍ ɾ͓·͔ͤ ΧελϚΠζ ɾࣗ͝༝ʹ ɾཁɺҕୗϕʔε ΓͱΓ͕खؒɺͦ ͦͰ͖ͳ͍߹ ։ൃྗ ɾਓ ɾࣗલΑΓਓଟͯ͘ɺ։ൃྗߴ͍ ίετ $BTFCZ$BTF $BTFCZ$BTF
47 ͜ΜͳΠϝʔδʁ "1*("5&8": 4&"3$) '-"( 1"1&3 ʜ *."(& $%/ ج൫"1*
ंྠͷ࠶ൃ໌ΑΓϥΠϒϥϦΛ ͬͨํ͕࣭ޮྑ͍ ϥΠϒϥϦͱಉ͡ײ֮ʁ
48 ࠓޙͷ՝औΓΜͰ͍Δ͜ͱ ɾ4BB4ͷ׆༻ ɾMBNCEBΛͬͨ4FSWFSMFTTͳΞʔΩςΫνϟͷద༻ վળ͞Εͦ͏ͳͱ͜Ζ͕͍͔ͭ͋͘Δ TUFQGVODUJPOTศརͦ͏͚ͩͲ·ͩ͞ΘΕͯͳ͍ ɾػցֶशΛ׆༻ͨ͠αʔϏε ɾ(PΛͬͨΞϓϦέʔγϣϯ։ൃ ɾMBNCEBͷΤϥʔϩά͕୳ͮ͠Β͍ ࠓ4FOUSZΛࠐΜͰΤϥʔΛૹ͍ͬͯΔ
$MPVE8BUDI-PHΛ4ʹྲྀ͠ࠐΜͰɺ"UIFOBͰ୳ͤΔΑ͏ʹ͢Δ ɾɾɾ
49 8F`SFIJSJOH TOJLLFJDPNTBJZP 1ZUIPOΤϯδχΞʢػցֶशͰ͖Δͻͱܴʣ ϑϩϯτΤϯυΤϯδχΞ ΞϓϦΤϯδχΞ σβΠφʔ