다른 서비스
NEW
기획
디자인
개발
프로덕트
아웃소싱
프리랜싱
비즈니스
최근 검색어
전체 삭제
최근 검색어가 없습니다.

개발

파이어베이스(Firebase)란 무엇인가? 파이어베이스 심층 탐구 : 하편

구글의 모바일 플랫폼인 파이어베이스(Firebase)에서 디지털 매체 미디엄(Medium)을 통해 발표한 글입니다. 작성자는 더그 스티븐슨으로 파이어베이스의 엔지니어입니다. 본문은 구글의 파이어베이스(Firebase)의 다양한 기능에 대해 설명하고 있습니다. 파이어베이스 심층 탐구 하편에서는 중편에 이어, 파이어베이스로 앱을 키워가고, 개선하는 방법에 대해 소개합니다.

 

앱 키워가기: 사용자들을 매혹시키고 유지하는 것

 

“키워가기” 그룹에 해당하는 제품들은 다음과 같습니다.

 

  1. 분석(Analytics): 사용자들이 누구이며, 그들이 앱을 이용하는 방식을 이해
  2. 예측(Predictions): 머신러닝을 적용하고 분석하여, 사용자들의 행동을 예측
  3. 클라우드 메시징(Cloud Messaging): 사용자들에게 메시지와 알림 사항을 전송
  4. 인앱 메시징(In-App Messaging): 활성 사용자들에게 타깃 메시지를 연결
  5. 원격 구성(Remote Config): 새로운 버전을 배포하지 않고도 앱의 설정을 바꾸고, 변경사항을 모니터링
  6. A/B 테스팅(A/B Testing): 마케팅 방식과 사용 적합성 테스트를 수행해서 가장 좋은 결과가 무엇인지를 확인
  7. 동적 링크(Dynamic Link): 네이티브 앱(native app, 플랫폼의 OS에 맞는 언어로 제작된 앱) 컨버전(conversion, 다른 플랫폼에서 사용할 수 있게 변환), 사용자 공유, 마케팅 캠페인 지원
  8. 앱 인덱싱(App Indexing): 구글 검색과 연동하여 사용자들을 유지하는데 도움

 

 

파이어베이스를 위한 구글 분석은 “키워가기” 그룹 중에서도 핵심이라고 할 수 있습니다. 사용자들에 대해서, 그리고 그들이 앱을 어떻게 이용하는지를 더욱 잘 알고 싶다면, 분석 도구가 그걸 여러분께 보여줄 것입니다. 여러분이 앱을 처음 출시한다면, 사용자 기반은 누가 될 것인지, 그들은 주로 어디에 살고 있을지, 그리고 그 앱을 어떻게 사용할지에 대해서 여러분은 막연한 생각을 갖고 있을 것입니다. 하지만 그런 생각들은 완전히 잘못된 것일 수도 있습니다! 그것이 맞는지를 확인하는 유일한 방법은 데이터를 수집하는 것이며, 바로 이 부분에서 분석 도구들이 도움을 주는 것입니다.

실제로 출시해 보면 성인 10명 중 9명은 콜 오브 듀티(CoD)보다는 포켓몬(Pokemon)을 더 좋아할 수도 있습니다. 실제로 확인하기 전까지는 그 누구도 알 수 없습니다.

 

여기에서는 짧게 설명하고 있지만, 구글 분석이 파이어베이스에 도움을 주는 용도는 훨씬 더 많습니다. 그럼에도 가장 중요한 것은 “오디언스(audience, 대상 사용자 집단)”라는 개념입니다. 오디언스는 여러분이 만든 앱을 주로 사용하는 사람들이거나, 어떤 공통된 특징을 공유하고 있는 사람들이거나, 특정한 기기를 사용하는 사람들입니다. 여러분이 생각하는 오디언스의 특징들을 지정하면, 분석 도구가 여러분의 앱이 계속해서 생성하는 이벤트의 흐름을 분석함으로써 거기에 속하는 사용자들이 누구인지를 밝혀낼 것입니다. 이렇게 오디언스를 세분화한다는 개념은 아주 유용한 것입니다. 왜냐하면 “키워가기” 카테고리에 있는 파이어베이스의 다른 제품들을 통해서 그러한 오디언스를 타깃으로 설정할 수 있기 때문입니다. 이 글을 읽으면서 오디언스라는 개념을 머릿속에 잘 새겨 두시기 바랍니다.

 

그레타의 게임에서는 오디언스를 “레벨 10까지 마치고 인앱(in-app) 구매를 해본 사용자들”(핵심 사용자)라고 정의했습니다. 숀의 소셜 네트워크에서는 오디언스를 “나이는 18-24세 사이이며, 이 소셜 네트워크에서 최소한 50명의 친구들을 가진 사람들”(젊은 소셜 네트워크 사용자들)로 정의했습니다. 이러한 오디언스에 대한 개념이 일단 파이어베이스의 콘솔에서 정의되고, 그에 맞춰서 정확한 이벤트를 보낼 수 있게 앱이 업데이트 되고 나면, 이러한 오디언스에 해당하는 이용자들이 수집됩니다. 그러면 그레타와 숀은 해당하는 오디언스 사용자들의 정보를 바탕으로 그들이 관심을 가질 만한 내용을 제안할 수 있게 됩니다.

 

