반응형

Programming 164

[Web] React 시작하기

React app을 생성하기 위해서는 아래 커맨드만 입력하면 자동으로 생성을 해준다. 프로젝트를 처음 시작할때 생성하면, 최근 javascript features, development environment를 쉽게 설정할 수 있다. $ npm install -g create-react-app $ create-react-app hello-world $ cd hello-world $ npm start 을 실행하면 웹페이지가 열리면서 프로젝트가 시작된다. javascript에서 package의 dependencies를 관리하기 위해서는 npm이 필요하지만, 최근에는 yarn 이라는 package manager를 더 많이 사용한다. yarn에 대해서는 아래를 참고하면 된다. 간단하게 설명하면 npm보다 빠른게 ..

Programming/Web 2017.02.07

[Python] stdin, stdout, pipeline 이용해 데이터 처리하는 방법

stdin과 stdout을 이용해서 데이터를 파이핑할 수 있다. 파일에 숫자가 포함된 줄이 몇개나 있는지 확인하는 방법 $ cat SomeFile.txt | python egrep.py “[0-9]” | python line_count.py 문서의 단어를 모두 세어 보고 가장 자주 나오는 단어를 출력해주는 코드 $ cat the_bible.txt | python most_common_words.py 10 [참고] 밑바닥부터 시작하는 데이터과학

Programming/Python 2017.02.07

파이썬으로 HTML 파싱하기

웹페이지는 HTML로 작성이 되어있고, HTML은 element와 attribute로 구성되어 있다. HTML에서 ‘id가 foo인 요소에 포함되어 있는 텍스트를 가져와’라는 규칙으로 필요한 정보를 추출할 수 있다. 하지만 실제로 제대로 된 형태를 갖추지 못했기 때문에 HTML의 요소를 tree 형태로 변환해서 쉽게 접근이 가능하게 해주는 BeautifulSoup라이브러리를 사용하면 쉽다. 파이썬에서 HTML을 파싱하기 위해서는 BeautifulSoup, requests, html5lib이 필요하다. 파이썬에서 기본적으로 제공하는 라이브러리인 HTML parser는 완벽한 HTML 구조가 아니면 제대로 작동하지 않기 때문에 html5lib이 필요하다. $ pip install beautifulsoup4 ..

Programming/Python 2017.02.07

[데이터과학] 데이터 수집하는 방법 (예제: 오라일리의 데이터 관련 책) - 페이지 스크랩, 정책

오라일리 출판사 페이지 웹페이지를 분석해서 데이텀의 잠재적 투자자가 데이터 분석은 의미없는 유행에 불과하다는 생각이 틀리다는 것을 증명해보도록 하자. http://shop.oreilly.com/category/browse-subjects/data.do?sortby=publicationDate%page=1 의 주소를 확인해보면 페이지당 30권씩 책이 표시되고 있는것을 확인 할 수 있다. 악의적으로 사이트에 접속하는 것이 아니거나, 웹 스크래퍼가 차단당하는 것을 원치 않는다면 가장 먼저 사이트의 접근 정책을 확인해야 한다. http://oreilly.com/terms/ 크롤러(스크래퍼)가 어떻게 작동해야 하는지 규제하고 있는 robots.txt를 확인해보면 된다. Crawl-delay: 30 Request-..

Programming/Python 2017.02.07

Swagger UI 설치 및 실행 방법

Swagger UI를 사용하기 위해서는 install이 필요없이 build또는 recompile을 해야합니다. Github 주소에 접속해서 swagger-ui 코드를 clone이 가능합니다. Swagger UI 코드 가져오기 github 주소 - https://github.com/swagger-api/swagger-ui $ git clone https://github.com/swagger-api/swagger-ui.git 사용하는 방법 nodejs 4.0 이상을 설치해야 합니다. $ cd swagger-ui $ npm install $ npm run build $ npm run serve 을 실행하면 서버가 실행된다. http://localhost:8080/ 으로 접속이 가능하다. Docker에서 실행하..

Programming/기타 2017.02.07

