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

학습 내용

1. 강의

1일차: 서버 개발에 앞서 서버, 네트워크, HTTP, API, JSON 등에 대한 기본적인 개념을 학습했다.

2일차: HTTP Method(GET, POST, PUT, DELETE)에 대해 학습하고, 이를 활용해 기본적인 API를 개발했다.

3일차: 기존에 개발했던 API에서의 데이터는 메모리에서만 유지된다는 한계가 있었다. 이를 극복하기 위해 서버에 데이터베이스를 도입하기 앞서, MySQL을 활용해 테이블을 만들고, 데이터를 조작하는 기초적인 DDL, DML을 학습했다.

4일차: Spring 서버에서 MySQL에 접근할 수 있도록 설정하고, 이를 이용해 데이터베이스 상의 데이터를 조회, 추가, 수정, 삭제하는 API를 개발했다.

5일차: 기존에는 컨트롤러 클래스에 모든 코드를 작성했는데, Service, Repository 클래스를 추가로 만들어 3개의 계층으로 분리했다.

  • Controller: API의 진입 지점으로써 HTTP Body를 객체로 변환하는 역할

  • Service: 비즈니스 로직을 담당하는 역할(강의에서는 유저가 존재하는지 확인하고, 없으면 예외처리를 해줬다.)

  • Repository: DB와의 통신을 담당하는 역할

     

 

API를 개발하고 리팩토링하는 과정을 거쳤다.

그 과정을 거치면서 당장 기능 구현만을 바라보고 코드를 작성할 게 아니라 내 코드를 읽을 동료들, 미래의 나를 고려하면서 개발해야겠다고 많이 느꼈다.

 

2. 과제

  • 자바 어노테이션의 개념과 이점, 그리고 커스텀 어노테이션을 생성하는 방법에 대해 알아봤다.

  • 강의에서 배운 내용을 바탕으로 API를 개발하는 실습을 진행했다.

    • 두 수를 쿼리를 통해 파라미터로 받아 두 수의 합, 차, 곱을 JSON 형태로 반환하는 API(GET 메서드)

    • 쿼리를 통해 날짜를 파라미터로 받아 그 날짜의 요일을 반환하는 API(GET 메서드)

    • 여러 개의 수를 담은 배열을 HTTP BODY로 입력받아 그 수들의 합을 반환하는 API(POST 메서드)

  • 익명 클래스, 함수형 프로그래밍과 람다식의 개념에 대해 알아봤다.

     

그동안 자바를 사용해서 개발을 하더라도 람다식을 적극적으로 활용해오지 않았고, 읽을 때도 그 문법이 낯설게 느껴졌다. 이번 기회를 통해 람다식에 대해 알아봤으니, 앞으로는 람다식을 사용해 코드를 간결하게 작성해보면 좋을 것 같다.

댓글을 작성해보세요.