파이어베이스 예측(Firebase Predictions)은 분석 도구가 수집한 데이터들을 기반으로 앱을 사용하는 사람들 중에서 누가 이탈할 가능성이 있는지(앱을 실행하지 않음), 그리고 누가 비용을 지출하는지(앱에서 돈을 씀)에 대한 예측을 수행합니다(이쯤 되면 별로 놀랍지 않습니다). 이탈하는 사용자와 돈을 쓰는 사용자라는 새로운 분류는 분석 도구에서 살펴본 오디언스와 비슷하지만, 다만 여러분이 따로 뭔가를 지정하지 않아도 사용자들이 두 군데에서 어디에 속하게 될지를 파악할 수 있습니다. 이것이 바로 머신러닝의 마법입니다! 이건 마치 <해리포터> 시리즈에 나오는 분류 모자(Sorting Hat)라고도 할 수 있는데, 다만 그 누구도 후플푸프(Hufflepuff)로 분류되고 싶은 사람들은 없겠지만 말입니다

 

해리 포터(Harry Porter)가 “이탈”하는 걸 보려고 굳이 돈을 내고 영화를 보는 사람은 없겠죠.

 

분석과 예측 도구는 모두 흥미롭기는 하지만, 여러분의 앱에서 실제로 무언가를 해주는 것은 아닙니다. 하지만 파이어베이스의 “키워주기” 그룹에 속하는 다른 제품들과 함께 활용한다면, 진정으로 마법 같은 결과를 만들어낼 수 있습니다! 어떻게 그럴 수 있는지 함께 살펴보겠습니다.

 

파이어베이스의 클라우드 메시징(Cloud Messaging)을 이용하면, 여러분의 앱을 사용하는 사람들이나 앱에서 무언가 흥미로운 일이 생겼을 때 푸시(push) 메시지를 전달할 수 있습니다. 메시지를 전송하는 방법은 두 가지가 있습니다. 첫째, 백엔드에 코드를 작성해 놓고 여러분의 앱이 응답하기를 원하는 업데이트 사항(예: 대화방 알림 등)이 있을 경우에 앱으로 메시지를 날리는 것입니다. 둘째, 파이어베이스의 콘솔에 메시지를 작성해서 사용자들이 관심 있는 정보를 그들에게 날려주는 것입니다. 제가 요즘에 관심 있는 것은 바로 두 번째로, 사용자에게 직접 메시지를 보내는 것입니다.

 

메시징 도구를 활용할 수 있다면, 이러한 앱들이 분석 및 예측 도구와 연동되어 있기 때문에, 분석 도구로 파악한 특정한 오디언스나 예측 도구로 파악한 특정한 사용자 그룹에게 메시지를 보낼 수 있습니다. 그렇게 된다면 좀 더 관심을 보이고 클릭할 확률이 높은 사용자들을 여러분의 앱 안에 머물게 하면서 그들을 위해서 작성한 메시지를 보낼 수 있기 때문에 아주 유용하다고 할 수 있습니다. 적절한 콘텐츠로 특정한 그룹을 목표로 하는 것이 무작정 모든 사람들에게 메시지를 터트리는 것보다 더 낫습니다. 왜 그런지는 상당히 명확합니다. 만약 어떤 사람이 자기와는 별로 관련도 없는 푸시 메시지를 지나치게 많이 받는다면, 아마 그 사람의 표정은 아래 사진과 같을 것입니다.

 

이런 스팸 앱은 만들지 마세요. 금방 삭제될 겁니다.
사용자들에게는 그들과 관련이 있고, 받아보고 싶어하는 메시지만 보내세요. 그것도 적당한 주기를 유지하는 것이 좋습니다.

 

그레타는 아마도 핵심 사용자들에게 새로운 게임 아이템을 할인하고 있다는 소식을 알림 메시지로 알려줄 수 있을 것입니다. 그리고 숀은 아마도 소셜 네트워크 사용자들에게 알림 메시지를 보내서, 요즘 젊은 사람들이 많이 다니는 나이트클럽에 대해서 평가하고 서로 이야기도 나누게 만들 수 있을 것입니다. 두 경우 모두, 사람들은 좀 더 관심이 가는 메시지를 받아서 그에 대한 호응도 더욱 좋을 것이며, 스팸을 받아보는 사람들은 줄어들 것입니다. 이런 일은 모두 구글 분석의 도움을 받아서 가능한 것입니다.

 

파이어베이스 인앱 메시징(In-App Messaging)은 사용자들에게 맞춤화 된 타깃 메시지를 보여줘서 그들로 하여금 여러분이 만든 앱의 핵심 기능들을 사용해 볼 수 있도록 도와줍니다. 그럼 여러분은 궁금할 것입니다. “이게 클라우드 메시징과 뭐가 다른 거지?” (이렇게 물어 봐주셔서 감사합니다. 아직까지 주의 깊게 읽고 계셨군요!) 그 핵심적인 차이는 클라우드 메시징(FCM)의 메시지는 (파이어베이스 콘솔 등) 여러분이 제어하는 서버에서 오는 것이고, 인앱 메시징(FIAM)의 메시지는 앱 자체에서 온다는 것입니다(그러나 물론 콘솔에서 설정한 것입니다). 그리고 인앱 메시지는 사용자가 실제로 앱을 이용하는 동안 보이게 됩니다. 하지만 FCM과 FIAM은 모두 분석 및 예측 도구와 긴밀하게 연동되어 있다는 점에서는 비슷하다고 할 수 있습니다.

 

