Node.js 비동기 처리 라이브러리: flowpipe

https://github.com/proin/flowpipe Async 라이브러리를 사용하다보면 루프 관리나 병렬 작업을 할 때 흐름을 제어하기가 어렵고, async 콜백 내부에 async를 여러번 사용해야하는데 기본적으로 함수가 배열 형태로 들어가기 때문에 async 한번당 기본으로 인덴트가 2번이 추가된다. 콜백 지옥을 피해가기위해 async를 사용하는데 async 콜백에서 async를 사용해야되는 경우에는 더 위험한 지옥에 빠지게되는 ...

Node.js로 Slack 봇 만들기

Node.js의 slack client 모듈을 사용하여 Slack Bot API 에 접근해서 리시버와 답장 기능을 구현하는 방법이다. 이 글에서는 복잡한 언어처리는 다루지 않고 기본적인 수준의 응답 처리만 구현하였다. 요즘 커뮤니티나 사내 메신저로 Slack을 많이 사용하는 것 같다. 카카오톡이나 다른 메신저는 API를 제공하지 않아서 봇을 만들기에 한계가 있는데 Slack에서는 공식적으로 봇을 지원해줘서 ...

Async를 사용하여 콜백 정리하기

Javascript의 비동기 콜백 함수를 사용하다보면 인덴트로 인해 코드가 복잡해지는 경우가 많이 있다. async 라이브러리를 통해서 비동기 콜백 함수를 정리하여 순차적으로 실행되도록 할 수 있다. 비동기 콜백이란? Javascript를 사용하다보면 비동기 콜백으로 인해 코드의 순서가 꼬이는 경우가 많다. Javascript의 비동기 콜백은 Java나 C 에서 Thread를 생성하여 메인 함수와 별도의 프로세스로 ...

WebdriverIO 를 사용한 웹 데이터 수집

웹 상의 데이터 수집 시 크롬, 사파리 등의 웹 브라우저를 WebdriverIO를 통해 제어하여 수집하는 방법을 소개한다. 사전지식 javascript jQuery Node.js Reference http://webdriver.io https://www.npmjs.com/package/selenium-standalone http://selenium-release.storage.googleapis.com/index.html Dependencies Selenium Standalone 설치 $ npm install -g selenium-standalone $ selenium-standalone install Nodejs 라이브러리 ...

파이썬 트위터 데이터 수집 및 유니코드 문자 한글 변환

아래의 코드는 트위터 스트림을 수집할 때 유니코드로 변환된 문자열을 한글로 변환시켜주는 예제이다. 사용된 파이썬의 버전은 3.5 이고 tweepy 라이브러리를 사용하였다. # -*- coding: utf8 -*- import tweepy consumer_key='your-consumer-key' consumer_secret='your-consumer-secret' access_token='your-access-token' access_token_secret='your-access-token-secret' auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, ...

Java 대용량 xml 파싱

최근 어떤 작업을 하면서 대용량 xml 데이터를 파싱할 일이 생겼었다. 여지껏 웹 상에서 xml 제공되는 API 와 RSS를 파싱한 적은 많았지만 GB 단위의 대용량 xml 파일은 다루어 본 적이 없었기 때문에 많은 생각을 해보았다. 이러한 데이터를 어떤 방식으로 다루면 좋을까 고민을 하다가 사용한 방법을 이 글을 통해 정리하였다. 인터넷 상에서 검색해보면 대용량 xml 파일을 파싱할 경우에는 ...