[인프런 워밍업 클럽 1기/BE] 첫번째 발자국
Section 1 - 생애 최초 API 만들기
Java를 공부하기 전에 알아두면 좋을 것들 #1 #2
JVM: 자바 가상 머신, 컴파일된 코드를 읽고 실행
JDK: JVM을 포함해 자바 컴파일러(javac), 자바 실행 도구, 라이브러리 등 다양한 개발 도구 제공
HTTP, API
HTTP(Hypertext Transfer Protocol): 웹 브라우저가 웹 페이지를 요청하고 서버가 그에 대한 응답을 주는 기본적인 통신 규약
API(Application Programming Interface): 소프트웨어 간의 상호작용을 위한 인터페이스를 제공
정리
컴퓨터간의 통신은 HTTP라는 표준화된 방식
HTTP 요청은 HTTP Method (GET, POST)와 Path (/portion) 가 핵심
요청에서 데이터를 전달하기 위한 2가지 방법은 쿼리와 바디
HTTP 응답은 상태 코드가 핵심
클라이언트와 서버는 HTTP를 주고 받으며 기능을 동작하는데 이때 정해진 규칙을 API
GET API, POST API
GET API는 쿼리로, POST API는 바디에 담아 보냄.(무조건은아님)
DTO를 만들어서 구현가능 이경우
@RequestParam
제거 !
Section 2 - 생애 최초 Database 조작하기
DB
DB 없이 만들면 메모리에만 저장됨 => 데이터가 다날아감
DB => 데이터를 구조화 시켜 저장
MySQL 연동
application.yml 만들기
JdbcTemplate 사용
직접 sql을 연동하지 않고 JPA만 사용했던 경험이 있다.
sql 쿼리를 직접 사용해서 db에 접근가능함도 알음
Section 3 - 역할 분리
클린코드
코드만 보고 의미 파악할 수 있게 함
함수는 최대한 작게 만들고 한 가지 일만 수행
클래스는 작아야 하고 하나의 책임만 가져야 함
유지보수도 좋음
Controller 3단 분리
Controller 역할 - API의 진입 지점으로써 HTTP Body를 객체로 변환
Service 역할 - 현재 유저가 있는지, 없는지 등을 확인하고 예외 처리(메인 로직 수행)
Repository 역할 - SQL을 사용해 실제 DB와의 통신을 담당
Layered Architecture
1주차 회고
스터디 시작전 모든 미션과 과제를 수행하고자 했는데 첫번째 과제부터 놓쳐버렸다... 남은 것들은 꼭 다하겠다.
오랜만에 스프링을 다시 하는데 당시에 바로 jpa를 바로 사용해서 db랑 연동을 했었는데 쿼리로 연동하는 것도 알게 되었음. 기초가 중요하다.
Java에 아직 덜 익숙함도 느꼈음. Java 다형성 부분에 대해서 다시 복습해야겠다.
남은 스터디 기간에도 집중해서 꼭 많은 것을 얻어가는 시간이 되어야겠다.
댓글을 작성해보세요.