FCM이 보내는 메시지는 타이밍이나 관련성이 비교적 적기 때문에 사용자가 관심 있는 것이 아닐 수도 있고, 아니면 실수로 메시지를 닫아버릴 수도 있습니다. 그리고 위 사진에서 보이는 여성이 푸시 메시지를 전혀 반가워하지 않는다는 게 보이시나요? FIAM을 이용하면, 인앱 메시지는 여러분이 정의하는 기준에도 맞고, 분석 도구와 예측 도구가 파악한 정확한 사용자들에게 정확한 시점에 전달됩니다.

 

관련성이 있는 메시지들은 인터넷에서 고양이들의 관심도 사로잡습니다.

 

예를 들자면, 그레타의 게임에서는 사용자들이 게임을 하면서 게임 내의 스토어에서 사용할 수 있는 가상의 화폐를 벌게 할 수 있고, FIAM 메시지를 활용해서 사용자들에게 이런 가상의 돈을 누가 벌었는지 알려줄 수 있을 것입니다. 그리고 숀의 소셜 네트워크에서는 사용자들이 한동안 앱을 사용해왔지만 아직까지 미처 발견하지 못했던 콘텐츠를 그들에게 알려줄 수 있을 것입니다.

 

파이어베이스의 원격 구성(Remote Config)을 이용하면, 앱을 업그레이드하지 않고도 여러분이 만든 앱의 동작이나 보이는 모습을 동적으로 변경할 수 있습니다. 원격 구성을 사용하는 일반적인 방식은 파이어베이스의 콘솔에서 설정과 관련한 다수의 매개변수(parameter)들을 정의하는 것입니다. 그 다음, 여러분의 앱이 SDK를 활용해서 해당하는 매개변수의 값(value)을 주기적으로 가져오고 필요에 따라서 사용하는 것입니다. 원격 구성이라는 것은 키(key)와 값(value)으로 짝을 이룬 거대한 설정값들이 클라우드에 호스팅 되어 있는 것이라고 생각할 수도 있습니다. 그러면 이게 마치 간단한 데이터베이스처럼 보일 수도 있는데, 계속 살펴보다 보면 처음에 생각했던 것보다도 할 수 있는 일이 훨씬 더 많다는 것을 알게 될 것입니다.

 

원격 구성은 여러분의 앱이 동작하는 방식을 원격에서 제어할 수 있게 해줍니다.
저는 그래서 이걸 “편히 쉬면서 파이어베이스 하기”라고 부릅니다.

 

원격 구성이 진심으로 빛을 발하는 부분은 각각의 매개변수들에 대한 조건을 정의할 수 있다는 것입니다. 한 가지 유형의 조건을 사용하면 어떤 특정한 값을, 분석 도구가 찾아낸 특정한 오디언스 그룹에게 지정할 수 있습니다. 또 다른 유형의 조건을 사용하면, 예측 도구가 찾아낸 “이탈 그룹”이나 “소비 그룹”을 향해서 타깃을 지정할 수 있습니다. 이를 통해서 높은 가치를 가진 오디언스 그룹에게 프리미엄 서비스를 제공할 수도 있고, 아니면 이용률이 낮은 사용자들에게는 인센티브를 제공하는 등 여러분의 앱에서 유용한 기능들을 얼마든지 구현할 수 있습니다.

 

숀은 원격 구성을 활용해서 자신의 소셜 네트워크에서 특정한 사용자들에게 알려야 하는 기능을 적절하게 전달하고 있습니다. 그레타의 게임에서는 굳이 새로운 버전의 게임을 출시하지 않고도, 원격 구성을 이용해서 게임의 일부 난이도와 구성 등을 세밀하게 조정하고 있습니다.

 

파이어베이스의 A/B 테스팅(A/B Testing)은 분석 도구, 원격 구성, 그리고 클라우드 메시징 사이의 긴밀한 연동 관계를 더욱 강화시켜줍니다. 저는 여러분이 앱을 계속해서 수정하고 있다고 생각하는데, 그건 좋은 일입니다. 하지만 여러분이 자체적으로 연구를 수행하지 않는다면, 그러한 변경이 과연 도움이 될지 아니면 해가 될지에 대해서는 미리 알 수없을 것입니다. 만약 그런 연구의 기초가 되는 자료가 없다면, 우선은 직접 연구를 진행해서 어느 정도의 데이터를 모으는 것이 좋습니다. 만약 성공 여부를 판단할 수 있는 나름의 기준을 갖고 있다면, 파이어베이스의 A/B 테스팅을 이용해서 일부 사용자들을 대상으로 실험을 진행한 이후에 판단을 내릴 수 있습니다. 이렇게 하는 게 좋은 이유는, 무언가를 변경할 때 아무런 정보도 없이 결정을 내린다면, 사용자들은 다음 사진과 반응을 보일 수도 있기 때문입니다.

 

세상에, 앱에 대체 무슨 짓을 한 거야?

 

