inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[인프런 워밍업 클럽 BE 0기] 발자국 1주차

ailen22
0

Day1 서버 개발을 위한 환경 설정 및 네트워크 기초

스프링 프로젝트를 시작하기 전에 서버, 네트워크, HTTP, API, JSON이 무엇인지 등 서버 개발에 필요한 다양한 개념을 이해했다.

HTTP Method로 @GET(데이터를 달라고 요청), @POST(데이터를 저장해라), @PUT(데이터를 수정), @DELETE(데이터를 삭제) 존재한다.

HTTP 요청은 HTTP Method와 Path가 핵심이고, HTTP응답은 상태코드가 핵심이다.

클라이언트와 서버는 HTTP를 주고 받으며 동작하는데 이 때 정해진 규칙을 API라고 한다.

 

 

Day2 첫 HTTP API 개발

도서관리 Application 요구사항을 만들어 보면서 유저를 생성, 조회하는 시간을 가져보았다.

네트워크, IP, 도메인, 포트, HTTP요청과 응답구조, 클라이언트-서버 구조, API에 대해 알아보았고 Spring Boot를 이용하여 GET API와 POST API를 만들어 보았는데 서버를 재시작하면 유저 정보들이 날라가는 문제점이 있었다.

 

 

Day3 기본적인 데이터베이스 사용법

디스크와 메모리의 차이를 이해하고 DB의 필요성에 대해 알아보았다. Spring Boot서버를 이용해 DB에 접근해서 데이터를 저장, 조회, 업데이트, 삭제 할 수 있었다.

DDL과 DML에 대해 알아보았고 실제로 DB에 적용해보았다.

 

 

Day4 데이터베이스를 사용해 만드는 API

도서관 Application에서 유저 정보 업데이트와 삭제에 대해 알아보았다.

한 클래스인 Controller에서 너무 많은 역할을 하고있다는 문제점이 있었다. 또한 API의 예외상황을 알아보고 예외를 처리하였다.

 

Day5 클린 코드의 개념과 첫 리팩토링

클린코드의 중요성과 원래 있던 Controller 코드를 보다 좋은 코드로 리팩트링하였다.

Controller에서 Service, Repository역할을 나누어 생성하여 유지, 보수가 더 좋은 코드로 만들었다.

Controller은 API의 진입지점으로서 HTTP Body를 객체로 변환하는 역할을 하고 Service는 현재 유저의 유무를 확인하고 예외처리를 하는 역할을 한다, Repository는 SQL을 사용하여 실제 DB와의 통신을 담당하는 역할을 한다.

 

 


1주차 후기

답변 0