3. 파이어베이스란 무엇인가
넌 개발에만 집중해 나머진 내가 다 할게 ! - 파이어베이스
구글이 인수한 클라우드 서비스로, 개발자들이 앱을 개발하고 서비스를 제공하는데 꼭 필요한 근간
(백엔드)인 분석도구, 데이터베이스, 광고 등을 API의 형태로 개발자에게 제공하는 백엔드 서비스다.
4.
5. 멀티 플랫폼 지원 - 아이폰, 안드로이드, 웹, 서버 , restful, c++(게임쪽 분야도 노리는듯 하네요.)
6. 왜 파이어베이스를 쓰는가?
• 제한된 개발 기간
• 빠른 사용자 분석 및 피드백 반영가능
• 크로스플랫폼
• 소수의 인력으로 서비스 레벨 의 품질구현
• 확장용이
• 기타 등등
7. 파이어베이스를 사용하기전에
하나의 리뷰 객체를 데이터베이스에 저장할려면…
개발 및 배포 환경셋팅,
클라이언트 코드(HTTP 코드, JSON 파싱 및 만들기)
서버코드(JSON 파싱 및 만들기, DB 저장 및 요청코드]
다수의 서버가 필요.
실패했을때 반환코드와 그에 따른 처리 함수를 다 만들어줘야했음.
+보안, 로드밸런싱, 스케일링, 캐시 , 서버 상태 반환 코드들도 다 짜줘야 했음.
8.
9.
10. 파이어베이스 삽질기
• 1. 보안 설정 문제
• 2. RESTFUL 형태로 데이터를 요청할때
• 3. 파이어베이스는 기본적으로 비동기로 처리된다.
14. • HTTPS://FIREBASE.GOOGLE.COM/DOCS/DATABASE/SECURITY/?HL=KO
- 데이터베이스 보안 규칙 설정
• HTTPS://FIREBASE.GOOGLE.COM/DOCS/STORAGE/SECURITY/?HL=KO
- 클라우드 스토리지 보안 규칙 설정
• HTTPS://DEVELOPERS-KR.GOOGLEBLOG.COM/2017/01/GROUP-SECURITY-IN-FIREBASE-
DATABASE.HTML
- 파이어베이스에 보안 규칙 설정 예시
보안규칙에 관한 자세한 사항은!
15. 2. RESTFUL 방식으로 사용할때
• 기존에 서비스를 파이어베이스로 옮기면서 RESTFUL 통신부분은 기존걸 쓰기로함.
• 파이어베이스 DB는 NOSQL 기반. RESTFUL 하게 데이터를 가져올때 조건에 맞는 데이터를 가져
올때 URL에 쿼리값을 붙여서 보낸다.
EX)
curl 'https://dinosaur-
facts.firebaseio.com/dinosaurs.json?orderBy="dimensions/height
"&startAt=3
- 키가 3을 초과하는 공룡의 리스트를 가져옴.
16. 음 그렇게 하면 되겠군…
Firebase에 요청할 내 GPS를 기반으로 주변에 있는
화장실과 와이파이 지역을 알려주는 url을 만든후
http 요청을 함
17. 하지만 안됨… 왜?
- 그런데 조건을 걸지않고 데이터를 로드하면 됨.
- 특정 조건에 맞게 RESTFUL방식으로 데이터를 검색할려면 키값 색인 설정이 필요함.
19. 파이어베이스 아쉬운점
• 인증 기능을 구현할때 커스텀 하기 어렵다.(EX. 카카오톡, 네이버 로그인)
• 파일 저장기능을 유연하게 쓸라면 GOOGLE CLOUD STORAGE 와 따로 연동이필요한데 과정이 매우 복잡함(아직 지원도
잘 안되는 편).
• 데이터를 가져올때 QUERY 의 배열 길이를 알 수 없기 때문에 PAGINATION 구현이 힘듬(별도의 처리가 필요함)
• DB AUTO INCREMENT 기능이 없어서 별도로 만들어줘야됨.
• 나아지고는 있으나 아직은 불 친절한 문서(생각보다 삽질이 많다)
• 푸쉬기능에 이미지 전송기능은 X
• 아직은 관련 사이트나 참고할 만한 자료가 많지 않음.