์ํฉ๋ก์ปฌ์์ Firebase emulator๋ก API๋ฅผ ํ
์คํธ์์๋ ์ ์ ์๋ํ๋ API๊ฐ, ๋ฐฐํฌํ๊ณ ๋๋ ์๋ฌ๊ฐ ๋๋ ๋ฌธ์ ๊ฐ ์์๋ค.๋ค๋ฅธ API๋ ๋ชจ๋ ์ ์์๋ํ๋๋ฐ, monthly history ์ ๋ณด๋ฅผ ๋ฐ์์ค๋ ์ด API๋ง ์ด์ํ๊ฒ ์๋ฌ๊ฐ ๋ฌ๋ค. ๋ก์ปฌ์์ Firebase ์๋ฎฌ๋ ์ดํฐ๋ก ํ
์คํธํ์๋๋ ๋ฌธ์ ์์ด ์ ์์ ์ธ ์๋ต์ ์ค๋ค. ์๋ ์ค ๋ฐฐํฌํ๊ฒฝ API ํธ์ถ์. 500 ์๋ฌ์๋ต์ ์ค๋ค. ์ฝ๋//server/src/controllers/historiesController.tsimport { Request, Response } from "express";import { getHisotryListFromDB } from "../models/historyModel";export async func..
Firebase
์ํฉfirebase firestore db์ ๋ฐ์ดํฐ๊ฐ ์
๋ฐ์ดํธ๋๋ฉด, onDocumentWrite๋ผ๋ ํธ๋ฆฌ๊ฑฐ๋ฅผ ๊ฑธ์ด๋์ด db์ ์๋ก์ด ์ปฌ๋ ์
์ ์๋์ผ๋ก ์ ์ฅํ๊ฒ ํ๋ ์ฝ๋๋ฅผ ์ง๊ณ ์๋ค.๊ทธ๋ฐ๋ฐ, ํ
์คํธ๋ฅผ ์ด๋ป๊ฒ ํด์ผํ๋๊ฑฐ์ง?๋ก์ปฌํ๊ฒฝ์์ ๊ฐ๋ฐํ๊ณ ์๋ ์ฝ๋๊ฐ ์ ์๋๋๋์ง ํ์ธํ๊ณ ์ถ์๋๋ง๋ค ๋งค๋ฒ firebase์ ๋ฐฐํฌํด์ ์ผ์ผ์ด ํ์ธํด์ผํ๋๊ฑธ๊น? ๋ง๋ ์๋จ!!! ์ด๋ด๋ ์ค์ ์ด์๋๊ณ ์๋ db์๋ ๊ด๋ จ์์ด, ์์ฑํ ์ฝ๋๊ฐ ์ ๋๋ก ์๋ํ๋์ง ๋ก์ปฌ์์ ํ
์คํธํด๋ณผ ์ ์๋ `Firebase Emulator Suite`๋ผ๋ ์๋ฎฌ๋ ์ดํฐ๋ผ๋ ๋๊ตฌ๊ฐ ์๋ค. ๋ชฉํ๋ก์ปฌํ๊ฒฝ์์ ์์ฑํ ํธ๋ฆฌ๊ฑฐ ์ฝ๋๊ฐ Firestore์ ์ ์ ์ฅ๋๋์ง ์๋ฎฌ๋ ์ดํฐ๋ก ํ
์คํธํด๋ณด๋ฉฐ ํ์ธํ๋ค. Firebase Emulator Suite ์ผ๋ก ๋ก์ปฌ์..
๋ชฉํFirebase ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ค๊ณ express๋ก ๊ตฌ์ถํ node ์๋ฒ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๋ค. Cloud Firestore๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ Firebase์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋๋ ค๋ฉด Cloud Firestore๋ผ๋ ์ ํ์ ์ฌ์ฉํ๋ฉด ๋๋ค.Realtime Database๊ฐ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ์์ ๋ญ ์ ํํด์ผํ์ง? ํ๋๋ฐ ๊ณต์๋ฌธ์(Cloud Firestore ๋๋ ์ค์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค)์ ์ ์ ๋ฆฌ๋์ด์๋ค. ์ฌ์ฉํ๊ธฐ ์ฝ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ ๋ฆฌํ ์ ์์ด ๊ณต์๋ฌธ์์์๋ Cloud Firestore๋ฅผ ๊ถ์ฅํ๊ณ ์๋ค. Firebase ์ฝ์์์ ๋ด ํ๋ก์ ํธ๋ฅผ ๋๋ฅด๊ณ Cloud Firestore๋ฅผ ์ ํํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ถ๊ฐ ๋ฒํผ์ ๋๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค id์ ์์น๋ฅผ ์ง์ ํด์ค๋ค. ๋ณด์๊ท์น ํญ์์๋ ํ
์คํธ..
๋ชฉํ Firebase๋ฅผ ์ฌ์ฉํด์ Node.js ํ๊ฒฝ์์ ๋ง๋ API๋ฅผ ๋ฐฐํฌํ๋ค. ์ค์ Firebase Functions๋ก API ๋ฐฐํฌํ๊ธฐ API ๋ฐฐํฌ๋ฅผ ์ํด์๋ Firebase ์ ํ ์ค Functions๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. Firebase ํ๋ก์ ํธ ๋์ฌ๋ณด๋์์ Functions ์ ํ ํ๋ก์ ํธ ๋ด๋ถ์์ `firebase init functions` ๋ช
๋ น์ด๋ก Clound Functions ํ๋ก์ ํธ ๋ผ๋๋ฅผ ๋ง๋๋ ์์
์ ํ๋ค.๊ธฐ์กด ํ๋ก์ ํธ๋ฅผ ์ฐ๊ฒฐํ๋๊ฑฐ๋ผ์ existing project ์ ํ ์ด๋ ๊ฒ ํ๋ฉด ๋๋ ํฐ๋ฆฌ ๋ด๋ถ์ Functions ํด๋๊ฐ ์์ฑ๋๋ค. npm install๋ก `firebase-functions` ํจํค์ง๋ฅผ ์ค์นํด์ค๋ค. ๊ทธ๋ผ package.json์ dependencies์ ์ถ๊ฐ๋๋ค. ..
1. ํ๋ก์ ํธ ์์ฑ๋จผ์ ๊ตฌ๊ธ ๊ณ์ ์ผ๋ก Firebase Console์ ๊ฐ์
ํ๊ณ , ํ๋ก์ ํธ๋ฅผ ๋ง๋ ๋ค. ๋ฐฐํฌ ๊ธฐ๋ก์ด๋ Firebase๊ฐ ์ ๊ณตํ๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฝ์์์ ๋์ฌ๋ณด๋์ฒ๋ผ ๋ณด๋ฉด์ ๊ด๋ฆฌํ ์ ์๋ค. ๋ด ํ๋ก์ ํธ๊ฐ ์ค๋ฅธ์ชฝ์ ์์ฑ๋ ๋ชจ์ต 2. Firebase CLI ์ค์น npm์ผ๋ก Firebase CLI ์ค์น npm install -g firebase-tools 3. ํ๋ก์ ํธ ์ด๊ธฐํ ๋ฐฐํฌํ๋ ค๋ ํ๋ก ํธ์๋ ํ๋ก์ ํธ์ ๋ฃจํธ์์ ํ๋ก์ ํธ๋ฅผ ์ด๊ธฐํํ๊ธฐ firebase init hosting ์ด๊ธฐํ ๋ช
๋ น์ ์คํํ๋ฉด, interactive ์ง๋ฌธ์ด ์ญ ๋์จ๋ค. Project setup? Please select an option:๊ธฐ์กด ๋ก์ปฌ ํ๋ก์ ํธ์๋ค Firebase ํ๋ก์ ํธ๋ก ์ฐ๊ฒฐํ๋ ๊ฒ์ด๋, Use an exist..