venv 명령어
1 | $python -m venv venv # venv이름으로 가상환경 생성 |
pip 명령어
pip는 Python의 패키지 매니저로, 외부 패키지나 라이브러리, 프레임워크를 설치하고 관리할 수 있도록 도와준다.
1 | $pip install pip --upgrade # pip upgrade |
설치된 페키지를 text로 보내고 설치하기(협업)
1 | $pip freeze > requirements.txt # requirements.txt 파일에 설치된 패키지 리스트를 파일로 뽑아내기 |
1 | # python version: 3.8.1 |
CPU 바운드, I/O 바운드, Blocking
바운드
바운드란 장애물에 막혀서 실행이 되지 않는 상태를 말한다.
CPU 바운드
프로그램이 실행될 때 실행속도가 CPU 속도에 의해 제한되는 것을 말하며, 복잡한 수학 수식을 계산하는 경우, CPU의 연산 작업에 의해 프로그램이 실행될때 실행속도가 느려지거나 멈춰있는 되는 현상이 발생하게 되는데, 이를 CPU 바운드라고 한다.
I/O 바운드
프로그램이 실행될 때 실행속도가 I/O에 의해 제한되는 것을 말하며, 프로그램에서 사용자의 입력을 기다리기 위해 프로그램이 멈춰있는 경우가 발생하는데, 이를 I/0 바운드라고 한다.
Network I/O 바운드
사용자로부터 입력을 기다리기 위해 프로그램이 멈추는 것이 아닌, 외부 서버에 요청을 하여 응답을 기다리는 경우에도 프롤그램이 멈춰있는 현상이 발생하는데, 이를 Network I/O 바운드라고 한다.
Blocking
바운드에 의해 코드가 멈추게 되는 현상이 일어나는 것을 블로킹이라고 한다.