개발공부 10

미들웨어 : "도우미 필요하신 분?" 익스프레스 : "하잇!"(미완성)

익스프레스의 미들웨어는 요청(req)과 응답(res) 사이에서 중간 역할을 하는 함수임. 미들웨어(middleware) : 요청과 응답 사이에서 요청을 처리하고, 원하는 형태로 응답을 수정하는 함수 파싱(parsing) : 요청 안에 포함된 데이터 값을 애플리케이션에서 읽을 수 있는 형태로 변환하는 것(파파고) 미들웨어의 역할 요청과 응답을 주고받을 때 많은 처리를 하는데 그때 미들웨어를 사용함. 1. 요청 전처리 : 요청이 서버에 도착하기 전에 실행하는 작업 담당. 2. 라우팅 처리 : 라우트 코드를 좀 더 읽기 쉽고 관리하기 쉽도록 모듈화한다. 3. 응답 처리 : 클라이언트에 응답을 할 때 자료를 적절한 형태로 변환, 오류를 처리하는 작업 담당. ** 라우트와 관련된 미들웨어를 가장 많이 사용한다고 ..

개발공부 2024.01.25

익스프레스의 요청 객체와 응답 객체

요청 객체 : 클라이언트에서 서버로 넘겨주는 요청 정보를 담고 있다. 응답 객체: 서버에서 클라언트로 넘겨주는 응답 정보를 담고 있다. 요청 객체의 주요 속성 클라이언트가 보낸 요청 정보를 처리할 때 자주 사용하는 속성 1. req.body : 서버로 POST 요청할 때 넘겨준 정보를 담고 있음. ex) 로그인 버튼을 눌렀을 때 사용자의 아이디와 비밀번호의 값이 req.body에 담겨있다. 2. req.cookies : 클라이언트에 저장된 쿠키 정보를 서버로 함께 넘겼을 경우 쿠키 정보를 담고 있다. 3. req.header : 서버로 요청을 보낼 때 같이 보낸 헤더 정보를 담고 있다. 4. req.params : URL뒤에 라우트 파라미터가 포함되어 있을 경우 파라미터 정보를 담고 있다. ex) 라우트..

개발공부 2024.01.24

익스프레스에서 라우팅하기

라우팅 : 각 요청 URL별로 다른 내용을 표시하도록 하는 것. 익스프레스에서의 라우팅 기본형 app.Method(path, handler) 기본형에서의 용어 1. app : express로 만든 인스턴스. 2. Method : GET, POST, PUT, DELETE 같은 HTTP에서 요청하는 메서드. - GET 요청 : 해당 URL에서 정보를 가져와야 할 때, POST 요청 : 해당 URL로 정보를 보낼 때 사용 3. path : 요청 URL(경로). 4. handler : 실행할 콜백 함수. * app.get이나 app.post 등의 함수를 합쳐 app.Method 함수라고 한다. // 루트(/)경로에서 GET 요청을 하면 뒤에 오는 콜백 함수를 실행한다. app.get("/", (req, res)..

개발공부 2024.01.24

익스프레스 서버 만들기(감자 서버)

// 익스프레스를 사용해 서버를 만드려면 익스프레스 패키지를 가져온다. const express = require("express"); // express를 실행하면 app이라는 서버가 만들어짐, app 객체에서는 익스프레스의 // 모든 기능을 사용할 수 있다. const app = express(); // 포트 번호를 port 변수에 따로 할당했다. const port = 3000; // 루트(/)경로에서 GET 요청을 하면 뒤에 오는 콜백 함수를 실행한다. app.get("/", (req, res)=> { res.status(200); // 응답 코드를 200번으로 설정. res.send("Hello Node"); // 응답 객체인 res객체에서 send함수를 사용하면 응답을 화면에 표시할 수 있다...

개발공부 2024.01.23

HTTP 모듈로 서버 만들고 실행해보기

