일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Next.js 14
- header setting
- ollama langflow
- java9
- custom valid
- spring boot
- jvm
- NextJS
- JavaScript
- docker 설치
- java8
- jpa entity자동
- swagger
- CentOS6
- spring
- 초기 구축
- 초기 세팅
- generate pojos
- React
- 도커
- generate entity
- 리눅스
- Java
- 헤더 설정
- MySQL
- docker
- dto valid
- JPA
- SpringBoot
- memcached
- Today
- Total
개발자의 길
프로젝트 네이밍룰(Naming rule) 본문
= Naming Role =
1. 패키지구조
1) com.opms.framework.spring.extend -> spring에서 제공하는 기능 중 추가 확장
2) com.opms.framework.struts.extend -> struts에서 제공하는 기능 중 추가 확장
3) com.opms.framework.common.util -> 프레임워크에서 공통적으로 많이 사용하는 유틸리티
4) dev.opms.프로젝트명.버전.기능.구분 -> 버전(admin,agency) , 기능(user,system,etc...) , 매체구분(overture,google,naver...), 프로그램구분(action,service,dao)
2. 웹디렉토리 구조
1) webapp/layout/.. -> 사이트메시관련페이지
2) webapp/resource/종류(css,js,images)/..
3) webapp/view/버전(admin,agency)/기능(user,system.etc...)/..
4) webapp/index.jsp(agecny버전 기본페이지) , admin.jsp(admin버전 기본페이지)
5) webapp/WEB-INF/config/프레임워크설정(ibatis,sitemesh,spring)
6) webapp/WEB-INF/log/..(로그파일) -> log4j , spy 설정파일 조사해봐야함
7) webapp/WEB-INF/upload/..(업로드파일)
8) webapp/WEB-INF/sitemesh.xml(사이트메시설정), web.xml(웹어플리케이션설정)
3. DB
1) 테이블명,컬럼명,함수명 모두 대문자(기존 오라클 네이밍 룰을 따름) AAAP_AAA
-> 오라클로 Migration 시 기존 그대로 갈수 있음 (물론 function, procedure 등은 수정)
-> 어짜피 ibatis에서 매핑할때는 resultMap 에서 따로 선언 해 주어야 함
4. Java
1) 변수 선언 시 (type별)
-> int : ex) int userCnt;
-> float : ex) float userCnt;
-> double : ex) double userCnt;
-> boolean : ex) boolean isUserId
-> String : ex) String chkUserId;
-> Object(Model) : ex) User user;
-> List : ex) List users;
-> getter,setter 가 들어가지 않는 지역변수는 기존변수 네이밍룰을 따른다(iUserCnt, fUserCnt, dUserCnt, bnUserId, strUserId, arrUser, obUser)
2) 변수 선언 시 (Function별)
-> check : chk+변수명 ex) chkUserId;
-> ... etc
3) 게시판 관련 변수
-> pageNo : 현재페이지 번호
-> pageSize : 현재페이지당 목록수
-> pageSearchKey : 현재페이지 검색 키
-> pageSearchValue : 현재페이지 검색 값
-> pageSortKey : 현재페이지 정렬 키
-> pageSortValue : 현재페이지 정렬 값
-> pagePagingHtml : 페이지 페이징 HTML
-> pageStatusHtml : 페이지 정보 HTML
-> pageSizesHtml : 페이지 목록리스트 HTML
4) 액션 -> 서비스 -> DAO -> iBatis 명
-> 동사+모델명 ex) 액션 : loginUser
-> 기본 액션명
ACTION SERVICE DAO iBatis
listUser -> getUsers -> getUsers -> getUsers (사용자 검색 페이지)
editUser -> getUser -> getUser -> getUser (사용자 수정 페이지)
addUser -> 사용안함 -> 사용안함 -> 사용안함 (사용자 추가 페이지)
editUserProc -> editUser -> editUser -> editUser (사용자 수정 처리)
delUserProc -> delUser -> delUser -> deluser (사용자 삭제 처리)
addUserProc -> addUser -> addUser -> addUser (사용자 추가 처리)
5. JSP
1) <form> 의 이름
-> 파일명+Form ex) <form name="frmForm(1,2,3,4,...)"></form>
2) JSP 에서 사용할 URL이 있다면 <s:url id="url+액션명" action="액션명" /> 설정후 <s:property value="#url+액션명"/> 로 사용
3) 왠만하면 스트럿츠태그 사용 권장 ( 서블릿태그보다 빠르다고 합니다. )
4) 파일명
-> 동사+모델명 ex) addUser.jsp , listUser.jsp , editUser.jsp , viewUser.jsp
6. Javascript
1) 함수명
-> 동사+명사등... ex) exeListUser, exeEditUser, exeEditUserProc ... ( 액션실행 함수는 exe+액션명, 스크립트상에서 실행되는 함수는 exe를 안붙임 )
2) 변수명
-> Java변수 선언 과 동일
7. 국제화 Text관련
1) webapp/WEB-INF/src/message.properties
-> 공통적으로 사용
2) webapp/WEB-INF/src/dev.opms.프로젝트명.버전.기능.action/액션명_(ko,en,zh).properties
-> 각 기능별로 나눠서 저장할것인가, 버전벌로 나눠서 저장 할것인가
= Program Role =
1. action
-> jsp의 값을 받아서 service로 넘기는 역할
-> service에서 반환받은 값으로 view로 넘김
2. service
-> action에서 넘겨받은 값을 가공하여 dao로 넘기는 역할
-> dao로 넘겨받은 값을 가공하거나 그대로 action으로 넘김
3. dao
-> service에서 넘겨받은 가공된 값으로 map에 저장하여 ibatis에 넘김
-> ibatis에서 넘겨받은 값을 service로 보냄
4. model
-> action 단에서 파라미터로 받은 값을 model 객체에 저장 (DB 테이블 column 과 동일)
'5. Jsp' 카테고리의 다른 글
[JSTL] Core,Functions,국제화 태그 설명 (0) | 2013.10.16 |
---|---|
[JSTL기초] JSTL 기초설명 및 셋팅 (0) | 2010.04.23 |
struts2에서 getParameter, getAttribute() 받기 (0) | 2010.03.12 |
Struts2 Interceptor(인터셉터) 2. (0) | 2010.01.20 |
jsp 엑셀 다운로드시 0001 을 1로(또는 12EI.123 이런식) 나오는 문제 해결 (0) | 2010.01.06 |
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.