intellij 로 개발할때 전자정부 표준 프레임워크 적용에 다소 애로 사항이 있어서 최소 호환성 가이드 내 개발을 위한 메모

1. Maven 에서 최소한 아래 라이브러리 Dependency 필요

egovframework.ret.ptl.mvc.jar
egovframework.ret.fdl.cmmn.jar
egovframework.ret.psl.dataacess.jar
egovframework.ret.fdl.logging.jar

pom.xml

...
<repositories>
        <repository>
            <id>mvn2s</id>
            <url>https://repo1.maven.org/maven2/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>egovframe</id>
            <url>https://maven.egovframe.go.kr/maven/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    
    <dependencies>
        .....
        .....        
		<!-- egovframework.rte -->
        <dependency>
            <groupId>egovframework.rte</groupId>
            <artifactId>egovframework.rte.ptl.mvc</artifactId>
            <version>${egovframework.rte.version}</version>
        </dependency>
        <dependency>
            <groupId>egovframework.rte</groupId>
            <artifactId>egovframework.rte.fdl.cmmn</artifactId>
            <version>${egovframework.rte.version}</version>
        </dependency>
        <dependency>
            <groupId>egovframework.rte</groupId>
            <artifactId>egovframework.rte.psl.dataaccess</artifactId>
            <version>${egovframework.rte.version}</version>
        </dependency>
        <dependency>
            <groupId>egovframework.rte</groupId>
            <artifactId>egovframework.rte.fdl.logging</artifactId>
            <version>${egovframework.rte.version}</version>
        </dependency>
        <!-- 아래꺼는 필요 할때   
        <dependency>
            <groupId>egovframework.rte</groupId>
            <artifactId>egovframework.rte.fdl.idgnr</artifactId>
            <version>${egovframework.rte.version}</version>
        </dependency>
        <dependency>
            <groupId>egovframework.rte</groupId>
            <artifactId>egovframework.rte.fdl.property</artifactId>
            <version>${egovframework.rte.version}</version>
        </dependency>
        <dependency>
            <groupId>egovframework.rte</groupId>
            <artifactId>egovframework.rte.fdl.security</artifactId>
            <version>${egovframework.rte.version}</version>
        </dependency>
        <dependency>
            <groupId>egovframework.rte</groupId>
            <artifactId>egovframework.rte.fdl.excel</artifactId>
            <version>${egovframework.rte.version}</version>
        </dependency>
        <dependency>
            <groupId>egovframework.rte</groupId>
            <artifactId>egovframework.rte.bat.core</artifactId>
            <version>${egovframework.rte.version}</version>
        </dependency>
        <dependency>
            <groupId>egovframework.rte</groupId>
            <artifactId>egovframework.rte.fdl.crypto</artifactId>
            <version>${egovframework.rte.version}</version>
        </dependency>
        <dependency>
            <groupId>egovframework.rte</groupId>
            <artifactId>egovframework.rte.fdl.access</artifactId>
            <version>${egovframework.rte.version}</version>
        </dependency>
        -->
  </dependencies>
  ....
  ....

2. 설정파일들은 특정위치에 존재 해야 한다.

   대상 : xml 파일중 beans 또는 sqlMap 를 가진 파일

    프로젝트 루트에 위치 할 수 없으며 공통적인 상위 디렉토리를 가져야 한다.  (WEB-INF & target 폴더는 해당 없음)

    즉. 공통 설정 폴더를 만들고 해당 폴더에 설정을 다 모아둬야 한다.

    전자정부 모듈의 경우 /src/main/resources/egovframework 폴더내 다수의 폴더에 분산 되어 있다.

 

3. DAO 클래스는 전자정부 표준 아키텍처를 준수 해야 함.

   대상 : sql 매핑이용 쿼리 호출, @Repository 가짐, EgovAbstractDAO 를 상속, SqlMapClientDaoSupport 를 상속

    ibatis 일 경우 EgovAbstractDAO 를 상속 받아야 함.

    mybatis 일 경우 EgovAbstractMapper 를 상속 받아야함.

   

4. Controller 는 Model( DB) 을 직접 호출 할 수 없다.

  대상 : @Controller, @RequestMapping, @RequestParam, @ModelAttribute, @SessionAttribute

  즉 Db 불러 올때는 Service 에서 호출 하게 만들고 Controller 에서는 해당 Service 를 호출 하라.

 

5. Service 클래스는 EgovAbstractServiceImpl (2.7 이하 버전은 AbstractServiceImpl) 을 확장해야 한다.

  대상 : @Service

 

6. 표준프레임워크 확장시

   egovframework.rte 패키지 내에 정의될 수 없다.

   Egov 라는 이름으로 시작할 수 없다.

 

7.점검 대상 프로젝트는 

   1개 이상의 실행환경 라이브러리가 존재해야 함.

   1개 이상의 DAO 클래스가 있어야 함.

   1개 이상의 Service 클래스가 있어야 함.

 

공통 모듈이랑은 너무 많고... 호환성 준수가 필요한 상황이 있을때 찾아보기 쉽게..

 

표준프레임워크 호환성 가이드.ppt
0.53MB

개발을 하다 보면 자료를 조건에 다라 일정한 순서로 재배열 해야 하는 소팅(sorting)을 해야 하는 경우가 종종 있는데 상황에 따라 어떤식으로 처리 하는게 가장 좋을지 고민 하게 될 때가 있다.

알고리즘별 조건에 따른 처리 형태 및 속도 비교 등을 시각적으로 표현해서 쉽게 이해 하게 해주는 페이지가 있다.

조건도 조정 가능하고 각 알고리즘을 클릭하면 코드도 있어서 소팅 작업시 참고 하면 유용 할 것 같다.

 

https://www.toptal.com/developers/sorting-algorithms

https://www.toptal.com/developers/sorting-algorithms

맥북 사용 초보 입장에서 윈도우에서 쓰던 탐색기에 대응 되는 Finder 를 쓰면서 여러가지로 애로 사항을 격으며 적응 하기 까지 몰라서 불편했던 단축키를 일부나마 정리 해서 혹시 나같은 사람이 있으면 조금은 도움이 되면 좋을 것 같다.

(아직 아는게 별로 없어서 생기는 계속 추가 해야지 라는 생각....중)

 

개인적 생각에 필수적으로 알면 편했던 것들은 

Finder 열때  : option + command + space

Finder 새창 열기 : (Finder 에서) command + N

Finder 파일 복사/붙이기/잘라내 붙이기 : (윈도우에서  Win + X  -> Win + V 로 간단했는데..)

             command + c 로 파일 복사를 선택 후 command + v (붙여넣기) / option + command +v ( 잘라내 붙이기-기존 파일 삭제)

Finder 파일 삭제(휴지통) : command + delete 

Finder 숨김 파일 : shift + command + .   (보이기/ 감추기 토글)

 

등이 맥 OS 관련 단축키는 애플에서 제공하는 "Mac 키보드 단축키" 페이지를 참조 하면 많은 단축키 관련 정보를 얻을 수 있다.

 

+ Recent posts