본문 바로가기

프로그래머스 풀스택 데브코스/데브코스 TIL

웹 풀사이클 데브코스 TIL 8일차

HTML 태그들

  • <table> 태그
  • <th> 테이블 행들의 이름을 표시하는 태그
  • <tr> 행
  • <td> 열
  • <p> 문단을 나타내는 태그

백엔드

백엔드는 웹 서버, 웹 어플리케이션 서버, 데이터베이스 등을 모두 포함한다.

  • 웹서버(Web Server): 정적 페이지에 대해 대응. 화면의 변동이 없는 페이지
  • 웹 어플리케이션 서버(WAS): 동적 페이지에 대응. 데이터의 처리/연산을 통해 화면이 변하는 페이지.
  • 데이터베이스: CRUD 연산을 수행함

Node.js

자바스크립트를 사용해 백엔드를 구현할 수 있는 플랫폼. 웹 어플리케이션과 웹 서버의 역할을 할 수 있다. 또한 데이터베이스와도 통신할 수 있다.

Node.js의 기본구조


let http = require('http'); // node js 가 가지고 있는 모듈

function onRequest(request, response) {
    response.writeHead(200, {'Content-Type' : 'text/html'});
    response.write('Hello Node.js');
    response.end();
}
http.createServer(onRequest).listen(8888);
// localhost:8888
  • http의 모듈을 가저오는 함수 require
  • response, request 는 응답과 요청

포트 번호

TCP/IP 프로토콜에서 특성 컴퓨터의 어떤 어플리케이션을 사용할지 알려주는 번호

HTTP 프로토콜

  • Head: HTTP에 필요한 부가 정보들을 담는다(통신 상태, 응답 형태 등)
  • Body: 화면에 들어갈 내용

서버의 모듈화

서버를 start 와 같은 함수로 감싸고

exports.start = start;

와 같은 방식으로 export 처리를 해준다. 이렇게 하면 다른 파일에서 이 start를 call해서 사용할 수 있게 된다.

let server = require('./server');

server.start();

URL

인터넷 상에서의 웹 페이지의 주소

Server 와 Router

  • Server: Request를 받고 Response를 보낸다.
  • Router: Request에 따라 URL에 따라 루트를 정해준다.

requestHandler

url에 따른 기능을 map 에 담아서 관리한다. 라우터에서 각 url에 맞는 함수를 콜하게 된다. 각 함수에서 해당 url에 맞는 기능들을 수행하게 된다.

후기

본격적으로 노드에 대해 학습하였다. 오늘은 기본적인 노드의 파일 구조에 대해 학습하였다. 크게 index, server, router, requestHandler로 이루어져 있고 각각의 역할이 명확히 분리되어 있었다.

키워드: 프로그래머스 데브코스, 국비지원교육, 코딩부트캠프