워밍업 클럽 0기 백엔드 후기

워밍업 클럽 0기 백엔드 후기


이번 스터디를 진행하면서 개발 실력이나 개인적인 깨닫음이나 얻어가는 것이 많았다.
스터디 방식은 매일 정해진 분량의 강의를 듣고 주차별 날짜별로 정해진 과제를 하고 과제를 블로그에 올리는 방식으로 진행이 되었다. 그리고 최태현 멘토님께서 주차별로 한 번씩 강의나 과제와 관련된 라이브 강의를 진행했었다.
공부한 내용들은 간단하게 아래 정리해보았다.

  • 자바의 역사와 개발환경


    JDK, JVM, JRE 용어가 각각 무슨 뜻인지 배우고, 자바8이 왜 중요한지 자바8에서 어떤 것이 업데이트 되었었는지 배웠었다.

  • HTTP
    HTTP request와 HTTP reponse의 메시지가 어떻게 구성되어 있는 지에 대해 배웠다. HTTP 3-way hand shake에 대해 라이브 강의도 진행했었다.

  • SpringBoot, Spring MVC로 REST API 설계
    도서관 대출반납 웹사이트를 만들면서 GET, POST, PUT 메서드를 만들어 보면서 REST API를 만들어 보았다. Spring MVC를 이용해서 REST API를 직접 만들었다.

  • clean code, 레이어드 아키텍처, 람다식
    기존에 진행했던 유저 등록 메서드가 어떤 점이 문제인지를 확인하고 레이어드 아키텍처 방식을 적용해 코드를 분리하는 것을 배웠다. 그리고 초난감 주사위 프로그램을 클린코드로 수정해보는 것을 과제로 진행을 했었다.
    추가로 라이브 강의 때 엔티티와 도메인을 분리하는 헥사고날 아키텍처가 왜 등장했고 왜 쓰는지 간단한 개념을 설명했었다.

 

  • JPA를 왜 쓰는가? 어떻게 사용하는가? JPA를 사용해야 될 때 주의해야 될 점은 무엇인가?
    기존에 JPA를 사용하지 하고 DB와 연결 했을 때 생기는 문제점들(패러다임 불일치 문제, 유지보수의 어려움 등)에 대해 알아보았다. JPA의 구현체인 하이버네이트가 어떤 구조로 만들어져있는지 배웠다. (JPA의 구현체가 하이버네이트 외에도 EclipseLink, OpenJPA 등이 존재한다.) 그리고 강의에서 기존에 작성한 코드를 JPA 하이버네이트를 사용해서 다시 코드를 수정했다.

  • JPA의 영속성 개념, JPA를 사용해야 될 때 주의해야 될 점은 무엇인가?
    트랜잭션이 무엇인지 개념과 영속성 컨텍스트의 특징 4가지(Dirty Check, lazy loading, first-level cache, Write-Behind)에 대해 공부했다. 영속성 컨텍스트를 이용해서 기존 코드를 리펙토링하는 것을 강의에서 실습을 했었다.

  • 서버 빌드 및 배포, AWS
    AWS에서 스프링 부트 프로젝트를 빌드하고 배포를 실습했다. 최태현 멘토님이 AWS를 사용할 때 어떻게 사용하면 되는지 자잘한 팁? 같은 것도 알려주셨다.

  • 미니 프로젝트(최종 프로젝트)
    지금까지 배운 내용을 바탕으로 주어진 명세서를 보고 스프링부트로 REST API 서버를 만드는 것을 마지막 과제로 진행했다.

    + 코드 리뷰 스터디(미니 프로젝트 코드 리뷰 스터디)
    워밍업 클럽 0기를 진행하면서 많은 참여자분들이 과제를 하고 강의를 듣는 것에서만 그치지 않고 강의나 과제와 관련된 스터디를 진행하였다. 나도 스터디에 참여해서 처음으로 작성한 미니프로젝트 코드에 대해 코드리뷰를 받아보고 다른 분들의 코드 리뷰도 작성하였다.


    + 인프런 워밍업 스터디 0기 오프라인 수료식
    마지막 수료식은 오프라인에서 진행을 했었다. 수료식에서 개발 공부나 커리어 관련 QnA와 네트워킹을 진행을 했었다.

    총평:
    과제가 눈에 보기에는 간단하지만 깊게 들어가면 어려운 과제들이 많았다. 과제의 수준은 이전에 스프링 부트와 자바에 대해 깊게 공부를 해본 적이 없어서 살짝 어려웠지만 시간을 들여서 어떻게든 다 풀고 제출했다.
    과제를 진행하고 나서 내가 작성한 코드와 다른 분들과 코드를 비교도 해볼 수 있고, 최태현 멘토님이 매일 과제 마다 질문 답변과 과제에 대한 작은 피드백 및 조언을 남겨주셨는데 이게 크게 도움이 되었다.
    온라인 스터디임에도 불구하고 인프런 스터디에 참여하는 스터디원과 멘토님 모두가 정말 적극적으로 질문하고 과제를 올리고 정보를 공유해서 자극을 나도 많이 자극을 받았고 더 스터디에 집중해서 스터디에 참여할 수 있었던 것 같다.

    확실히 강의만 듣는 것보다 직접 코드를 작성하고 또 작성하고 작성하는 것이 제일 공부가 잘 되는 것 같다. 앞으로 공부를 할 때는 조금이라도 강의를 들을 때도 이번 스터디를 진행했던 것처럼 강의 내용을 복습할 수 있는 간단한 프로젝트를 진행하면서 공부를 해봐야겠다.

    이번 스터디를 참여하신 모든 스터디원 분들과 이번 스터디를 운영하고 이끌어 주신 인프런과 최태현 멘토님께 정말 감사합니다!