파이어베이스의 동적 링크(Dynamic Link)는 “딥 링크(deep link, 서비스 내의 하위 페이지로 링크를 시키는 것)”라는 기존의 개념을 기반으로 만들어져 있는데, 이는 여러분의 앱을 특정한 화면이나 개인화된 사용자 경험으로 시작하게 만든다는 것입니다. 딥 링크는 사용자가 이미 앱을 설치한 경우에는 제대로 작동하지만, 먼저 설치해야 하는 경우라면 제대로 동작하지 않습니다. 이런 단점은 사용자로 하여금 앱을 설치하도록 유도하고 해당 링크는 살려 둠으로써 개선할 수 있습니다. 즉, 사용자가 동적 링크를 클릭했는데 해당 앱이 아직 설치되지 않았다면, 적절한 앱 스토어로 사용자를 안내해서 설치할 수 있게 하는 것이 좋습니다. 그런 다음에 사용자가 앱을 처음 실행하면, 해당 링크를 클릭했던 상황을 다시 복원해서 여러분이 원래 의도했던 경험으로 앱을 시작할 수 있게 만드는 것입니다. 그리고 동적 링크는 여러 플랫폼에서도 잘 동작하기 때문에, 안드로이드나 iOS, 웹 애플리케이션별로 별도의 링크를 만들 필요가 없습니다.

 

아래쪽에 있는 녹색 꼬마는 동적 링크가 아니라, 그냥 일반적인 링크입니다.

 

그레타는 동적 링크를 마케팅에 활용하고 있는데, 신규 사용자들이 처음으로 게임을 설치하는 링크를 눌렀을 때 게임 내에서 사용할 수 있는 무료 아이템을 얻을 수 있게 하는 것입니다. 그리고 숀은 동적 링크를 활용해서 그 링크가 어디에서 어떻게 공유되든 관계없이 사용자들이 그가 만든 소셜 네트워크에서 쉽게 공유할 수 있게 만들고 있습니다.

 

 

앱 개선하기: 안정성과 성능

 

“개선하기” 그룹에 속하는 제품들은 다음과 같습니다.

 

  1. 테스트 랩(Test Lab): 클라우드에 호스팅 된 기기에서 다양한 규모로 앱 테스트를 자동화
  2. 비정상 종료 분석(Crashlytics): 앱이 비정상 종료되는 현상에 대한 명확한 판단과 조치
  3. 성능 모니터링(Performance Monitoring): 앱의 성능 이슈와 관련한 통찰력 확보

 

파이어베이스의 테스트 랩(Test Lab)은 여러분의 앱을 여러 환경에서 테스트해볼 수 있게 하기 위해서, 다양한 종류의 iOS와 안드로이드 기기, 그리고 가상의 안드로이드 기기들까지도 사용할 수 있게 해줍니다. 여러분이 모바일 앱을 만들고 있다면, 아마 여러분의 책상 위에는 개발과 테스트를 위해서 최소한 1개의 기기가 놓여 있을 겁니다. 그러나 이 1대의 기기만으로는 수많은 사용자들이 사용하고 있는 환경을 절대로 대표할 수 없습니다. 모바일 기기들은 크기도 천차만별이고, 제조사들도 아주 많으며, 거기에서 동작하는 OS의 버전들도 제각각입니다. 이런 수많은 기기들을 전부 구입해서 유지하는 데에만 해도 엄청나게 많은 시간과 비용이 소요되며, 그걸 일일이 테스트하는 것도 마찬가지입니다.

 

앱을 만드는 것인지, 아니면 모바일 기기 실험실인지. 대체 왜 이렇게까지 해야 하는 걸까요?

 

테스트 랩은 여러분의 앱이 설치될 실제의 물리적인 기기들을 엄청나게 많이 호스팅함으로써 이런 문제를 해결하고 있습니다. 그러면 우리는 그 환경에서 각각의 테스트 도구들(안드로이드: 에스프레소(Espresso), iOS: XCTest)을 실행시키면 됩니다. 테스트 랩에서는 또한 추가적인 코딩을 하지 않고도 완전히 자동화된 테스트를 수행할 수 있기 때문에, 우리들 중에서 정말로 게으른 사람들에게 제격이라고 할 수 있습니다. (사실 우리들 전부 그렇지 않나요?)

 

세상에서 가장 흥미로운 사람이기는 하지만, 소프트웨어 엔지니어로서는 최악이라고 할 수 있습니다.
사용자들을 대상으로 테스트를 하지 말고, 실험실에서 하세요.

 

파이어베이스의 비정상 종료 분석(Crashlytics)은 이 분야에서는 세계 최고의 분석 툴입니다. 정말이지 최고입니다. 제가 왜 굳이 그 내용을 설명해야 하는지도 잘 모르겠습니다. 이건 언제나 최고였습니다. 그냥 쓰십시오. 심지어 분석 도구와 연동되어 있기 때문에, 앱의 비정상 종료가 사용자들이 앱을 사용하는 방식에 어떤 영향을 미치는지도(아마 삭제하겠죠) 알아낼 수 있습니다. 앱의 비정상 종료는 웃을 수 있는 상황은 아니지만, 그래도 조금은 재미 있는 사진을 써서 모든 사람들이 잘 알고 있는 이런 상황을 묘사해보겠습니다. 제가 무슨 말을 하는 건지는 모르겠지만, 바로 이 사진입니다.

 

앱의 비정상 종료는 “연방”이 아닙니다.

 

이제 마지막 단계입니다! 한 개의 제품만 더 살펴보면 됩니다!

