jenkins를 사용하게 되면 대게 폴링을 이용하여 형상 관리 시스템의 리비전이 변경되었는지를 체크한다.만약 변경이 되어 있으면 빌드가 실행되고, 변경이 없다면 빌드가 실행되지 않는다.허나 이 방법은 매번 jenkins 시스템이 형상관리 시스템으로 불필요한 요청을 보내게 되는데 이런 문제를 해결할 수 있는 기술이 hook이다. hook의 동작 방식은 개발자가 github에 소스 코드를 push하면 github 시스템이 jenkins 시스템으로 noti를 보내게 되는 방식이며 이를 받은 jenkins 시스템은 빌드를 시작하게 된다. 다음은 설정 방법이다.1. GitHub plugin 플러그인 설치 2. Jenkins > configuration > GitHub Web Hook 이동 - Let Jenkins..
maven package task 실행 시 다음과 같이 INFO 로그와 WARNING 로그가 기록된다.[INFO] ------------------------------------------------------------------------[INFO] Building mySpringProject 1.0.0-BUILD-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mySpringProject ---[INFO] Using 'UTF-8' encoding to co..
Git에서 필요한 라이브러리 다운로드yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel fedora 계열은 sudo apt-get install git Git 소스 다운로드cd /usr/local/srcwget http://git-core.googlecode.com/files/git-1.7.9.tar.gztar xvzf git-1.7.9.tar.gzcd git-1.7.9 Git 소스 컴파일 및 install./configuremakemake install Git 저장소 생성mkdir git-testcd git-testgit init Initialized empty Git repository in /home/nklee/git/git..
웹 개발을 진행하다 보면 대부분 url mapping 설정을 ant pattern으로 한다. 스프링에서 mvc:resources mapping="/static/**" 또는 security:intercept-url pattern="/user/**" 이 그러하다. 설정에 대한 표현식으로 ant pattern을 사용하기 때문에 *, **, ? 의 의미를 확실히 알아둘 필요가 있다. ? : 1개의 문자와 매칭 (matches single character) * : 0개 이상의 문자와 매칭 (matches zero or more characters) ** : 0개 이상의 디렉토리와 파일 매칭 (matches all files / directories)
이클립스 workspace에 생성되어 있는 프로젝트를 SVN 형상관리 시스템과 연결을 완료하였는데도 아래와 같이 SVN 관련 icon들이 표시되지 않는 문제가 있었다. 원인을 찾아 보니 아래 설정으로 들어간 후 "SVN" 에 체크해 주면 정상적으로 icon들이 표시된다.Window > Preferences > General > Appearance > Label Decorations 메뉴 이동 후 SVN 체크
메이븐 빌드 시 test 코드의 수행 시간이 오래 걸려 제외 하는 방법을 찾아 보았다.방법은 다음과 같이 옵션을 추가하면 된다.-Dmaven.test.skip=true
logback을 이용하여 개발, 스테이징, 라이브 환경에 따른 로그 레벨을 분기하기 위해서 다음과 같이 조건문을 추가하였다. spring.profiles.active의 값은 java 실행 시 -Dspring.profiles.active="dev" 아규먼트를 추가하여 각 서버를 구분지었다. 헌데 웹 애플리케이션을 구동하면 로그 레벨이 각 환경에 맞게 적용이 안 된다. 문제는 janino library가 추가되어 있어야 했다. pom.xml 파일에 아래 라이브러리를 추가하여 문제 해결org.codehaus.janino janino 2.6.1
maven 중앙 repository에 jar 파일이 없는 경우 사설 repository에서 다운로드를 제공하려면 해당 jar 파일을 업로드 해야 하는데 업로드 방법을 매번 잊어 먹어 이곳에 정리한다. 순서는 다음과 같이 진행한다. 4번 진행 시 Group 필드에 "fakepath"로 셋팅이 되니 해당 jar 파일의 패키지 경로를 알맞게 넣어주도록 하자. (브라우저에서 보안상의 이유로 중간 path를 fakepath로 바꿈)
다음의 코드는 서버로 HTTP request를 날린 후 response로 JSON데이터를 받아 alert를 찍어주는 부분이다.$.ajax({type : "GET",url : "${pageContext.request.contextPath}/json.do",dataType : "json",data : "adsId=" + adsId + "&cmd=" + cmd,success : function(json) { if (json.isSuccess) { alert(json.msg); } alert(json.info.adsName); alert(json.info.imp); alert(json.info.click);}, error : function(e) { alert("처리중 장애가 발생하였습니다."); } });서버..
개발을 진행하다 보면 필드나 메서드에 주석을 추가하지 않는 개발자가 종종있다.이런 것들을 일일이 소스를 열어보며 확인하는 방법보다 자동화 툴을 이용하여 한번에 찾아내는 편이 훠얼씬 효율적일 것이다.이클립스 플러그인 JAutodoc이 이를 해결해 준다. 플러그인은 Marketplace에서 JAutodoc으로 검색하여 설치하면 되고, 위의 검색 창은 ctrl + h를 눌러 확인하면 된다.참고로 JAutodoc은 한방에 Javadoc을 달아줄 때 사용하면 좋다. 물론 주석의 내용을 채우는 것은 개발자 몫