본문 바로가기
728x90
반응형
SMALL

백엔드 개발8

[Node.js] 노드제이에스 - 노드의 비동기 패턴 Do it! Node.js 프로그래밍 입문 공부단 4일차 입니다. 프라미스 콜백함수을 계속 사용하다보면 콜백지옥에 빠집니다. 그래서 등장한게 Promise입니다. 노드 모듈에는 프라미스를 반환하는 함수가 따로 있습니다. 프라미스를 실행하고 처리한 결과가 성공이면 then(), 실패하면 catch(), 성공과 실패에 관계가 없을 때는 finally()를 사용합니다. (then()이나 catch()는 반환값이 프라미스이므로 프라미스를 계속 연결해서 사용할 수 있는데 이것을 프라미스 체이닝이라고 합니다.) const fs = require("fs").promises fs.readdir("./05") .then(result => console.log(result)) .catch(err => console.log.. 2024. 2. 6.
[Node.js] 노드제이에스 - 동기처리와 비동기처리 Do it! Node.js 프로그래밍 입문 공부단 4일차 입니다. 동기처리 동기처리란 작성한 순서대로 작업을 처리하는 것을 동기처리라고 합니다. 자바스크립트는 기본적으로 동기처리 방식입니다. console.log("first") console.log("second") console.log("third") 자바스크립트는 싱글 스레드 언어이기 때문에 위와 같은 결과가 나옵니다. 스레드란 하나의 작업이 실행되는 최소단위입니다. 자바스크립트는 이런 스레드가 하나밖에 없어서 한 번에 하나의 작업만 처리할 수 있습니다. 반면에 자바를 비롯한 대부분의 백엔드 프로그래밍 언어는 멀티 스레드입니다. 그래서 동시에 여러 작업을 수행할 수 있습니다. 비동기처리 console.log("first") setTimeout(() .. 2024. 2. 6.
[Node.js] 노드제이에스 - 라우팅 Do it! Node.js 프로그래밍 입문 공부단 3일차 입니다. 라우팅 웹 프로그래밍에서 라우팅이란 클라이언트에서 들어오는 요청에 따라 그에 맞는 함수를 실행하는 것을 말합니다. 라우팅을 이용하면 사용자가 입력하는 url에 따라 다른 내용을 보여줄 수 있습니다. 또한 GET이나 POST, PUT, DELETE 같은 요청 메서드에 따라 처리할 함수를 다르게 연결할 수 있습니다. const http = require("http") // 라우팅 const server = http.createServer((req, res) => { const {method, url} = req res.setHeader("Content-Type", "text/plain") if(method === "GET" && url ===.. 2024. 2. 5.
[Node.js] 노드제이에스 - http 모듈로 서버 만들기 Do it! Node.js 프로그래밍 입문 공부단 3일차 입니다. 서버 만들기 서버를 만드는 함수 - createServer() 서버를 만들 때는 http 모듈을 가져온 후 createServer()를 사용합니다. createServer([옵션], [콜백]) const http = require("http") const fs = require("fs") const server = http.createServer((req, res) => { console.log("요청발생") }) 서버를 실행하는 함수 - listen() 서버 실행하는 함수입니다. listen(포트[, 호스트][, 콜백]) server.listen(3000, () => { console.log("3000번 포트에서 서버 실행") }) 2024. 2. 5.
[Node.js] 노드제이에스 - HTTP Do it! Node.js 프로그래밍 입문 공부단 3일차 입니다. 클라이언트와 서버 간에 미리 약속한 규칙을 HTTP 프로토콜이라고 합니다. HTTP 프로토콜 클라이언트에서 서버로 자료를 요청하는 것은 http요청(http request), 서버에서 응답해 클라이언트로 자료를 보내는 것은 http응답(http response)이라고 합니다. 이렇게 요청과 응답을 통해 메시지를 주고 받는데 이 메시지에는 여러 정보가 포함되어 있습니다. 클라이언트가 서버로 보내는 요청 메시지는 요청 헤더와 요청 본문으로 구성됩니다. 서버에서 클라이언트로 보내는 응답 메시지도 응답 헤더와 응답 본문으로 구성됩니다. 중요한 헤더 정보 요청 URL 서버에게 어떤 정보를 보내달라고 요구하는 URL을 요청 URL이라고 합니다. 요청.. 2024. 2. 5.
[Node.js] 노드제이에스 - FS 모듈. 파일 관리하기 Do it! Node.js 프로그래밍 입문 공부단 2일차 입니다. 파일 관리하기 동기 처리로 파일 읽기 - readFileSync() 이 함수는 파일 내용을 버퍼 또는 문자열 형태로 반환합니다. 버퍼는 자료를 잠시 저장해 두는 임시 메모리 영역인데 자료를 읽어 오거나 다른 곳으로 이동할 때 임시 저장 공간으로 사용합니다. fs.readFileSync(경로[,옵션]) - 옵션 - encoding: 기본값인 null을 사용하면 버퍼에 있는 값인 바이너리 형태로 반환하고, utf8로 지정하면 사람이 읽을 수 있는 텍스트 형태로 가져옵니다. - flag: 기본값인 r을 사용하면 읽기모드로 엽니다. - r: 읽기 & 쓰기 - w: 쓰기 - a: 추가 const fs = require("fs") const data.. 2024. 2. 3.
[Node.js] 노드제이에스 - FS 모듈 Do it! Node.js 프로그래밍 입문 공부단 2일차 입니다. fs 모듈 (file system) 노드에서 파일을 관리할 수 있는 모듈입니다. 파일과 디렉터리 살펴보기 새로운 파일과 디렉터리 만들기, 파일 스트리밍 등 파일이나 디렉터리를 사용하면서 필요한 여러 기능을 제공합니다. 비동기 처리 방법에 따라 사용하는 함수가 다릅니다. fs모듈에는 여러 함수가 있는데... 프라미스에서 사용하는 함수 콜백에서 사용하는 함수 동기 처리를 할 때 사용하는 함수 동기 처리를 한다는 것 - 코드를 작성한 순서대로 실행하는 것 비동기 처리를 한다는 것 - 실행하는 데 걸리는 시간을 고려해서 실행 순서를 조절하는 것 비동기로 처리할 때 사용하는 방법이 콜백과 프라미스입니다. fs 모듈 가져오기 const fs = re.. 2024. 2. 3.
[Node.js] 노드제이에스 - Path 모듈 Do it! Node.js 프로그래밍 입문 공부단 2일차 입니다. path 모듈 파일이나 디렉터리 경로를 다룰 수 있는 함수들이 포함되어 있습니다. path모듈이 필요한 이유는? 가장 큰 이유는 운영체제 간에 경로를 구분하는 구분자가 다르기 때문입니다. (윈도우 \, 맥 혹은 리눅스 /) 절대경로와 상대경로 절대경로 파일이나 폴더의 위치를 root폴더부터 시작해서 파일까지 전부 다 나타내는 것 상대경로 기준이 되는 파일이 있을 때 사용하는 경로 path모듈 가져오기 const path = require("fs") 경로 합치기 - join() // path.join(경로1, 경로2, ...) const path = require("path") const fullPath = path.join("some", .. 2024. 2. 3.
728x90
반응형
LIST