안녕하세요. 이번 시간에는 docker에서 expose 명령어에 대해서 알아보겠습니다. 현재 제 fastapi 프로젝트 구조입니다. docker-compose가 추가되었고, models.py와 db.py가 추가되었습니다. psycopg2-binary와 sqlalchemy가 새로 설치되었습니다. 실습하기 위한 프로젝트 세팅을 해 봅시다. 먼저 ddl/schema.sql입니다. public.test가 없는 경우에만 생성하는 DDL 문입니다. title을 pk로 걸어놓았습니다. db.py입니다. 데이터베이스와 관련된 정보들을 관리합니다. 저 정보들에 대한 것은 fastapi를 공부할 때 다시 언급해 보도록 하겠습니다. 여기에서 중요한 것은 DATABASE_URL이라는 환경 변수를 가져와서, 엔진을 생성하는 데..
전체 글 검색 결과
postgres에서 enum 타입을 알아봅시다. 예를 들어, 유저 등급을 저장할 때 사용할 수 있습니다. rate_type을 저장하려고 합니다. rate에는 'bronze', 'silver', 'gold' 등이 있어요. 우리는 type enum을 생성할 건데요. 브론즈, 실버, 골드를 열거한 타입으로 생성할 겁니다. 이런 류는 등급 뿐만이 아니라 파일 타입 등을 저장할 때에도 쓰일 수 있습니다. 타입을 생성하는 CREATE TYPE 명령어를 쓸 건데요. enum으로 생성할 것이니, CREATE TYPE ~ AS ENUM ~ 구문을 써서 생성해 보겠습니다. 위 구문은, 타입 rate_type을 'bronze', 'silver', 'gold'를 열거한 타입으로 선언하는 것입니다. 이제, Data types을..
안녕하세요. 이번 시간에는 도커 publish port에 대해 알아봅시다. 먼저 간단한 fastapi 프로젝트를 생성해 보겠습니다. 공식 문서에는 셋팅과, 간단한 api 만드는 방법에 대해 각각 링크1과 링크2에서 설명하고 있어요. 이를 토대로 프로젝트를 잡아 봅시다. 프로젝트 구조입니다. 루트 폴더에 Dockerfile과 .dockerignore와 requirements.txt가 있습니다. requirements.txt에는 fastapi를 셋팅하고 난 후에, pip freeze > requirements.txt를 이용해서 생성한 것입니다. 다음에 app 패키지가 있는데요. 이 안에 main.py가 있어요. main.py를 보시면, 이 코드만 있어요. 이는 root_url에 접근했을 때, "Hello f..
간혹 가다가, postgresql에서 sql file에 있는 명령들을 실행시켜야 할 때가 있습니다. 예를 들어, custom 함수를 정의할 때라던지, 데이터들을 모두 import 할 때 등이 이에 해당되겠네요. 어떻게 하는지 알아보겠습니다. 먼저, app3 데이터베이스에 있는 테이블은 reply와 user입니다. user는 id가 4인 유저만 존재합니다. reply를 모두 얻어보겠습니다. 아무것도 없습니다. reply.sql은 Users의 chokw 밑에 있습니다. 이 문장은 그냥 reply 테이블에 id가 4인 유저가 "cd"라는 내용의 포스트와, 'ef"라는 포스트를 썼다는 정보를 추가합니다. psql 명령어는, -d 옵션을 주면 데이터베이스에 바로 접근이 가능합니다. 저는 postgres라는 유저로..
이번 시간에는 django의 include에 대해 알아봅시다. 장고 프로그램이 커지면 여러 domain을 정의해야 하는 경우가 있어요. 예를 들어, post라던지, account와 같은 것들이 이에 속할 겁니다. 이것들을 하나의 app에서 관리하면 너무 비대해 질 것 같습니다. 그래서, 이를 나눠보도록 하겠습니다. 먼저 project의 루트에는 djangoex 패키지가 있어요. 이 안에는 app, djangoex가 있는데요. djangoex 밑에 settings.py가 있는 구조입니다. 저는 루트의 djangoex 밑에서 startapp 명령어를 이용해서 posts app을 시작해 보겠습니다. 그러면, posts는 위와 같이 생성됩니다. 이제 domain 별로 url을 관리해 봅시다. 먼저, instal..
최근댓글