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
本当に欲しかったのはモノレポツールではなく、tsconfigの設定だった / monorepo-tsconfig
rdlabo
1
92
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
240
プライベートプロダクト戦略 - フロントエンドカンファレンス沖縄 / private_product_frontend
rdlabo
3
4.4k
GitHubをCMSとして使う話/ using_github_as_CMS
rdlabo
0
400
JavaScriptから デバイスの力を100%引き出すための Web APIとCapacitor入門 / power_from_javascript
rdlabo
0
520
Capacitor4_release
rdlabo
0
600
Web技術で稼ぐため選択肢を俯瞰しよう/options_to_earn_web_technology
rdlabo
0
120
Ionicモバイルアプリ制作入門/get_started_with_ionic
rdlabo
0
120
JavaScript から デバイスの力を 100%引き出すための Capacitor と Angular でのはじめかた。
rdlabo
2
1.8k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1369
200k
Statistics for Hackers
jakevdp
798
220k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Speed Design
sergeychernyshev
28
860
How to train your dragon (web standard)
notwaldorf
91
5.9k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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