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
BFF's cosmos in FOLIO sec at uit
Search
Yosuke Kurami
June 07, 2018
Programming
9
13k
BFF's cosmos in FOLIO sec at uit
FOLIO のBFFと秩序の話
Yosuke Kurami
June 07, 2018
Tweet
Share
More Decks by Yosuke Kurami
See All by Yosuke Kurami
TypeScript LSP の今までとこれから
quramy
1
900
フロントエンドテストの育て方
quramy
12
3.5k
App Router 悲喜交々
quramy
8
630
上手に付き合うコンポーネントテスト
quramy
6
2.1k
Patched fetch did not work
quramy
6
700
GraphQL あるいは React における自律的なデータ取得について
quramy
18
5.4k
Next.js App Router
quramy
15
3.6k
Fragment Composition of GraphQL
quramy
16
4k
reg-viz VRT tools
quramy
4
1.5k
Other Decks in Programming
See All in Programming
実践!App Intents対応
yuukiw00w
0
120
変化を楽しむエンジニアリング ~ いままでとこれから ~
murajun1978
0
660
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
5
560
はじめてのWeb API体験 ー 飲食店検索アプリを作ろうー
akinko_0915
0
180
QA x AIエコシステム段階構築作戦
osu
0
240
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
11
2.8k
GitHub Copilotの全体像と活用のヒント AI駆動開発の最初の一歩
74th
6
1.7k
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
1
430
What's new in Adaptive Android development
fornewid
0
130
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
150
PHPUnitの限界をPlaywrightで補完するテストアプローチ
yuzneri
0
380
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
3
750
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Language of Interfaces
destraynor
158
25k
Docker and Python
trallard
45
3.5k
KATA
mclloyd
31
14k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
BBQ
matthewcrist
89
9.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
A Tale of Four Properties
chriscoyier
160
23k
Mobile First: as difficult as doing things right
swwweet
223
9.9k
RailsConf 2023
tenderlove
30
1.2k
Transcript
#''ͱடংͷ 6*5
"CPVUNF w ݟ༸ีBLB!2VSBNZ w ϑϩϯτΤϯυΤϯδχΞBU'0-*0$P -UE w ίϛϡχςΟ"OHVMBS+BQBO(SBQI2-5PLZP w झຯͰ࡞ͬͯΔͷ
w 5ZQF4DSJQUؔ࿈πʔϧ WJNQMVHJOͳͲ w ը૾ճؼςετ༻πʔϧ܈
5PEBZ`TUIFNF w ࠓ͢͜ͱ w '0-*0ͷ#''ͷࣗຫ w ͜Μͳࣦഊͪ͠ΌବͩΑ w ࠓ͞ͳ͍͜ͱ w
ಛఆͷٕज़ͷ͓ w ίʔυͷॻ͖ํ
͓ॻ͖ w ΠϯτϩαʔϏεհγεςϜߏ w "ύʔτ#''ͷྑ͍ w #ύʔτ#''ͷਏ͍
αʔϏεհ
None
'0-*0ͷγεςϜߏ
'0-*0ͷγεςϜߏ גࣜऔҾαʔϏε จαʔϏε ޱ࠲αʔϏε גՁαʔϏε FUDʜ 8FC#'' .PCJMF#'' 1$ϒϥβ 41ϒϥβ
"OESPJE"QQ J04"QQ 3&45 5ISJGU
'0-*0ͷγεςϜߏ w όοΫΤϯυϚΠΫϩαʔϏεͷߏ w #''8FC͚ͱϞόΠϧ"QQ͚ͷछྨ w "QQϒϥβ#''3&45"1*Ͱ௨৴ w #''όοΫΤϯυ5ISJGUͰ௨৴ w
5ISJGU31$ͷҰछɻH31$Έ͍ͨͳΠϝʔδ
'0-*0#''ͷ͓͠͝ͱ w ԼྲྀαʔϏεͷू %PXOTUSFBN"HHSFHBUJPO w ϒϥβPS"QQʹ࠷దԽͨ͠Ϩεϙϯε࡞ʹྗ w αʔόαΠυϨϯμϦϯά 8FCͷΈ
w ೝূηογϣϯཧ
#''ٕज़ελοΫ w 8FCϞόΠϧ྆ํ w ݴޠ/PEFKT CBCFM 'MPX5ZQF w 8FC"QQMJDBUJPO'8LPB w
௨৴5ISJGUDMJFOUGPS/PEFKT w 8FCಛ༗ w 6*3FBDU SFEVY
ϑϩϯτΤϯυͷ୲ൣғ גࣜऔҾαʔϏε จαʔϏε ޱ࠲αʔϏε גՁαʔϏε FUDʜ 8FC#'' .PCJMF#'' 1$ϒϥβ 41ϒϥβ
"OESPJE"QQ J04"QQ ƂŢʹͤΖʂ
"ύʔτ #''ͷྑ͍
ΞʔΩςΫνϟ
#''ͷΞʔΩςΫνϟ w ΫϦʔϯΞʔΩςΫνϟz෩z LPB TXBHHFSUP qPXUZQF UISJGU $POUSPMMFS 1SFTFOUFS $MJFOU
6TF$BTF %PNBJO
#''ͷΞʔΩςΫνϟ w #''ͷʮ֎քʹڬ·Ε͍ͯΔʯײͱ ΫϦʔϯΞʔΩςΫνϟͷ֓೦ੑ͕ߴ͍ w ͳͥΫϦʔϯΞʔΩςΫνϟʮ෩ʯͳͷ͔ w ʮυϝΠϯ͕Կ͔ʯͦΕ΄Ͳؾʹ͍ͯ͠ͳ͍ ਅʹυϝΠϯ͕#''ʹ͋Δͷ͔ʁͱ͔ग़ͯ͘Δ͠
w ओͨΔతɺϑϨʔϜϫʔΫґଘͷഉআͱܕ͚
)PXUPܕ w *%- ΠϯλʔϑΣʔεهड़ݴޠ ͔ΒػցతʹߏܕΛੜ w ΫϥΠΞϯτ#''TXBHHFSUPqPXUZQF w #''όοΫΤϯυUISJGUqPX w
ϦΫΤετϨεϙϯεܗͰؒҧͬͨܕΛฦ͢ͱίϯύ ΠϧΤϥʔʹ ܕݕࠪ൪ͷςετͩʂ
ʮԿΛʯʮͲ͜Ͱʯ w #''Ͱߦ͏ॲཧͷجຊࢥΛఆΊ͓ͯ͘ w ͷܭࢉɺQBSTFGPSNBU w ߲ͷՃࢉݮࢉɺූ߸୯Ґ͚ͭ w FUDʜ w
Ͳ͜Ͱ࣮͢Δ͔ɺ͓͓·͔ʹܾΊ͓ͯ͘ήʔτΣΠ ͷΞμϓλͰΔPSϢʔεέʔεͷଆͰΔ
ͦͷଞࣗຫϙΠϯτ w ֎քͱͷ*'Λ໌͍ࣔͯ͠Δ͜ͱʹΑΓɿ w ։ൃ࣌ͷΈɺΫϥΠΞϯτΛΠϯλʔηϓτͯ͠ɺσʔ λΛஷΊΔػߏΛ༻ҙ w ͨ·ͬͨσʔλΛগ͠Ճͯ͠'FBUVSFUFTUͷpYUVSFʹ w *%-ܕใͱpYUVSFͷσʔλΛ͖߹ΘͤͯɺܕݕࠪͰ
͖ΔΑ͏ʹ͍ͨ͠
ʜ͜͜··Ͱ͕ ʮྑ͍ʯ
͔͜͜Β ਏ͍ύʔτ
ͭͷ#'' w '0-*0ͷ#''ͭ w 8FCͱϞόΠϧ w ྆ऀ։ൃ࣌ظ͕େ͖͘ҟͳΔ w 8FCϞόΠϧͷॱ w
"ύʔτʢ΄΅ʣϞόΠϧ#''ͷΛ͍ͯͨ͠ w #ύʔτओ8FC#''
ࣦഊࣄྫհ μογϡϘʔυ443ͷ൵ܶ
μογϡϘʔυJTԿ w ΈΜͳͷͱ͜ʹ͋ΔΑͶʁμογϡϘʔυతͳը໘
ͳʹ͕ى͔ͬͨ͜ w ͲͷΑ͏ʹ443Λ࣮͍͔ͯͨ͠ w ίϯτϩʔϥͰϖʔδͷϦΫΤετΛड͚औΔ w ϖʔδΛඳը͢ΔͨΊʹඞཁͳશσʔλΛΦϒδΣΫτ ͯ͠࡞͢Δ w ˢͷ+40/ΛJOJUJBMTUBUFͱͯ͠ɺ3FBDUʹ৯ΘͤΔ
Πϝʔδ ίϯτϩʔϥ ࢿ࢈αʔϏε ޱ࠲αʔϏε גՁαʔϏε ͳΜ͔ψγతͳίʔυ ͱʹ͔͘σΧΠ ͘͢͝ڊେͳ+40/ (&5EBTICPBSE 0,
$POUFOU5ZQFUFYUIUNM 3FBDUίϯϙʔωϯπ FUDʜ
͞ΘΔͷා͍ w ͱ͔͘σΧΠͷͰ৮Γͨ͘ͳ͍ w ܕ͍ͭͯͳ͍ͷͰ৮Γͨ͘ͳ͍ w ͘͢͝ڊେͳ+40/BOZ w 3FBDUଆ1SPQ5ZQFPCKFDU w
"1*ίʔϧ͡Όͳ͍ͷͰɺTDIFNB*%-͕͍ͳ͍ w LPBDPOUFYUʹԿ͕ೖͬͯΔͷ͔ෆ໌
ݴ͍༁ w ͳͥͦͷΑ͏ͳ࣮ʹ w ༗ΔछͷΘ͔Γ͢͞ چདྷͷαʔόαΠυ.7$త w ͳΜͰܕ͍ͭͯͳ͍ͷʁ
w ࠷ॳ͔Β'MPX͕ಋೖ͞Ε͍ͯͨΘ͚Ͱͳ͍ w ։ൃ࠷ॳظཁ͕݅γϯϓϧͩͬͨ w ͱ͍͑ɺཁ͕݅૿͑ଓ͚Δͷ͕μογϡϘʔυͷ໋॓
୰͍͍ͯͯ࢝·Βͳ͍ͷͰ ͳΜͱ͔͢Δͧ
ۙͷରॲ w ·ͣܕ͚ ςετͷඋ w ͜͜ಓʹ͍͔ͬͯ͘͠ͳ͍ w ͪΐͬͱ৮ͬͨΒ$*ͰམͱͤΔΑ͏ʹ w վमཁ͕݅ൃੜͨ͠Βɺݟ͑ΔൣғͰBOZΛ௵͢
w ίϯτϩʔϥ͔ΒݺΜͰ͍ΔॲཧΛɺۀ্దͳ୯Ґʹ ׂ
్தஈ֊ͷΠϝʔδ ίϯτϩʔϥ ࢿ࢈αʔϏε ޱ࠲αʔϏε גՁαʔϏε (&5EBTICPBSE 0, $POUFOU5ZQFUFYUIUNM 3FBDUίϯϙʔωϯπ Ϣʔβʔͷޱ࠲֓ཁ
ࢿ࢈Ϧετ ݱࡏͷגՁ
͏ͪΐ͍ઌ w ϢʔεέʔεୡΛ"1*ΤϯυϙΠϯτʹ w 3FBDUͷίϯςφ͕ݸผʹ্هͷΤϯυϙΠϯτGFUDI͢Δ Α͏ʹมߋ w /FYUKTͷHFU*OJUJBM1SPQT(SBQI2-3FMBZͷ 2VFSZ3FOEFSFS 'SBHNFOU$POUBJOFSͷΑ͏ͳΠϝʔδ
w 443$43ͷରԠγʔϜϨεʹߦ͑Δ w ৽͘͠Ճ͞Εͨϖʔδ͜ͷํ๏Ͱ࡞͍ͯ͠Δ
͏ͪΐ͍ઌͷΠϝʔδ ίϯτϩʔϥ ࢿ࢈αʔϏε ޱ࠲αʔϏε גՁαʔϏε (&5EBTICPBSE 0, $POUFOU5ZQFUFYUIUNM 3FBDUίϯϙʔωϯπ Ϣʔβʔͷޱ࠲֓ཁ
ࢿ࢈Ϧετ ݱࡏͷגՁ
ͦͷଞͷࣦഊ w 8FC#''Ͱɺαʔό։ൃͱΫϥΠΞϯτ։ൃΛಉνʔϜͰ͍ͬͯ ΔͨΊɺͦͷؒͰ໌ࣔతͳεΩʔϚΛઃ͚ͳ͍ͯͳ͔ͬͨ w "1*ը໘ຖʹɺࣅͨΑ͏ͳ Ͱগ͠ҧ͏ ܕ͕ࢄࡏ͠ɺ݁ՌతʹϦϑΝ ΫλϦϯάͷ્ཁҼʹ w
νʔϜʹดͨ͡։ൃͰ͋ͬͯɺεΩʔϚʹ͖߹͏ϙΠϯτ࣋ͬͯ ͓͍ͨ΄͏͕͍͍ w 4XBHHFS+40/)ZQFS4DIFNFͷZBNM͚ͩॻ͍ͯϨϏϡʔ͠߹ ͏ɺͱ͔ w (SBQI2-ͩͱɺ͜Ε͕໌ࣔతʹ։ൃʹΈࠐ·ΕΔͷྑͦ͞͏
ࠓͷ͓͞Β͍
ݴ͍͔ͨͬͨ͜ͱ w டংΛͨΒͨ͢Ίʹ w ͪΌΜͱϨΠϠΛ͚͍ͯ͜͏ w ͪΌΜͱϢʔεέʔεߟ͑Α͏ w ͪΌΜͱεΩʔϚ ܕΛ͍ͬͯ͜͏
w ཁ݅ ΞάϦήʔγϣϯର ͕ෳࡶԽ͔ͯ͠ΒͷޙखରԠ ʹͳΔͱେมͩͧ
͜Ε͚֮ͩ͑ͯ ؼͬͯཉ͍͠
#''ॻ͖͍ͨਓืूͯ͠·͢
5IBOLZPV