개발(10)
-
[Crawler] Selenium으로 Everytime 크롤링하기
친구의 학부논문 연구를 도와주기 위해 웹 크롤링을 사용할 일이 생겨서 Selenium을 사용한 크롤링 개발 후기를 포스팅하게 되었습니다. 크롤링(Crawling)이란, 인터넷상에서 방대한 정보들 중 원하는 정보들을 분석하기 쉬운 형태로 수집하는 것을 의미하며 크롤링을 위해 웹 페이지를 돌며 자료를 수집하는 프로그램을 크롤러(Crawler)라고 합니다. 연구 주제가 '인스타그램과 에브리타임 등 인터넷 플랫폼에서 나타나는 종결어미의 형태변이'에 관한 것이기 때문에 이번에 제작한 크롤러는 에브리타임을 크롤링하며 사람들의 대화 목록들을 수집하고 딥러닝 프레임워크를 이용해서 이를 분석하여 형태 변이가 일어난 종결어미를 포함한 문장들을 필터링하여 텍스트 파일로 저장하는 역할을 수행합니다. 인스타그램을 이용한 크롤러..
2020.05.10 -
HTTPS란
이 포스팅은 HowHttpsWorks를 정리한 글임을 서두에 밝힙니다. HTTP는 HyperText Transfer Protocol의 약어로, 인터넷에서 HTML, JSON, XML 등 텍스트 기반의 데이터를 주고받을 수 있는 프로토콜을 의미합니다. HTTP가 등장하면서 웹도 덩달아서 빠르게 발전하게 되었는데 이에 따라 도청, 중간자 공격 등 여러 보안 문제들이 발생하게 되었습니다. 이를 해결하기 위해 등장한 프로토콜이 이번 포스팅에서 설명할 HTTPS(HTTPS + Secure)입니다. 어떤 사이트에 접속했을 때, 브라우저의 URL표시 줄에 위의 그림처럼 녹색 자물쇠가 나타나는 경우가 있습니다. (브라우저마다 다르지만, 대체로 잠겨있는 자물쇠가 같이 표시됩니다.) 이는 브라우저와 해당 사이트를 호스팅 ..
2020.05.05 -
[SVM] SVM으로 MNIST 분류하기
서포트 벡터 머신(Support Vector Machine: 이하 SVM)은 Classification 문제에서 결정 경계(Decision Boundary)를 효율적으로 찾는 방법을 제공합니다. 즉, 아래 그림과 같이 두 클래스(빨강, 초록)로 분류될 수 있는 데이터 셋이 있다고 했을 때, 이 데이터셋을 가장 잘 구분 짓는 경계선(실선)을 찾는 것입니다. 이번 포스팅에서는 SVM을 이용해서 MNIST Dataset Classification을 개선해보려 합니다. (Application에 관한 글이므로 SVM의 수학적 원리와 기타 증명 과정은 생략하였습니다.) 지난 MNIST 포스팅 에서는 Random Forest를 이용해 간단한 MNIST 분류 모델을 만들었습니다. 이번에는 SVM을 이용해서 MNIST ..
2020.04.18 -
CORS 란
Cross Origin Resource Sharing CORS는 Cross-Origin Resource Sharing의 약자로 W3C에서 서로 다른 Origin에서 리소스(Resource)를 공유할 수 있도록 하기 위해 내놓은 정책입니다. 서로 다른 Origin 이라는 것은 도메인 혹은 포트가 다르다는 것을 의미하므로 서로 다른 도메인 주소 사이에서 데이터(예를 들면 API요청, 응답)를 주고받을 수 있도록 하기 위한 정책이라고 할 수 있습니다. CORS이 등장하게 된 이유는 Same-Origin Policy (동일 출처 정책) 때문입니다. Same-Origin Policy는 어떤 출처에서 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용하는 것을 제한하는 보안 방식을 의미합니다. 간단히 ..
2020.04.04