ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toBackend
์๋ฌธ ์ฝ๊ธฐ
Serverless Backend ๊ธฐ๋ฐ์ ๋ณด์ ๊ฐํ ๋ฐ ๋น์ฆ๋์ค ๋ก์ง ๋ถ๋ฆฌ ์ค๊ณ
Flutter + Firebase Cloud Functions: Complete Guide with Real Examples ๐
AI ์์ฝ
Context
Frontend ์ค์ฌ์ ๋ก์ง ์ฒ๋ฆฌ๋ก ์ธํ ๋ณด์ ์ทจ์ฝ์ ๊ณผ API Key ๋ ธ์ถ ์ํ ์กด์ฌ. ์๋ฒ ๊ด๋ฆฌ ๋น์ฉ ๋ฐ ์ธํ๋ผ ์ด์ ๊ณต์๋ฅผ ์ต์ํํ๋ฉด์ ํ์ฅ ๊ฐ๋ฅํ ๋ฐฑ์๋ ๊ตฌ์กฐ ํ์.
Technical Solution
- Client-side ์ ๋ขฐ ๋ฐฐ์ ๋ฅผ ํตํ Backend Logic ๊ฒฉ๋ฆฌ ๊ตฌ์กฐ ์ค๊ณ
- Firestore Event-driven Trigger๋ฅผ ํ์ฉํ ๋ฐ์ดํฐ ๋๊ธฐํ ๋ฐ ์๋ํ ์ฒ๋ฆฌ
- HTTPS Callable Functions ๋์ ์ ํตํ API Key ์๋ ๋ฐ ์ธ๋ถ API ์ฐ๋ ๋ณด์ ๊ฐํ
- Role-based Access Control ์ ์ฉ์ผ๋ก ์ฌ์ฉ์ ๊ถํ ๊ฒ์ฆ ๋ก์ง์ ์๋ฒ์ธก ์ค์ ์ง์คํ
- Firestore FieldValue.increment ํ์ฉ์ ํตํ ์์์ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ๋ก ๋์์ฑ ์ ์ด
์ค์ฒ ํฌ์ธํธ
1. Payment ๊ฒ์ฆ ๋ฐ ๋ฏผ๊ฐ ์ ๋ณด ์ฒ๋ฆฌ ๋ก์ง์ด Frontend์ ์์นํ๋์ง ํ์ธ
2. ์ธ๋ถ API Key๊ฐ Client ์ฝ๋์ ํ๋์ฝ๋ฉ ๋์๋์ง ์ ๊ฒ ๋ฐ Environment Config ์ด์
3. Firestore ์ฐ๊ธฐ ์์ ์ด ๋ค์ Function์ ํธ๋ฆฌ๊ฑฐํ์ฌ ๋ฐ์ํ๋ Infinite Loop ๊ฐ๋ฅ์ฑ ๊ฒํ
4. Cloud Functions ๋ด context.auth ์ฒดํฌ๋ฅผ ํตํ ์ฌ์ฉ์ ์ธ์ฆ ์ฌ๋ถ ํ์ธ ์ ์ฐจ ์ถ๊ฐ