💡 "에러 발생 시 3초 만에 해결하는 트러블슈팅 & 커밋 전 필수 체크리스트"
📌 AA팀 개발자 교육 문서 - Chapter 6 (Q&A)
이 문서에서는 L/T Framework v3를 활용하여 개발을 완료한 후 커밋 및 배포 전 확인해야 할 개발자 체크리스트와 자주 묻는 질문(FAQ) 및 트러블슈팅 가이드를 다룹니다.
mapper.query 패키지에, INSERT/UPDATE/DELETE 매퍼는 mapper.command 패키지에 위치시켰는가?mybatis/<domain>/query/ 경로에, Command XML은 mybatis/<domain>/command/ 경로에 세팅하였는가?@Tag/@Operation, DTO에 @Schema 주석이 작성되었는가?ServiceException 및 ErrorCode를 사용하였는가?@PreAuthorize("@ss.hasPermi('...')")가 올바르게 지정되었는가?@Transactional(rollbackFor = Exception.class)가 지정되었는가?el-dialog 모달 팝업으로 구현하였는가?sys_menu 및 sys_role_menu에 메뉴와 접근 권한이 정상 등록되었는가?onBeforeUnmount() 생명주기에서 root.dispose()를 명시적으로 호출하여 메모리 누수를 방지하였는가?L/T Framework v3는 읽기(SELECT) 부하와 쓰기(CUD) 트랜잭션을 분리하는 CQRS 아키텍처를 적용하고 있습니다.
com.valuesplay.project.**.mapper.query ➔ Read-Replica DB 커넥션 풀 사용.com.valuesplay.project.**.mapper.command ➔ Master DB 커넥션 풀 사용.sys_menu 및 sys_role_menu 테이블에 해당 API 권한 식별자(sample:notice:list)가 등록되었는지 확인하세요.Invalid bound statement (not found) 에러가 발생합니다.<mapper namespace="..."> 경로와 <select id="...">가 Java Mapper 인터페이스와 100% 일치하는지 확인하세요.div에 명시적인 height: 500px; 등 높이 스타일을 지정하세요.