--- description: globs: alwaysApply: true --- # 개발 가이드 ## 개발 환경 설정 ### Docker 개발 환경 ```bash # 개발 환경 실행 docker-compose -f docker-compose.dev.yml up --build -d # 운영 환경 실행 docker-compose -f docker-compose.prod.yml up --build -d ``` ### 로컬 개발 환경 1. Java 7 JDK 설치 2. Eclipse IDE 설정 3. Tomcat 7.0 설정 4. PostgreSQL 데이터베이스 설정 ## 코딩 컨벤션 ### Controller 개발 ```java @Controller public class ExampleController extends BaseService { @Autowired ExampleService exampleService; @RequestMapping("/example/list.do") public String getList(HttpServletRequest request, @RequestParam Map paramMap) { // 비즈니스 로직은 Service에서 처리 List> list = exampleService.getList(request, paramMap); request.setAttribute("list", list); return "/example/list"; } } ``` ### Service 개발 ```java @Service public class ExampleService extends BaseService { public List> getList(HttpServletRequest request, Map paramMap) { SqlSession sqlSession = SqlMapConfig.getInstance().getSqlSession(); try { return sqlSession.selectList("example.selectList", paramMap); } finally { sqlSession.close(); } } } ``` ### MyBatis Mapper 개발 ```xml ``` ## 주요 유틸리티 ### 공통 유틸리티 - [CommonUtils](mdc:src/com/pms/common/utils/CommonUtils.java) - 공통 유틸리티 메서드 - [Constants](mdc:src/com/pms/common/utils/Constants.java) - 상수 정의 - [Message](mdc:src/com/pms/common/Message.java) - 메시지 처리 ### 파일 관련 - [FileRenameClass](mdc:src/com/pms/common/FileRenameClass.java) - 파일명 변경 - 파일 업로드/다운로드 처리 ## 프론트엔드 개발 ### JSP 개발 - 위치: `WebContent/WEB-INF/view/` - 공통 초기화: [init_jqGrid.jsp](mdc:WebContent/init_jqGrid.jsp) - 스타일시트: [all.css](mdc:WebContent/css/all.css) ### JavaScript 라이브러리 - jQuery 1.11.3/2.1.4 - jqGrid 4.7.1 - 데이터 그리드 - Tabulator - 테이블 컴포넌트 - rMateChart - 차트 라이브러리 ## 데이터베이스 개발 ### 연결 설정 - JNDI 리소스명: `plm` - 드라이버: PostgreSQL - 컨텍스트 설정: [context.xml](mdc:tomcat-conf/context.xml) ### 스키마 관리 - 초기 스키마: [ilshin.pgsql](mdc:db/ilshin.pgsql) - 역할 설정: [00-create-roles.sh](mdc:db/00-create-roles.sh) ## 빌드 및 배포 - Eclipse 기반 빌드 (Maven/Gradle 미사용) - 컴파일된 클래스: `WebContent/WEB-INF/classes/` - 라이브러리: `WebContent/WEB-INF/lib/` - WAR 파일로 Tomcat 배포