ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Visual Studio Code에서 Firebase Realtime Database 사용하기
    카테고리 없음 2022. 12. 16. 20:12

    이번 글에서는 Visual Studio Code에서 Firebase Realtime Database를 사용하는 법을 다루고자 한다.

     

     Firebase Realtime Database란? 

    Google이 개발한 NoSQL 데이터 베이스로 JSON 포멧의 데이터가 실시간으로 저장 및 동기화된다. 웹이나 모바일 앱 제한 없이 사용 가능하다.

     

     그렇다면, 구체적인 사용 방법은? Step by step으로 따라가 보자! 

    1. Firebase 홈페이지에서 Firebase Realtime Database 생성하기

    2. Visual Studio Code에서 Pyrebase 설치하고 Firebase auth 파일 생성하기

    3.  DB handler로 데이터베이스 연결하고 Firebase에 db 넘겨주기

     

     


     

     1. Firebase 홈페이지에서 Firebase Realtime Database 생성하기 

    아래 링크에 접속한 뒤 사진 순서대로 따라가본다.

     

    Firebase (google.com)

     

    Firebase

    Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다.

    firebase.google.com

     

     

     

     

     

     

     

     

     

    ⚠️⚠️ 테스트 모드에서 시작하는 경우 30일 기한이 있다. 기한 내에 보안 규칙을 업데이트 해야 한다! ⚠️⚠️

    이 부분에 대해서는 본 글의 마지막 파트인 '보충 설명'에서 자세히 다룰 것이다 :)

     

    데이터 베이스 생성 완료!! 현재는 null 상태이다.

    다음으로, Firebase와 앱/ 웹을 연결해보자

     

     

     

    ⚠️⚠️ 코드는 뒤에서 필요하니 잘 복사해둘 것!! ⚠️⚠️

    혹시라도 복사가 잘 안 된 경우, 다시 확인할 수 있는 방법이 있으니 낙심 금지!

    확인 방법은 본 글의 마지막 파트인 '보충 설명'에서 다룰 것이다.

     

    이젠 Firebase 홈페이지에서 할 일은 끝났다. 다음으로 Visual Studio Code로 넘어가자 💫


     2. Visual Studio Code에서 Pyrebase 설치하고 Firebase auth 파일 생성하기 

    Firebase를 Visual Studio Code에서 사용하기 위해서는 Firebase API인 Pyrebase를 설치해야 한다.

    방법은 간단하다. 터미널에 pip3 install pyrebase를 입력한다.

     

    이 화면은 정상적으로 설치됐을 때 나오는 화면이다

    필자는 처음 설치했을 때 에러가 떴는데 아래 블로그를 통해 해결할 수 있었다. 잘 안 되는 경우 참고해보면 좋다!

    Python 에서 Firebase 사용하기 : 네이버 블로그 (naver.com)

     

    Python 에서 Firebase 사용하기

    이 포스팅은 Google 에서 최근에 정식 서비스를 시작한 Firebase 를 Python 에서 사용하는 방법에 ...

    blog.naver.com


    다음으로는 Firebase auth 파일을 생성해보자

    프로젝트 폴더 안에 authentication 폴더를 생성하고 authentication 폴더 안에 firebase_auth.json 파일을 생성한다.

    firebase_auth.json 파일에 위에서 복사한 내용을 붙여넣는다. 그리고 key 부분에 "  "을 추가한다.


     3.  DB handler로 데이터베이스 연결하고 Firebase에 db 넘겨주기 

    프로젝트 폴더 안에 database.py 파일을 생성한다.(이미 생성되어 있다면 그것 사용) 이 파일 안에 데이터베이스를 연결하는 스크립트를 작성한다.

    import pyrebase
    import json
    
    class DBhandler:
        def __init__(self):
            with open('./authentication/firebase_auth.json') as f:
                config=json.load(f)
    
            firebase = pyrebase.initialize_app(config)
            self.db = firebase.database()

    다음으로 app.py 파일로 이동해서 방금 전에 만든 DBhandler를 사용하자

    from flask import Flask, render_template,request,redirect,url_for
    from database import DBhandler
    import sys
    
    app = Flask(__name__)
    DB=DBhandler()

    이젠 Firebase Realtime Database를 사용할 모든 준비가 끝났다!! 차후에 db에 값을 저장하고 불러오는 내용을 포스팅해보아야겠다~ 그럼 이만 👋

     


     

     보충 설명 

    보안 규칙 업데이트와 SDK  코드 복사에 대해 보충 설명해드립니닷!

     

     1. 보안 규칙 업데이트 

    테스트 모드에서 시작한 경우, 30일이 임박하면 "Firebase 클라이언트 엑세스가 곧 만료됩니다"라는 이메일이 온다.

    이 경우 Realtime database 규칙을 수정하지 않으면 만료가 되어 더 이상 데이터 베이스 접근이 불가능해진다...

    그러니 30일 이상 데이터베이스가 필요하다면 아래의 방식을 주의 깊게 확인하자!

     

     

    현재 규칙은 2023/1/15까지만 유효하다..!

    기간과 상관없이 모두가 읽고 쓸 수 있도록 규칙을 변경하자.

     

    기존 규칙을 전부 지우고 아래의 코드를 복사 붙여넣기 하면 된다.

    {
    
      // Allow read/write access to all users under any conditions
    
      // Warning: **NEVER** use this ruleset in production; it allows
    
      // anyone to overwrite your entire database.
    
    
    
      "rules": {
    
        ".read": true,
    
        ".write": true
    
      }
    
    }

     

    주의할 점은, 새로운 규칙은 데이터베이스에 접속한 모든 사용자에게 읽기와 쓰기를 가능하게 해주는 것이다. 그러니 학교에서 간단하게 하는 프로젝트에는 몰라도, 상용화를 위한 개발에는 사용하면 안 된다!

     

     2. SDK 코드 복사 

    설치 과정에서 SDK 코드가 원활하게 복사하지 못했더라도 괜찮다. 언제든 확인할 수 있는 방법이 있다.

    프로젝트 설정에 들어간 뒤 아래로 스크롤하면 하단에서 제품의 SDK 코드를 확인할 수 있다~!

     

     

    THE END

    읽어주셔서 감사합니다 :~)

    댓글

Designed by Tistory.