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

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

by SSOLVED 2024. 3. 24.

 

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

 

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


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

 

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


  • 이번 주는 풀스택 과정의 커리큘럼을 따라서 스프링 부트와 JPA 학습을 진행했습니다.
  • 데이터베이스 INDEX와 Statement & PrepareStatement에 대해 스터디를 진행했습니다.
  • PBL 게시판 미션에 대한 오피스 아워를 진행했습니다.

 

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


이번 주는 JPA와 스프링 부트에 대한 학습을 진행하면서 그동안 어렵게만 느꼈던 부분들을 깨달을 수 있는 기회다.

이전에 Pet Clinic 클론 코딩을 하면서 JPA와 QueryDSL을 사용했었는데, 부끄럽지만 솔직히 말하자면 그때는 정말 ‘이게 뭐지?’ 하는 생각과 함께 단순히 코드를 따라 치면서 ‘이렇게 하면 되는 건가?’ 했던 기억이 난다. 😂

하지만 이번에 깊이 학습하면서 그동안 어렵다고만 여겼던 내용들을 이해할 수 있었고, 그래서 마음이 너무 후련했고, ‘하면 되는구나’라는 긍정적인 생각을 가질 수 있게 되었다.

또한, 오피스 아워를 통해 코치님이 상세하게 설명해 주셔서 JPA 기본 개념에 대해서 이해할 수 있었다.

그리고 다른 사람들이 어떤 방식으로 문제를 해결하는지 궁금했던 점도 해소할 수 있었고, 나와는 다른 접근 방식과 해결 방법을 배울 수 있는 유익한 시간이었다.

이번 주는 마치 기존에 완수하지 못했던 과제를 마무리하고 새로운 과제에 도전하는 도전하는 것 같은 느낌을 받았고, ‘나도 할 수 있어’라는 자신감을 얻는 순간이었다. 💪

이 경험을 통해서 한층 더 성장할 수 있었고, 이를 발판 삼아 앞으로 더 발전하고 나은 개발자가 되기 위해 꾸준히 노력해야겠다는 결심을 할 수 있었다. 🔥

 

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


PBL 미션을 진행하면서 DB 인덱스에 대해 학습 및 적용했고, 이 과정에서 얻은 인사이트이다.

 

PBL 미션을 진행하면서 DB 인덱스를 적용해 보았을 때, 단순히 인덱스를 사용한다고 해서 모든 검색 성능이 향상되는 것은 아니라는 점을 발견했다. 특히, 다음과 같은 문제점을 경험하고 해결 방안을 모색했다.

발견한 문제점

  1. 잘못된 인덱스 선택:
    • 모든 필드에 인덱스를 생성하면 검색 성능이 향상될 것이라고 생각했지만, 오히려 성능 저하를 경험했다.
    • 특히, 자주 변경되는 필드에 인덱스를 설정하면, 데이터 변경 작업을 할 때 인덱스도 같이 업데이트를 해야 하기 때문에 오버헤드가 증가할 수 있다는 점을 알게 되었다.
  2. 인덱스 누락:
    • 성능 향상이 필요한 검색 쿼리에 인덱스를 설정하지 않아서 검색 성능이 향상되지 않는 문제가 있었다.
    • 특히, 조인 연산이 많은 복잡한 쿼리에서 성능 저하가 나타나는 것을 알게 되었다.

해결을 위한 대안

  1. 인덱스 전략 수립:
    • 무분별한 인덱스 생성을 피하고, 실제 자주 사용되는 쿼리와 그에 대응하는 필드만 인덱스를 생성할 수 있다.
    • 실제 사용 패턴을 파악함으로써, 필요하지 않은 인덱스로 인한 성능 저하를 방지하고, 필요한 곳에 정확히 인덱스를 적용하여 성능을 최적화할 수 있다.
  2. 인덱스 유지 관리:
    • 조회 성능이 중요한 곳에만 인덱스를 적용하여, 데이터베이스의 전반적인 성능을 향상할 수 있다.
    • 또한, 정기적으로 인덱스의 효율성을 검토하고, 더 이상 필요하지 않은 인덱스를 정리하는 유지 관리 작업으로, 인덱스로 인한 부담을 최소화하고 성능을 최적화할 수 있다.
  3. 복합 인덱스 활용:
    • 복합 인덱스는 여러 필드를 조합하여 하나의 인덱스로 만든 것으로, 쿼리가 여러 필드를 동시에 검색할 때 검색 성능을 크게 향상할 수 있다.
    • 특히, 조인이나 정렬이 자주 발생하는 필드에 복합 인덱스를 적용하면, 쿼리 성능을 개선할 수 있다.
    • 복합 인덱스의 효과적인 사용을 위해, 쿼리의 실제 사용 패턴을 분석하여, 어떤 필드 조합이 자주 사용되는지 파악하는 것이 중요하다.

 

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


  • 일정하고 규칙적인 생활 패턴을 유지하자.
  • 매일 하나씩, 알고리즘 문제를 풀어보자.

 

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


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