직원 관리 시스템(EMS) 개발 회고: Querydsl과 백엔드 개발 경험 공유
🤖 AI 추천
이 글은 백엔드 개발에 입문하거나 프로젝트 경험을 쌓고 싶은 주니어 백엔드 개발자에게 유용합니다. 특히 Querydsl을 활용한 복잡한 쿼리 작성, 팀 협업 경험, 그리고 프로젝트 배포 과정을 통해 실무적인 인사이트를 얻을 수 있습니다.
🔖 주요 키워드

핵심 기술
이 글은 직원 관리 시스템(EMS)
구축 프로젝트를 회고하며, 복잡한 쿼리 작성을 위해 Querydsl
을 선택하고 적용한 경험을 공유합니다. 백엔드 개발의 실질적인 문제 해결 과정과 팀 협업의 중요성을 강조합니다.
기술적 세부사항
- 프로젝트 주제 선정:
Open API를 활용한 금융 분석 도구
vs직원 관리 시스템(EMS)
중 CRUD 학습을 위해 EMS 선택. - 주요 기능: 부서 관리, 직원 정보 관리, 파일 관리, 직원 정보 수정 이력 관리, 데이터 백업 관리, 대시보드.
- 개발 환경: Github Repository, 협업 규칙, 일정 관리 툴, ERD 설계.
- 담당 역할: 전체 직원 조회, 다양한 조건의 직원 현황 통계, Github Repository 관리.
- 쿼리 최적화: 복잡한 쿼리 작성을 위해
JPA Specification
,Criteria API
,Querydsl
비교 후Querydsl
채택.Querydsl
장점: 컴파일 시점 오류 감지, 타입 안정성, Java 코드로 JPQL 작성.
- 특정 기간 직원 수 조회 문제 해결:
ACTIVE
직원hireDate
조회- 날짜별 신규 직원 수 집계
- 누적 인원 수 계산
- 분석 구간 날짜 생성
- 날짜별 누적 인원 매핑
- 변화량, 변화율 계산
- 결과 DTO 반환 (구글링 및 GPT 활용)
- 팀 협업: 디스코드 깃허브 연동, 코드래빗 등 활용 및 편안한 분위기 조성.
- 배포:
Railway
를 이용한 배포. - 학습 내용:
Querydsl
,H2 Database
등 강의 외 기술 스택 학습.
개발 임팩트
- 백엔드 개발자로서의 역량 강화 및 동기 부여.
- Querydsl을 활용한 효율적이고 가독성 높은 쿼리 작성 능력 향상.
- 실제 서비스 배포 경험을 통한 성취감 획득.
- 팀 협업 및 소통 능력 증진.
커뮤니티 반응
- 글쓴이는 GPT 활용 경험을 공유하며 커뮤니티의 도움을 받았음을 암시합니다.
- 코드래빗 사용 경험을 긍정적으로 언급하며 동료 개발자들과 유용한 팁을 공유했습니다.
톤앤매너
회고록 형식으로, 개인적인 경험과 배운 점을 솔직하게 공유하는 친근하면서도 전문적인 톤을 유지하고 있습니다.
📚 관련 자료
Querydsl
Querydsl은 Java Persistence API (JPA)를 위한 타입-세이프(type-safe) 쿼리 빌더로, 이 글에서 복잡한 쿼리 작성을 위해 핵심적으로 사용된 라이브러리입니다.
관련도: 95%
Spring Data JPA
Spring Data JPA는 Spring 프레임워크에서 JPA를 더 쉽고 효율적으로 사용할 수 있도록 지원하는 프레임워크입니다. 글에서 언급된 JPQL, 쿼리 메서드 등의 기반 기술과 관련이 깊습니다.
관련도: 85%
H2 Database
H2 Database는 Java로 작성된 오픈소스 관계형 데이터베이스로, 글에서 개발 및 테스트 목적으로 사용되었을 가능성이 높은 기술 스택입니다.
관련도: 70%