19

파이어베이스 네이버 밋업발표

Embed Size (px)

Citation preview

Page 1: 파이어베이스 네이버 밋업발표
Page 2: 파이어베이스 네이버 밋업발표

목차

• 파이어베이스란 무엇인가?

• 우리가 사용한 파이어베이스

• 파이어베이스 삽질기

• 파이어베이스에 대한 아쉬운점

Page 3: 파이어베이스 네이버 밋업발표

파이어베이스란 무엇인가

넌개발에만집중해나머진내가다할게 ! -파이어베이스

구글이 인수한 클라우드 서비스로, 개발자들이 앱을 개발하고 서비스를 제공하는데 꼭 필요한 근간(백엔드)인 분석도구, 데이터베이스, 광고 등을 API의 형태로 개발자에게 제공하는 백엔드 서비스다.

Page 4: 파이어베이스 네이버 밋업발표
Page 5: 파이어베이스 네이버 밋업발표

멀티 플랫폼 지원 - 아이폰, 안드로이드, 웹, 서버 , restful, c++(게임쪽 분야도 노리는듯 하네요.)

Page 6: 파이어베이스 네이버 밋업발표

왜 파이어베이스를 쓰는가?• 제한된 개발 기간

• 빠른 사용자 분석 및 피드백 반영가능

• 크로스플랫폼

• 소수의 인력으로 서비스 레벨 의 품질구현

• 확장용이

• 기타 등등

Page 7: 파이어베이스 네이버 밋업발표

파이어베이스를 사용하기전에하나의 리뷰 객체를 데이터베이스에 저장할려면…

개발 및 배포 환경셋팅,

클라이언트 코드(HTTP 코드, JSON 파싱 및 만들기)

서버코드(JSON 파싱 및 만들기, DB 저장 및 요청코드]

다수의 서버가 필요.

실패했을때 반환코드와 그에 따른 처리 함수를 다 만들어줘야했음.

+보안, 로드밸런싱, 스케일링, 캐시 , 서버 상태 반환 코드들도 다 짜줘야 했음.

Page 8: 파이어베이스 네이버 밋업발표
Page 9: 파이어베이스 네이버 밋업발표
Page 10: 파이어베이스 네이버 밋업발표

파이어베이스 삽질기

• 1. 보안 설정 문제

• 2. RESTFUL 형태로 데이터를 요청할때

• 3. 파이어베이스는 기본적으로 비동기로 처리된다.

Page 11: 파이어베이스 네이버 밋업발표

1. 보안 설정 문제

Page 12: 파이어베이스 네이버 밋업발표

개인적으로 편하게 디버깅 및 테스트할때!

Page 13: 파이어베이스 네이버 밋업발표

EXAMPLE

Page 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- 파이어베이스에 보안 규칙 설정 예시

보안규칙에 관한 자세한 사항은!

Page 15: 파이어베이스 네이버 밋업발표

2. RESTFUL 방식으로 사용할때• 기존에서비스를파이어베이스로옮기면서 RESTFUL통신부분은기존걸쓰기로함.

• 파이어베이스 DB는 NOSQL기반. RESTFUL하게데이터를가져올때조건에맞는데이터를가져올때 URL에쿼리값을붙여서보낸다.EX)

curl 'https://dinosaur-facts.firebaseio.com/dinosaurs.json?orderBy="dimensions/height"&startAt=3

-키가 3을초과하는공룡의리스트를가져옴.

Page 16: 파이어베이스 네이버 밋업발표

음그렇게하면되겠군…Firebase에요청할내 GPS를기반으로주변에있는화장실과와이파이지역을알려주는 url을만든후http 요청을함

Page 17: 파이어베이스 네이버 밋업발표

하지만안됨…왜?- 그런데조건을걸지않고데이터를로드하면됨.

- 특정조건에맞게 RESTFUL방식으로데이터를검색할려면키값색인설정이필요함.

Page 18: 파이어베이스 네이버 밋업발표

3. 파이어베이스는비동기기반• 파이어베이스를 사용하는데 있어서 가장 많이 실수하는 부분 중 하나

Page 19: 파이어베이스 네이버 밋업발표

파이어베이스 아쉬운점• 인증 기능을 구현할때 커스텀 하기 어렵다.(EX.�카카오톡,�네이버 로그인)

• 파일 저장기능을 유연하게 쓸라면 GOOGLE�CLOUD�STORAGE�와 따로 연동이필요한데 과정이 매우 복잡함(아직 지원도잘 안되는 편).

• 데이터를 가져올때 QUERY�의 배열 길이를 알 수 없기 때문에 PAGINATION�구현이 힘듬(별도의 처리가 필요함)

• DB�AUTO�INCREMENT 기능이 없어서 별도로 만들어줘야됨.

• 나아지고는 있으나 아직은 불 친절한 문서(생각보다 삽질이 많다)

• 푸쉬기능에 이미지 전송기능은 X

• 아직은 관련 사이트나 참고할 만한 자료가 많지 않음.