All
-
8장 MeanStack 의 또 다른 조각 MongoDB 를 알아보자MeanStack (deprecated) 2016. 6. 13. 21:53
이번엔 MeanStack 의 또 다른 조각인 mongoDB에 대하여 알아보자. 1장에서 MongoDB를 설치하며 기본적인 사용법은 알 수 있었지만, 이번에는 제대로 동작방식 까지 알아보자. 먼저 흔히 알고 있는 관계형데이터베이스 (RDBMS) 들과 기본적인 차이점을 알아보자면 기본적으로 RDBMS는 데이터는 다양한 테이블에 저장된다. 나중에는 몇몇 계층적인 객체 표현으로 데이터를 배열할 목적으로 다양한 SQL 문을 사용해 모델을 재 구성 할 것이다. 하지만 문서중심 데이터베이스는 다르게 처리한다. 기본적으로 키 - 값 으로 이루어진 저장소 솔루션이며 JSON 이나 XML 같은 표준 형태로 계층적인 문서를 저장한다. 이를 이해하기 위해 간단항 예를 들면, 기본적인 블로그 글을 예로 살펴보자. 기존 RDBM..
-
7장 express 를 활용한 session 처리MeanStack (deprecated) 2016. 6. 12. 00:08
이번엔 빠르게 express 를 이용한 session 처리를 알아본다. HTTP는 비연결 지향형 프로토콜이기 때문에 사용자가 요청한 웹 파일의 전송이 끝나면 연결이 끊겨 버린다. 이는 웹서버가 모든 HTTP 요청을 독립적으로 처리하는 것 이므로, 만약 session 정보가 없다면, 요청이 올 때마다 이전 요청에 대한 정보는 전혀 남아 있지 않기 때문에 , 어떠한 서비스에 로그인을 해서 해당 사용자의 정보를 정보를 유지하며 그에 맞는 서비스를 제공하기 위해서는 session 처리는 필수적인 요소이다. session은 웹 서버에서 접속자들의 정보를 구별하는 식별키라고 보면 된다. 사용자가 웹 서버에 HTTP 프로토콜로 웹페이지를 요청 할 때 서버는 해당 접속자에 관한 식별키를 쿠키 형식으로 사용자의 컴퓨터에..
-
6장 express 정적파일 컨트롤 + 뷰시스템 (ejs)MeanStack (deprecated) 2016. 6. 10. 22:17
web application 이라면 당연히 다양한 뷰를 선보여야 한다. 텍스트만 딸랑나오는 web 이라면 누구나 바로 흥미를 잃어 버릴 것 이다. 그래서 이번엔 express 환경에 뷰 시스템을 붙여보자. 원래라면 angular.js 를 붙여야 하지만 , 그건 나중에.. 일단은 기본적인 html 을 붙여보자. express 에서 뷰를 생성하는 메소드는 2개가 있다. app.render() 는 뷰를 생성 하기 위해 사용되며, 콜백 함수에 HTML 을 전달한다. 그리고 또 한가지 res.render() 는 뷰를 지역적으로 생성하며, 응답으로 HTML 을 전송한다. 흔히 HTML을 응답으로 받기를 원하기 때문에 res.render() 를 더욱 자주 사용한다. express 에는 유명한 HTML 템플릿 엔진으로..
-
5장 express 추가 구성, 다양한 환경 대응MeanStack (deprecated) 2016. 6. 8. 23:55
이번엔 express 를 제대로 활용하기 위한 외부모듈 추가와 다양한 환경에서 다르게 동작하게 하기 위한 환경을 구성을 해본다. 예를 들면 개발환경에서는 logger 를 보기 원하지만 상용환경에서는 logger 가 필요 하지 않고 응답데이터를 압축하여 조금 더 빠른 환경을 원할 수 있다. 이를 구분하기 위해서 process.env 속성을 사용한다. process.env는 전역 변수이며, 미리 정의된 환경변수에 대한 접근을 허용한다. 가장 일반적인 환경 변수는 NODE_ENV 이다. 사용하면서 알아보자. 이를 위해 추가로 설치 할 모듈은 morgan, compression, body-parser, method-override 이다. package.json 이 있는 폴더로 가서 cmd 창을 열자. npm i..
-
4장 express 를 활용한 Routing 처리MeanStack (deprecated) 2016. 6. 8. 00:55
이번엔 express 모듈을 활용한 요청 라우팅 처리를 해보자. 사용자가 들어오는 주소에 따라 다양한 응답을 선보일려면 라우팅처리는 필수이다. 먼저 코드를 보자. app.get('/', function(req,res) { res.send('This is a GET') }) app.post('/', function(req,res) { res.send('This is a POST') }) 위 코드는 get 과 post 로 들어오는 요청에 대한 미들웨어 함수를 수행한다. 여기서 express 는 아래와 같이 미들웨어를 연쇄 형태로 만들 수도 있다. app.route('/').get(function(req,res) { res.send('This is a GET'); }).post(function(req,res)..
-
라즈베리파이, 초음파 센서를 이용한 출입 감지 (2)Raspberry Pi (deprecated) 2016. 6. 7. 15:00
(1) 에 이어서 이번엔 초음파 센서를 사용할 코드를 짜보자. 본 코드는 node.js 로 만들었기 때문에 node.js 가 설치되어 있어야 한다. Raspbian 에서 node.js 를 설치하는 법은 https://blog.wia.io/installing-node-js-v4-0-0-on-a-raspberry-pi 를참고해서 설치하도록 하자.(코드가 많아서 적기 귀찮아 스샷으로 대체 함....ㅠ) 설치가 되었다면 간단한 모듈화를 위해 먼저 초음파 센서 알고리즘 코드를 넣을 폴더를 만들자.본인은 wave_distance 라는 폴더를 만들고 그 안에 wave_distance.js 라는 파일을 만들었다. 코드를 작성하기전 외부 모듈의 도움을 받으면 조금 더 손쉽게 코드를 작성할 수 있는데 본인이 받은 모듈은 ..
-
라즈베리파이, 초음파 센서를 이용한 출입 감지 (1)Raspberry Pi (deprecated) 2016. 6. 7. 12:01
라즈베리파이와 초음파 센서 키트를 가지고 간단하게 사람의 출입을 감지하는 기계를 만들어보자.여기서 적외선 감지 센서가 있는데 굳이 초음파 센서를 사용한 이유는 현재 라즈베리파이 센서 키트에 포함되어있는 사진의 요놈 같은 경우 한번 감지 한 후 딜레이가 너무 크다. (다시 감지하는데 대략 10초정도의 딜레이가 있다.)하지만 초음파 센서 같은 경우 딜레이 없이 엄청나게 빠른 감지효과를 보여주기에 적외선 센서보다는 초음파센서를 활용하여 만들게 되었다. RaspberryPi 는 영국의 라즈베리파이 재단이 만든 신용카드 크기의 싱글 보드 컴퓨터이다. 작은 크기로 인해 휴대성이 좋고, 4개의 USB 포트와 (Raspberry pi 2 기준) HDMI 지원으로 모니터 뿐만 아니라키보드 , 마우스와 연결하여 사용이 가..
-
3장 - express 를 활용한 Node.js 시작하기MeanStack (deprecated) 2016. 6. 7. 00:58
* Express 를 활용하여 Node 서버 만들기 Node.js 에서 Web Application 을 만들 때 가장 많이 쓰는 모듈이 Express 모듈이다 . Express 는 일반적인 Web Application 기능을 포함한 모듈로서, node.js 의 커넥트 모듈위에 만들어져있으며 미들웨어 아키텍처를 활용하며 다양한 데이터 출력지원 , 라우팅 시스템등이 좋은 예다. 실제로 express 에 포함된 모듈을 보고 싶으면 express 를 설치한 폴더로 가서 express의 package.json 파일을 보면 된다. (수많은 모듈이 express dependencies 에 정의되어 있다.) 스샷 처럼 express 는 WebApp 을 개발하는데 필요한 수많은 모듈을 집합하여 사용자가 쓰기 쉽도록 만들..