본문 바로가기

Study/Express(node.js)10

node.js ) 비동기 패턴 해결 (3) - async/await 비동기 패턴 해결 - async/await 이전 글에서 Promise 패턴을 이용해 비동기 처리를 동기 처리처럼 처리하는 방법을 다뤘습니다. node.js ) 비동기 패턴 해결 (2) - Promise 비동기 패턴 해결 - Promise 이전 글에서 콜백형태로 비동기 처리하는 방법을 다뤘습니다. 하지만 콜백 형태를 이용해 비동기를 처리하면, 처리는 가능하지만 매우 비효율적으로 코드가 작성됩니 jongik.tistory.com 하지만 async/await 을 이용하면 더 보기 좋은 형태로 비동기를 처리할 수 있습니다. async/await 구조 async 와 await 는 세트로 사용합니다. test.txt async test 1 async test 2 const fs = require('fs'); con.. 2022. 2. 5.
node.js ) 비동기 패턴 해결 (2) - Promise 비동기 패턴 해결 - Promise 이전 글에서 콜백형태로 비동기 처리하는 방법을 다뤘습니다. 2022.02.05 - [Study/Express(node.js)] - node.js ) 비동기 패턴 해결 (1) - 콜백함수 하지만 콜백 형태를 이용해 비동기를 처리하면, 처리는 가능하지만 매우 비효율적으로 코드가 작성됩니다. 코드가 화살표 형태로 되거나 함수를 계속 쪼개서 타고 들어가는 형태가 되어 코드의 가독성이 많이 떨어지게 됩니다. 이를 해결하기 위해 사용되는 패턴이 Promise 패턴입니다. Promise 패턴을 이용하면 비동기 형태의 코드를 마치 순서대로 동작하는 것처럼 구현할 수 있습니다. Promise 객체 Promise 패턴을 사용하기 위해 Promise 객체를 사용합니다. then 을 통해 .. 2022. 2. 5.
node.js ) 비동기 패턴 해결 (1) - 콜백함수 콜백함수를 이용한 비동기 패턴 해결 가장 기본적인 방법으로 콜백함수를 이용해 비동기 패턴을 해결할 수 있습니다. test.txt async test 1 async test 2 index.js const fs = require('fs'); fs.readFile('./test.txt', (err, data) => { console.log(1) console.log(data.toString()); fs.readFile("./test.txt", (err, data) => { console.log(2); console.log(data.toString()); fs.readFile("./test.txt", (err, data) => { console.log(3); console.log(data.toString());.. 2022. 2. 5.
node.js ) 비동기 (asynchronous) 패턴 비동기 (asynchronous) 패턴 비동기 방식이란? 메인 스레드가 존재하고 메인 스레드는 실제 코드를 실행합니다. 메인 스레드는 실행시간이 오래 걸린다고 판단하면 내부에 처리하는 다른 스레드로 해당 작업을 넘기게 됩니다. 하지만 메인 스레드에게 작업을 받은 스레드는 해당 작업이 끝나면 콜백함수를 메인 스레드에게 돌려줍니다. 메인 스레드는 전달받은 콜백함수를 실행하지만 이 콜백함수를 실행할 때는 이미 다른 코드가 처리된 이후입니다. 그리고 또 다른 작업을 스레드에게 전달하게 됩니다. 예시 : fs 를 이용해 파일을 읽고 결과를 출력하는 코드 index.js const fs = require('fs'); fs.readFile('./test.txt', (err, data) => { console.log(.. 2022. 2. 5.
express ) express-generator 프로젝트 생성하기 express-generator 매번 서버를 만들 때마다 라우터, 모델, 뷰, 미들웨어, 에러 미들웨어 등을 만드는 일은 매우 번거롭습니다. 이처럼 반복적으로 수행되는 일은 express-generator 를 이용해 한 번에 만들 수 있습니다. express-generator 를 통해 생성된 프로젝트는 개인의 스타일에 맞춰 수정하는 것도 가능합니다. express-generator 프로젝트 생성 npm 을 이용해 설치가 가능합니다. $ npm install -g express-generator express-generator 가 생성되면 express 명령어를 통해 프로젝트를 생성할 수 있습니다. express [프로젝트명] 위처럼 express 프로젝트가 생성되면 의존성 모듈을 설치하는 방법과 앱을 실.. 2022. 2. 5.
express ) 미들웨어 미들웨어 express ) Router 라우팅이란 ? 처리 로직을 따로 관리해 사용자가 접속한 URL 과 method 에 따라 해당 록직을 실행하는 것입니다. 라우팅 등록 먼저 express 를 설치합니다. npm install -s express express 에서는 라우팅을 직 jongik.tistory.com 앞의 글에서 Router() 를 이용해 모듈 형태로 생성된 라우터를 app.use 로 등록하여 사용했습니다. app.use 가 미들웨어를 등록하는 부분입니다. 또한, app.use(bodyParse()) 를 이용해 클라이언트가 body 에 포함한 데이터를 사용 가능하도록 파싱합니다. app.use 로 등록한 미들웨어는 모든 요청에 대해 동작하게 됩니다. 하지만 사용자 요청을 처리하기 위해 사용.. 2022. 2. 4.
express ) Router 라우팅이란 ? 처리 로직을 따로 관리해 사용자가 접속한 URL 과 method 에 따라 해당 록직을 실행하는 것입니다. 라우팅 등록 먼저 express 를 설치합니다. npm install -s express express 에서는 라우팅을 직관적으로 표현합니다. const express = require('express'); let app = express(); require 를 이용해 express 를 가져옵니다. 그 다음 express 로 만들 서버를 세팅하기 위해 app 변수를 만듭니다. app 변수에는 우리가 필요한 각종 서버의 라우팅, 미들웨어, 에러 처리 로직을 설정합니다. const http = require('http'); http 서버를 만들기 때문에 http 모듈을 가져옵니다. app... 2022. 1. 17.
node.js ) package.json 파헤치기 npm 과 package.json npm 은 Node Package Manager 의 약자로, node 로 생성한 패키지/프로젝트를 관리하는 도구입니다. 그리고 이러한 패키지/프로젝트 정보를 가지고 있는 것이 package.json 파일입니다. npm 과 package.json 은 독립된 존재로 보는 것이 아니라 연관 지어 생각해야 합니다. package.json 생성 npm 을 이용해 package.json 을 생성할 수 있습니다. $ npm init package.json 구조 예시) package.json { "name" : "test", "version" : "1.0.0", "description" : "test package.", "main" : "test.js", "scripts" : { "t.. 2022. 1. 16.
node.js ) 웹서버 기초 (2) - GET, POST, 정적/동적 파일제공 GET, POST, 정적 / 동적 파일 제공 클라이언트 요청에 따라 다양하게 처리해보는 방법과 fs 모듈을 이용해 이미지, html 과 같은 파일을 전송하는 방법에 대해 알아보겠습니다. 사용자의 요청에 따라 처리할 때 다음의 두 가지가 가장 중요합니다. URL methods URL 로 어떤 method 로 요청했는지만 파악하고 해당 요청에 맞추어 코드를 실행하여 응답하면 됩니다. GET 요청 처리 요청 객체에서 method 가 GET 이 맞는지 검사 후 GET 요청을 처리할 수 있습니다. 요청 객체에서 확인한 URL 과 method 를 이용해 조건 분기를 해줍니다. const http = require("http"); http.createServer((req, res) => { let { url, hea.. 2022. 1. 16.
반응형