본문 바로가기

Dev.BackEnd

(66)
[아홉번째] Node.js 기본 / 클라이언트와 서버의 의사소통 방식 (GET & POST) I 클라이언트와 서버의 의사소통 방식크게 두가지GET vs POST 기본이 get : 주소를 입력해서 어떠한 정보를 get한다.경우에 따라선 쿼리 스트링으로 정보를 요청하고 가져오기도 한다. 이것 역시 get 방식이다.서버에 요청하고 가져오는 방식을 말한다. post 방식은 사용자의 정보를 서버에 전송을 할 때 사용하는 방식.ex ) 아이디와 패스워드 or 작성한 글. 코드>doctype htmlhtml head meta(charset='utf-8') body form(action='/form_receiver' method='get') p input(type='text' name = 'title') p textarea(name = 'description') p input(type='submit')form.j..
[여덟번째] Node.js 기본 / 쿼리 스트링 Application의 기능을 다시 한 번 살펴볼 필요가 있다.입력에 따라서 출력을 하는(input)입력 -> Application -> 출력(output)어떠한 사용자의 조작이 있을 때 다른 것을 보여주는 것을 우린 애플리케이션이라고 한다. 다음과 같은 URL이 있다고 가정하자.http://a.com/topictopic을 URL의 구성요소 중 'path'라고 한다.topic으로 접속을 하게 되면 언제나 똑같은 결과를 보여준다. 경우를 나눠서 다른 결과를 보여주면 좋지 않을까이 때 쿼리 스트링을 이용한다.ex) http://a.com/topic?id=1id 값 1을 전달. 1에 해당하는 결과를 출력.물음표 뒤에 나타나는 것을 "쿼리 스트링"이라고 한다. 하나의 패스에서 다른 아이디값에 따라서 다른 화면을..
[일곱번째] Node.js 기본 / Template Engine, Jade 동적 파일 제공 템플릿 엔진어떠한 기술 '들'을 의미한다. 상품군 많은 훌륭한 템플릿 엔진들이 있지만 우선 Jade에 대해 알아보도록 하자. app.set('view engine','jade');express 와 jade 를 연결하는 코드로view engine 으로 jade를 사용하겠다는 뜻이다. app.set('views','./views')관습적으로 템플릿 파일을 views라고 명명한 폴더에 모아둔다.res.render('upload');이런식으로 views 폴더에 있는 파일을 렌더링 한다.소스코드를 가지고 와서 웹페이지를 만들어내는 것도 일종의 렌더링 Jade 문법을 알기 위해 홈페이지에 접속을 하게 되면 Main페이지에서 딱 두 개의 소스코드 페이지를 제공한다.http://jade-lang.com/doctype ..
[여섯번째] Node.js 기본 / 정적 파일 제공 정적 파일 제공일단, 각 문법적 요소 요소들에 대해서 무조건 알고 넘어가야 겠다는 강박증을 내려놓자.각 코드들을 레고 블럭처럼 생각하고 어떤 것을 하기위해 어떤 것이 필요하다라고패턴화로 기억하자. 정적인 파일이란 한번 만들어지면 변할 일이 없는 계속 똑같은 html문서 같은 것을 말한다.app.use(express.static('public'));.static 메소드는 정적인 파일이 위치할 디렉토리를 지정하는 기능을 갖고 있다.디렉토리 명은 관습적으로 public 이라고 한다.정적인 파일에 대해 변경된 사항에 대해서 노드 애플리케이션을 껐다가 다시 킬 필요 없다. API 문서를 살펴보면이미지, CSS 파일 및 JavaScript 파일과 같은 정적 파일을 제공하려면Express의 기본 제공 미들웨어 함수인..
[다섯번째] Node.js 기본 / Express 도입 express express 는 Node.js 에서 사용 가능한 프레임워크로 npm의 일종이다. 일단 express Framework 를 쓰지 않은 코드를 보자.const http = require('http'); const hostname = '127.0.0.1';const port = 1337; var server = http.createSever(function(req,res){res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello World\n');}); server.listen(port, hostname, function(){ console.log('Server running at http://${hostname}:${port}..
[네번째] Node.js 기본 / 동기&비동기 개념 동기와 비동기Synchronous(동기) vs Asynchronous(비동기) 줄여서 Sync, Async 로 표현한다. 실생활에서의 비유를 통한 설명 > 상황 : 세 가지 일을 해야한다. 빨래. 설거지. 청소 각각 한시간씩 걸린다. 동기적으로 일을 처리하는 것빨래를 하고 다 하고 나서 그 다음에 설거지를 하고 다 하고 나서 그 다음에 청소를 한다. 총 3시간이 걸린다. 비동기적으로 일을 처리하는 것빨래하는 업체가 있고 설거지 하는 업체가 있고 청소를 하는 업체가 있다. 그 빨래업체에게 전화를 한다. "빨래 좀 해주세요. 끝나면 말해주세요." 전화를 하는데 1분이 걸렸다. 그 설거지업체에게 전화를 한다. "설거지 좀 해주세요. 끝나면 말해주세요." 전화를 하는데 1분이 걸렸다. 그 청소업체에게 전화를 한..
[세번째] Node.js 기본 / 콜백 복습 콜백(call back) 함수. Node.js를 다루는데 꼭 알고 넘어가야하는 자바스크립트 문법이다. 커맨드 창에 node 라고 만 입력하고 엔터를 치게 되면커맨드에서 직접 js 코드를 한줄 한줄 실습할 수 있다. cf) 세미콜론으로 한줄에 여러 줄의 코드를 입력할 수 있다. Javascript의 문법 중에 array와 sort를 사용해서 콜백 함수에 대해 알아보겠다.> a=[3,1,2];function b(v1, v2){return v2-v1}; a.sort(b); console.log(a);[ 3, 2, 1 ] undefined > a=[3,1,2];function b(v1, v2){return v1-v2}; a.sort(b); console.log(a); [ 1, 2, 3 ] undefined > ..
[두번째] Node.js 기본 / 모듈과 NPM 모듈, NPM 모듈(Module)이란 무엇인가?쉽게 말하면 부품이라고 이해하면 될 것 같다.선배 개발자분들께서 기본적인 웹 서버를 구축하는데 필요한 부품들을 이미 만들어놨다.그리고 그것들을 사용할 수 있도록 해두었다.오픈소스의 힘이라고 볼 수 있다.하지만 수 많은 도구들이 있어도 그것을 사용하는 방법을 모르면 그것들은 무용지물이 된다.우리는 그것들을 가져다 사용할 방법을 알아야한다. 그렇기에 Node.js 홈페이지의 Docs(사용설명서)를 읽을 줄 알아야한다. 모듈 사용해보기.자신이 작업할 폴더에 module.js 파일을 만들어두고module.js 파일에 입력한다.var o = require('os');console.log(o.platform());os라는 모듈은 현재 node.js가 구동되고 있는 운영..