전체 글 106

나만의 코드 규칙 정립

요약 코드 규칙파이썬에서 네이밍 컨벤션(변수 이름) PEP 8 으로 한다.타입헌팅을 통해 선언해, 가독성, 유지보수 높인다.변수 어노테이션 통해 선언해, 가독성, 유지보수 높인다.PEP 8자세한 내용 : https://peps.python.org/pep-0008/들여쓰기 규칙은 VS코드 쓰면 자동으로 조정됨코드 작성 후 black, YAPF 모듈을 통한 자동 수정pip install blackblack your_script.py타입헌팅파이썬은 자료형을 선언 안해도 되는데, 자료형을 선언하는걸 타입헌팅이라고 함함수 타입헌팅 (PEP 484) 변수 어노테이션(PEP 526) 정적 타입 검사 도구(MyPy 등)와 통합하여 코드에서 타입 관련 오류를 미리 발견할 수 있습니다변수 이름 규칙경로 변수는 앞에 pa..

도커 컨테이너에서 외부 셀레니움 실행 3

목표저번까지는, 예제 코드를 실행시켰는데, 실제 셀레니움 코드를 실행 시켜보자.과정처음 dag 코드 실패(그런데 vscode에서 실행했을땐 동작했었다 ;;)run_external_script = SSHOperator( task_id='run_external_script', ssh_conn_id='ssh_default', command='python C:\\script\\my_script.py' )외부의 스크립트를 실행한거라 오류 내용이 출력이 안됨. 따라서 오류 로그를 출력하는 메모장을 추가"python C:\script\my_script.py > C:\script\log.txt" : 우선 my_script.py를 실행하고 그 출력내용을 log.txt로 보내"2>&1" : (..

스레드와 프로세서의 구조적 차이

배경병렬 연산을 하기 위해 알아보다가 파이썬 모듈인 ProcessPoolExecutor , ThreadPoolExecutor를 알게됨처음에 의도한 병렬 연산은 ProcessPoolExecutor 였고, ThreadPoolExecutor은 i/o작업에 특화됐다는걸 알수있었다.이런 용도의 차이를 만들어 내는 구조적 차이를 알고자 한다. 용어정리프로그램프로그램이 실행되면 프로세스 인스턴스가 생성된다. 인스턴스가 생성된다는 의미는 프로그램 실행에 필요한 내용이 컴퓨터 메모리(Ram)에 적재된다는 뜻이다.프로세스: 메모리에 적재되고 CPU 자원을 할당받아 프로그램이 실행되고 있는 상태, 여러 크롬창중 하나를 닫으면 프로세스 하나가 닫힌다.스레드의 탄생 : 프로세스 하나만을 사용하기 때문에 다운이 완료될때까지 하루..