분류 전체보기
-
4. node.js - express를 이용한 MVC모델 구축[간단한 웹서버] -시리즈2:QueryStringIT&개발/node.js 2015. 8. 12. 23:57
이번에는 이전 시간에는 URL binding을 사용하였다면 Query String을 사용하여 MVC 패턴을 가지는 웹서버를 구축하겠다. 사실 MVC패턴은 지난시간과 유사해서 복사 붙혀넣기를 하였고 이번에 주의해야 곳은 routing을 하는 routes 파일의 index.js만 봐도 지난시간을 공부했던 분에게는 시간절약을 하실수 있을 것이다. 만약 처음으로 이글을 접하시는분은 처음부터 정독하기를 권장한다. 두가지 그림이 있는데 둘다 MVC 모델을 의미한다 필자가 보기에는 두번재가 조금더 이해하기 쉬울 것 같다. 순서를 살펴보자.1. 사용자가 요청을 한다.2. Controller는 요청에 대한 정보를 Model에 요청을 한다.3. Model은 데이터베이스에서 정보를 가져온뒤 Controller에 전달한다.4..
-
3. node.js - express를 이용한 MVC모델 구축[간단한 웹서버] -시리즈1IT&개발/node.js 2015. 8. 12. 22:44
음... 이야기가 장황하니 어디서부터 이야기를 시작해야할지 잘 모르겠다... 일단 노드는 서버사이드 언어인 것을 잘 알 것이다. 즉, 사용자가 요청하고 그것에 대한 처리를 한 뒤, 출력을 주는 시스템이다. 예전에는 이것에 대한 모델이 정해지지 않았지만 최근에는 MVC 모델이 표준화되었다. MVC모델이란 Model, View, Controller를 뜻하는 것이다. 이야기로는 감이 잘 안올 것이다. 그림을 살펴보면... 두가지 그림이 있는데 둘다 MVC 모델을 의미한다 필자가 보기에는 두번재가 조금더 이해하기 쉬울 것 같다. 순서를 살펴보자.1. 사용자가 요청을 한다.2. Controller는 요청에 대한 정보를 Model에 요청을 한다.3. Model은 데이터베이스에서 정보를 가져온뒤 Controller에..
-
3. node 파일시스템 모듈 fs 사용하기.IT&개발/node.js 2015. 8. 12. 08:19
//1. 필요한 모듈 require //기본적인 파일처리를 하려고 해요!! //동기방식 vs 비동기방식var fs = require("fs"); //동기방식 //1. 파일을 읽어온다. 2 파일을 저장한다.var data = fs.readFileSync("data.txt","utf8");//동기방식은 파일을 읽어서 변수에 저장한다.console.log("읽은 내용은 "+data); //비동기방식 //비동기방식으로 읽는 방식은 파일내용을 다 읽어올때까지 프로그램이 block되지 않는다.//비동기는 값을 받아올 필요가 없다. 그리고 콜백이 있다.//데이터를 다 읽으면 이벤트가 발생한다. //그리고 그 이벤트를 처리하는 함수(콜백)으로 function 정의를 하는거다.fs.readFile("data.txt","..
-
2. node에서 이벤트 처리하기IT&개발/node.js 2015. 8. 12. 08:13
노드는 non-blocking 방식이기 때문에 언제 끝날지 모른다. 그렇기에 이벤트 처리는 필수적이다. 이벤트를 처리하는 과정은 2가지로 나뉠 수 있다. 1. 이벤트를 등록한다.2. 이벤트를 발생한다. 그렇다면 이것이 가능하게 하려면 어떤 것들이 필요할까? 이벤트를 등록하는 것은 아무 객체나 되는 것일까? 아니다. 이벤트를 처리하는 객체는 이벤트를 처리하는 객체의 능력을 상속받아야 한다. 그렇다면 그 모듈은 어느것일까? 이벤트를 처리하는 능력을 가진 모듈은 "events"내장 모듈이다. 거기서 events.EventEmitter 능력을 상속받으면 된다. 그렇다면 상속은 어떻게 할것인가. 상속을 상속을 담당하는 모듈인 "util"을 이용해서 상속을 받으면 된다. 이벤트를 등록하고 실행하는 간단한 코드이다...
-
1. node.js를 이용한 모듈화IT&개발/node.js 2015. 8. 12. 07:54
이번시간부터는 node에 대하여 공부하여 보겠다. 노드는 서버사이드에서 구동하는 자바스크립트이다. 그렇기에 기본적으로 자바스크립트와 유사하며 모든 형식이 non-blocking 이다. 즉, 비동기 형식이다. 첫번째로 공부할 것은 node의 모듈화를 하는 방법과 유의사항이다. 모듈 파일인 를 생성하여 본다. 그리고 모듈들의 기능이나 변수를 export.test1,export.test2,export.myinfo() 로 객체의 변수로 정의한다. 그리고 라는 파일을 만들어서 필요한 객체 require을 한뒤 객체의 변수들을 각각 console창에 찍어본다. 모듈화를 하였을 때 모듀들을 실제 사용하려면 본파일에 객체를 불러와야 한다. 이때 사용하는 형식이 require()을 사용하는 것이다.var 변수명 = re..
-
javascript in sublime test2 - 반복문 (for, while)IT&개발/자바스크립트 2015. 8. 10. 17:32
안녕하세요. 이번시간에는 자바스크립트의 for문과 while문을 알아보겠습니다. 사실 자바나 c언어와 똑같다는 말말고는 하고 싶은 말이 없는데요...... 그말만 해도 될까요? 똑가테요 완전 똑가테요 switch 랑 if문도 똑같아요 다똑같아요~!!! 절대 귀찮아서 이렇게 쓰는게 아니랍니다. ㅎㅎ 그렇다면 코드를 작성해서 실행해보겠다.내가 생각한 시나리오이며 이것과 실제 동작하는 것을 비교해보겠다.1. 예상되로 case 5: 가 실행되었다.2. 마지막 else if 가 실행되었다.3. for문은 0~4까지 실행되었으며 while문은 4~1까지로 감소하였다. 이것으로 자바스크립트의 for문 while문 if문 switch문이 자바나 c언어와 특별히 다를 것이 없다는 것을 확인할 수 있다.
-
javascript in sublime text2 - 일치연산자vs 동등연산자IT&개발/자바스크립트 2015. 8. 10. 17:04
자바스크립트는 다른 언어와는 다른 점중에 하나는 바로 동등연산자인 ==이다. 자바에서 1=="1"의 결과는 무엇이라고 생각하는가? 답은 false이다. 하지만 자바스크립트는 어떨까? 답은 true이다 왜 그러하다고 생각하는가? 이것은 자바스크립트에서는 동등연산자의 경우 느슨한 비교를 하는 것이라고 생각할 수 있다. 우선 화면은 통해서 살펴보겠다. 첫번째는 number형인 숫자와 string 형인 문자열의 비교이다. 정답은?두번째는 null 형과 undefined형의 비교이다. 정답은?첫번째의 정답은 true이다.두번째의 정답은 true이다.과연 이것이 기존의 생각하는 동등연산자의 결과과 같은가? 아마 다를것이다. 그 이유는 동등연산자(==)의 경우 데이터타입을 확인하지 않기 때문이다. 이것에 관련된 연산..
-
javascript in sublime text2 - 변수선언IT&개발/자바스크립트 2015. 8. 10. 16:49
자바스크립트는 자바와 c언어와는 다른 점 중에 하나가 바로 변수선언입니다. 자바스크립트의 변수선언은 var 하나로 합니다. 이것은 자바의 int double String을 모두 포함합니다. 심지어 함수까지 포함할 수 있습니다. 자바스크립트에서 데이터형식은 크게numberstringfunction 으로 나뉠수 있으며 모든 선언은 var을 통해 합니다.1. int 형 flot 형 string 형 모두 var 키워드를 통해서 선언한 모습입니다.2. 그리고 alert 함수를 통해서 경고창에 모든 데이터형을 출력해보겠습니다. 그리고 var c의 경우는 함수이기 때문에 괄호()를 통해서 실행해 보겠습니다.3. alert()첫번째를 통해서 a 와 a2 그리고 b가 출력되었습니다.4. 그리고 c()는 별도의 경고창을 ..