오늘의 공부 HTTP 모듈로 (감자)서버 만들기 1. 서버 만들기 - createServer함수를 사용한다. => http.createServer([옵션][, 콜백]); ex) // Node.js 내장 모듈인 http를 가져온다. const http = require('http'); const server = http.createServer((req, res){ console.log('응애 나 애기 서버') }); 2. 서버 실행하기 - listen 함수를 사용한다. => server.listen(포트 번호[, 호스트][, 콜백]) 리스닝이란? 서버에서 클라이언트 요청이 있는지 계속 기다리는 것 (클라이언트의 요청에 귀를 기울인다) ex) server.listen(3000, () =>{ console.l..

개발공부 2024.01.18

Node.js 주특기 입문 1일차

웹 브라우저: 인터넷 브라우저라고도 하며, 웹서버로부터 정보를 요청하고 받아 사용자에게 보여주는 소프트웨어 정적(Static) 파일 : 서버에서 브라우저로 전송되는 대로 그대로 처리한다. 동적(Dynamic) 정보: 서버로부터 데이터를 받아 실시간으로 내용을 생성, 변경한다. URL(Uniform Resource Locator): 인터넷상의 리소스 위치를 나타내기 위해 사용한다. => 인터넷상의 주소 * URL의 구조 : ://:/ => 웹 서버에서의 특정한 리소스 위치를 나타낸다. DNS(Domain Name Service) : 도메인 이름을 중개하여 IP로 변환해 주는 서비스를 제공한다. => "전화번호(IP)를 외우기보다는 이름으로 저장(DNS)하여 이름에 맞게 저장된 번호로 전화를 한다" IP(I..

개발공부 2024.01.17

함수 관련 공부

Parameter(매개변수, 인자) : 함수를 실행할 때 필요하다고 지정하는 값 ex) function sum(a, b) 함수 호출은 위치에 상관 없이 가능하다. function sum(a, b) { let result = a + b; console.log(result); } 함수의 매개변수 기본 값 지정하기 ES6에는 매개변수가 있는 함수를 선언할 때 매개변수의 기본 값을 지정하는 기능이 생겨버렸다. ex) function sum(a, b = 5, c = 10) { return a + b + c; } sum(5); => 20 // a에 인자 5만 줬으므로 나머지 매개변수에 지정되어있는 기본 값을 참조하여 함수가 실행된다. sum(5, 7) => 22 // 기본 값이 지정되어 있어도 다른 값으로 인자를 ..

개발공부 2024.01.16

변수 var, let, const

- 주의 - 주인장이 공부한 내용을 본인의 말투로 정리한 내용이므로 정확하지 않거나 불쾌할 수 있음 정해진 틀이 없음 보실 분은 그냥 재미로 보시길.... (메모장임) 기억하고 싶은 값을 메모리에 저장하고, 그 값을 다시 읽어서 재사용한다! => 변수 사용의 이유 * var, let, const의 차이 * 1. var 1-1. var 는 같은 이름으로 변수를 재선언하는 것이 가능하다. var myVar = "Hello World"; var myVar = "Test 1"; 1-2. var는 이미 할당된 값을 재할당 할 수 있다. myVar = "GoodBye"; 1-3. var의 경우 호이스팅 문제 때문에 잘 사용하지 않고 let, const를 사용하는 편임. (나한테 물어보지 마셈... 나도 그냥 이런 ..

개발공부 2024.01.09

sort 배열 문법

- 기본 문법 ex) arr.sort([비교함수]) * 비교함수는 옵션임(넣어도 그만 안넣어도 그만) sort가 뭔데...? 1. 배열을 정렬할 때 사용하는 친구임. 2. 정렬이 된 배열을 반환한다. sort의 기본적인 특징 1. 정렬이 된 배열을 반환한다.(함정 주의) => * 비교 함수의 중요성 * 2. 배열 그 자체가 변환이 된다 // 정렬된 배열도 쓰고, 오리지널 배열도 그래도 유지하고 싶다. // 1. 문제의 배열 등장 let originalArray = [3, 1, 4, 1, 5, 9]; // 2. originalArray를 복사를 시도한다. let sortedArray = originalArray; // 3. 복사를 시도한 배열을 정렬한다. sortedArray.sort(); // 4. 정렬..

개발공부 2024.01.09
728x90