RDBMS(Relational DataBase Management System) : 컴퓨터에 정보를 저장하고 관리하는 기술입니다.
쇼핑몰이라면 주문 정보, 고객 정보 등을 컴퓨터에 저장해야 할텐데, 이걸 도와줍니다.
H2 : RDBMS의 한 종류로 In-memory DB의 대표 주자, 서버가 켜져있는 동안에만 작동하는 RDB입니다.
SQL : 데이터를 읽고, 저장하고, 변경하고, 삭제하는 구체적인 문법입니다.
JPA(Spring Data JPA) : SQL을 쓰지 않고 데이터를 생성, 조회, 수정, 삭제할 수 있도록 해주는 번역기입니다.
JPA는 Repository를 통해서만 사용할 수 있습니다.
"테이블"은 Domain, "SQL"은 Repository 입니다.
Interface : 클래스에서 멤버가 빠진, 메소드 모음집
API : 클라이언트 - 서버 간의 약속입니다.
클라이언트가 정한대로 서버에게 요청(Request)을 보내면,
서버가 요구사항을 처리하여 응답(Response)을 반환합니다.
API 요청 방식 : 생성, 조회, 수정, 삭제
현업에서는 데이터를 주고받을 때, DTO를 반드시 이용합니다.
테이블을 막 건드려도 될까?
= read, update할 때 Course 클래스를 막 써도 될까?
= 내가 아닌 다른 사람이 변경이라도 한다면?? 😱
완충재로 활용하는 것이
DTO(Data Transfer Object)입니다.
Lombok : 자바 프로젝트를 진행하는데 거의 필수적으로 필요한 메소드/생성자 등을 자동생성해줌으로써 코드를 절약할 수 있도록 도와주는 라이브러리입니다.
CRUD란? 정보관리의 기본 기능
→ 생성 (Create)
→ 조회 (Read)
→ 변경 (Update)
→ 삭제 (Delete)
Controller : 가장 바깥 부분, 요청/응답을 처리함.
Service : 중간 부분, 실제 중요한 작동이 많이 일어나는 부분
Repo : 가장 안쪽 부분, DB와 맞닿아 있음. →(Repository, Entity)