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

Node.js31

[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] 노드제이에스 - 요청 객체와 응답 객체 Do it! Node.js 프로그래밍 입문 공부단 3일차 입니다. 요청 객체 const server = http.createServer((req, res) => { console.log(req) // 요청 객체를 알 수 있다 }) 응답 객체 응답 객체는 헤더와 본문으로 구성되므로 헤더와 본문을 만들어야 합니다. 그리고 응답이 끝난 후에는 응답을 종료해야 합니다. 응답 헤더 만들기 헤더를 만들 때 서버의 자료가 JSON인지 text인지, 헤더는 어떤 유형의 자료를 처리하는지, 서버의 상태는 어떠한지 알려주기도 합니다. 헤더를 만들 때는 기본적으로 setHeader()를 사용하지만 상태 코드를 헤더에 함께 기록하려면 writeHead()를 사용합니다. res.setHeader(이름, 값) res.setHea.. 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일차 입니다. 버퍼와 스트림 버퍼와 스트림은 파일을 읽거나 쓸 때 한 덩어리로 처리하지 않고 작은 단위로 나눠서 시간을 절약하는 방법입니다. 버퍼 컴퓨터 공학에서 버퍼는 임시 데이터를 저장하는 물리적인 메모리 공간을 가리킵니다. 파일을 읽어 올 때는 전체 내용을 한꺼번에 다 가져오지 않고 한번에 버퍼 하나 크기 만큼만 가져오고, 버퍼가 가득차면 그 내용을 전달해줍니다. 노드의 버퍼에 내용이 이진값으로 저장됩니다. (노드의 버퍼 크기는 고정되어 있습니다.) 스트림 스트림이란 한 곳에서 다른 곳으로 데이터가 이동하는 것, 즉 데이터의 흐름을 가리킵니다. 백엔드 프로그래밍에서 스트림은 서버에서 클라이언트로 혹은 클라이언트에서 서버로 데이터를 보낼 때 사용하는.. 2024. 2. 4.
[Node.js] 노드제이에스 - fs모듈. 디렉터리 관리하기 Do it! Node.js 프로그래밍 입문 공부단 2일차 입니다. 디렉터리 만들기 및 삭제하기 디렉터리 만들기 - mkdirSync, mkdir fs.mkdirSync(경로[,옵션]) fs.mkdir(경로[,옵션], 콜백) - 옵션 - recursive: 여러 계층의 디렉터리를 지정했을 때 중간에 존재하지 않는 경로까지 포함해서 디렉터리를 만들 수 있습니다. 기본값은 false입니다. - mode: 디렉터리의 권한을 지정합니다. 기본값은 0o777 (읽기, 쓰기, 실행 권한)입니다. const fs = require("fs") if(fs.existsSync("./test")) { // test 디렉터리가 있다면 console.log("해당 디렉터리는 존재합니다.") } else { fs.mkdir("./.. 2024. 2. 3.
[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.
728x90
반응형
LIST