직원 관리 시스템(EMS) 개발 회고: Querydsl과 백엔드 개발 경험 공유

🤖 AI 추천

이 글은 백엔드 개발에 입문하거나 프로젝트 경험을 쌓고 싶은 주니어 백엔드 개발자에게 유용합니다. 특히 Querydsl을 활용한 복잡한 쿼리 작성, 팀 협업 경험, 그리고 프로젝트 배포 과정을 통해 실무적인 인사이트를 얻을 수 있습니다.

🔖 주요 키워드

직원 관리 시스템(EMS) 개발 회고: Querydsl과 백엔드 개발 경험 공유

핵심 기술

이 글은 직원 관리 시스템(EMS) 구축 프로젝트를 회고하며, 복잡한 쿼리 작성을 위해 Querydsl을 선택하고 적용한 경험을 공유합니다. 백엔드 개발의 실질적인 문제 해결 과정과 팀 협업의 중요성을 강조합니다.

기술적 세부사항

  • 프로젝트 주제 선정: Open API를 활용한 금융 분석 도구 vs 직원 관리 시스템(EMS) 중 CRUD 학습을 위해 EMS 선택.
  • 주요 기능: 부서 관리, 직원 정보 관리, 파일 관리, 직원 정보 수정 이력 관리, 데이터 백업 관리, 대시보드.
  • 개발 환경: Github Repository, 협업 규칙, 일정 관리 툴, ERD 설계.
  • 담당 역할: 전체 직원 조회, 다양한 조건의 직원 현황 통계, Github Repository 관리.
  • 쿼리 최적화: 복잡한 쿼리 작성을 위해 JPA Specification, Criteria API, Querydsl 비교 후 Querydsl 채택.
    • Querydsl 장점: 컴파일 시점 오류 감지, 타입 안정성, Java 코드로 JPQL 작성.
  • 특정 기간 직원 수 조회 문제 해결:
    1. ACTIVE 직원 hireDate 조회
    2. 날짜별 신규 직원 수 집계
    3. 누적 인원 수 계산
    4. 분석 구간 날짜 생성
    5. 날짜별 누적 인원 매핑
    6. 변화량, 변화율 계산
    7. 결과 DTO 반환 (구글링 및 GPT 활용)
  • 팀 협업: 디스코드 깃허브 연동, 코드래빗 등 활용 및 편안한 분위기 조성.
  • 배포: Railway를 이용한 배포.
  • 학습 내용: Querydsl, H2 Database 등 강의 외 기술 스택 학습.

개발 임팩트

  • 백엔드 개발자로서의 역량 강화 및 동기 부여.
  • Querydsl을 활용한 효율적이고 가독성 높은 쿼리 작성 능력 향상.
  • 실제 서비스 배포 경험을 통한 성취감 획득.
  • 팀 협업 및 소통 능력 증진.

커뮤니티 반응

  • 글쓴이는 GPT 활용 경험을 공유하며 커뮤니티의 도움을 받았음을 암시합니다.
  • 코드래빗 사용 경험을 긍정적으로 언급하며 동료 개발자들과 유용한 팁을 공유했습니다.

톤앤매너

회고록 형식으로, 개인적인 경험과 배운 점을 솔직하게 공유하는 친근하면서도 전문적인 톤을 유지하고 있습니다.

📚 관련 자료