일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 반정규화
- Entity
- 블록체인강의
- 티스토리챌린지
- 컴파일시스템
- html기초
- 단국대학교 k-mooc
- 자바입력받기
- 블록체인 강의
- CSS 기초
- national instruments
- 시스템프로그래밍
- 우선순위큐
- 자바스크립트
- attribute
- 블록체인
- K-MOOC
- 자바문자열구분
- select
- 오블완
- 해시
- biginteger사용법
- StringTokenizer
- html 태그
- K-MOOC 단국대학교 홍보단
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- StringBuilder
- Node
- stringreader
- 2차원배열정렬
- Today
- Total
열정 실천
파이어베이스란? (인증, 실시간 데이터베이스, 클라우드 파이어스토어, 저장소, 호스팅) 본문
파이어베이스란?
2011년 파이어베이스사가 개발하고, 2014년에 구글(google)에게 인수된 모바일 및 웹 애플리케이션 개발 플랫폼이다.
'파이어베이스'는 앱을 개발할 때에 필요한 서비스들을 API 형태로 (무료로) 제공해주기 때문에
앱 개발 기간을 단축시켜주고, 개발 난이도를 낯춰줌으로써 개발 방식을 효율적으로 개선해준다.
예전에는 일반적으로 프론트엔드와 백엔드 양쪽 모두에서 쿼리를 작성해야만 했다. 프론트엔드의 코드는 백엔드의 API(응용프로그램 인터페이스)만을 호출할 뿐이며, 실제로 작업을 수행하는 것은 백엔드의 코드이다. 하지만 ‘파이어베이스’를 이용하면 이러한 백엔드 쪽의 작업을 건너뛸 수 있다.
파이어베이스 개발 기능
파이어 베이스의 개발 기능은 크게 5가지 - 인증/ 실시간 데이터베이스/ 클라우드 파이어스토어/ 저장소/ 호스팅 이 있다.
1. 인증
이메일/비밀번호, 타사 제공업체(예: Google 또는 Facebook), 기존 계정 시스템 직접 사용 등의 다양한 인증 방법을 제공한다. 인터페이스를 직접 만들 수도 있고, 맞춤설정 가능한 오픈소스 UI를 활용할 수도 있다.
2. 실시간 데이터베이스
파이어베이스는 Nosql 클라우드 데이터베이스에 json형태로 데이터를 저장하고 클라이언트에 실시간으로 동기화한다. 고성능 비관계형 데이터베이스인 Nosql을 사용하기 때문에 업데이트된 데이터가 연결된 기기 사이에 실시간으로 동기화되며 앱이 오프라인일 때도 계속 데이터를 사용할 수 있어 네트워크 연결 여부와 무관하게 안정적인 데이터 사용이 가능하다.
3. 클라우드 파이어스토어
파이어베이스 및 구글 클라우드 플랫폰의 모바일, 웹, 서버 개발에 사용되는 유연하고 확장 가능한 데이터베이스이다.
4. 저장소(스토리지)
사용자의 이미지, 오디오, 동영상 등의 콘텐츠를 저장하거나 저장된 콘텐츠를 제공하기 위한 이 저장소는 인증과 통합하여 파이어 베이스 저장소 접근 제어로 강력한 보안을 유지하고있고, 사용자가 늘었을 때에는 쉽게 확장이 가능하다(높은 확장성)는 장점이 있다.
5. 호스팅
파이어베이스는 HTML,CSS, 자바스크립트 등과 같은 정적 콘텐츠를 빠르고 안전하게 호스팅 해준다. 또한 SSL을 제공하기 때문에 안전하게 콘텐츠를 전송할 수 있으며 전세께 CDN에 캐싱되어 있기 때문에 사용자가 어디에 있든지 제한없이 콘텐츠 전송이 가능하다.
*호스팅 : 서버 컴퓨터의 전체 또는 일정 공간을 이용할 수 있도록 임대해 주는 서비스를 말한다. 사용자가 직접 서버를 구입하고 운영할 필요 없이 호스팅 업체가 미리 준비해 놓은 서버를 빌려 사용하는 형식
파이어베이스 장단점
장점!
1) 로그인, 아이디/비번 찾기, 이메일 인증 등 인증 시스템을 지원한다.
2) 빠르고 간편한 NoSQL 기반의 데이터베이스를 사용하며 RTSP방식의 데이터베이스도 지원한다.
*RTSP(Real Time Stream Protocol) : 실시간으로 데이터들을 전송해주는 방식
3) 서버 관리자 페이지인 콘솔을 제공한다.
4) 사용자들의 앱 사용 정보를 Analytics를 통해 제공한다.
단점!
1) 서버의 응답속도가 느려지는 문제가 있다.
2) FireStore(신버전 데이터베이스)나 RTD(구버전 데이터베이스)의 쿼리 구성이 빈약하다.