본문 바로가기

Nodejs29

[node.js] express 그리고 템플릿엔진 ejs [반드시 먼저 봐야할 게시글]1) [node.js] express 기본구조 생성 : http://jinbroing.tistory.com/106 [템플릿엔진이란, 템플릿엔진을 사용하면 어디가 좋아]- 정적인 파일만을 서비스한다면 필요없음- 동적인 결과를 정적인 파일에 담기위해 사용함- 풀어 설명하자면, 자바스크립트 코드로 연산된 결과를 변수에 넣고 변수를 뷰 파일에서도 사용할 수 있게끔 함- 템플릿엔진 사용 이유 : 클라이언트 요청에 따라 웹문서 들어가는 내용(결과)이 달라질 수 있어서 정적인 부분과 동적인 부분을 따로 하기위해 사용- app.js 내 html 코드를 쓰지않아도 됨- 뷰 파일과 자바스크립트 코드를 한 파일에 정의하지않고 따로따로 사용할 수 있음 - 자바스크립트로 연산된 결과를 뷰 파일에 쉽.. 2017. 5. 1.
[node.js] express 기본구조 생성 [express 쉽게 구조 생성하기 - 리눅스 환경]1) npm install -g express-generator (오류가 난다면 sudo를 붙여서) : npm을 통해 express 구조 생성기를 다운받음2) 다운로드 후 express -h 를 콘솔창에 입력하여 generator 명령어가 정상동작하는지 확인=> -h 은 옵션값으로 어떤 작업을 할 수 있는지 알 수 있음=> generator로 어떻게 구조를 생성할 수 있는지 나옴 : Usage 참고 3) express 옵션값 디렉토리명 순으로 입력하여 구조 생성하기4) express myapp : 우선 아무런 옵션값 없이 생성해보기5) cd myapp : 해당 디렉토리로 이동6) npm install : express 프로젝트에 필요한 모듈을 다운로드받.. 2017. 4. 30.
[자바스크립트] js엔진은 어떻게 동시처리를 하는가? 이벤트루프 [목표]- nodejs가 싱글쓰레드임에도 불구하고 비동기처리를 한다는데 어떻게해? 의문에 답해보자- nodejs가 이벤트루프기반 비동기처리를 한다는데, 이벤트루프가 대체 뭔지 알아보자- 랜더링엔진 구조, 처리방식은 알아봤는데 자바스크립트 엔진은 그냥 지나간 것 같으니 이번 기회에 알아보자 [우선! 자바스크립트 엔진과 브라우저 랜더링엔진은 다르다]- 랜더링엔진은 HTML과 CSS파일을 파싱하여 새로운 트리구조를 만들고 브라우저 화면에 문서를 나타내는(painting) 작업을 함- 자바스크립트 엔진은 js 코드 파일을 해석하고 실행하는 인터프리터(구글의 V8과 같은 엔진) [자바스크립트 엔진 구조]- 대부분의 자바스크립트 엔진은 다음과 같이 세가지 영역으로 나뉨 1) Call Stack- 자바스크립트는 단 .. 2017. 4. 21.
[node.js] express 라우팅, CRUD / 쿼리스트링 [목표]- 라우팅이 무엇인지 제대로 이해하기- HTTP 메서드 개념 알아본 것 실제로 써보기- CRUD 구현하기 [먼저 보면 좋은 것들]- HTTP 메서드 + REST API 다가가기 : http://jinbroing.tistory.com/96- CRUD : http://jinbroing.tistory.com/24 [라우팅이란]- 길을 정하는 것- 클라이언트의 요청(request)에 대한 응답(response)를 정하는 것- URL으로 클라이언트가 요청할 때 어떤 응답을 할 것인지 정하는 것- HTTP method(GET, POST, PUT, DELETE) 구분 필요- 라우팅 해주지 않은 URL은 "CANNOT 주소" 페이지가 출력(404페이지 커스텀할 필요O) [HTTP 메서드에 따라 express 라.. 2017. 4. 20.
[node.js] express, 웹서버 구축, 설계, 제작 더 쉽게하자 [목표]- express를 사용하여 nodejs 공식홈페이지에 나와있는 예제코드보다 더 쉽게 웹서버 구축해보자- express를 사용하여 웹서버 내부 설계, 제작을 해보자 [express란]- 웹서버를 쉽게 구축할 수 있게하는 프레임워크- 프레임워크란(1) 어플리케이션을 구현할 때 어플리케이션 구현에 꼭 필요한 부분, 구조를 미리 구현해둔 구조체(2) 루비에는 레일즈(그래서 ruby on rails), php는 라라벨, java는 spring, nodejs는 express를 주로 사용함(3) 공식홈페이지 : http://expressjs.com/ko/ [express 설치](1) mkdir 디렉토리명 : 프로젝트 디렉토리 만들기 (2) npm init : 프로젝트 관리를 보다 쉽게 하기위해 npm 초기 .. 2017. 4. 15.
[node.js] 비동기 프로그래밍 [목표]- 동기 프로그래밍과 비동기 프로그래밍의 차이점을 알자- 비동기 프로그래밍은 어떤 때에 사용하는 것이 좋은지 찾아보고 생각해보자- nodejs는 비동기프로그래밍 하기가 쉬움을 느끼자- nodejs api 문서를 보면서 api 사용하는 것에 익숙해지자- 콜백함수란 무엇이고, 콜백함수 지옥 맛보기- 앞으로 nodejs를 공부함에 있어서 어떤 것을 공부해야할지 생각해보기 [비동기프로그래밍이란]- 영어로는 Asynchronous - 집안 일(빨래, 설거지, 청소)을 할 때 빨래 다하고 설거지 다하고 청소 하는 것, 순서대로 완료시키고 다음 넘어가는 것은 동기적인 것- 빨래, 설거지, 청소 업체를 불러 동시에 처리하는 것, 하나가 완료됨과 상관없이 동시에 일을 처리하는 것을 비동기적인 것이라 함- 일 처리.. 2017. 4. 12.
[node.js] 모듈 그리고 npm [모듈이란]- 부품과 같은 것- 어떤 기능을 쉽게 만들기위해 필요한 것- 정해진 모듈 사용방법에 따라 사용을 하면 어떤 기능을 쉽게 만들 수 있음- 기능이라는 것이 웹서버 내 기능 뿐만 아니라 컴퓨터 내에 어떤 처리를 쉽게할 수 있도록 도와주기도 함- 예시 : 공식홈페이지에서 가져온 웹서버 구축 코드123456789101112const http = require('http');const hostname = '127.0.0.1';const port = 3000;const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'.. 2017. 4. 12.
[node.js] nodejs에 대하여 [목표]- nodejs가 무엇인지 알아보고 이해하기- 기존 자바스크립트와 nodejs는 어떤 관계인지 알아보기- nodejs 특징을 살펴보고 프로그래밍 시 활용하도록 해보기 [nodejs란]- 서버사이드에서 사용할 수 있도록 자바스크립트로 짜여진 서버사이드 런타임 환경 자바스크립트- 서버로 사용할 컴퓨터에서 서버를 구축할 때 언어로 자바스크립트를 사용할 수 있게 됐다는 말- 자바스크립트가 웹브라우저를 벗어나 서버에서도 사용 가능하게 됨- 탈브라우저 자바스크립트인 nodejs가 어떤 기능을 가지고 있는지에 대해 앞으로 살펴보게될 것 [nodejs 선택한 이유 - 특징](1) 개발 생산성이 좋음- 앞선 포스팅에서 봤듯이 서버 구축할 때 굉장히 빠르게 할 수 있음(이건 해보니깐 굉장히 빠르고 좋음 그래서 더 .. 2017. 4. 11.
[node.js] 환경구축, 테스트해보기 [목표]- node.js 환경구축 후 확인해보기- 웹브라우저 없이도 자바스크립트 코드를 돌릴 수 있음을 확인하기- 서버사이드에서는 자바스크립트(node.js)를 어떻게 활용하는지 api 문서를 통해 확인하기 [node.js 설치하기](1) 공식홈페이지 이동 : https://nodejs.org/ko/(2) 다운로드(Downloads) 탭 이동 > 각 OS에 맞게 설치(3) 리눅스 내 설치(aws 프리티어) - 패키지매니저로 node.js 설치하기 클릭 - 버젼별 설치 명령어 : v7.x를 사용하는 것이 좋다함 [node.js 전용 디렉토리 만들기](1) mkdir 전용디렉토리명 : node.js 서버 관련 파일(.js)을 저장할 디렉토리를 만듬- root 계정으로 설정 후 디렉토리 만들기- 혹은 sudo.. 2017. 4. 10.