Skip to content

Ep20 : Flask 인스타그램 클론코딩 (11) #29

@TGoddessana

Description

@TGoddessana

이번 에피소드에서는, 배포를 위한 사전 준비를 수행합니다.

  • 지금까지, 개발할 때에 사용했던 데이터베이스는 SQlite 였습니다. 하지만 이러한 데이터베이스는 실서비스용으로 사용하기 적합하지 않다는 언급을 했었죠? 이번에는 "대체 왜 SQlite가 아닌 다른 데이터베이스를 사용해야 하는지" 에 대해서, 특히 SQlite와 MySQL, Oracle, Postgresql과 같은 데이터베이스들의 동작 방식을 비교해 봅니다.
  • 그렇기에 우리는 PostgreSQL 을 사용할 것입니다. PostgreSQL 서버를 무료로 제공해주는 fly.io 에서 애플리케이션을 생성하고, 그것을 우리의 flastagram 서비스에 연결합니다.
  • 위의 과정을 수행하며, 직접 postgreSQL 에 접속해 데이터베이스와 사용자를 생성합니다.
  • 서버를 직접 사내에서 운영하는 것을 "온 프레미스", 그렇지 않고 AWS와 같이 어딘가에 켜져 있는 컴퓨터를 이용하는 것을 "클라우드 컴퓨팅" 라고 합니다. 그 둘의 개념에 대해 간략하게 알아봅니다.
  • 대체 왜 도커를 사용하는지, VM과 Docker의 차이는 무엇인지 간략하게 알아봅니다. (참고로 저는 이 질문 면접에서 받았는데, 제대로 답변 못 했습니다. ㅠㅡ)

(과제) 프론트엔드 혹은 백엔드에서 자신이 원하는 기능 몇 가지가 있다면 꼭! 추가로 구현해주신 후, README.md 에 그것의 기능을 상세히 설명해 주세요. 댓글로 프로젝트 링크를 달아주시면 됩니다!

(과제) 자료 를 확인하고 배포를 위한 사전 준비를 마무리해 주세요!

(참고) 필자는 Windows11 환경에서 WSL(Ubuntu 22.04) 을 설치하여 이용하고 있습니다. 순수 Windows 환경을 이용하시는 분들께서는 자료에 등장하는 명령어의 사용법이 몇 다를 수 있습니다!

(제발) 데이터베이스 서버 구축은 당연히 배포에 있어서도 매우 중요합니다. 꼭! 정상 동작하는 것을 확인해 주세요. 테스트 방법으로는,

  >>>Flask shell
  >>>from api.models.user import UserModel
  >>>UserModel.query.all()

을 수행하셨을 때 [] 비어있는 리스트가 나와야 합니다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions