저번 시간에 make에 대해서 배웠어요. 이번에는 의존성에 대해 배워보도록 하겠습니다. 문서에서는 prerequisites 정도로 설명하는 듯 합니다. Makefile이 요렇게 있다고 해 보겠습니다. local 환경에서는 12345를 화면에 뿌려준 다음에 test3 디렉토리를 만듭니다. prod 환경에서는 12345를 화면에 뿌려준 다음에 prod3 디렉토리를 만듭니다. 사실 이렇게 써도 별 문제는 없어 보입니다. make local을 해 보겠습니다. 그러면, 12345를 뿌려준 다음에, test3을 만드는 것을 볼 수 있어요. 그런데, 잘 보면 echo 12345를 뿌려주는 것은 디렉토리를 만드는 작업 전에 일어나고 있어요. 즉, 12345를 출력해 주는 작업은, 디렉토리를 만드는 작업 이전에 수행되어..
전체 글 검색 결과
프로그램을 개발하다가, 다른 환경에서 테스트를 해야 할 때, 세팅을 편하게 하는 방법이 없을까요? prod 환경일 때에도, local 환경일 때에도 단 1줄만 입력하면 알아서 컴파일 되거나, 명령어를 실행해서 세팅이 될 수 있게끔. make 명령어로 간단하게 할 수 있습니다. 우리는 로컬 환경에서 구동하는 것을 목표로 하거나, 실제 배포 환경에서 구동하는 것을 목표로 할 수 있습니다. 이를 각각 LOCAL, PROD라고 할게요. 이들을 make에서는 TARGET이라고 이야기 합니다. 여기까지 정리해 봅시다. 프로그램이 실행되기 위한, 혹은 환경이 세팅되기 위한 목표를 우리가 정할 수 있어요. 로컬에서 세팅되게 하겠다는 LOCAL, 배포 환경으로 세팅되게 하겠다는 PROD. Makefile을 작성해 보겠습..
debug=True로 세팅하고 admin page를 켜 보면 잘 켜집니다. 그런데 production 환경에서 debug 옵션을 True로 줄 리는 없을 겁니다. debug=False로 세팅하는 경우 몇 가지 세팅을 하셔야 하는데요. ALLOWED_HOSTS와 CORS_ALLOWED_ORIGINS 세팅을 해 주셔아 합니다. 먼저 django-cors-headers를 설치 후에 아래와 같은 설정을 해 주었습니다. ALLOWED_HOSTS에 "localhost"를 넣었습니다. 다음에 "corsheaders.middleware.CorsMiddleware"를 CommonMiddleware 위에 넣었습니다. 다음에, CORS_ALLOWED_ORIGINS에 "http://localhost:8000"을 추가해 주었습..
안녕하세요. 이번 시간에는 프로그램에 필수 인자와 선택 인자 옵션을 주기 위해 쓰는 argparse에 대해서 알아보고자 해요. 상당히 방대하지만, 필요하다 싶은 것만 빠르게 추려보도록 할게요. 먼저 예제 1번입니다. argparse.ArgumentParser()로 파서를 하나 생성합니다. 다음에, add_argument로 argument 2개를 생성할 거에요. a와 b입니다. 이 둘은 필수 인자들이 되겠습니다. 다음에, 6번째 줄에 parser.parse_args()로 들어온 인자들에 대한 정보들을 리턴하는데요. 이를 vars로 딕셔너리로 변환합니다. 7번째 줄에, 인자 "a"와 "b"에 들어온 수를 합해서, 결과를 출력해요. python main.py를 입력해 봅시다. 그러면, a와 b가 필요한데 없어..
안녕하세요. 이번 시간에는 python의 setattr에 대해 간단하게 알아보겠습니다. 먼저 A 클래스는, __init__ 함수가 호출되면, a, b, c에 각각 0을 넣습니다. 다음에, 객체를 표현하는 __repr__은 a=a의 값, b=b의 값, c=c의 값 형태로 출력해 줍니다. 객체 a를 생성하고, a와 b와 c에 각각 1을 넣어보겠습니다. 그 다음에 a를 출력해 보겠습니다. 그러면 a=1, b=1, c=1이 나옵니다. 그런데, 속성 값이 100개쯤 있고, 딕셔너리에도 속성 값이 100개쯤 있는데 일일히 a.a = 1, a.b = 1 이런 식으로 넣기는 코드가 너무 길어질 겁니다. setattr 함수를 알아보겠습니다. setattr(x, 'y', v)는 x.y = v와 같다고 되어 있습니다. 즉,..
최근댓글