인프런 워밍업 클럽 0기 - 백엔드 코스 (1주차 회고)
인프런 워밍업 클럽 0기 - 백엔드 코스의 한 주가 끝이 났습니다. 이번주 배운 내용들을 토대로 정리해보는 시간을 가져보도록 하겠습니다.
1일차
1일차는 커리큘럼 상 1일차에 진행되는 강의 + 강의를 듣기 전의 setting과 기본 지식과 관련된 내용들이 포함되어 있었습니다. 프로젝트 진행에 필요한 IDE, Git, DB 등을 설치해주었습니다.
Java를 사용한다면 알고 있을 JVM, JDK에 대한 설명부터 프로젝트 빌드툴들에 대해서도 알 수 있었습니다.
1일차 실제 강의에서는 스프링 부트에 대한 설명과 HTTP, API 등 백엔드 개발에 필요한 지식들을 모두 습득할 수 있었습니다.
그리고 GET 방식의 API를 설계하고 테스트해볼 수 있었습니다. @GetMapping, path variable 등에 대해 알 수 있었습니다.
과제
https://beomseok37.tistory.com/181
2일차
2일차에는 POST 방식의 API를 개발하고 테스트하는 시간을 가졌습니다.
@RequestBody를 통해 전달하고 싶은 데이터를 json 형식으로 보낼 수 있게 되었습니다.
그리고 지금까지 배운 내용들을 토대로 유저 생성, 조회 API를 개발해보았습니다.
과제
https://www.inflearn.com/blogs/6553
3일차
생성한 유저들을 현재까지는 어플리케이션이 동작할 때만 존재하는 배열 형식으로 저장해두었습니다.
이를 영구적으로 저장할 수 있는 DB와 관련된 지식을 얻을 수 있었습니다.
이번 프로젝트에서는 저장할 데이터들의 스키마가 존재하는 관계형 데이터베이스인 MySQL을 사용했습니다.
MySQL 테이블 생성 관련 DDL과 데이터 조작 언어인 DML을 배울 수 있었습니다.
또한, Spring Boot에서 데이터베이스를 사용할 수 있는 방법에 대해 배울 수 있었습니다.
과제
https://www.inflearn.com/blogs/6633
4일차
User에 대한 update, delete API를 작성해주었습니다.
또한, 쿼리 실행 도중 발생할 수 있는 예외상항들을 따로 처리해줄 수 있게 했습니다.
과제
https://www.inflearn.com/blogs/6640
5일차
클린 코드에 대해 배울 수 있었습니다.
코드도 한 언어로 쓰여진 글이기 때문에 가독성을 높이기 위해 항상 노력해야 됩니다.
또한, 한 기능을 처리하기 위해 3000줄 자리의 코드를 한 메서드 상에 작성하면 유지보수에 어려움을 겪을 수 있습니다. 각각의 기능별로 메서드를 분리하여 한 메서드가 하나의 로직만 수행하도록 하는 것이 좋은 코드를 작성할 수 있는 방법입니다.
클린 코드를 적용하기 위해, 계층마다 각각의 로직만 실행할 수 있도록 API 요청에 대한 응답을 내려주는 Controller, 실제 구현 로직을 수행하는 Service, DB에 접근하는 로직을 수행하는 Repository 계층으로 로직을 구분해주었습니다.
과제
댓글을 작성해보세요.