본문 바로가기

Developer

(52)
SQL 처리 과정과 I/O 1.1 SQL 파싱과 최적화 SQL : Structed Query Language SQL은 기본적으로 구조적(Structured)이고, 집합적(set-based)이고 선언적(declarative)인 언어 SQL 최적화 : DBMS 내부에서 프로시저 작성하고, 컴파일해서 실행 가능한 상태로 만드는 것 - SQL 파싱 파싱 트리 생성 : SQL 문을 이루는 개별 구성요소를 분석해서 파싱 트리 생성 Syntax 체크 : 문법 오류 없는지 확인 Semantic 체크 : 의미상 오류가 없는지 확인 - SQL 최적화 -> 옵티마이저 미리 수집한 시스템 및 오브젝트 통계정보를 바탕으로 다양한 실행 경로 생성 후 비교한다. -> 성능 결정의 핵심 엔진 - 로우 소스 생성 -> 로우 소스 생성기 SQL 옵티마이저가 선택..
[Python] 파이썬 CPU 확장 방법 2 (퓨처스) 이번 페이지에서는 CPU 확장 방법 중 하나인 '퓨처스'에 대해 설명한다. 멀티 프로세스와 멀티 스레드 관련 포스트는 이전 포스트를 참고한다. https://tttto-factory.tistory.com/7 파이썬 - CPU 확장 방법 1 (멀티 스레드, 멀티 프로세스) CPU 확장 이유? CPU 속도는 무한히 빨라질 수 없으므로, 애플리케이션에 동시성 + 병렬성 도입 CPU 확장 방법 1. 스레드 여러 함수를 동시에 실행하기에 좋다 싱글 CPU : 스레드 차례로 실행 멀� tttto-factory.tistory.com futures 사용하기 파이썬3 : concurrent.futures 모듈을 사용하면 비동기 작업 쉽게 처리 가능 파이썬2 : pip install futures명령으로, 파이썬 2에도 ..
[Python] 파이썬 CPU 확장 방법 1 (멀티 스레드, 멀티 프로세스) CPU 확장 이유? CPU 속도는 무한히 빨라질 수 없으므로, 애플리케이션에 동시성 + 병렬성 도입 CPU 확장 방법 1. 스레드 여러 함수를 동시에 실행하기에 좋다 싱글 CPU : 스레드 차례로 실행 멀티 CPU : 여러 CPU에서 스레드 실행 GIL의 제약으로 완벽한 확장 솔루션이 아님 import threading def print(line): print(line) # 스레드 실행 후 완료 대기 t = threading.Thread(target=print, args("multithread Hi",)) t.start() print("threading start") # 스레드 완료될 때까지 메인 스레드 대기 t.join() 스레드를 데몬으로 돌리면 백그라운드 스레드로 간주됨. 메인 스레드 종료 후 같이..
selenium 으로 크롤링 하기 - selenium의 기초 크롤러 만들기 Selenium이란? Selenium(셀레늄)은 웹 애플리케이션 테스트를 위한 포터블 프레임워크이다. 웹 크롤링을 할 때, 사용하기 편리하다. selenium을 설치하기 위해서는 두가지 방법이 있습니다. pip install selenium 위와 같이 cmd 창을 통해 해당 project가 생성되어 있는 폴더에 들어가서 설치하는 방법이 있다. [File]-[Settings]에 들어가면 위와 같은 창이 뜬다. 오른쪽에 +를 누른다. selenium을 검색해서 아래 Install Package 버튼을 눌러도 설치할 수 있다. https://sites.google.com/a/chromium.org/chromedriver/downloads 해당 사이트에 들어가면 설치할 수 있다. Current Releases라..