파편화된 지식은 정리되지 못하고 사라지기 쉽지만,
큰 그림을 이해하고 습득한 지식은 체계적으로 제 자리를 찾아
오래 머물게 된다는 사실을 기억합시다
노드: 비동기 이벤트 기반의 자바스크립트 런타임 환경
Express.js: 서버에 대한 js 프레임워크
라우팅: 해당 자원에 대해 다른 함수(로직)을 실행하도록 하는 것
서버는 require객체와 request객체를 가진다
req객체는 req.url, req.method등의 정보를 가진다
이를 통해 API 실행 코드의 분기점을 만들 수 있다
Application Programming Interface의 약자
응용 프로그램(어플리캐이션)이 소통하기 위한 접점
웹 서비스에서 API란 클라이언트와 데이터베이스를 이어주는 매개체를 의미한다
UI: User Interface의 약자(HUI, GUI, WUI 등..)
Application: 운영채제에서 실행되는 모든 소프트웨어
interface: 손님(인간)과 요리사(컴퓨터) 사이의 점원(interface)와 같은 매개체의 역할
JSON: 네트워크 통신에서 언어와 관계없이 데이터를 전달하는 공통된 방식
JSON.stringify(): JavaScript 값이나 객체를 JSON 문자열로 변환
JSON.parse(): JSON문자열을 분석하여 JavaScript 값이나 객체를 생성
클라이언트는 손님, 서버는 서빙, 데이터베이스는 요리사이다
클라이언트의 요청이 들어오면, createServer로 서버가 생성되고
서버(API)가 데이터베이스에서 정보를 찾아 클라이언트에게 응답한다
객체의 상세 내용이 보이지 않을 때, util모듈의 inspect메서드를 사용한다
예시:
util.inspect(object, {showHidden: false, depth: null, colors: true})
const http = require("http");
const server = http.createServer((req, res) => {
res.setHeader("Content-Type", "application/json");
//분기 처리1
if(req.url === "조건1" && req.method === "조건2"){
return res.end(JSON.stringify(응답 내용));
}
res.end(JSON.stringify(응답 내용));
})
server.listen(포트번호, () => {
console.log(실행 확인 메세지)
});
const http = require("http");
const express = require("express");
const app = express();
app.use(express.json());
function callback(req, res) {
res.json(응답 내용);
}
//분기 처리1
app.httpMethod("/url", callback)
const server = http.createServer(app);
server.listen(포트번호, () => {
console.log(실행 확인 메세지)
})
같이 볼 자료:
제로초 노드 교과서 4강, 6강 포스트
저스트코드 2주차 코드 및 주석
웹 어플리케이션이 다른 출처의 자원에 접근할 수 있게 해주는 모듈
const cors = require("CORS");
arr.use(cores());
모든 데이터가 2차원 테이블로 표현된다
각 행을 지칭하는 고유의 번호, primary key(pk)를 사용할 수 있다
ERD로 테이블의 관계를 도식화 할 수 있다
하나의 A테이블 데이터는 오로지 하나의 B테이블 데이터와 연결된다
하나의 B테이블 데이터 또한 하나의 A테이블 데이터와 연결된다
A테이블과 B테이블은 각각의 primary key를 가지며, 연결되는 테이블의 pk를 참조한다(fk)
하나의 A테이블 데이터는 B테이블의 여러 데이터와 연결된다
하나의 B테이블 데이터는 오로지 하나의 A테이블 데이터와 연결된다
하나의 A테이블 데이터는 B테이블의 여러 데이터와 연결된다
하나의 B테이블 데이터는 A테이블의 여러 데이터오 연결된다
정규화 과정이 필요하다
서로 각자 다른 테이블의 여러 데이터와 연결 될 때에는,
두 테이블에 속한 데이터의 조합을 입력하기 위한 중간 테이블이 생성된다