튜토리얼 139

빠르게 훝어 보는 node.js - #9 Socket.IO 1/4 - socket.io 기본 및 채팅 만들기

빠르게 훝어보는 node.js#9 - Socket.IO (1/4)조대협 (http://bcho.tistory.com) 웹의 발전과 함께, 클라이언트의 요청에 대해서 응답만을 하는 단방향성이 아닌 양방향성의 웹 사이트가 유행하게 되었는데, Socket.IO는 자바스크립트 모듈로, 양방향 통신이 가능한 웹사이트를 구축하기 위해서 HTTP 클라이언트로 푸쉬 메시지를 보내줄 수 있는 모듈이다. 넓은 브라우져 지원성과 사용의 편의성 때문에 널리 사용되고 있고, node.js가 인기 있어 지는 이유 중의 하나는 socket.io 때문이 아닐까 한다.배경Socket.io를 설명하기 전에, 웹에서의 푸쉬 개념에 대해서 이해할 필요가 있다. 웹은 기반적으로 클라이언트에서 서버로 가는 단방향성이지만, 채팅과 같은 실시간 ..

빠르게 훝어 보는 node.js - #8 mySQL 연동

빠르게 훝어보는 node.js#8 - MySQL 연동조대협 (http://bcho.tistory.com) NoSQL이 근래에 유행이기는 하지만, 데이터간의 관계를 표현하고, 트렌젝션에 일관성을 보장하는 RDBMS는 아직까지는 서버쪽에서는 필수적이다. node.js는 대표적인 오픈소스 RDBMS인 MySQL은 지원한다. 몇가지 MySQL연동 모듈이 있기는 하지만, 여기서는 가장 많이 사용되는 node-mysql 모듈에 대해서 소개하고자 한다.node-mysql은 오픈소스로 https://github.com/felixge/node-mysql 에 코드가 공개되어 있다.mysql 모듈을 사용하려면 npm install mysql 명령을 이용하여, node-mysql 모듈을 설치하자.mysql에 대한 설치와 사용..

빠르게 훝어 보는 node.js - #7 mongoose ODM 을 이용한 MongoDB 연동

빠르게 훝어보는 node.js#7- mongoose ODM 을 이용한 MongoDB 연동조대협 (http://bcho.tistory.com) 계정본이 http://bcho.tistory.com/1094 올라와 있습니다. Mongoose ODM을 이용한 MongoDB의 연동Mongoose는 MongoDB 기반의 nodejs용 ODM (Object Data Mapping) 프레임웍이다. 앞에서 mongo-native에 대해서 알아봤는데, 그렇다면 mongoose는 무엇인가? 쉽게 생각하면 mongo-native는 JDBC 드라이브러를 이용한 데이타 베이스 프로그래밍이고, mongoose는 자바의 JPA/Hibernate/MyBatis와 같은 OR Mapper와 같은 개념이다. 즉 mongodb 내의 데이타를..

빠르게 훝어 보는 node.js - #6 MongoDB 연동 (mongo-native)

빠르게 훝어보는 node.js#6- mongo-native 모듈을 이용한 MongoDB 연동조대협 (http://bcho.tistory.com 아래 글은 오래되서 monk를 이용한 방식으로 새로운 글을 작성하였습니다.새 글은 node.js 4.x , express 4.x 에서 기동하도록 작성되었습니다.링크 : http://bcho.tistory.com/1080Persistence 연동node.js는 DB나 NoSQL등의 연동을 지원하는데, 이 역시 철저하게 non-blocking io 방식으로 동작한다. 즉 db 연결 socket을 열어서 query를 던져놓고, query 결과가 오면 이벤트를 받아서 callback 함수로 처리하는 순서이다.그러면 여기서는 몇가지 persistence 연동 방식에 대해서..

빠르게 훝어 보는 node.js - #5 웹개발 프레임웍 Express 2/2

빠르게 훝어보는 node.js#5 - Express 2/2조대협 (http://bcho.tistory.comFile upload 및 download 처리Express는 파일 업로드 기능을 제공한다. Express 의 경우, 파일을 tmp directory에 업로드한후, 업로드가 끝나면 이벤트를 주는 형태이다. 그래서, 파일 업로드가 끝나면 파일 저장 디렉토리로 옮겨 줘야 한다. 그러면 간단하게 코드를 살펴보자. express에서 업로드되는 file stream은 multipart 형태로 업로드가 된다. 이 multi part request stream을 인식하려면, express세팅에 bodyParser 미들웨어를 사용함을 명시해줘야 한다.var app = express();app.use(express...

빠르게 훝어 보는 node.js - #4 웹개발 프레임웍 Express 1/2

빠르게 훝어보는 node.js#3 - Express 1/2조대협 (http://bcho.tistory.comExpressnode.js는 여러 종류의 웹 개발 프레임웍을 제공한다.얼마전에 Paypal이 내부 시스템을 대규모로 node.js로 전환하면서 오픈소스화한 KarkenJS나 Meteo 등 여러가지 프레임웍이 있는데, 그중에서 가장 많이 사용되는 프레임웍 중하나인 Express에 대해서 설명하고자 한다.Express는 웹 페이지 개발 및 REST API 개발에 최적화된 프레임웍으로 매우 사용하기가 쉽다.프로젝트 생성먼저 express module을 npm을 이용해서 설치한 다음 express 프로젝트를 생성해보자.% express --session --ejs --css stylus myapp명령을 이..

빠르게 훝어 보는 node.js - #3 Event,Module,NPM

빠르게 훝어보는 node.js#3 - Event,Module,NPM조대협 (http://bcho.tistory.com비동기 이벤트 프로그래밍기존의 프로그래밍 언어들은 일반적으로 함수를 부르는 형태의 프로그래밍 구조를 가지고 있다. 이를 procedural programming model이라고 하는데, 코드가 순차적으로 실행되면서 함수를 호출하는 식의 구조를 가지고 있기 때문에 코드를 보면 코드의 수행 순서를 예측할 수 있다. node.js는 event driven programming 이라는 개념을 가지고 있는데, 이 개념은 특정 이벤트가 발생되면 미리 이벤트에 맵핑된 함수가 실행되는 형태이다. 즉 해당 함수가 언제 호출 되는지를 예측할 수 가 없다.var callback = function(data){..

Selenium 테스트 메모

Firefox selenium IDE를 이용하여 Record 가능. 간단하게 IDE내에서 Command 추가등도 가능아래는 네이버에서 "조대협" 으로 검색하여, 검색 결과에 "조대협의 블로그" 문자열이 나오면 성공하는 테스트 케이스 작성 완료후 Export하면Java/JUnit 3,4 , Test NGRuby,Python,C# 등으로 TG Export 가능 아래는 JUnit4로 Export한 소스 코드 package com.example.tests; import com.thoughtworks.selenium.*;import org.junit.After;import org.junit.Before;import org.junit.Test;import static org.junit.Assert.*;import ..

ALM/Test Automation 2013.12.24

Django Hello World

http://www.djangobook.com/en/2.0/chapter03.htmlDjango 설치후 django-admin.py startprojec Yurryt로 사이트 만들고 (Yurry 라는 프로젝트가 만들어짐)※ 참고 : Yurry 디렉토리안에는 urls.py, settings.py,_init_.py 등의 파일이 들어 있음. ../Yurry에 manage.py 파일등이 들어 있음Yurry/views.py 라는 파일을 만듬from django.http import HttpResponse def hello(request): return HttpResponse("Hello world")간단하게 Hello World를 Print Out하는 코드그 다음 Yurry/urls.py에from django.c..