Firebase(11)
-
[Firebase 웹] 파이어베이스 스토리지 이미지 업로드 및 링크 가져오기
이번 포스트에서는 파이어베이스 스토리지에 이미지를 업로드하고 해당 링크를 받아오는 방법까지 함께 진행을 해보겠습니다. 파이어베이스 스토리지 (Firebase Storage) 란? 파이어베이스 스토리지는 클라우드에 호스팅 되는 확장 가능한 파일 저장소로 이미지, 텍스트, 오디오, 동영상 파일 등을 저장할 수 있습니다. 파이어베이스 스토리지에 저장되는 파일들도 결국에는 구글 스토리지 API 를 통해 접근할 수 있기 때문에 AWS의 S3 저장소의 구글 버전 정도로 볼 수 있습니다. 보통 이런 파일 저장소에 파일을 저장해 두고 해당 파일을 조회 또는 다운로드할 수 있는 주소를 받아서 데이터베이스, 즉 파이어스토어에 저장해두는 방식을 많이 사용하고 있습니다. 1. 초기 세팅하기 그럼 본격적으로 이미지를 업로드하기..
2022.07.09 -
[Firebase 웹] 파이어스토어 검색 기능 구현하기(feat. 쿼리문 & Algolia)
이번 포스트에서는 파이어베이스에서 검색을 구현하는 방법에 대해 알아보도록 하겠습니다. 일단 가장 중요한 부분을 짚고 넘어가자면, 현재 파이어스토어에서는 문서의 전체 텍스트 검색을 자체적으로 지원하지는 않고 있습니다. 이를 관련해서도 각종 포럼이나 스택오버플로우에서 MongoDB나 다른 noSQL 데이터베이스처럼 왜 제대로 된 검색을 지원하지 않냐는 반발이 많긴 하지만 파이어베이스가 나온 지 10년이 되어가는 시점에도 아직 관련 정보가 없는 것으로 보아 검색은 우선순위는 아닌 것으로 판단됩니다. 그렇기 때문에 파이어베이스를 사용하는 개발자들이 검색을 구현하기 위해선 쿼리문을 변형해서 사용하거나 공식문서에 나와있듯이 타사 솔루션인 Algolia나 Elastic 같은 검색엔진 API를 사용해야 합니다. 1. ..
2022.06.19 -
[Firebase] 파이어스토어 페이지네이션 + 무한 스크롤 구현하기 (feat. React)
애플리케이션을 만들 때 매번 전체 문서를 반환하도록 로직을 짜게 되면 규모가 커질수록 수백 또는 수천 개의 고비용 쿼리가 발생하기 때문에 정해진 수의 결과만 반환하도록 별도의 처리를 해주는 것이 좋습니다. 이번 포스트에서는 다름 아닌 파이어 스토어에서 문서 데이터를 부분적으로 불러오도록 페이지 네이션 처리를 해보도록 하겠습니다. 아직 파이어 스토어에서 데이터를 불러오고 쓰는 작업이 익숙하지 않으신 분들은 공식문서를 참고하거나 아래 포스트를 참고해주시길 바랍니다. [Firebase 웹] 파이어스토어에서 데이터 불러오고 쓰기 feat. React 이번 포스트에서는 파이어 베이스의 파이어 스토어(firestore) 사용법에 대해 알아보도록 하자. 파이어 베이스에 대한 포스트를 아직 읽지 않았다면 한번 보고..
2022.06.07 -
[Firebase 웹] 파이어스토어에서 데이터 일괄 쓰기 및 삭제
우선 파이어 스토어의 기본 사용법을 아직 잘 모르겠다면 이전에 올린 포스트를 보고 오시거나 파이어 스토어 공식문서를 한번 먼저 읽어 보시는 것을 추천드립니다. [Firebase 웹] 파이어스토어에서 데이터 불러오고 쓰기 feat. React 이번 포스트에서는 파이어 베이스의 파이어 스토어(firestore) 사용법에 대해 알아보도록 하자. 파이어 베이스에 대한 포스트를 아직 읽지 않았다면 한번 보고 오길 바란다. 2022.02.21 - [Firebase] mingeesuh.tistory.com 보통 파이어 스토어에서 많은 양의 데이터를 추가하거나 삭제할 때 Promise.all을 사용해서 처리를 하는 경우가 많습니다. 이 경우 일괄적으로 처리한다고 생각하실 수 있지만 결국에는 파이어 스토어에 하나하나..
2022.05.26 -
[Firebase 웹] Cloud Function으로 RESTful API 만들기 (feat. Express)
이번 포스트에서는 Cloud Function과 Express 프레임워크로 RESTful API를 함께 설계해보도록 합시다. 이미 자사에서 사용하려고 만든 api가 있긴 하지만 해당 예제를 보면 더 헷갈릴 수도 있기 때문에 훨씬 간단한 예제 프로젝트를 만들어 진행하겠습니다. 어떤 API를 만들 것인가? 예제는 사용자가 감상했던 영화를 추가, 삭제, 업데이트 등 (CRUD) 작업을 할 수 있도록 API를 만들 예정이고 해당 목록은 파이어 스토어에 저장을 할 예정입니다. 파이어 스토어에서 문서를 업데이트하기 위해서 굳이 Cloud Function이 필요하진 않지만 추후에 백엔드에서 처리해야 할 로직이 추가된다거나 외부에서 API를 통해 변경해야 하는 경우도 생길 수 있기 때문에 해당 방식으로 설계하는 방법에 ..
2022.03.27 -
[Firebase 웹] 지정된 시간마다 Cloud Function 직접 호출
이번 포스트에서는 트리거로 클라우드 함수를 호출시키는 방식이 아닌 직접 호출하는 방법에 대해 알아보자. 파이어 베이스 앱에서 직접 함수를 호출하는 방법은 아래와 같다. 앱에서 직접 함수 호출 (onCall) HTTP 요청을 통한 함수 호출 (onRequest) 일정에 따라 함수 호출 (schedule) 첫 번째와 두 번째 방법은 추후 포스트에서 알아보고 오늘은 일정에 따라 함수를 호출해보도록 하자. 함수 예약 많은 웹/앱들을 보면 정기적으로 특정한 작업이 이루어지는 걸 본 적이 있을 것이다. 예를 들어 매주마다 리더보드가 갱신된다던지, 매일 특정한 시간에 알림을 받아봤을 것이다. 필자는 아래와 같은 상황 때 해당 방식을 유용하게 사용했다. - 회원 탈퇴 시 회원정보를 바로 삭제하지 않고 7일 뒤에 삭제 ..
2022.03.06