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
NestJSを活用したREST APIサーバ/REST_API_SERVER_BY_NESTJS
Search
Masahiko Sakakibara
November 29, 2019
0
1.5k
NestJSを活用したREST APIサーバ/REST_API_SERVER_BY_NESTJS
Masahiko Sakakibara
November 29, 2019
Tweet
Share
More Decks by Masahiko Sakakibara
See All by Masahiko Sakakibara
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
480
本当に欲しかったのはモノレポツールではなく、tsconfigの設定だった / monorepo-tsconfig
rdlabo
1
180
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
330
プライベートプロダクト戦略 - フロントエンドカンファレンス沖縄 / private_product_frontend
rdlabo
3
4.5k
GitHubをCMSとして使う話/ using_github_as_CMS
rdlabo
0
470
JavaScriptから デバイスの力を100%引き出すための Web APIとCapacitor入門 / power_from_javascript
rdlabo
0
560
Capacitor4_release
rdlabo
0
630
Web技術で稼ぐため選択肢を俯瞰しよう/options_to_earn_web_technology
rdlabo
0
140
Ionicモバイルアプリ制作入門/get_started_with_ionic
rdlabo
0
140
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Why Our Code Smells
bkeepers
PRO
338
57k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
How to Ace a Technical Interview
jacobian
278
23k
RailsConf 2023
tenderlove
30
1.2k
Embracing the Ebb and Flow
colly
86
4.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
BBQ
matthewcrist
89
9.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Transcript
/FTU+4Λ׆༻ͨ͠ 3&45"1*αʔό
ࣗݾհ !SEMBCP Ұൠࣾஂ๏ਓ ϦϨʔγϣϯσβΠϯݚڀॴදཧࣄ Ұൠࣾஂ๏ਓ "SFB*OOPWBUJPO"MJBODF$50 *POJD+BQBO 6TFS(SPVQද
ίϯτϦϏϡʔλʔ ionic-team/ionic ionic-team/starters ionic-team/ionic-cli ionic-team/ionic-docs ionic-team/ionic-react -conference-app GoogleChrome/lighthouse
όοΫΤϯυͱϑϩϯτΤϯυͷͭͳ͗ํ
ϨϯμϦϯάίετ͕ॏ͍ಈతαΠτ .PEFMͰσʔλΛܗͯ͠ ߹ʹΑͬͯ$PUSPMMFSͰ ͦΕΛల։ɾ࠶ܗͯ͠ 7JFXͰల։͢Δ
ΤϥʔϋϯυϦϯά͕͍͠ಈతαΠτ
ΑΓΑ͍69Λࢦͯ͠ ੩తαΠτ 4JOHMF1BHF"QQMJDBUJPO 41" 3&45"1*(SBQI2-ʹΑΔόοΫΤ ϯυͱϑϩϯτΤϯυͷϒϦοδ +BWB4DSJQUʹΑΔϦονͳ6*
1SPHSFTTJWF8FC"QQT 18" 41" 8FC"1* ಈతαΠτ ΑΓΑ͍69Λࢦ͢
+40/ͰͷΓͱΓ͕Ұൠతͳख๏ʹɻ όοΫΤϯυ \n^ ϑϩϯτΤϯυ \n^
+40/Ͱൃ͢Δͱ͍͏Ҏ্ͷใڞ༗Ͱ͖͍ͯ·͔͢ʁ όοΫΤϯυ \n^ ϑϩϯτΤϯυ \n^ ѫࡰͯ͠΄͍͠ (&5IFMMP ʁʁ 3&45Ͱɺॲཧํ๏ͱྨ͔͠ఆٛͯ͘͠Εͳ͍ɻ
ཧͷੈք όοΫΤϯυ \n^ \ OBNFTUSJOH EFTDTUSJOH JNBHFTUSJOH VSMTUSJOH ^<> ͰσʔλΛૹΔˠ
ϑϩϯτΤϯυ \n^ \ OBNFTUSJOH EFTDTUSJOH JNBHFTUSJOH VSMTUSJOH ^<> Ͱσʔλ͕ཉ͍͠ ˡ
ͦ͏ͩ5ZQF4DSJQUͩʂ w"1*ͷܕΛڞ༗Ͱ͖Δͷ5ZQF4DSJQU͚ͩʢ wFYQSFTTϑϨʔϜϫʔΫͱͯͪ͠ΐͬͱബ͍ w/FTU+4ϑϨʔϜϫʔΫͱͯ͠ͷػೳ͕े ɾ3&45"1*Λ࠾༻ͯ͠Δ ɾৄࡉυΩϡϝϯτͱͷೋॏཧΛͨ͘͠ͳ͍ ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹʜϓϩδΣΫτͰΦεεϝ 8FC"TTFNCMZͳͲͷಈ࡞ڥΛআ͖·͢
ܕͷڞ༗ʹ͍ͭͯ
͡Ό͋Ͳ͏ͬͯܕΛڞ༗͢Δʁʁ όοΫΤϯυ \n^ ϑϩϯτΤϯυ \n^ Ͳ͏ͬͯܕΛڞ༗ʁ OQNύοέʔδʹ͢Δ ˕ ཧతɻͨͩ͠อक͕खؒɻ /FTU+4ͷϓϩδΣΫτʹ
ஔ͘ ̋ ݱ࣮తɻϑϩϯτΤϯυ͔Β webpackͰόϯυϧ ϓϩδΣΫτ֎ʹ͓͘ ˚ tscίϚϯυͷઃఆΛཁมߋʢະௐࠪʣ
σϞ ʢձͰͷܕΤϥʔͷ࣮ԋʹͳΓ·͢ʣ
XFCQBDLͱUTDίϚϯυҧ͏ XFCQBDL όϯυϥʔɻUZQFTDSJQUύοέʔδΛར༻͢Δ͜ͱͰɺSFRVJSFؔ JNQPSUؔΛఏڙͯ͠ґଘؔղܾࡁΈͷγϯϓϧͳϑΝΠϧΛग़ྗ͢Δ ͜ͱ͕Ͱ͖Δɻ UTDίϚϯυ 5ZQF4DSJQU͔Β+BWB4DSJQUͷίϯύΠϧΛߦ͏ɻґଘؔग़ྗͷղܾͳ ʹͦΕɻίϯύΠϥͰ͢ɻ
CBEQSBDUJDFUPJOTUBMMEFQFOEFODJFTPOBQSPEVDUJPOTFSWFS IUUQTHJUIVCDPNHPMECFSHZPOJOPEFCFTUQSBDUJDFTJTTVFT
*EPOPUSFDPNNFOEVTJOHBOZCVOEMFSGPS/PEF IUUQTHJUIVCDPNOFTUKTOFTUJTTVFTJTTVFDPNNFOU
"1*ͳΒ࣌ؒಈ͔͞ͳ͍͍ͯ͘ͷͰ ʢ4FSWFSͷอकͨ͘͠ͳ͍ʂʣ
ৗʹΞΫηε͕͋ΔͱݶΒͳ͍ load() { if (this.data) { return of(this.data); } else
{ return this.http.get<IDataJson>(‘https://example.com‘) .pipe(map(this.processData, this)); } } ϝϞϦετϨʔδΛ ׆༻ͨ͠Γ FϥʔχϯάΈ͍ͨʹ සൟͳ"1*ߋ৽͕ͳ͍
ͦ͏ͩʂ-BNCEBͩʂʂ ʮίʔυͷอकͰखҰഋ͔ͩΒαʔόͷอकͨ͘͠ͳ͍ʯ
/PEPDTGSPN ʜͭ͘Εͦ͏͡Όͳ͍ʁ
ͭ͘Εͨɻ ࠓ.FFUVQ͋Δ͔ΒͿΓʹόʔδϣϯਵͨ͠
͍ํ $ npm install serverless -g $ git clone
[email protected]
:rdlabo/serverless-nestjs.git
ʲprojectNameʳ Πϯετʔϧ ։ൃ $ npm start -BNCEB)PUTUBSUαϙʔτ 4XBHHFSαϙʔτ $ npx ts-node src/swagger.ts
ϑϩϯτΤϯυͱόοΫΤϯυͰڞ௨ݴޠΛ खʹೖΕΑ͏ɻ ϩδΧϧʹָͰ͖Δ/FTU+4͍͍Ͱ͢Α
*POJDΛ͏ͱ8FCͰϞόΠϧΞϓϦͭ͘Ε·͢ ϒϥβ 18" J04ΞϓϦ
͜͏͍͏ΞϓϦ͕ʹͭ͘ΕΔΑ͏ʹʂ
*POJDͰ࡞ΔϞόΠϧΞϓϦ੍࡞ೖ ୯ߦຊr ϖʔδɹ ԁ IUUQTBN[OUP1"S&M