** 해당 글은 작성자의 주관적인 판단과 해석으로 점철되어 있으며, 정확한 정보가 아님을 기재함 **
프레임워크(Frame work)
: Application 개발 시 필수적으로 필요한 코드, 알고리즘, DB 연동 등의 구조를 제공. 프로그램의 뼈대를 제공한다고 이해하면 됨. 프레임워크를 이용해 코딩을 하고(살을 붇임) application 을 작성하는 것.
라이브러리(Library)
: Application 을 개발 할 때 필요한 기능들을 모아놓은 function(method) 의 집합. Framework 는 정해진 틀이 존재하며, 그 틀에 맞추어 개발자가 개발을 진행해야 한다면 Library는 정해진 틀이 없이 특정 기능을 하는 method 를 모아놓은, 말 그대로 libaray 같은 존재이기 때문에 사용자의 필요에 따라 호출하고 관리가 조금 더 자유롭다.
API(Application Program Interface)
: 일종의 Interface 서로 다른 목적으로 개발된 프로그램이나 라이브러리들에 존재하는 기능을 call 하기 위해 & 외부의 다른 application 에서 프로젝트(프로그램) 내의 Library 기능을 사용할 수 있게 하기 위한 것, Guideline.
Library 획득 시 (다운받거나, 불러오는 경우) API가 함께 오는 경우가 대부분이다. 해당 Library에 대한 명세서인 경우가 많은 듯 하다.
파싱(parsing) : 사전적 의미 >일련의 문자열을 의미있는 token으로 분해, 이들로 이루어진 parse tree 를 만드는 과정
간단히 언어변환 등으로 이해하면 될 듯
크롤링(crawling) : web 상에 존재하는 contents 를 수집하는 작업
-> html 페이지를 가져와서 html/css 등을 파싱하고, 필요한 데이터만 추출하는 기법
-> open api(Rest API)를 제공하는 서비스에 open api를 호출해서 받은 데이터 중 필요한 데이터만 추출하는 기법
-> Selenium 등 브라우저를 프로그래밍으로 조작해서, 필요한 데이터만 추출하는 기법
Selenium : web application 을 위한 테스팅 프레임워크. 자통화 테스트를 위해 여러가지 기능을 지원한다.
웹 사이트에서 각 조건이 충족되어야만 얻을 수 있는 데이터에 접근하는 것에는 한계가 있기 때문에 직접적으로 웹 사이트에 접근할 수 있도록 해주는 역할.
브라우저 제어기능을 통해 브라우저를 직접 동작시킬 수 있음 = javascript 등 비동기/조건 호출으로만 표시되는 컨텐츠를 즉시 가져올 수 있음
프리셋(preset) : 사전설정. 프로그램 용어로 사용될 때에는 프로젝트 설정 등에 사용되는 듯 하다. 이전 설정을 프리셋으로 저장 후 후에 다른 프로젝트를 진행(구축) 할 때 다시 활경을 설정 할 필요 없이 같은 설정으로 진행할 때 프리셋을 저장해놓는 등..
Connection Leak: DB 접근을 위해서 Connection Pool 자원을 사용하게 되는데, 이를 반납하지 않으면 사용 가능한 Connection Pool 이 줄어들게 되는 현상.
-> 본인 해석: 자원이 계속 낭비되는 상황, 이를 해결하기 위해서 DB 처리 후 connection 이나 cursor 를 close 해주는 절차가 필요함. Python 에서는 connection leak 를 막기 위해 try finally 구문 안에 with 문으로 cursor 를 등록 및 사용 완료 후 자동해제 되도록 코드를 구현한다는 듯 하다.
with conn.cursor() as curs: 처럼 with 문 내에서만 커넥션의 커서를 curs 로 등록하고 with 문이 끝나면 cursor 는 반납되는 듯