Node.js Async & Await를 활용하여 콜백 탈출하기

Javascript로 프로그래밍을 할 때 가장 골치인 것이 비동기 콜백 함수를 사용할 때이다. 비동기 함수가 유용할 때도 있지만, 크롤링 등의 작업을 할 때는 순차적으로 프로세스를 진행해야하는데 비동기 함수로 인해 코드 리딩이 어려워진다. Node.js 버전 7부터는 Async/Await 기능이 추가되어 이러한 비동기 콜백 문제를 직관적으로 해결 할 수 있게 되었다. 관련 키워드: Node.js, Async/Await, ...

Javascript Promise 객체 활용 – Value 처리

Javascript 코딩을 할 때 Promise를 사용하여 비동기 함수를 체계적으로 활용 할 수 있다. Promise를 잘 사용하면 Async 보다 깔끔하게 코드 정리가 가능하다. 예제 코드는 여기에서 확인 할 수 있다. Promise 객체 new Promise()를 선언할 때 지시된 함수가 실행되기 때문에 Promise 객체는 함수로 Wrapping 하여 사용한다. 'use strict' let add = (arg1, arg2)=> new Promise((resolve)=> { setTimeout(()=> { console.log('add ...

How to Manage Visitor Log in Express.js

example code in here Overview Pre Install lwot saturn Define Libraries // visitor count example // use '127.0.0.1:port' for this app // this app didn't save log, if you want to maintain the log, you must have to save the log as file or database. const moment = require('moment'); const express = require('express'); const expressLess = require('express-less'); const jade = require('jade'); const app = express(); // express middleware const session = require('express-session'); const ...

Mecab 형태소 분석기 설치 및 Node.js mecab-ffi

Mecab 설치 Download 경로 - https://bitbucket.org/eunjeon/mecab-ko/downloads - https://bitbucket.org/eunjeon/mecab-ko-dic/downloads 위의 다운로드 경로에서 mecab 라이브러리와 한국어 사전의 최신버전을 다운받아 압축을 푼다. $ wget https://bitbucket.org/eunjeon/mecab-ko/downloads/mecab-0.996-ko-0.9.2.tar.gz $ wget https://bitbucket.org/eunjeon/mecab-ko-dic/downloads/mecab-ko-dic-2.0.1-20150920.tar.gz $ tar xvf mecab*.tar mecab-ko build $ cd mecab-[version] $ ...

Electron 시작하기

Electron은 Node.js 기반으로 작성된 데스크탑 어플리케이션 제작 프레임워크이다. Electron으로 데스크탑 어플리케이션을 만들기 위해서는 Node.js에 대한 이해와 HTML, Javascript, CSS 에 대한 지식이 필요하다. Electron 프로세스 구성 Electron의 프로세스는 메인 프로세스와 렌더러 프로세스로 구성된다. Electron이 실행될 때 Node.js로 동작하는 package.json에 기술된 main 스크립트를 호출하는데 ...

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에서는 공식적으로 봇을 지원해줘서 ...