[Scala] Java List를 Scala List로 변경하기

들어가며: Scala가 좋은게 java의 기존 라이브러리를 그대로 전부 사용이 가능하다는게 장점이다. 기존에 java로 구현이 많이 되어 있는데, 해당 라이브러리를 scala로 모두 변경해야 한다면, 정말 너무 슬프다. 하지만 아무래도 scala에서 지원하는 collection과 java에서 지원하는 collection의 함수가 다르기 때문에, scala의 함수도 익숙해질겸 변경이 가능하면 변경해서 사용하려고 했다. 해결하고 싶었던 문제는 java.util.list.List[String]에 있는 String의 리스트를 하나의 String으로 변경시키고 싶었다. 자바 8이상에서는 String.join(“”, list)를 하면 쉽게 변환이 가능하다. 파이썬에서 이처럼 사용했었는데, 자바도 지원을 해준다. 하..

Programming/Java 2016.11.08

[Python] Pillow를 이용한 이미지 분석 with Jupyter(IPython Notebook) 확인하는 방법

들어가며: Pillow는 이미 유명한 파이썬 이미지 분석 라이브러리 입니다. 이미지 파일을 읽어 resize, scale 등 다양한 작업을 할 수 있습니다. 이번에는 pillow를 이용해 이미지를 처리하는 내용보다는 image분석을 위해서 사용하는 IPython Notebook인 Jupyter에서 이미지를 그래프 형태로 변환해서 화면에 출력을 하는 예제를 살펴보겠습니다. Pillow에서 읽어들인 이미지의 변화를 확인하고 싶을때, 항상 이미지를 창에 띄우는 방법도 있지만, Jupyter에서 처리하게 될때 이미지가 matplotlib의 차트처럼 나오면 이미지 처리의 전후를 확인할 수 있습니다. 사용하기: 필요한 라이브러리는 통계분석을 할때 자주사용하는 matplotlib, numpy가 필요하다. 코드에 대해..

Programming/Python 2016.11.08

[Python] argparse를 이용한 입력 파라미터 받는 방법

들어가며: 모든 언어를 사용하다 보면, 실행시에 파라미터를 입력받아서 처리하는 로직을 구현해야하는 경우가 많다. 자주사용하기 때문에 최초에 한번 나만의 모듈을 만들어놓고, 그대로 계속 재활용해서 사용하면 좋다. 물론 내가 sys.argv[0], sys.argv[1]의 들어온 값을 파싱해서 사용해도 되지만, 파이썬의 장점인 패키지가 많은것을 활용하는게 좋다고 생각한다. 이번에 소개할 내용은 argparse를 이용해서 매개변수를 입력받는 방법이다. argparse는 내가 입력하는 parameter의 옵션과 값을 입력받아줄 뿐만 아니라 help도 지원하니 개발자도, 사용자도 쉽게 사용을 할 수 있도록 되어 있다. 보통 우리가 커맨드창에 -h 옵션을 줘서 optional arguments를 확인을 할 수 있도록..

Programming/Python 2016.11.08

[javascript] js.cookie를 이용한 오늘 하루 열지 않기 팝업 구현하기

들어가며: 모든 사이트에 하나씩은 있는 팝업을 구현하는 방법에 대해서 설명을 하려고 합니다. 팝업을 열어주는 방법은 매우 간단하게 구현이 가능하지만, 오늘 하루 열지 않기, 하루 동안 열지 않기를 구현하기 위해서는 쿠키(cookie)를 사용해야 합니다. 쿠키는 간단하게 말하면, 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버에서 인터넷 사용자의 컴퓨터에 설치하는 작은 기록 정보 파일을 말합니다. 사용자의 접속을 기록으로 남길 수 있고, 사용자가 방문한 시간으로부터 30초, 10분 등 다양하게 쿠키를 저장하고, 만료(expire)를 시킬 수 있습니다. 만료를 시킨다는 내용은 그 시간 이후에 이 쿠키파일을 없애겠다 라는 말입니다. ..

반응형