- 멀티 프로세싱 & 멀티 스레딩 & 비동기 처리31514이 글은 파이썬에서 멀티 프로세싱, 멀티 스레딩, 비동기 처리를 적재적소에 사용하기 위해 각각의 개념과 적합한 경우를 알아보는 글이다. 멀티 스레딩멀티 스레딩은 하나의 프로세스 안에서 여러 개의 스레드를 동시에 실행하는 방식이다.스레드는 동일한 메모리 공간을 공유하지만, 독립적으로 실행될 수 있다. 멀티 스레딩은 주로 I/O 바운드 작업에 적합하다.I/O 바운드 작업은 네트워크 요청, 파일 읽기/쓰기 등을 말한다. 파이썬에서 멀티 스레딩이 CPU 바운드 작업이 적합하지 않은 이유는 GIL(Global Interpreter Lock) 때문이다.파이썬은 모든 것이 객체로 동작하고, 각 객체는 참조 횟수(Reference Count)를 저장하기 위한 필드를 가지고 있다.파이썬의 객체는 어디서 참조되느냐에 따..
- 2024-10-02 13:22:27
- 새로운 웹 크롤링 도구 Playwright31514최근 셀레니움을 사용해서 웹 페이지를 크롤링하던 중, 아래와 같은 문제에 부딪혔다.StaleElementReferenceException 오류로 인한 신뢰성 감소크롬 드라이버가 멈춰 무한루프에 빠지는 문제문제를 해결하기 위해 다음과 같은 과정을 수행했다.특정 요소가 로딩되는 시간을 명시적으로 지정하기time.sleep()을 사용하여 충분한 대기 시간 보장하기StaleElementReferenceException 오류가 발생하면 잠깐의 대기 시간을 갖고 재시도하기그럼에도 불구하고 코드의 실행 시간만 증가할 뿐 문제는 해결되지 않았다.계속해서 고민하던 중 "내가 너무 하나의 도구에만 의존하고 있는 건 아닐까?"라는 생각이 들었다.그 결과 도입한 도구는 Playwright이다. Playwright이란?Play..
- 2024-09-27 13:40:28
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)