Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- oh-my-zsh
- zsh theme
- 인프런워밍업클럽
- 이진탐색
- 인프런
- zsh
- Less
- 분할정복 방법
- 스터디2기
- 욕심쟁이 방법
- 네트워킹데이
- cs
- Pager
- spring boot
- 터미널
- mycli
- 알고리즘
- mysql 표
- 맥
- MySQL
- table status
- VI
- 티스토리챌린지
- 데이크스트라
- 오블완
- CS스터디
- mysql 표 출력
- 오일러 경로
- 동적 프로그래밍 방법
- 순차탐색
Archives
- Today
- Total
Develop
2차 프로젝트 회고 & 트러블 슈팅 본문
안녕하세요 .ᐟ
2차 프로젝트 종료 후 회고 및 트러블슈팅을 공유합니다.
프로젝트 회고
지난 몇 주간 진행했던 2차 팀 프로젝트가 어제부로 마무리 되었습니다.
이번 프로젝트는 Spring Boot 기반의 웹 애플리케이션을 팀 단위로 설계·구현하는 과정이었고,
저의 주요 역할은 대시보드 구현 으로 [백엔드 개발 / API 설계 / DB 설계 / 화면 연동] 등을 진행했습니다.
프로젝트를 진행하면서 느낀점등을 회고 해보려 합니다.
개발 과정 속 경험들 🌱
기획/ 개발
- 팀원들과 협업하며 Git 브랜치 전략, 커밋 컨벤션, 이슈 기반 개발을 실제로 적용해볼 수 있었고,
- 기획 단계부터 WBS 작성 → ERD 설계 → 화면 설계 → API 명세 → 구현까지 전반적인 개발 프로세스를 따라가며 많은 것을 배웠다.
- 특히 이번에는 게이미피케이션 요소를 도입하고, AI 피드백 시스템과 연동하는 등 새로운 기능을 도전해봤다는 점이 의미 있었다.
- 팀원이 구현해놓은 Spring Security 인증 흐름에 내화면의 권한을 열어보면서 사용자 권한 관리 개념을 익혔다.
- Thymeleaf와 REST API 혼용 구조에서 데이터 흐름을 설계하고 개발하면서 MVC 구조를 실습해볼 수 있었다.
협업 능력
- 부트캠프 지원서 작성할때도 협업능력을 적는 란이 있었는데, 혼자 공부할 당시에는 협업경험이 거의 없고, 파이썬 오프라인 수업들을때 팀프로젝트 당시 진도를 못따라오는 팀원에게 내가 학습한내용을 블로그에 적어 공유했었던 내용을 적었었다.
- 근데 이번 2차 프로젝트를 진행하면서 팀원들과의 커뮤니케이션을 통해 '협업을 통해 결과물이 달라진다' 는것을 체감했다.
- 팀 활동시간에 각자 개발하면서, 오류가 발생하면 우리끼리 쓰던 유행어가 있는데 "화면공유 고고" 이다 ㅎㅎ 실제로 안풀리던 문제도, 다른 팀원이 알고있어서 해결하는경우도 많았고, 진짜안풀리면 강사님을 모셔서 화면공유하면서 같이 해결한적도 있다.
- 친하지 않았을때 부터 저 유행어를 쓰면서 더 가까워지고 허물없이 문제가 생기면 바로 공유하고 해결하고 넘어가서 소외되는 사람없이 재미있게 프로젝트를 진행했었다.
아쉬웠던 점
- 일정 관리에 있어 초기 설계가 부족했고, 중후반에 일정이 많이 몰리는 바람에 테스트 코드나 예외처리는 다소 미흡했다.
- 더 적극적으로 기획에 의견을 내고 코드 리뷰를 요청했으면 좋았을 것 같다는 아쉬움이 남는다.
- 완성도 면에서 디자인/UX 요소를 백엔드 관점에서도 더 고민했으면 좋았겠다.
다음 프로젝트 목표
- 3차 프로젝트에서는 테스트 코드와 예외처리에 더 집중하고,
- 리팩토링과 성능 고려까지 할 수 있는 여유를 확보하는 것이 목표다.
- 개인적으로는 OAuth 인증 적용, JPA 를 심화해서 다루고 싶다.
트러블 슈팅 모음
2차 프로젝트를 진행하면서 트러블 슈팅을 관리하지 않아서,
그날그날 적어놨던 걸 찾아보고 모았는데, 3차진행할때는 위키처럼 모아놔야겠다는 생각이 들었습니다. 하하
2025-05-17 | 알림 데이터 0건 출력 오류
- 현상: 대시보드에 표시되는 주요 알림이 항상 0건으로 출력됨
- 원인: goal.getEndDate()를 참조하던 기존 로직이 실제로는 GoalCompany의 endDate를 사용해야 했음
- 조치: .map() 내부에서 goalCompany.getEndDate()를 기준으로 D-DAY 계산하도록 변경함
2025-05-18 | 정렬 안 되는 문제
- 현상: 주요 알림이 D-DAY 순으로 정렬되지 않음
- 원인: ChronoUnit.DAYS.between(today, endDate)가 잘못된 today 참조로 인해 오류 발생
- 조치: LocalDate today = LocalDate.now(); 선언 위치를 확인 후 로직 상단에 명시적으로 선언함
2025-05-19 | DashboardDto의 goalCompanies 정렬 누락
- 현상: 목표 기업 리스트가 무작위 순으로 나열됨
- 원인: .sorted(Comparator.comparing(GoalCompanyDto::getEndDate)) 누락
- 조치: 리스트 변환 직전에 정렬 로직 추가함
2025-05-21 | 알림 수 표시 오류
- 현상: 알림 수 0으로 출력됨에도 불구하고 실제 데이터 존재
- 원인: AlertDto 리스트는 필터링되어 7일 이내만 표시되는데, 그 외에는 표시되지 않음에도 count에는 반영됨
- 조치: 알림 수를 alerts.size() 기준으로 출력하도록 수정함
감사합니다~ .ᐟ
'백엔드 > KDT_Programmers' 카테고리의 다른 글
| 41일차~54일차_2차 프로젝트 진행 (0) | 2025.05.23 |
|---|---|
| 37~40일차_1차 팀 프로젝트 진행 (상품 주문 관리 프로젝트) (0) | 2025.05.03 |
| 36일차_공공데이터 (Open API) + Spring Cloud (OpenFeign) 연동 실습 (0) | 2025.04.29 |
| 35일차_SpringBoot: QueryDSL 적용, Boilerplate 마이그레이션, Thymeleaf 전환 (0) | 2025.04.22 |
| 34일차_Spring-JPA(영속성 컨텍스트, Entity 연관관계 매핑, N+1문제, CRUD), Spring-data(JPA 설정 및 사용, QueryDSL 사용준비) (0) | 2025.04.21 |