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

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

스프링 부트에 관심이 생겨서 주변인들의 도움이나 여러 강의들을 통해서 조금씩 공부를 하고 있었는데 인프런 워밍업 클럽 스터디라는 기회가 생겨 이 스터디를 통해 아직 제대로 갖춰지지 않았던 기초를 조금 더 다지고 싶고, 공부하면서 놓쳤던 부분들에 대해 복습하고, 더 새로운 지식들을 얻어 가고 싶어 신청하게 되었다.

 

1일차

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

     

    스프링 프로젝트를 시작하는 방법과 네트워크와 HTTP, API에 대한 기본 개념 그리고 실전으로 들어가 GET API를 개발하고 테스트하는 것 까지 학습했다.

     

그 과정에서 이전에 공부했었던 부분들에 대해 복습할 수 있었고, 직접 테스트해보면서 조금 더 이해할 수 있었다.

 

  • 1일차 미션 (어노테이션을 사용하는 이유(효과)와 나만의 어노테이션 만드는 법)

이제까지 만들어져있던 어노테이션만 계속해서 사용했었는데 직접 어노테이션을 만들어서 사용할 수 있다는 것에 흥미를 느꼈다. 그래서 커스텀 어노테이션에 대해 조사해보면서 만드는 법에 대해 알게 되었고, 이제까지 사용했던 어노테이션들이 어떻게 만들어졌는지에 대한 원리들을 깨달은 좋은 계기가 되었다.

[1일차 과제](https://www.inflearn.com/blogs/6573)

 

2일차

  • 첫 HTTP API 개발

앞서 배웠던 서버 개발을 위한 기본 환경 설정을 토대로 우리의 최종 목표인 도서 관리 어플의 유저 생성 및 조회 API를 직접 작성해보았다. 그 과정에서 GET API와 POST API가 어떻게 동작하는지에 대해 알 수 있었고, 이런 저런 데이터들을 가지고 테스트를 해보면서 API에 대한 이해를 높일 수 있었다.

 

  • 2일차 미션 (GET, POST API 만들기)

2일차 강의를 보며 익힌 GET API와 POST API의 작성을 스스로 해볼 수 있었다. 기본적인 API 작성에 관한 문제였기에 크게 어렵지는 않았는데 컨트롤러와 DTO 코드를 작성하면서 어떻게 하면 더 좋은 코드를 작성할 수 있을지에 대해 고민하면서 작성한 것 같다. 그리고 평소에 자주 쓰지 않았던 LocalDate 객체를 찾아보면서 주요 메소드들을 사용해 볼 수 있는 좋은 기회였다.

[2일차 과제](https://www.inflearn.com/blogs/6592)

 

3일차

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

     

이제 데이터를 데이터베이스에 넣어 서버를 재시작해도 사라지지 않도록 데이터베이스를 사용하는 방법에 대해 학습했다. 테이블을 만들고, 그 테이블에 값들을 넣고 조회하는 SQL 쿼리문을 배웠고, JdbcTemplate를 사용하여 Spring에서 데이터베이스를 사용하는 방법으로 우리가 이전에 작성했던 API들을 수정하였다.

 

  • 3일차 미션 (자바의 람다식 등장 이유 및 람다식과 익명 클래스의 관계)

자바를 공부해오면서 람다식을 사용하기만 했지 왜 람다식이라는 문법이 등장했을까? 라는 의문에 대해서는 생각해 본 적이 없었는데 이번 기회에 람다식에 대해 조금 더 이해할 수 있는 기회가 되었다. 그리고 이제까지 람다식을 단편적으로 사용했는데 조금 더 많은 문법을 알게되어 앞으로 사용에 있어서 더 효과적으로 사용할 수 있을 것 같다.

[3일차 과제](https://www.inflearn.com/blogs/6670)

 

4일차

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

4일차에는 3일차에서 배운 Spirng에서 데이터베이스를 사용하는 방법을 통해 우리의 최종 목표인 도서 관리 어플리케이션에서 유저를 업데이트하고 삭제하는 API를 작성해보았다. 그 과정에서 JdbcTemplate의 update메소드와 query메소드를 사용해보면서 데이터베이스에 값을 수정할 수 있었고, 데이터의 부재로 인한 예외 처리는 어떻게 하는지에 대해 알 수 있었다.

 

  • 4일차 미션 (GET, POST API 만들기2)

2일차 미션에서는 데이터베이스에 저장하지 않았었는데 이번에는 2일차 미션에서 더 나아가 JdbcTemplate 메소드를 활용하여 데이터베이스에 값을 저장해보았다. 문제의 풀면서 API에서 long을 사용하는 이유를 찾아볼 수 있었고, SQL문의 sum이나 group by 같은 문법을 통해 더 효과적으로 SQL 쿼리문을 작성할 수 있었다.

[4일차 과제](https://www.inflearn.com/blogs/6699)

 

5일차

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

     

1주차의 마지막 5일차에서는 클린 코드의 중요성과 Controller를 Service와 Repository로 3단 분리하는 방법에 대해서 학습하였다. 클린 코드의 중요성은 처음 코딩을 공부할 때 부터 많이 들어왔었는데 그 중요성에 대해서 이번 강의를 통해 조금 더 확실하게 느낄 수 있었다. 또한 Controller 코드를 분리하면서 최종 완성된 코드를 보니 메소드들이 몰려있던 처음과 다르게 확실히 보는 것이 편해졌고, 각 메소드들이 어떤 역할을 하는 지에 대해 이해가 훨씬 수월했다.

 

  • 5일차 미션 (코드 리팩토링)

최대한 클린하지 않게 작성된 코드를 리팩토링하여 클린하게 개선해 보는 시간을 가졌다. 처음에는 한 클래스에서 코드를 여러 함수로 나눌지, 아니면 클래스를 나눌지 여러 고민을 했는데 고민 끝에 기능을 구현할 함수들만 새로운 클래스를 작성하여 만들었다. 확실히 최초의 코드보다는 훨씬 깔끔했지만 조금 더 클린하게 만들 수 있는 방법에 대해 계속 생각하면서 그러한 생각속에서 많은 것들을 얻을 수 있었다.

[5일차 과제](https://www.inflearn.com/blogs/6725)

 

회고

인프런 워밍업 클럽 스터디에 참여하고 벌써 1주 차가 되었는데 아직 초반임에도 불구하고, 정말 많은 것들을 얻어 갈 수 있었다. 스프링 부트에 관련된 지식뿐만 아니라 여러 사람들이 공부하는 방식과 그를 위한 열정들을 보면서 스스로 성장할 수 있었다. 기본 지식부터 시작해 실습과 과제를 통해 그저 머릿속에 넣을 뿐 아니라 활용하는 것을 알게 되었고, 덕분에 조금 더 기억에 남을 수 있었다. 이번 일주일 동안 매일 시간을 내어 강의를 보고, 과제를 작성하고, 공유하면서 꾸준히 해온 나 스스로가 기특하고, 모르는 부분에 대해서 그냥 넘어가지 않고, 계속해서 찾아보는 시간이 무엇보다 값진 시간이었다. 인프런 워밍업 클럽 스터디를 통해 더디게 걸었던 내가 더 힘차게 걸어갈 수 있는 방법을 알게 해주었고, 앞으로 남은 2주 동안 1주차 보다 더 열심히 해서 스터디가 끝나고 나서는 시작하기 전에 모습과 몰라보게 달라진 내 모습을 기대된다.

 

 

 

 

 

 

 

댓글을 작성해보세요.

채널톡 아이콘