Firebase

blue·2022년 12월 26일
0

1. Firebase란?

Firebase는 모바일 및 웹 애플리케이션 개발 플랫폼이다.
과거에는 모바일 서버 개발을 위해 개발자가 직접 기능들을 구현해야 했지만, Firebase는 서버 관련 기능들을 툴로 제공하므로 쉽게 개발이 가능하다.

2. 기능

Firebase는 17개 정도의 제품을 제공하는데, 이 중 대표적인 기능을 소개하려고 한다.

2.1. Authentication

Authentication(인증)은 사용자 로그인 및 ID 관리를 쉽게 하도록 도와준다.
회원가입 및 로그인 기능을 구현할 때 사용되는데, authentication이 제공하는 메소들을 사용하기만 하면 구현이 완료된다.
회원가입의 경우, createUserWithEmailAndPassword 메소드를 호출하고, 사용자에게 받은 email과 password 값을 파라미터로 넣어주기만 하면 알아서 사용자가 추가된다.

다음과 같이 사용자가 존재할 때, 해당 메소드로 사용자를 추가하면 직접 확인이 가능하다.

로그인의 경우, signInWithEmailAndPassword 메소드를 호출하여 email과 password 값을 파라미터로 넣어주면 된다.
로그아웃의 경우, signOut 메소드를 호출하면 된다.

2.2. Firestore

Firestore은 실시간으로 동기화되는 NoSQL 형식의 데이터베이스로, 댓글 내용이나 이미지 URL 등을 저장할 때 사용된다.
NoSQL은 기존 데이터베이스의 구조와 조금 다르다. 테이블이 아닌 JSON, 트리 구조 형태로 데이터를 관리한다. Firestore은 가장 상위에 컬렉션, 그 안에 문서, 그 안에 여러 필드(데이터)로 구성되어 있다.
setDoc 메소드를 호출하면 데이터를 Firestore에 저장할 수 있다. 데이터를 저장한 순서를 기록하고 싶다면 timestamp도 함께 저장하면 쉽게 저장 순서대로 출력이 가능하다. 그리고 특정 사진을 출력하고 싶다면 해당 사진의 url도 함께 저장하면 사진 출력이 가능하다.
데이터를 저장하면 Firestore에서 다음과 같이 확인이 가능하다.

데이터를 불러오고 싶다면 getDocs 메소드를 호출하면 된다. 이 때 timestamp를 이용하여 orderBy하면 저장 순서대로 출력이 가능하다.

2.3. Storage

Storage는 이미지, 오디오, 동영상 등의 컨텐츠를 저장하고 제공하는 스토리지이다. Firestore에 이미지 url을, Storage에 이미지를 저장하면 이미지 출력이 가능하다.
ref 메소드를 호출하여 이미지에 대한 참조를 생성할 수 있고, uploadBytes 메소드로 storage에 이미지를 업로드한다.
이후 getDownloadURL 메소드로 해당 이미지의 URL을 받아와 img 태그에 넣으면 이미지 출력이 가능하다.
이미지를 storage에 저장하면 다음과 같이 확인이 가능하다.

참고

https://firebase.google.com/docs/auth
https://firebase.google.com/docs/firestore
https://firebase.google.com/docs/storage
https://blog.naver.com/iciacokr/222288250896

0개의 댓글