파이어베이스의 성능 모니터링(Performance Monitoring)은 HTTP 요청, 실행 시간, API를 사용하는 다른 코드 등을 측정함으로써 앱의 성능과 관련한 이슈에 대해서 사용자의 관점에서 살펴본 통찰력을 제시해 줍니다. 이 제품이 가진 마법은 몇 줄 이상의 코드를 작성하지 않고도 HTTP 요청과 실행 시간을 측정할 수 있다는 것이며, 그 결과는 파이어베이스의 콘솔에 표시됩니다. 몇 줄의 코드를 추가하면, 여러분의 앱에서 수행하고 있는 다른 작업에 걸리는 시간도 측정할 수 있습니다.

 

저는 사용자의 관점에서 바라보는 이러한 수치들이 아주 중요하다고 강조하고 싶습니다. 여러분은 와이파이 속도가 아주 빠른 네트워크 환경에서 속도가 빠른 기기를 사용해서 앱을 개발하고 있을 수도 있습니다. 이러한 환경은 전 세계의 사용자들이 마주하는 환경과 전혀 비슷하지도 않으며, 그들 대부분은 신호도 약한 무선 네트워크에서 저가의 기기를 사용하고 있습니다. 만약 여러분의 앱을 사용하는 사용자들이 실제로 마주하는 고통을 이해하고 싶다면, 녹슨 펜치로 코털을 뽑아 보시기 바랍니다. 그만큼 어려운 환경이라는 것을 깨달으셨다면, 이제 성능 모니터링 도구를 앱에 연동하고 파이어베이스의 콘솔을 통해서 나오는 결과를 연구하십시오. 세계의 여러 다양한 지역에서 다양한 네트워크와 다양한 버전의 OS가 탑재된 다양한 기기들을 사용하는 환경에서 여러분의 앱을 사용할 때 얼마나 문제가 많은지를 정확히 파악할 수 있을 것입니다. 그리고 여러분의 앱에서 가장 지연 현상이 심하게 벌어지는 부분이 어디인지를 파악해서, 어떤 부분에 최적화 작업을 집중해야 하는지를 결정할 수 있을 것입니다.

 

 

“개선하기” 카테고리에 있는 이들 세 가지의 제품들이 서로 함께 얼마나 잘 동작하는지는 현재로서는 명확하지 않습니다. 그리고 파이어베이스의 다른 카테고리에 있는 제품들처럼 서로 직접적으로 연동되지도 않습니다. 그래도 테스트 랩에서 어떤 특정한 버전의 앱을 실행시키고 테스트를 하면, 비정상 종료 분석 도구로 그 원인을 더욱 자세히 볼 수 있으며(물론 비정상 종료가 됐을 경우입니다), 성능 모니터링 도구로 여러분이 만든 앱의 성능에 대해서도 훨씬 더 잘 측정할 수 있습니다. 저의 지인들 중에서는 비정상 종료 분석 도구에서 생성된 보고서를 활용해서 성능 모니터링에서 발생한 문제점을 파악하는 사람도 있습니다. 여러분도 이렇게 똑똑하게 활용할 수 있습니다!

 

휴, 지금까지 글도 많고 그림도 많았습니다.

 

결국 끝까지 읽으셨군요! 여러분은 뭘 알게 되었을까요? 네, 파이어베이스 안에 수많은 기능들이 있다는 것을 알게 되셨습니다. 그러면 이런 내용들을 통해서 배울 수 있는 점은 무엇일까요? 여러분이 앱을 만들 때 참고하실 수 있도록, 몇 가지의 핵심 포인트를 간추려 보겠습니다.

 

  • 파이어베이스는 구글이 제공하는 모바일 애플리케이션 개발 플랫폼입니다. (네, 그렇습니다.)
  • 스스로 직접 개발하기보다는 파이어베이스의 제품들을 활용해서 개발한다면 시간과 비용을 엄청나게 절약할 수 있습니다.
  • 여러분은 위의 제품들을 모두 사용할 수도 있고, 전혀 사용하지 않을 수도 있으며, 일부만 사용할 수도 있습니다.
  • 위에서 설명한 모든 특징들은 한 개의 콘솔로 관리하면서 서로 잘 작동하도록 설계가 되어 있습니다.
  • 혹시 파이어베이스를 이용해서 귀지를 제거하는 앱을 만들려는 분 계신가요?

 

 

부록: 파이어베이스와 관련한 오해들

 

위에서는 파이어베이스가 무엇인지에 대해서 아주 훌륭한 정보를 다루었지만, 파이어베이스와 관련한 오해에 대해서도 언급하는 것이 좋을 것 같습니다. 참고하는 차원에서요.

 

  • 파이어베이스는 (더 이상) 데이터베이스가 아니라 하나의 플랫폼입니다. 이에 대해서는 앞에서 이미 다루었습니다.
  • 파이어베이스(Firebase)의 베이스는 대문자(Base)가 아니라 소문자(base)입니다. 만약 그렇게 쓰는 사람이 있다면, 저한테 혼날 겁니다.
  • 마찬가지로 파이어스토어(Firestore)의 스토어도 대문자(Store)가 아니라 소문자(store)입니다. 이번에도 그런 사람이 있다면 역시 저한테 혼날 겁니다.
  • 절대로 FB로 줄여서 표기하지 않습니다. 만약 그런 사람이 있다면 귀에 피가 날 때까지 소리를 지를 겁니다.
  • 파이어베이스가 하나의 원소라면, 원소기호 F를 두고 불소와 싸웠을 겁니다.[1]
  • 영어 문법으로는 실시간을 “real-time”으로 표기하는 게 맞지만, 파이어베이스에서는 “realtime”으로 표기하고 있습니다.
  • “파이어베이스 함수(Firebase Functions)”가 아니라 “파이어베이스용 클라우드 함수(Cloud Functions for Firebase)”입니다. 제가 틀렸다면 관련 문서를 찾아서 증명해 보이시기 바랍니다. 어디 한 번 해 보시죠.
  • “파이어베이스 파이어스토어(Firebase Firestore)”가 아니라 “클라우드 파이어스토어(Cloud Firestore)”입니다. 솔직히, 제품 이름 안에 “파이어”를 두 번이나 연달아서 쓰는 사람이 어디 있겠습니까?
  • 클라우드 파이어스토어(Cloud Firestore)는 클라우드 파일스토어(Cloud Filestore)도 아니고 클라우드 데이터스토어(Cloud Datastore)도 아니며 클라우드 메모리스토어(Cloud Memorystore)도 아니고 클라우드 스토리지(Cloud Storage)도 아닙니다. 이제 확실히 아시겠죠?

