Day : 17
React : 7
what is ExpressJS?
: Node.js로 RESTful API를 구축하기 위한 백엔드 웹 애플리케이션 프레임워크
➕ JS는 원래 브라우저 안에선만 작동했는데 이를 브라우저 밖에서도 가능하게 만든 것이 node.js이다. node.js는 크롬브라우저 엔진이었던 V8을 기반으로 개발되었다. node.js는 주로 백엔드 개발에 많이 사용된다. 이 node.js를 사용하여 API를 편하게 구축하기 위해 만들어진 프레임워크로 ExpressJS, NestJs 등이 있다.
What are Rest, RestAPI, Restful?
- Rest : REpresentational State Transfer, 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것
- RestAPI : rest를 기반으로 API 서비스를 구현한 것
- Restful : REST의 원리를 따르는 시스템. REST API의 설계 규칙을 올바르게 지킨 시스템을 RESTful하다 말한다.
=> HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다.
; 쉽게 이야기하면, 쓰려는 데이터에 이름을 붙혀 URI형태로 통신! 이때 통식 규칙은 HTTP를 따름 ; ex) GET/movies/:id: id로 영화 찾기
➕ AXIOS
: 브라우저, Node.js를 위한 Promise API를 활용하는 HTTP 비동기 통신 라이브러리
➕ Postman (Insomnia)
: REST API를 테스트 할 수 있는 툴
➕ NodeJS 서버 (다른 서버 대체 가능)
: REST API를 이용하면 http통신을 이용하여 백엔드와 소통할 수 있다.
module
: 소프트웨어 설계에서 기능 단위로 분해하고 추상화 되어 재사용 및 공유 가능한 수준으로 만들어진 단위
( 매번 직접 필요한 기능을 만들어 관리하는 것이 비효율적이고, 서로 다른 기능의 파일에 변수명이 겹치면 골치아픈 일들이 많이 발생한다. 이를 모듈화를 통해 해결할 수 있다. )
: 모듈 시스템은 보기에 직관적이고, 효율성 있는 개발이 가능
JS module 시스템
: 모듈 시스템 등장 이전의 자바스크립트 개발은
<script src=”…”>로 JavaScript 소스 파일들을 서버에게 요청
: JavaScript 모듈화 작업의 선두 주자는 CommonJS, AMD
: Node.js에서는 CommonJS 채택( NPM 패키지 모듈들 CommonJS), 브라우저에서도 모듈 사용이 가능하게 만들었는데 이는 ES6부터 도입되었다.
➕ 비동기 : 프론트엔드-백엔드, 백엔드-DB 등 비동기 처리가 필요한 상황 발생
도움받은 링크 :
ExpressJS
: https://wikibook.co.kr/article/what-is-expressjs/
Rest API
: https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html
:https://khj93.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-REST-API%EB%9E%80-REST-RESTful%EC%9D%B4%EB%9E%80
JS ( JS, node.js, commonJS, expressJS???? JS상관 관계가 이해되지 않은 나에게 단비같은 영상)
CommonJS
: https://it-eldorado.tistory.com/92
: https://www.daleseo.com/js-module-require/
: https://d2.naver.com/helloworld/12864
ECMAScript(ES6)
: https://wormwlrm.github.io/2018/10/03/What-is-the-difference-between-javascript-and-ecmascript.html