본문 바로가기
Programming/JAVA

[전자정부표준프레임워크] 2. 개발환경

by Berasix 2022. 10. 10.
반응형

개발자

코딩 -> 빌드 -> 커밋 -> 체크아웃 -> 형상관리

 

개발 서버

형상관리 -> 체크아웃 -> 빌드 -> 배포 -> 서비스(WAS 재기동)

 

구현 도구

1. Eclipse를 이용하여 개발하며, 4.0 개발환경을 다운로드하여 실행

2. nexus, jenkins 서버 개발환경도 사용할 수 있다.

3. 설계 모델을 기반으로 Skeleton 소스코드 생성하는 기능(기억에 남는 부분)

구현 도구 > 클래스 다이어그램 더블클릭 > 에디터에서 오른쪽 클릭 > eGovFrame > Model Based CodeGen 클릭 > output folder에 소스 디렉터리 입력 후 Finish

4. Spring Boot 기반 프로젝트도 생성 가능하다

5. 코드를 체크할 수 있는 기능도 제공해준다 (PMD)

 

6. Maven을 사용한다

 

개인 빌드

1. 주요 소스 구조

/pom.xml

/src/main/java : java 소스 파일

/src/main/resources : 배포할 리소스, XML 등

/src/main/webapp : html, jsp(초기 진입 파일), css 등등.. 

/src/main/webapp/WEB-INF : 이 디렉터리 안의 jsp 파일은 MVC를 타고 화면에 보여주는 파일들이다. 비즈니스 로직이 들어가지 않게 개발해야 한다.

/target : 빌드된 output

 

2. pom.xml

프로젝트 정보, 버전, 의존성 설정

플러그인들 정보 : maven url, 표준프레임워크 url, 표준프레임워크 실행환경 등등

사용될 URL을 외부에서 가져올 수 없는 네트워크 환경 : Nexus 서버를 운영하여 Nexus 서버만 외부의 메이븐 repository 관리 툴로 사용하도록 구성한다.

 

테스트 도구

1. 자동 테스트

코드로 작성해야하고 모듈화가 잘 되어 있어야 한다는 단점이 있다.

언제든지 같은 테스트를 여러 번 수행 할 수 있고, 빠른 장점이 있다.

즉, 자동 테스트는 추가적인 노력과 시간이 필요하다.

ex) EasyMock, JUnit, EMMA

@Before, @Test 어노테이션 사용

 

2. Mock 객체 : 허수아비 객체

대표 라이브러리 : EasyMock, JMock, Mockito

 

3. DB Test

 

형상 관리

1. 대표적인 시스템

CVS(요즘은 잘 안씀), SVN(표준프레임워크에서 사용), Git

 

2. Repository 

저장소

 

3. Revisions

파일의 버전

 

4. Checkout

프로젝트 소스를 내려 받는 것

 

5. Update

형상관리 서버에서 소스가 변경되었을때

 

6. Commit

내가 변경한 소스를 형상관리 서버에 반영할때

 

7. Conflict

소스 코드 충돌

충돌한 코드를 diff 하여 비교 및 편집한다.

로컬 코드를 백업한 후 형상관리 서버에서 받은 코드를 받고, 수작업으로 해결한다.

 

CI 서버

1. 효과

프로젝트 가시성을 좋게 해준다.

 

2. Jenkins

UI가 있어 관리하기 편리하다.

 

교육환경 구성

1. 다운로드

https://www.egovframe.go.kr/home/sub.do?menuNo=94

 

개발환경 - 4.x 다운로드 | 표준프레임워크 포털 eGovFrame

처리중입니다. 잠시만 기다려주십시오.

www.egovframe.go.kr

 

728x90

댓글