[1] 굳이 줄여서 약자로 표기해야 한다면 FB가 아니라 F로 써야 한다는 의미입니다.

댓글 0

요즘IT의 번역글들

이 프로필을 만든 저만 해도 영어가 서툴러 영어로 된 기사는 읽는 게 더딥니다. 그래서 준비했습니다. 읽어볼만한 해외 소식들을 번역해 전합니다. We are the world.

북극성 지표(North Star Metric) 선택하기

비즈니스

피그마는 여러분을 나쁜 디자이너로 만들고 있습니다

디자인

인터랙션 디자인 vs 시각 디자인

디자인

좋은 디자인 포트폴리오를 만드는 팁

디자인

나에게 맞는 웹 기술 스택을 고르는 방법

개발

윈도우11은 실패작이다

프로덕트

“파이썬은 느리다”에 대한 반론

개발

파이썬 초보자가 저지르는 10가지 실수

개발

우리가 주목할 UI/UX 디자인 트렌드

디자인

2022년 프론트엔드 개발 동향

개발

코드 리뷰 문화

개발

데이터 분석가는 무슨 일을 할까요?

개발

최고의 오픈 소스 개발 도구 Top 8

개발

데이터 분석이란 무엇일까?

개발

Flutter로 UI를 구현하는 방법

개발

자바 언어의 장단점과 2022년 트렌드

개발

데브옵스(DevOps) vs 데브섹옵스(DevSecOps)

개발

엑셀을 사용한 아름다운 데이터 시각화

디자인

여러분을 더 나은 플러터 개발자로 만들어줄 7가지 프로젝트

개발

모든 디자이너가 숙지해야 할 피그마 팁과 노하우

디자인

디자인 원칙과 디자인 가치, 그리고 디자이너

디자인

디자인, 산출물 그 이상을 넘어

디자인

이 회사는 디자인에 투자하고 있는 회사일까요?

디자인

애자일은 정말 디자인을 배제하나요?

디자인

평판 관리가 프리랜서 경력에 미치는 영향

프리랜싱

리액트 네이티브 개발자들이 겪는 가장 빈번한 5가지 문제와 해결책

개발

“솔직히 우리가 하는 것은 스크럼이 아닙니다!”

기획

데이터 시각화가 인류를 위기에서 구한 세 가지 역사적 사건

디자인

NFT의 장밋빛 미래는 사실일까?

기획

피그마 토큰으로 디자인 시스템 만들기

디자인

디자이너+개발자 = 슈퍼팀 만들기

기획

1인 개발자로서 테크 스타트업을 운영하며

기획

웹 디자이너가 PX대신 REM을 사용해야 하는 이유

디자인

100개의 스타트업을 멘토링하며 깨달은 성공의 비밀

기획

중화권 앱 UI가 영미권 앱 UI와 다른 점 알아보기

프로덕트

내가 테크 리더로 일하면서 얻은 8가지 교훈

기획

모두가 즐길 수 있는 디자인 검토 회의 만들기

디자인

프로덕트 매니저에서 프로덕트 마스터로

기획

10배 이상 뛰어난 개발자가 되는 법

개발

제품 디자인 관점에서 바라보는 NFT 아바타 열풍

디자인

에어비앤비: 대규모 iOS 앱 개발 생산성을 위해 바꾼 것들

개발

스포티파이: 맞춤형 플레이리스트 개발 비하인드 스토리

개발

프리랜서가 일하게 될 15가지 유형의 프로젝트

프리랜싱

슬랙: 제품 원칙을 통해 다시 태어난 알림 기능

프로덕트

페이팔: 실시간 그래프 데이터베이스 분석을 통해 사기를 방지하는 방법

개발

트위터: 수십억 개의 이벤트를 실시간 처리하기

개발

슬랙: 4가지 애자일 가치와 방법

기획

스퀘어: 모바일 우선을 넘어 웹에서 누리는 모바일앱 경험

디자인

스포티파이: 카피를 언어로 만드는 UX 라이팅

기획

마이크로소프트: 디자인의 미래를 위한 4가지 원칙

디자인

메타: AR/VR 경험까지 고려한 디자인 청사진

프로덕트

슬랙: 훌륭한 마케팅 카피를 위한 5가지 원칙

기획

2022년 UX/UI 디자인 트렌드

