TIL (22.5.20 - 5.21)

자유의여신·2022년 5월 23일
0

1-9강에서 promise, await 이해위해 다시 수강 필요
너무 기초 강의에 몰두하다보니, node.js 강의를 많이 듣지 못했음

함수

일반 함수

function 함수이름(인자1, 인자2, 인자3) {
  // 명령문
}

함수이름(인수1, 인수2, 인수3); // 명령문에 있는 내용을 실행한다.

일반 익명 함수 표현식

const sum = function(a, b) {
  return a + b;
};

화살표 함수 표현식 (기본)

const sum = (a, b) => {
	return a + b;
};

화살표 함수 표현식 (return 생략)

const sum = (a, b) => a + b;

Javascript는 Async + Non-blocking model

각 명령이 순서대로 실행될 수 있게 구현되어 있지만,
Non-blocking model에 의해 명령이 아닌 모든 함수는 비동기적으로 실행됩니다.
: 현재 실행중인 코드의 실행이 끝나지 않아도 다음 코드를 호출함

  • async를 활용하는 예

  • defer를 활용하는 예

Class와 Object 차이

Class : fileds(변수) + methods(함수)

-> 객체지향 언어

  • Class : template, delcare once, no data in
  • Object : Class를 이용해서 새로운 instance를 만든 것
    : instance of a class, created many times, data in

Promise 함수 (1-9강. 4))

HTTP란?

데이터를 주고 받는 양식을 정의한 "통신 규약"중 하나가 HTTP
(통신 규약: Protocol)

Javascript, Node.js, Express.js

  • Node.js : JavaScript를 실행시킬 수 있는 Runtime Platform
  • 웹서버 : client(브라우저)와 통신하면서 데이터를 가져다 주는 역할을 하는 것
  • Express.js : 웹서버를 손쉽게 만들수 있게 해주는 Framework

-> Express.js로 만든 웹서버에요 (O)
-> Express 웹서버에요 (X)
-> JavaScript라는 코드로 언어를 짜고, node.js로 실행했지만, express.js라는 도구로 웹서버를 만듬

  • ①npm init -y
    => package.json 설치됨 : dependencies에 설치된 package들이 나열됨 (절대 지우면 안됨)

  • ②npm i express
    : package-lock.json - 설치한 버전을 lock하기 위해서. 이걸 삭제하면 최신버전이 설치될 수 있음
    : node_modules - 설치한 패키지들이 모여있는 폴더

Middleware (모듈)

웹서버에서 요청을 받을 때 가끔 모든 요청에 대해 공통적인 처리를 하고 싶은 경우
이때 미들웨어를 통해 웹서버의 요청/응답에 대해 공통적으로 관리 가능

  • 가장 유명한 웹서버 2가지 : Apache, Nginx
    : HTTPS을 지원하기 위해 HTTPS 모듈을 추가
    cf) HTTPS : Express.js에도 middleware가 있으나, AWS에서 제공하는것 쓰는것이 효율적
  • urlencoded: form-urlencoded 라는 규격의 body 데이터를 손쉽게 코드에서 사용할 수 있게 도와주는 미들웨어
  • json: JSON 이라는 규격의 body 데이터를 손쉽게 코드에서 사용할 수 있게 도와주는 미들웨어
app.use(express.urlencoded({ extended: false }));
app.use(express.json());
  • express에서는 routing을 middledware로 처리한다. 이를 위해 router라는 객체를 제공한다.

Routing이란?

  • Routing은 클라이언트의 요청 조건(메서드, 주소 등)에 대응해 응답하는 방식

  • router란 : Router는 클라이언트의 요청을 쉽게 처리 할 수 있게 도와주는 Express.js 기본 기능중 하나

API와 REST API 개념

API

애플리케이션끼리 연결해주는 매개체이자 약속

API를 작성한다는 의미는?

웹 어플리케이션(프론트엔드)에서 원하는 기능을 수행하는 URL과 인터페이스를 제공한다는 의미

REST API란?

URL, Headers, Method 등 네트워크 표현 수단을 사람이 봐도 이해하기 쉬운 표현으로 정의한 것

  • REST는 “Representational State Transfer” :  월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식
profile
나만의 색깔

0개의 댓글