[9기 풀스택] firebase 세팅 및 클라우드함수 호출

파이어베이스는 구글 클라우드 플랫폼(GCP)을 기반으로 한 클라우드 플랫폼입니다. 데이터 저장, 사용자 인증, 알림 발송 같은 기능을 제공하여 개발자가 더 쉽고 빠르게 앱 또는 웹을 만들고 운영할 수 있도록 돕습니다.


3주차 파이어베이스 초기설정 해보기 과제에서, “gpters“ 라는 프로젝트를 미리 생성해 두었습니다.

이때 샘플데이터로 사용자 디비를 생성했었는데요, 예시입니다.

user에 여러개의 문서가 들어가게되고

하나의 문서에는 email, name, phone 3가지 필드가 들어가있습니다.


Could Function

이제 4주차 과정, 클라우드 함수 생성 입니다.

클라우드 함수란, 서버리스 아키텍처를 사용하여 개발자가 이벤트에 응답하여 개별 함수를 실행할 수 있게하는 서비스 라고 합니다. 즉 데이터베이스에 어떤 변동사항이 생겼을때, 이를 트리거로 서버 걱정없이 코드를 실행할수있는 서비스 입니다.

예) 새로운 user 데이터가 생성되었을때, 해당 userd의 이메일로 환영메일 발송하기

예) 메세지에 비속어가 있을시, 자동으로 필터링 처리하기

이번주 과제에서는, 새로운 유저정보가 데이터베이스에 생성되면, 등록된 시간을 저장하는 클라우드 함수를 만듭니다.


먼저 로컬에서 firebase를 설치하고, 미리 생성해둔 gpters 프로젝트와 연결을 합니다.

세팅을 마쳤으니, 파트너님께서 하신대로 ChatGPT에게 함수를 만들어달라고 요청해보았습니다.

그랬더니, 친절하게도 1단계 firebase 설치부터 상세히 알려주네요. 저는 이미 이단계는 끝냈으니 2단계를 보고 바로 복붙하였습니다.

복붙해서 디플로이를 하려는 두근거리는 순간, esLint에서 에러가나서 몇가지 설정을 고쳐주었습니다. 그래도 에러가 나서 확인했더니 제가 미리생성해둔 gpters가 아닌 다른 프로젝트에 연결이 되어있더군요


파란색으로 현재 프로젝트가 표시되어있습니다.


바로 ChatGPT에게 커맨드를 물어보고 프로젝트를 변경하였습니다.


배포하는데에 시간이조금 걸립니다. 배포 후 이제, 확인해보겠습니다.


프로젝트의 Functions 섹션에 들어가보면, addCreatedAtTimestamp라는 함수가 등록되어있습니다.


그렇다면 이제 원하는 대로 작동하는지 테스트하기위해 user 데이터를 새로 하나 생성합니다.

이렇게 3개의 필드를 가진 유저를 추가했습니다.

그랬더니 1-2초만에 createdAt이라는 필드가 추가되었습니다! 함수 작동 성공.




그리고 지금 작성한 이 글을, ChatGPT를 통해 영어로 바꾼뒤 미디엄에도 업로드해보았습니다.

https://huhsame.com/exploring-initial-setup-with-firebase-cloud-function-4d734c174c27

😃




비속어 필터링

토요일 발표소식을 듣고 사례 하나 더 추가합니다.

email, name, phone 만 있던 user에 자기소개하는 description 필드를 추가하였습니다.

자기소개에 비속어가 적히는 경우, 변경해서 저장하도록 하는 클라우드 함수를 작성해보겠습니다.



특별할 것 없이 바로 ChatGPT에게 만들으라고 지시합니다.

알려준 코드를 보니 created time 추가하는 함수와 달라진 점이 있어 의문을 갖고 읽어내려가던차에, 궁금한 부분을 딱 해결해주는 설명해줘서 아주 만족스럽습니다.


이제 코드를 디플로이 해주면, 함수가 추가된걸 확인할 수 있습니다.

네 이제 테스트를 해보겠습니다.

마음이 아프지만 제 자기소개에 꺼지라고 적어보았습니다.


자동으로 미리 지정해둔 대체어로 수정되어 저장되었습니다.


😎

6
7개의 답글

👉 이 게시글도 읽어보세요!

📚 AI 활용 사례 더 보기