본문 바로가기
☁️ 구름톤 트레이닝: 풀스택 과정 회고

💬 풀스택 6회차 10주차 회고

by SSOLVED 2024. 3. 10.

 

모든 회고 방식은 5F 방식으로 작성하였습니다.

 

5F는 다음과 같은 키워드에 따라 순서대로 회고를 진행합니다.


  • Fact: 사실, 무슨 일이 있었나?
  • Feeling: 느낌, 어떤 느낌이 들었나?
  • Finding: 배운 점, 어떤 인사이트를 얻었나?
  • Future action: 향후 행동, 앞으로 무엇을 해야 할까?
  • Feedback: 피드백, 앞서 정한 향후 행동을 실천해 본 뒤, 이에 대한 어떤 피드백을 받았나?

 

[제가 구현한 PBL 구현 미션 결과물입니다.] (https://github.com/solmoonkang/spring-grades-management)

 

GitHub - solmoonkang/spring-grades-management: [구름 ☁️ PBL] 스프링을 이용해 성적 관리 미션을 구현하는

[구름 ☁️ PBL] 스프링을 이용해 성적 관리 미션을 구현하는 저장소. Contribute to solmoonkang/spring-grades-management development by creating an account on GitHub.

github.com


 

👀 1. FACT, 무슨 일이 있었나?


  • 이번 주는 풀스택 과정의 커리큘럼을 따라서 스프링 MVC와 스프링 DB 학습을 진행했습니다.
  • PBL 성적 관리 구현 미션을 진행했습니다.
  • 이번 PBL 미션인 성적 관리 미션의 오피스 아워를 진행했습니다.
  • 알고리즘과 CS 스터디를 진행했습니다.
    • 데이터베이스 CS에서 트랜잭션 및 트랜잭션 격리 수준에 대해 학습했습니다.
    • 동적 계획법과 그래프를 기반으로 프로그래머스 알고리즘 고득점 Kit 문제를 풀었습니다.

 

🔥 2. FEELING, 어떤 느낌이 들었나?


이번 한 주는 스프링에 대한 부족한 지식들을 보충할 수 있는 시간이었다.

이전에 프로젝트를 구현하거나 스프링을 활용할 때 특정 기능이 어떻게 동작하는지, 어떤 과정을 거쳐서 동작하는지에 대해 자세히 알지 못하고 그저 사용하기만 했던 것 같다.

하지만, 이번 주는 그런 부족했던 기초 지식들을 튼튼하게 다질 수 있는 시간이 되었고, 그 결과로 한 단계 더 성장했다는 느낌을 받았다.

그래서 이번 PBL 미션을 보다 수월하게 진행할 수 있었던 것 같다. 😁

이번 PBL 미션으로 구현을 할 때 너무 오랜만에 스프링을 활용해 구현을 해서 어색한 느낌이 있긴 했지만, 그래도 이전부터 해오던 것이라 금방 익숙해져서 구현을 했던 것 같다.

그리고 스터디 준비로 데이터베이스 트랜잭션에 대한 내용을 학습하였는데, 공교롭게 강의에서도 같은 주제를 다루게 되면서 스터디를 통해 미리 학습한 내용이 강의를 이해하는 데 큰 도움이 되었다고 생각한다.

 

🔎 3. FINDING, 어떤 인사이트를 얻었나?


[ 보일러플레이트 코드의 문제와 해결 방안 ]

프로그래밍에서 보일러플레이트 코드는 수정 없이 반복적으로 사용되는 코드를 의미한다.

때문에 보일러플레이트 코드는 유지보수를 어렵게 하고 비효율적이라는 문제가 있다.

이러한 문제를 해결하기 위해 Lombok 애노테이션의 사용이나 IntelliJ의 Live Template 기능을 활용할 수 있음을 배웠고, 이를 통해 반복되는 코드를 줄이고 개발 효율성을 높이는 데 큰 도움이 된다는 것을 알게 되었다.

 

[ 레코드(Record)의 도입 배경과 장점 ]

JDK14 이전에는 변경 불가능한 객체 간 데이터를 전달할 때, 보일러플레이트 코드가 필요한 클래스를 만들어야 했다.

이러한 문제를 해결하기 위해 JDK14에서는 레코드(Record)가 Preview로 처음 등장했고, JDK16에서 정식 스펙으로 포함되어 등장했다.

레코드는 필드 캡슐화, 생성자, getters, equals, hashcode, toString 메서드를 자동으로 생성해 주며, 이는 컴파일 시점에 컴파일러가 코드를 자동으로 추가해 주어서 불변 데이터 객체를 쉽게 생성할 수 있게 되었다는 사실을 알게 되었다.

 

[ Jackson 라이브러리의 활용 ]

컨트롤러에서 text/html 형식이 아닌 데이터를 전달할 목적으로 사용되는 Jackson 라이브러리에 대해서도 학습했는데, XML과 JSON 형태를 주로 사용하는 데이터 구조 표현에서, Jackson 라이브러리는 JSON 데이터 구조를 처리하는 데 있어 매우 유용하다는 사실을 알게 되었다.

 

📊 4. FUTURE ACTION, 앞으로 무엇을 해야 할까?


  • 알고리즘에 익숙하지 않기 때문에 알고리즘 문제 풀이에 좀 더 많은 시간을 할애하자.
  • PBL 미션 수행이나 공부를 하다가 모르는 내용들이 있다면 오피스 아워를 적극적으로 활용해 보자.

 

✍️ 5. FEEDBACK, 앞서 정한 향후 행동을 실천해 본 뒤, 이에 대한 어떤 피드백을 받았나?


11주 차 회고 때 앞서 정한 향후 계획을 제대로 실천했는지에 대해서 피드백을 작성할 예정이다.