파이썬에서 현재 프로세스의 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를 입력해서 실행시킨 프로세..
코딩 검색 결과
저번 시간에 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을 작성해 보겠습..
안녕하세요. 이번 시간에는 프로그램에 필수 인자와 선택 인자 옵션을 주기 위해 쓰는 argparse에 대해서 알아보고자 해요. 상당히 방대하지만, 필요하다 싶은 것만 빠르게 추려보도록 할게요. 먼저 예제 1번입니다. argparse.ArgumentParser()로 파서를 하나 생성합니다. 다음에, add_argument로 argument 2개를 생성할 거에요. a와 b입니다. 이 둘은 필수 인자들이 되겠습니다. 다음에, 6번째 줄에 parser.parse_args()로 들어온 인자들에 대한 정보들을 리턴하는데요. 이를 vars로 딕셔너리로 변환합니다. 7번째 줄에, 인자 "a"와 "b"에 들어온 수를 합해서, 결과를 출력해요. python main.py를 입력해 봅시다. 그러면, a와 b가 필요한데 없어..
postgres에서 enum 타입을 알아봅시다. 예를 들어, 유저 등급을 저장할 때 사용할 수 있습니다. rate_type을 저장하려고 합니다. rate에는 'bronze', 'silver', 'gold' 등이 있어요. 우리는 type enum을 생성할 건데요. 브론즈, 실버, 골드를 열거한 타입으로 생성할 겁니다. 이런 류는 등급 뿐만이 아니라 파일 타입 등을 저장할 때에도 쓰일 수 있습니다. 타입을 생성하는 CREATE TYPE 명령어를 쓸 건데요. enum으로 생성할 것이니, CREATE TYPE ~ AS ENUM ~ 구문을 써서 생성해 보겠습니다. 위 구문은, 타입 rate_type을 'bronze', 'silver', 'gold'를 열거한 타입으로 선언하는 것입니다. 이제, Data types을..
최근댓글