Firebase 5

[Firebase]CloudFunctions 콜드 스타드 와 메가 함수

서버리스 환경에서 콜드 스타트는 피할 수 없는 문제 입니다.서버를 관리하지 않아도 된다는 편리함이 있지만 콜드스타트라는 문제를 가지고 있고 1~3초 가량 콜드스타트가 문제가 없다면 상관 없겠지만 대부분의 상황에서는 문제가 있습니다. 콜드스타트서버리스 함수는 사용량이 없으면 인스턴스가 모두 종료되고 다시 요청이 들어오면 새로운 인스턴스를 생성하여 함수 실행 준비를 합니다.이때 소요되는 시간이 보통 1~3초 가량으로 예상하는데 이것이 콜드 스타트 입니다.한번 인스턴스가 생성된 이후 바로 종료시키지 않고 살려두는데 이때 다시 요청이 오면 warm 상태이기 때문에 바로 실행 되서 1~3초의 시간을 절약 할 수 있습니다. 콜드스타트가 길어지는 원인기본 인스턴스를 띄우는 것 말고도 콜드스타트가 길어지는 원인이 있습..

Firebase 2025.05.11

[Firebase]Cloud Functions 의 캐싱 전략

Cloud Functions의 캐싱전략은 크게 2가지로 나뉘게 됩니다.1. 메모리 캐싱2. 외부 자원 사용 모두 다른 서버리스 환경에서도 동일하게 적용할 수 있는 방법 입니다. 1. 메모리 캐싱1번은 static 변수에 저장해서 인스턴스가 살아 있는 동안 static 변수를 유지하는 전략 입니다.메가 함수 전략과도 잘 맞는 방법이지요.사용자가 많고 함수가 꾸준히 호출되는 서비스에도 적합한 방법입니다.사용법은 간단합니다.Cloud Function 함수 외부에 변수를 넣게 되면 static 상태가 되고 이는 warm 상태일 동안 변수가 유지됩니다.let cachedData: any = null;export const getConfig = onRequest(async (req, res) => { if (ca..

Firebase 2025.05.10

[Firebase] Functions v1과 v2

Firebase Cloud Functions 는 버전이 2개 입니다.v1 과 v2가 있는데 v2를 사용해야 하는 몇가지 이유를 찾아 봤습니다. v1 는 functions.https.onCall() 로 직접 호출하는데v2 는 import {onCall, onRequest} from "firebase-functions/v2" 로 임포트 하여 사용합니다.v1은 Node.js 10~16버전이고 v2 는 Node.js 18+ 입니다. v1의 기본코드는 다음과 같습니다.const functions = require("firebase-functions");exports.hello = functions.https.onRequest((req, res) => { res.send("Hello from V1");}); v..

Firebase 2025.05.09

[Firebase]Firebase Cloud Function 로컬 디버깅

Firebase Cloud Function 로컬 디버깅의 주의점Firebase Cloud Functions를 Flutter 앱과 함께 로컬에서 테스트하는 환경은 매우 빠른 개발 피드백 루프를 제공합니다.하지만 몇 가지 환경 설정을 빠뜨리면 함수 호출이 실패하거나, 클라우드와 로컬 간 동작 차이가 발생할 수 있습니다.이 글에서는 Functions만 로컬에서 테스트할 때 필수적으로 확인해야 할 설정과 주의점을 정리합니다.1. Firebase Functions + 에뮬레이터 초기화Cloud Functions만 로컬 테스트할 경우에도 Firebase 프로젝트 초기화 시 함께 Firebase Emulators 설정을 추가해 두는 것이 좋습니다.1단계: Firebase 프로젝트 초기화firebase init fun..

Firebase 2025.05.01

[Unity]Playfab + Firebase 인증

Playfab 과 Firebase를 같이 쓰게 될 경우 유저 인증을 Playfab으로 하게 됩니다.이때 Firebase 를 인증할 방법이 없어지게 됩니다.Playfab 계정과 Firebase 계정이 1:1로 매칭되어야 하는데 만일 각자의 방법으로 로그인을 하게 된다면 매칭이 깨질 우려도 있습니다.최악의 경우에는 다수의 Playfab유저가 하나의 Firebase를 공유 하는 상황도 발생 할 수 있습니다.이럴경우 사용하는 것이 Firebase 의 SignInWithCustomToken 입니다. 일단 서비스의 주체는 Playfab이기 때문에 Playfab으로 인증을 해 줍니다.google 인증이거나 email 등 어떤방식으로든 인증하면 됩니다.이후 PlayfabId를 기준으로 FirebaseAdmin API를..

Unity Engine 2025.03.25