디자인

구글: 가변 폰트의 놀라운 활용법

디자인

에어비앤비: 위기 상황에서의 디자인 원칙 5가지

디자인

어떻게 두 명의 인턴이 수백만 개의 코드들을 보호할 수 있었나

개발

Lattice로 마이크로 프론트엔드를 구축하는 법

개발

Cool Cats NFT를 구축하면서 배운 것

개발

웹 컴포넌트가 프론트엔드 프레임워크를 대신할까?

개발

당신이 NFT에 대해 알아야 할 모든 것

개발

우리에겐 이상하지만 개발자들에겐 일상인 일들

개발

Next.js 12에서 주목해야 할 5가지 변화

개발

스벨트 vs 리액트, 누가 더 뛰어날까?

개발

개발자를 위한 iOS 15의 새로운 기능

개발

내가 오픈소스를 싫어하는 이유

개발

프로덕트 매니지먼트 고객 여정 5단계

기획

클럽하우스의 인기는 모두 거품이었다?

프로덕트

데이터 기반 의사결정의 장점

기획

시각 디자인의 폐쇄성 법칙이란?

디자인

사용자 경험(UX) vs 서비스 디자인

기획

프로덕트 매니저는 하루 종일 무슨 일을 할까?

기획

제품 주도 성장은 어떻게 이루어지는가?

기획

UX를 망치지 않는 설득력 있는 배너 디자인

디자인

팝업(Pop-up)으로 불리는 것들에 대하여

디자인

드롭다운(Drop-down)으로 불리는 것들에 대하여

디자인

당신의 생각을 표현하는 새로운 이모지

디자인

가장 똑똑한 소프트웨어 엔지니어에게 배운 10가지 교훈

개발

성공적인 UX 프로젝트를 위한 가장 중요한 질문

디자인

2021년, UI 디자이너가 모바일 앱에서 흔히 저지르는 실수

디자인

IT 매니저가 되는 방법과 성공하기 위한 요소

기획

슬랙(Slack) 같은 앱을 만들려면 비용이 얼마나 들까?

개발

아웃소싱이 이토록 인기를 얻게 된 이유는?

아웃소싱

마케터가 UX 관련 역량을 키워야 하는 이유

기획

미니멀리즘 디자인의 핵심적인 요소들

디자인

새로운 소프트웨어 개발사가 필요하다는 7가지 신호

아웃소싱

2021년을 이끌어가는 프론트엔드 개발 트렌드 5가지

개발

PM을 성장시키는 학습 프레임워크

기획

UI 카피라이팅, 어떻게 써야 하나요?

기획

트렌드 예측: 경쟁에서 앞서는 방법

기획

제품 사고(product thinking)의 힘

기획

인하우스 vs 아웃소싱, 소프트웨어 개발 어떻게 하나요?

개발

그림을 못 그리는 사람도 쉽게 와이어프레임 그리는 방법

기획

스타트업 기업들에게 아웃소싱이 중요한 이유

아웃소싱

제품과 기능, 성공적으로 종료하는 방법 (下)

기획

제품과 기능, 성공적으로 종료하는 방법 (中)

기획

제품과 기능, 성공적으로 종료하는 방법 (上)

기획

UX 디자이너에게 반드시 필요한 12가지 스킬

디자인

패스워드 없는 세상이 오고 있다

개발

디자이너를 쉽게 잃는 방법 10가지

디자인

프론트엔드 코딩 작업에 영감을 줄 8가지 아이디어

개발

구글이 아웃소싱을 하는 이유: 아웃소싱 성공사례 5가지

아웃소싱

일 잘하는 PM이 되기 위한 로드맵 도구 5가지

기획

이제는 말할 수 있다! 아웃소싱에 대한 오해 11가지

아웃소싱

디자인 트렌드, 모던 미니멀 스타일의 UI 가이드

디자인

MVP 개발을 아웃소싱으로 해도 될까요?

개발

온보딩 효과를 높이는 '좋은' 귀차니즘 3가지

기획

게임처럼 즐겨라, 게임화 기법 TOP3

기획

시니어 소프트웨어 엔지니어는 어떻게 일할까?

개발

프로덕트 매니저가 글을 잘 써야 하는 이유

기획

2030년엔 사라질 수도 있는 프로그래밍 언어 5가지

개발

고객들이 언제나 옳은 것은 아니다

기획

유저 스토리는 무엇인가?

기획

고객 성공을 위한 14계명

기획

8px 그리드 시대가 끝나고, 4px 그리드의 시대가 열릴까?

디자인

모바일 앱은 더 이상 스타트업에게 좋은 아이디어가 아니다

기획

과연 구글의 UX 강좌는 도움이 될까요?

디자인

프로덕트 매니저 여러분, ‘소비자의 요구사항 수집’을 그만두십시오

기획

고객 여정과 경험 지도의 차이점

기획

내가 AI 업계를 떠난 이유 5가지

기획

모달윈도우(팝업)를 디자인할 때 생각할 9가지 원칙

디자인

대기업 vs 중소기업, B2B SaaS 스타트업을 위한 시장은?

기획

내가 개발 인터뷰에서 면접자에게 감동한 이유

개발

HTTP의 새로운 메서드, 서치(SEARCH)에 대하여

개발

세상의 모든 프로덕트 디자이너를 위한 5가지 심리학 원칙

디자인

