본문 바로가기

TOTAL

유용한 Oracle 스크립트 ------------------------------------------------------------------------------------- ※ ORACLE SID 확인 SELECT INSTANCE FROM V$THREAD; ------------------------------------------------------------------------------------- ※ ORACLE DB_NAME 확인 SELECT NAME FROM V$DATABASE; ------------------------------------------------------------------------------------- ※ ORACLE VERSION 확인 SELECT * FROM V$VERSION;.. 더보기
마이바티스와 아이바티스 설정 비교 1. DTD 규칙 정의 ◆ 설절 파일의 DTD @ ibatis @ mybatis ◆ 매퍼 XML의 DTD @ ibatis @ mybatis 2. 설정 파일 변환 규칙 ◆ 최상위 엘리먼트 @ ibatis @ mybatis ◆ settings 엘리먼트 @ ibatis @ mybatis ◆ transactionManager 엘리먼트와 dataSource 엘리먼트 @ ibatis @ mybatis ◆ mapper 설정 @ ibatis @ mybatis 3. 매퍼 XML 변환 규칙 ◆ XML 엘리먼트 @ ibatis @ mybatis ◆ 중첩 결과 매핑 설정 @ ibatis ..... @ mybatis ..... ◆ 파라미터 매핑 처리 구문 @ ibatis parameterMap @ mybatis paramete.. 더보기
[javaModel, sqlMap]Generator 및 table 엘리먼트에서 설정 가능한 프로퍼티 1. javaModelGenerator Properties Description constructorBased 클래스의 전체 필드를 가진 생성자를 만들지 설정한다. 이 프로퍼티를 사용하면 각 필드에 대해 setter 메소드보다는 생성자를 사용하게 처리한다. 단, 이 프로퍼티는 마이바티스를 위한 옵션으로 아이바티스에서는 무시한다. 선택할 수 있는 값은 true, false 두 가지 값 중 하나이며, [디폴트 값은 false이다.] enableSubPackages 대상 테이블의 스키마 이름을 하위 패키지로 사용할지에 대한 옵션이다. 예를 들어 테이블명이 mytable이고 스키마를 myschema로 가정하자. targetPackage 속성을 madnix로 설정하고 이 프로퍼티를 true로 설정하면 생성된 파일.. 더보기
SqlBuilder 의 중요 메소드 Method Description BEGIN() / RESET() 마이바티스 구문 빌더는 생성할 SQL을 스레드로컬에 저장한다. BEGIN() 메소드와 RESET() 메서드는 스레드로컬의 상태를 초기화하고 새로운 구문을 추가하기 위해 준비한다. BEGIN() 메소드는 새로운 구문을 추가할 때 호출하고 RESET() 메소드는 실행 중간에 구문을 초기화할 때 호출한다. SELECT(String) SELECT를 시작하거나 추가한다. 한 번 이상 호출할 수 있고 파리미터는 SELECT 뒤에 추가한다. 파라미터는 컬럼과 컬럼 별칭의 목록이고 SELECT 메소드를 호출할 때마다 쉼표를 자동으로 붙여준다. 컬럼이 5개라면 컬럼별로 호출해도 되고 컬럼 5개를 모두 명시해서 한 번만 호출해도 된다. SELECT_DIST.. 더보기
mapper 인터페이스에서 사용 가능한 annotation Annotation Location XML Element Description @CacheNamespace class 네임스페이스가 되는 인터페이스별로 Cache를 설정한다. 사용 가능한 속성은 implementation, eviction, flushInterval, size, 그리고 readWrite 등이 있다. @CacheNamespaceRef class 다른 네임스페이스의 캐시 설정을 그대로 사용하기 위해 사용할 캐시 설정이 담긴 네임스페이스를 지정한다. 사용 가능한 속성은 네임스페이스의 이름 적어주는 value 한 개다. @ConstructorArgs method 조회 결과를 자바 객체에 설정할 때 생성자를 사용해서 처리한다. 사용 가능한 속성은 @Arg 어노테이션의 배열을 갖는 value 이다... 더보기
주어진 문자열이 다수의 문자열 집합에 속하는지 검증하는 유틸성 클래스 public class DataUtil { public static boolean existInSet(String source, Object... elements) { boolean bExits = false; for (Object objElement : elements) { if (source != null && source.equals(objElement)) { bExits = true; break; } } return bExits; } public static String valueOf(Object obj) { return (obj == null) ? "" : obj.toString().trim(); } } 더보기
MAVEN 빌드 시 Goal 명령어 goal은 Maven의 생명주기와 관련있는 커맨드라인이다. 예로, build 생명주기는(다른 clean이나 site 생명주기도 있다) 다음 명령어와 같이 작성한다. • validate 프로텍트가 정상적인지 여부와 모든 필요정보가 접근가능 한지 여부를 체크한다. • compile 프로젝트의 소스코드를 컴파일한다. • test 유닛 테스팅 프레이임웍 등으로 컴파일된 소스코드를 테스트한다. 이런 테스트들은 패키징 되거나 배치되어 있는 상태가 아니어도 된다(packeged,deployed). • package 컴파일된 코드를 가지고 배포가능한 jar 같은 포맷으로 패키징한다. • integration-test 통합 테스트가 가능한 형태의 환경으로 패키지를 배치하고 이를 구동한다. • verify 질적인 면을 충.. 더보기
리눅스 시스템 설정과 자원 사용량 확인 명령어 CPU 정보 (uname) # uname -p ;i686은 펜티엄4를 의미 # uname --help 메모리 정보 (free) # free -m ;MB단위 # free -k ;KB단위 프로세스 정보 (ps, pstree) # ps auxw | grep httpd # pstree 프로세스별 CPU와 메모리 점유율 (top) # top ;시스템이 갑자기 느려졌을 경우 사용 - 주요 영역별 의미 PID : 프로세스 ID USER : 소유주 SIZE : 데이터 크기 (단위 KB) %CPU : CPU 점유율(%) %MEM : 멤리 점유율(%) - 종료 : q 마운트한 파일시스템의 정보 ( df) - 마운트한 파일시스템의 전체크기,사용한 공간, 여유공간 등의 정보 # df -u 디렉토리별 용량 (du) - 각 디렉.. 더보기
프로젝트 컴파일 중 Invoking Maven Project Builder 무한 컴파일 시 해결 방법 간혹 이클립스에서 Maven 프로젝트를 컴파일 하는 과정에서 Invoking Maven Project Builder 라는 메시지가 컴파일 프로그래스 바에 무한으로 사라졌다가 나타나는 반복 현상을 보게 된다. 이 경우 해결 방법을 StackOverflow에서 알려주었다. 이클립스를 종료한다.(종료 전 Build Automatically 체크 해제) 원인이 발생하는 프로젝트의 WorkSpace로 이동 프로젝트 명 하위 폴더에 .project 파일을 주목 해당 파일을 편집기로 오픈 아래와 같은 내용을 삭제한다. org.eclipse.m2e.core.maven2Builder 그리고 이클립스를 다시 시작한 후 컴파일하면 상기 현상이 발생하지 않는 것을 확인할 수 있다. 더보기
리눅스에서 지속적인 통합(CI) 툴 Jenkins 설치 요즘 내가 투입되어 있는 프로젝트에서 사용하는 Jenkins에 대해 알아보고자 한다. *. Jenkins를 뭐하는데 사용하는가? 여러가지 있지만, 여기에 작업으로 등록해두면 주기적으로 알아서 최신 소스 코드를 형상 관리 툴에게서 checkout하여 컴파일 하고, 단순히 컴파일 하는 것 뿐만이 아닌, 산출물에 라벨링을 하여 보관하고, 결과를 로그로 남겨둔다. 게다가 이 모든 작업을 웹 인터페이스로 제공하여 무척 쉽게 사용할 수 있다. 여러가지 상황에 대응할 수 있지만, 간단히 jenkins가 사용되는 예를 들어보면 누군가가 svn에 새로운 코드를 커밋하여 리비전을 업데이트 하였지만, 사실 여기에는 버그가 있다. 주기적으로 컴파일을 하는 Jenkins는 이를 컴파일 하고 실패했을 시 출력되는 에러 코드를 로.. 더보기