파이썬에서 현재 프로세스의 pid와 쓰레드의 id 값을 어떻게 얻어올까요? 이 방법을 알아보겠습니다. 명령어는 window에 설치된 WSL-2, ubuntu 22.04 버전에서 실행하였습니다. 먼저, os.getpid()로 현재 프로세스의 pid (process id)를 얻어올 수 있습니다. 실행해 보겠습니다. python3 test.py를 실행시켜 보니, 130이라는 값이 출력됩니다. pstree가 깔려 있다면, pstree -p로 부모 프로세스와 자식 프로세스들을 한눈에 볼 수 있습니다. python3(130)이라고 되어 있습니다. 이는 python3 프로세스의 pid가 130이라는 것을 의미합니다. ps -aux 명령어를 입력해 보겠습니다. python3 ~ COMMAND를 입력해서 실행시킨 프로세..
전체 글 검색 결과
장고에서 모델 column 속성을 바꿀 일이 제법 있었습니다. 그 중, varchar의 길이를 조절하는 것도 적지 않았습니다. 그런데, 따로 alembic에서 설정을 해 주지 않으면, String의 길이가 바뀐 것을 detect 하지 않습니다. 그래서, 당황할 수 있는데요. 어떻게 해결할 수 있는지 문서를 통해서 보도록 하겠습니다. 1.9.1 버전 기준으로 작성되었으니 참고 부탁드립니다. 먼저, 길이 제한이 200인 review 컬럼을 추가합니다. alembic으로 autogenerate 옵션을 주어서 마이그레이션 파일을 만들면, 아래와 같은 파일이 생성됩니다. 이는, alembic에서 컬럼이 추가되면 change detect를 했다는 의미입니다. 이는 문서의 Autogenerate will detect..
장고에서는 makemigrate와 migration으로 디비 스키마 구조가 바뀌었을 때 즉시 변경해서 배포할 수 있었습니다. fastapi에는 그런 기능이 없을까요? 검색해 보니 alembic 이라는 것이 있었는데요. 간단하게 세팅을 마쳐보도록 하겠습니다. 먼저 실습이 완료된 프로젝트 구조부터 보고 가겠습니다. 루트에 models.py, Dockerfile, docker-compose.yml, .dockerignore, requirements.txt, alembic.ini가 있습니다. 그리고 ddl, migrates, app 패키지가 있는 구조입니다. migrates 안에 어떤 것이 있는지 보겠습니다. versions를 담은 정보와 env.py, README, script.py.mako가 있습니다. ve..
안녕하세요. 이번 시간에는 make의 phony target과 .phony에 대해서 알아봅시다. Makefile에서 이런 것은 흔히 보셨을 거에요. clean 이라는 목표가 있고, 명령어로 rm *.txt를 수행합니다. 그리고 여태까지 이것을 목표 정도로 설명했을 거에요. 이 clean은 action이거나 파일일 수 있습니다. 여기서 하나 반전. 만약에 Makefile이 있는 위치에 clean 이라는 파일이 있으면 어떻게 될까요? clean이라는 파일을 생성했습니다. make clean을 실행했더니, 'clean' is up to date가 뜨게 됩니다. 그러면서 clean이 실행되지 않게 됩니다. 왜 그럴까요? 이 문제는 결론적으로 clean 이라는 파일 때문에 생긴 문제입니다. 그런데, 왜 up to..
특정 시간에 인증을 몇 회 했는지 어떻게 기록하면 좋을까요? 결론부터 말하면 redis의 sorted set을 이용하는 것도 좋은 선택이 될 수 있습니다. 저는 zadd 명령어를 이용해서 관리하는 방법을 보여줄 겁니다. 기본형은 zadd key score member입니다. key와 연관되는 sorted set에 점수가 score이고, 멤버가 member인 정보를 넣습니다. 어떤 정보를 넣으면 좋을까요? 어떤 시간에 발생한 이벤트의 경우, timestamp를 넣습니다. 이 timestamp를 메타 데이터에 저장하면 언제 이벤트가 발생했는지 알 수 있습니다. 제가 모의 코딩테스트에 절찬리에 출제했던 문제도 비슷한 방식으로 접근하면 됩니다. redis에서 sorted set은 1차 정렬 기준을 score, ..
최근댓글