fastapi에서 model 여러개를 하나의 모델 파일에 정의하는 것은 그렇게 좋지 못한 듯 합니다. 너무 길어지고, 한 파일에 책임이 너무나도 많기 때문입니다. 도메인에 따라, 혹은 역할에 따라 분리하는 것이 필요한데요. 그렇다는 것은 여러 개의 파일로 분리해야 한다는 것을 의미해요. alembic에서 multiple target metadata를 인식하게 하는 방법을 알아봅시다. alembic 1.9.2 기준으로 실습했음을 미리 알려드립니다. 먼저 프로젝트의 구조입니다. models 안에 __init__.py와 model_a.py, model_b.py가 있습니다. 다음에, env.py가 있습니다. 저는 이 4개의 파일만 건드릴 겁니다. 먼저, model_a.py입니다. a_base에 모델 a가 연관되..
전체 글 검색 결과
안녕하세요. 이번 시간에는 이 문서를 보면서, make의 -C 옵션에 대해 알아보는 시간을 가져보겠습니다. 제가 설명할 코드는 4번째 코드입니다. 먼저 man make 페이지를 보면, -C 옵션에 대한 설명이 나와 있습니다. 디렉토리를 바꾼다고 되어 있습니다. 언제? makefile을 읽거나 어떠한 작업을 하기 전에. 이게 무슨 소리일까요? 폴더 구조입니다. 현재 작업 디렉토리 밑에 test1, test2가 있고, test2 밑에 Makefile이 있어요. test2 밑에 있는 Makefile을 보겠습니다. 이 파일에는 echo test2라는 것이 있어요. 그래서, makefile을 실행하면, test2가 출력됩니다. 작업 디렉토리에서 make -C test2를 해 보겠습니다. 보시면, 먼저 test2 ..
안녕하세요. 이번 시간에는 linux의 mv 명령어에 대해 알아보겠습니다. 깊게 들어가지는 않고, 필요한 것만 간략하게 추려보도록 하겠습니다. mv는 파일을 이동하거나, 혹은 이름을 바꿀 수 있는 명령어입니다. 여담으로 mv 명령어를 strace로 추적해 보면, rename, renameat2 등을 호출하고 있음을 볼 수 있긴 합니다. 이건 그냥 이렇구나 정도로만 보시고 넘어가시면 될 듯 합니다. 이번에 실습할 것들입니다. 현재 작업 디렉토리에 test1 디렉토리와 test2 디렉토리가 있습니다. 그리고, test1 디렉토리 밑에 1.txt, 2.txt가 있고, test2 디렉토리가 있습니다. test2 밑에는 또 다시 1.txt와 2.txt가 있습니다. Makefile을 제외하고 모든 파일은 비어 있습..
안녕하세요. 이번에는 touch 명령어에 대해 알아보겠습니다. 먼저 touch는 파일의 timestamp를 바꿉니다. 설명을 보면, access와 modification time을 바꾼다고 되어 있어요. 여기서 접근 시간이랑 수정 시간이랑 구분하는 것이 중요해요. 파일을 읽기만 하면 access한 시간만 업데이트 되지만, 수정을 하면 수정 시간까지 같이 업데이트가 되는 셈입니다. 여기서 질문. 빈 파일인 1.txt를 vi로 열었습니다. 그리고 1을 적은 다음에 wq:를 입력해서 나갔습니다. 이 경우, 접근 시각과 수정 시각이 같이 업데이트 됩니다. 기본적으로 touch는 atime, mtime을 업데이트 합니다. -a 옵션을 주면 접근 시각만 업데이트 할 수 있어요. 그럴 때 어떻게 되는지 보겠습니다. ..
안녕하세요. codingdog입니다. pycharm에서 git push를 할 때 --force가 붙어있는 것을 볼 수 있습니다. 위험해 보이지만, 한 번 실습을 해 보면서 얼마나 위험한지 보도록 하겠습니다. 저는 gitlab 15.x 버전으로 실습하였습니다. 실습하기 전에, main branch에 대해, force push가 허용되어 있어야 합니다. 먼저, 1.txt를 생성합니다. 다음에, Hello 라는 메세지를 추가한 다음에 commit을 해 보겠습니다. 다음에, push를 해 보겠습니다. vscode에서는 Sync changes를 누르면 바로 됩니다. 1.txt add 라는 메세지가 추가되었습니다. 내용을 확인해 보면, Hello 라는 내용이 있는 1.txt를 추가했다고 나옵니다. 그런데, 저는 이..
최근댓글