2021년 테스트 자동화 트렌드 리포트 (下)

개발

2021년 테스트 자동화 트렌드 리포트 (上)

개발

아마존과 스포티파이는 어떻게 사용자를 유지하고 측정할까?

기획

UX 디자이너라면 필수적으로 알아야 할 5가지 법칙

디자인

앵귤러 vs 리액트, 2021년의 승자는?

개발

2021년, SaaS 스타트업 시작을 위한 놀라운 아이디어 10가지

기획

디지털 제품 관리에서 B2B와 B2C 사이의 차이점은?

기획

빠르게 실행할 수 있는 ‘제품 요구사항 문서(PRD)’ 만들기

기획

더 나은 제품을 위한 프로덕트 메트릭스 가이드

기획

노 코드(No Code) 트렌드로 프로그래머들은 일자리를 빼앗길까?

개발

넷플릭스의 플랫폼: 코스모스(Cosmos)에 대하여

프로덕트

비즈니스와 애자일 조직은 어떻게 친해질 수 있을까요?

기획

효과적인 제품 전략 세우기: 다수의 전략적 트랙(MuST) 활용

기획

1년 만에 이메일 마케팅 효과를 극대화했던 방법

기획

솔루션 아키텍트를 위한 팁: 아키텍처 다이어그램의 5가지 유형

개발

새로운 맥 OS ‘빅서’에 대한 UX 디자이너의 생각

디자인

디자인 트렌드, 뉴모피즘의 정석

디자인

스스로 학습하는 UI/UX 디자이너가 되기 위한 2021년 로드맵, 3편

디자인

스스로 학습하는 UI/UX 디자이너가 되기 위한 2021년 로드맵, 2편

디자인

2021년 모바일 UX 트렌드 10가지

디자인

스스로 학습하는 UI/UX 디자이너가 되기 위한 2021년 로드맵, 1편

디자인

앱 설정 기능의 UX를 개선하는 효과적인 방법

디자인

다크모드 UI 디자인의 원칙

디자인

온라인 고객 경험을 개선하기 위한 5가지 방법

기획

신생 스타트업에서 일하는 프로덕트 매니저를 위한 현실적인 조언

기획

웹 개발자와 소프트웨어 개발자의 차이는 무엇인가요?

개발

랜딩 페이지 디자인을 개선하는 13가지 꿀팁

디자인

오프라인 비즈니스가 온라인에서 존재감을 가져야 하는 이유 5가지

기획

상향식 가격 책정 및 패키징 정책: 사용자 여정을 가이드로 활용하기

기획

B2B 제품의 UX, 그것은 숨겨진 영역인가요?

기획

상단 내비게이션 vs 사이드 내비게이션, 어느 것이 더 나을까?

디자인

자동완성 검색 기능 UX 설계를 위한 8가지 팁

디자인

프로덕트 매니저는 전문적인 IT 기술을 갖춰야 하나요?

기획

실리콘밸리 51개 기업들이 말하는 프로덕트 매니저의 역할 9가지

기획

아웃소싱에 대한 모든 것

아웃소싱

앱 디자인 가이드, 사람들이 즐겁게 사용할 수 있는 앱을 만드는 법

디자인

처음부터 완제품이 아니라 ‘MVP’를 만들어야 한다

기획

플러터 vs 리액트 네이티브 vs 네이티브, 성능이 더 우수한 것은?

개발

스타트업 프로덕트 매니저로 성장하는 법, 30-60-90일 플랜

기획

당신의 두뇌는 진보하고 있다: 성취감을 위한 3가지 전략

기획

디자이너들을 편하게 해주는 HTML/CSS 마법 10가지

디자인

코딩의 미래는 ‘노 코드(No Code)’이다

개발

내가 엔지니어링 매니저로 일하면서 저지른 실수들

개발

내가 롬 리서치(Roam Research)를 좋아하는 이유와 실제 사용법 (下)

기획

내가 롬 리서치(Roam Research)를 좋아하는 이유와 실제 사용법 (上)

기획

프로그레시브 웹 앱(PWA)이란 무엇이며, 왜 필요한가?

개발

PWA vs 네이티브 앱, 어떤 것을 선택해야 할까?

개발

UI 디자인에 여백을 활용하는 8가지 팁

디자인

마이크로소프트와 링크드인의 새로운 시도, 프리랜서 마켓에 도전장을 던지다

기획

토마스넷은 왜 가입자 수를 폭발적으로 늘려준 테스트 결과를 거부했을까?

기획

잘 팔리는 기업용 소프트웨어 디자인하기

디자인

파이어베이스(Firebase)란 무엇인가? 파이어베이스 심층 탐구 : 중편

개발

파이어베이스(Firebase)란 무엇인가? 파이어베이스 심층 탐구 : 상편

개발

업워크(Upwork)가 조사한 요즘 가장 인기 좋은 개발 기술 15가지

개발

일자리 산업이 휴먼 클라우드(human cloud)에 적응하는 방법

기획

팬데믹 이후 세계에서의 디지털 가속화는 어떤 모습일까?

기획

같은 분야를 다룬 글들을 권해드려요.

요즘 인기있는 이야기들을 권해드려요.

일주일에 한 번!
전문가들의 IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.

일주일에 한 번! 전문가들의 요즘IT 이야기를 전달해드려요.

[구독하기] 버튼을 누르면 개인정보 처리방침에 동의됩니다.