Polyglot's language & programming story.

Firebase 1) Firebase란? 본문

Programming/AndroidProgramming

Firebase 1) Firebase란?

Polyglot 2018. 7. 6. 17:10

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

이 글은 Udacity의 강의를 바탕으로 정리하여 만들었습니다.

하나의 어떠한 어플리케이션을 만들기 위해서는...

  • 모든 상용화된 앱은 네트워크를 통해 데이터를 주고 받지만, 이 과정이 항상 쉽지가 않습니다.
  • 데이터가 어디에 저장되어야 될지도 고려해봐야되고, 데이터베이스는 서버랑도 연결이 되어있어야되고..
  • 또한 파일 저장 공간도 서버랑 연결을 시키고 .. 이 모든 데이터베이스 서버를 서로 합치는 과정이 절대로 필요합니다.


위의 데이터 서버끼리도 묶여야된다.

  • 또한 유저 가입, 광고 보여주기, 알람발생등 이런 것들을 서버로 구현해야되고 이런 것을 고려하면서 클라이언트를 구현하기도 무척이나 어렵습니다.

하지만, 파이어베이스를 사용하게 되면 이런 기반 인프라를 생각하지 않고 구현을 할 수가 있습니다.

파이어 베이스의 기능들..

파이어베이스에선 많은 기능을 제공해주고 있습니다. 그럼 그런 기능들이 어느 것들이 있는지 한번 살펴보도록 하겠습니다.

개발

  1. 분석
  2. 클라우드 메시지 : 메시지를 송수신 가능
  3. 인증 : 아이디와 비밀번호,또 인증을 통해서 인증받은 유저를 선택 가능
  4. 실시간 데이터 베이스 : 실시간으로 유저들에게 데이터 송수신 가능
  5. 스토리지(저장소) : 비디오, 사진 등 파일을 저장하고 공급가능
  6. 호스팅 : 일벤 웹 호스팅 업체가 지원하는 것 처럼 호스팅 기능도 제공
  7. 안드로이드 실험 : 클라우드 서버에 호스팅 된 안드로이드 기기를 테스트 할 수 있도록 지원함
  8. 크래슁 레포팅 : 버그나 에러를 검출이 가능

성장

  1. 알림 : 실시간 알림 제공 가능
  2. 원격 설정 : 앱 엡데이트를 하지 않고 앱의 모양을 바꿀 수 있음
  3. 앱 인덱싱 : 앱을 검색할 때 개발자가 제작한 앱이 검출되게 도와줌, 잠재적인 고객들을 우리의 앱에 끌어드리는 효과를 줄 수가 있음
  4. 동적 링크 : 유저들의 흥미에 맞춰 끌어드릴 수가 있음
  5. 초대 : 다른 사람에게 이 앱을 공유할 수도 있음.
  6. 에드워드 : 잠재적 고객에게 온라인 광고를 맞춰서 줄 수 있도록 도와줌

돈 벌기

  1. 애드몹 : 파이어베이스의 지원으로 쉽고 강력하게 광고를 통해 수익 창출이 되도록 도와줌..

파이어베이스 데이터베이스 데이터 구조

파이어베이스 데이터베이스는 데이터를 동기화를 시켜서 실시간으로 데이터가 변하게 되면 각각의 앱들이 밀리초 단위 안에 데이터가 변화하는 것을 알 수가 있습니다.

데이터 통신

데이터 수신

파이어 베이스는 데이터를 저장하기 위해서 JSON 객체를 사용하여 저장하게 됩니다.

노드 구조

위의 그림은 파이어베이스 노드 구조입니다. 노드는 "키"와 "값"을 가지게 되는데. 키의 데이터형은 String 이어야되며 값의 데이터형은 String, Integer, 객체, 노드등등 어떤 것이 와도 상관이 없습니다.

위의 사진은 "messages" 노드의 child 들을 보여줍니다. 파이어베이스 데이터베이스는 데이터 구조가 부모, 자식으로 연관이 되어있는데 messages는 message1과 message2의 부모이고 message1과 message2는 messages의 자식 입니다.

message1과 message2 처럼 순차적으로 id값을 부여하게 된다면 2개 이상의 앱에서 동시에 message를 주게된다면 충돌이 발생하게 될 것입니다. 이를 방지하기 위해 다음과 같이 pushId 값을 주게됩니다.


pushId 값은 파이어베이스 데이터베이스에서 유일 무이한 id 값입니다..


그렇다면 노드에 접근하는 방법은 어떻게 될까요? 노드에 접근하려면 URL 방법처럼 / 를 사용해서 접근하게 됩니다.

/messages/-KR9sEMNfSI9quueJDet 를 사용해서 접근하게된다면 name은 Person 이고 text 는 hello를 갖는 JSON 객체를 얻을 수가 있게 됩니다.

이번 포스팅은 파이어베이스에 관해 간단하게 설명하고 데이터베이스 구조를 알아보았습니다. 다음 포스팅에선 Udacity가 배포하는 예제를 통해 데이터를 저장 읽기를 해보도록 하겠습니다.

Comments