본문 바로가기

Do it Node.js26

10. Express Express : 노드에 기반한 백엔드 프레임워크 nodemon : 코드 변경 시 서버를 종료하고 재시작하지 않아도 새로고침으로 변경 사항이 적용되는 패키지 -package-lock.json : 애플리케이션에서 사용하는 여러 패키지 간의 의존성을 기록 선더 클라이언트 : VS Code 안에서 서버 실행 결과를 확인하는 확장 : nodemon으로 서버를 실행 ※.get() : GET 메소드 지정하는 함수 ※res.status() : 응답 상태 코드를 지정하는 함수 ※res.send() : 괄호 안에 내용을 화면에 표시하는 함수 const express = require("express"); //express 패키지를 가져옴 const app = express(); //app 변수로 express 기능 사용.. 2024. 3. 3.
9. Node 비동기 처리 스레드 : 하나의 작업이 실행되는 최소 단위 -자바스크립트, 노드는 싱글 스레드 언어 -자바를 비롯한 대부분의 백엔드 프로그래밍 언어는 멀티 스레드 언어 블로킹 I/O : 코드 실행을 중간에 막는 것으로, 동기 처리 했을 시 발생 논블로킹 I/O : 비동기 처리를 했을 시 코드 실행이 중간에 막힘 없이 처리하는 것 -I/O : Input(입력) / Output(출력)을 나타냄 이벤트 루프 : 비동기 처리 작업을 콜백 큐에 저장했다가 콜 스택이 비면 하나씩 꺼내 처리하는 방식 -콜 : 바로 실행하려는 함수들 -콜 스택 : 콜이 스택 형식으로 모여 있는 것, 비동기 처리는 할 수 없음 -콜백 큐 : 콜백 함수가 큐 형태로 저장되는 공간, 비동기 처리를 실행 libuv : V8 엔진에서 비동기 처리를 할 수 .. 2024. 3. 1.
8. 라우팅 라우팅 : 클라이언트에서 요청한 URL에 따라 다른 내용을 표시하는 것 ch04 - : 각 url 마다 화면에 출력되는 내용 달리 하기 ※res.statusCode : 상태 코드를 설정 ※텍스트 문자열을 한 번만 보낸다면 res.write 함수를 쓰지 않고 res.end로 처리 가능 const http = require("http"); const server = http.createServer((req, res) => { const { method, url } = req; //요청 메서드, url 가져오기 res.setHeader("Content-Type", "text/plan"); if (method === "GET" && url === "/home") { //메서드가 GET, url이 /home 일 .. 2024. 3. 1.
7. HTTP 모듈 HTTP 프로토콜 : 사용하는 언어가 다른 클라이언트와 서버 간 똑같이 인식할 수 있도록 약속한 규칙 -요청(request) : 클라이언트에서 서버로 자료를 요청하는 것 1) 헤더 : 사이트 주소 2) 본문 : 사용하는 시스템 정보, 웹 브라우저 정보, 사용 언어 등 -응답(response) : 서버에서 클라이언트로 자료를 보내 응답하는 것 1) 헤더 : 브라우저 창에 보여줄 내용(텍스트, 이미지 등) 2) 본문 : 파일 형식, 인코딩 등 파일과 관련된 기타 정보 요청 URL : 클라이언트가 서버에게 어떤 정보를 보내달라고 요구하는 URL ex) https://www.google.com 요청 메서드 : 서버에 보낸 정보를 어떻게 처리할 것인지 알려줌 -GET : 서버에서 정보를 가져옴 -POST : 서버.. 2024. 2. 29.