MySQL Random Data Selection from Table

In this article, introduce how to extract random data effectively from MySQL table. Many solutions in stackoverflow are very slow or inefficient. Select Random Id SELECT ROUND(RAND()*(SELECT COUNT(*) FROM table_name)) AS id; At first, we can create random id which is in your table table_name. Select Random Id List And then, by using this, SELECT ROUND(RAND()*(SELECT COUNT(*) FROM table_name)) AS id FROM table_name LIMIT 100; We can get 100 random id from this SQL. If you want to get ...

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 스크립트를 호출하는데 ...

우분투 NFS 서버 설치 및 Xen 서버 NFS ISO Library

NFS는 Network File System의 약자로 클라이언트에서 네트워크 상의 파일을 파일시스템처럼 마운트하여 접근 할 수 있게 해주는 시스템이다. Xen을 통해 서버를 가상화하여 사용하다보면 Xen 서버 운영체제에 할당되는 스토리지가 작아서 별도의 usb 등을 통해 iso를 관리하여야하는데 nfs를 사용하면 편리하다. NFS 서버 설치 및 설정 먼저 NFS 서버로 사용할 서버를 준비한다. 본 글에서는 ...

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

워드프레스 Syntax Highlighter

https://highlightjs.org/static/demo https://wordpress.org/plugins/wp-code-highlightjs Wordpress로 개발 관련 블로그를 운영하다보면 코드를 좀더 예쁘게 보이도록 하고싶은 생각이 든다. 다양한 Syntax Highlighter 플러그인이 있지만 그중에 만족스럽게 사용할 수 있는 것을 찾기는 상당히 힘들었다. 블로그 테마와 취향별로 원하는 것을 찾기엔 상당히 어려운 듯하다. Highlight.js Highlight.js는 최근에 ...

Gulp를 사용한 빌드 자동화

jade, less, coffeescript 등을 사용하여 프로젝트를 진행할 때 각 파일들을 일일이 컴파일하기는 상당히 귀찮다. gulp로 빌드 자동화를 하여 프로젝트를 진행하면 훨씬 수월하게 작업이 가능하다. https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md http://programmingsummaries.tistory.com/356 Gulp 설치 gulp를 사용하기 위해서는 npm을 통해 gulp-cli를 전역으로 설치하여야 한다. 만약 gulp-cli가 ...

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 라이브러리 ...