단순하게 따라치는 것은 의미가 없다.
내용을 이해해야한다.
React.js
Javascript
웹 프론트엔드 구성요소 3가지 - HTML, CSS, JS
HTML : 하나의 페이지에 어떤 요소들이 있는지 정해주는 것
CSS : HTML을 꾸며주는 것
JS : 원래 프로그래밍용이 아니었다. 단순히 웹페지에서 쓰려고 만든 언어.
Node.js : JS로 만든 백엔드
React.js : JS로 만든 프론트엔드
프론트 + 백 합치기
과거에는 하나의 프로젝트로 말았다.
운영 서버랑 똑같이 생긴 테스트 서버에
프론트엔드 말아서 올리고(실행가능한 상태로 올린다는 뜻) // 리액트
백엔드 말아서 올린다. // 스프링
도메인이란?
하나의 웹/앱/프로그램이 가지는 기능이 너무 많아져서
소수의 개발자가 아닌 다수의 개발자가 개발.
우리 쪼개서 코딩하자
-> 무슨 단위로? && 겹치지 않는 방법이 있을까?
답은 도메인 주도 설계
기능들을 특정 영역으로 묶은 단위 => 도메인 (ex. 상품, 주문, 회원)
데이터를 날리는 것
REST(ful) : HTTP 틀을 잘 사용하는 것
API : 데이터만? 아니다 화면을 통째로
REST API : 데이터만
과거의 API는 HTTP에 화면을 억지로 넣어서 보내는 것, HTTP의 틀을 올바르게 사용하는 방식이 아니다.
HTTP의 틀을 사용하여 데이터를 보내는 것을 REST API라고 하며 현재는 거의 모든 API가 REST API이므로 REST를 생략
OAuth2 = 간편로그인
ProductController, ProductService, ProductRepository
Product(컨트롤러에 들어오는 다양한 값을 묶는 객체) // 원본
ProductDto // 전달용 사본
input: String name, int price