git rm에서 --cached 옵션을 붙이는 경우가 왕왕 있습니다. .gitignore에서 뭔가 추가할 때 많이들 쓴다고 하던데요. 무엇을 하는 명령어일까요? 간단하게 알아보겠습니다. 먼저, git status를 보겠습니다. .env가 새로 추가되었고, 2.txt가 수정되었다고 합니다. 이 상태에서 .gitignore 파일을 새로 만들겠습니다. 이 파일에 .env를 추가한 다음에 git add .을 해 보겠습니다. 다시 git status를 보니, .env가 그대로 변경 내역에 있습니다. 왜 그럴까요? 캐시 상태를 보겠습니다. git ls-files -c를 입력해 보겠습니다. 캐시된 파일들을 보여주는 것입니다. 보니까, .env, .gitignore, 1.txt, 2.txt, README.md가 있음을..
전체 글 검색 결과
안녕하세요. 이번 시간에는 docker의 볼륨 (volume)에 대해 간단하게 알아보겠습니다. 먼저 제 fastapi 프로젝트 구조는 위와 같습니다. 단순화 하기 위해 main.py와 test_router.py만 구현해 놓았습니다. 먼저 main.py입니다. test_router의 router만 추가하였습니다. 다음에, test_router에는, get /test만 있습니다. 간단하게 api가 호출이 되면, 204 status code만 돌려줍니다. 서버 자체는 굉장히 간단해서 따로 설명을 드리지 않아도 되겠네요. Dockerfile부터 보겠습니다. 필요한 패키지들 깐 다음에, 마지막에 cmd로 서버를 실행시킵니다. 8000번 포트를 열어놓았습니다. 다음에 docker-compose.yml 부분입니다. ..
git에서 cherry pick 명령어가 있습니다. 요약하면, 다른 브랜치에 있는 커밋을 선택적으로 선택해서 내 브랜치에 적용하려고 할 때 쓸 수 있는 명령어입니다. 예를 들어, 내가 커밋 1을 cho라는 브랜치에 했고, 커밋 2를 cho라는 브랜치에 또 했다고 했습니다. 그런데, 커밋 1이 버그가 너무 많아, 커밋 2만 반영해야 한다고 해 봅시다. 이럴 때 쓸 수 있습니다. 간단하게 실습을 해 보도록 하겠습니다. 먼저 test1 브랜치에는 7cf2e113, 317e0554 순으로 커밋이 올라왔다고 하겠습니다. 7cf2e..는 1.txt에 Hi라는 것이 추가되었습니다. 다음에, 317e0..에는 2.txt에 Yabaeii라는 것이 추가되었습니다. 이제 우리는 test2라는 브랜치에, 반영되지 말아야 할 ..
다른 사람과 협업을 할 때, 충돌이 나는 경우가 적지 않게 있습니다. migration도 마찬가지입니다. 이러한 경우를 대비해서, 마이그레이션을 merge 할 수 있는 방법이 alembic에도 있습니다. 1.9.1 버전으로 실습하였으니 참고 부탁드립니다. 먼저, test1 브랜치에서, table a에 revision을 추가한 상태입니다. 다음에, test2 브랜치에서는 table b에 revision을 추가한 상태입니다. 마이그레이션이 충돌이 났습니다? 충돌이 났다는 의미는 여러 head가 있다는 의미입니다. branch가 여러 개 있다는 것입니다. 현재 제 상황입니다. merge를 했더니, 0002가 2개 들어온 상황입니다. 왠지 충돌이 일어난 듯 합니다? alembic branches 명령어를 입력해..
이번 시간에는 실행 중인 파이썬 프로그램에서 디버거를 호출하는 방법을 알아보겠습니다. pdb는 python debugger입니다. foo 함수 안에, import pdb와 pdb.set_trace()를 입력해 보겠습니다. 사실 저 두 줄이면 됩니다. 다음에, python main.py를 입력해서, main.py를 실행시켜 보겠습니다. 그러면, foo() 함수 안의 5번째 줄의 print(x)에 멈춰있음을 확인할 수 있습니다. 이 지점에서 호출했기 때문에, 디버거가 해당 지점으로 진입하게 됩니다. 그리고 pdb shell이 하나 나오게 됩니다. 이제 help를 입력해 봅시다. 여러 가지 명령어들이 있습니다. 저는 이 중에, 현재 위치의 stack trace를 보고 싶습니다. 이 때에는 where를 입력하면..
최근댓글