everydayminder
마이크로서버를 사고, HDD 2TB를 새로 추가하였다. 다음과 같이 추가 하드를 장착하였다. 1. 시스템 끈 상태에서 HDD 추가 장착 2. 파티션 추가 fdisk /dev/sdb * p : 파티션 정보 조회 * n : 파티션 생성 데이터용과, 백업용으로 나누려고 2개로 나누었다. 그래서, /dev/sdb1, /dev/sdb2가 생성되었다. 잘 나뉘었는지, fdisk -l /dev/sdb로 조회하자. 3. ext3으로 포맷 mkfs -t ext3 /dev/sdb1 mkfs -t ext3 /dev/sdb2 4. 마운트 포인트 생성 mkdir -p /mnt/data mkdir -p /mnt/backup 5. 부팅시 자동으로 인식되도록 설정 mount /dev/sdb1 /mnt/data mount /dev/s..
마이크로서버에 설치한 CentOS에 HP MFP M1005를 연결 성공하였다. 역시 google! HP에서는 hplip(HP Linux Imaging and Printing)을 지원한다. google에서 검색어로 centos hplip를 입력하였다. 다음과 같은 링크를 얻어냈다. http://hplipopensource.com/hplip-web/install/manual/distros/centos.html 옆의 메뉴에 "Supported Printers"를 선택하여, 입력했다. 프린터 종류까지 선택하고, 조회하면 http://hplipopensource.com/hplip-web/models/laserjet/hp_laserjet_m1005.html 지원된다고 하니 아주 기쁘다. :) 프린터를 연결하자. (..
지난 여름에 과전류로 정전이 두 차례 되었는데, 아마도 그 때 HDD가 문제가 생긴 것 같았다. MircroServer에 연결해 놓은 HDD중, 마스터는 그냥 다시 linux를 설치했고, 두 번째 HDD에 이상이 있는지 검사해 보았다. 이 때 사용한 명령어가 fsck unmount된 상태에서 다음과 같이 실행하여 이상이 없음을 확인하였다. 휴우~ [root@localhost ~]# fsck -TV /dev/sdb1 [/sbin/fsck.ext3 (1) -- /dev/sdb1] fsck.ext3 /dev/sdb1 e2fsck 1.41.12 (17-May-2010) data: recovering journal data: clean, 8633/65544192 files, 81666168/262146654 bl..
작년에 HP ProLiant MicroServer를 제 값 주고 샀다. 내가 산지 3개월 후 되니, 갑자기 여기저기에서 반값 이벤트를 한다. -_-; 어쨌거나, 살 당시, ODD를 별도 구매하지 않았다. 그래서, USB를 사용하여 linux를 설치해야 한다. 1. 설치 이미지 확보 centos.org에 방문하면 download할 수 있는 사이트를 찾을 수 있다. Downloads > Mirrors로부터 원하는 사이트를 선택한다. USB의 용량 한계상, netinstall 버전으로 다운로드 받았다. (그만큼 설치에 오랜 시간이 걸릴 테지만) 2. USB에 linux 파일 복사 다음의 두 방법 중, 하나를 쓰면 될 것 같다. 1) 깨끗하게 포맷한 USB에 미리 다운로드 받은 CentOS netinstall ..
한 서버에 아파치 톰캣 여러 개 띄우려면? 이런 경우가 발생한다. 한 서버에 포트를 달리해서, tomcat을 여러 개 띄워야 하는 경우가. 개발시 servlet context만 달리해서 검사하곤 했는데, servlet context를 root로 fix해서 개발된 소스를 받아들게 되었다. (절대경로로 root context만 고려해서 작성된 소스코드) 두 개의 사이트를 띄워야 하는데, 둘 다 root context로 동작하게 되어있다. tomcat을 띄우고자 서버 두 개를 쓰는 것은 오버하는 것이고, 한 번에 두 개 혹은 그 이상의 tomcat을 띄워서 배포해 보자. 본 설정은 tomcat 6.x를 기반으로 설정하였다. Tomcat 설치 http://tomcat.apache.org로부터 설치 파일을 다운로..
1. Web Application 배포 $CATALINA_HOME/webapps에 web application 디렉토리를 통쨰로 복사하면 배포가 된다. 또한, war 파일을 복사해도 배포가 된다. (설정이 잘 되어 있다면) tomcat이 war 파일을 압축 풀고, 배포하는 것을 확인할 수 있다. 2. Context 설정 만약, webapps/test 라는 디렉토리가 있다면, context명은 test이다. 배포를 하기 위해, web application 형태의 test 디렉토리를 통째로 복사했을 수도 있고, test.war 파일을 통해 배포했을 수도 있다. 이 때, context명을 $CATALINA_HOME/conf/server.xml에, 또는 $CATALINA_HOME/conf/context.xml에..
Hudson에 연결한 maven 프로젝트에 PMD 플러그인을 설정해 본다. 우선 프로젝트의 confiruation에서 Publish PMD analysis results를 체크한다. 그리고, 설정을 저장한 다음 Build Now 해보자. 변화가 없다. pom.xml을 바꾸자. dependency 부분에 pmd plugin 선언을 하고, org.apache.maven.plugins maven-pmd-plugin reporting 부분에 pmd 관련 설정을 기록한다. 이 때, PMD에서 검사하는 ruleset도 함께 지정한다. 만약, annotation 등을 썼다면, jdk 버전이 문제가 될 수 있으므로, configuration에 jdk 버전도 함께 명시하자. org.apache.maven.plugins ..
hudson + maven + emma plugin maven을 사용하여 emma plugin을 설정하는 법은 너무나 간단했다. Hudson의 emma plugin 설정 페이지에 다음과 같이 안내가 되어있다. 설정을 마치고, 다시 build now를 실행해보자. 우측 하단 메뉴에, Coverage Trend가 추가되었다. 링크를 따라 들어가면, coverage report를 볼 수 있다.
Hudson에 설정한 maven 프로젝트에 findbugs를 설정하자. pom.xml에 설정할 부분은 build와 reporting 두 곳이다. org.codehaus.mojo findbugs-maven-plugin package check .. 사이에 다음을 추가한다. org.codehaus.mojo findbugs-maven-plugin 그리고, 다음 부분을 추가하여, reporting 부분을 정의한다. 프로젝트 설정에서, FindBugs부분을 선택한다. 저장 후, 다시 Build Now를 해보자. 성공하면, FindBugs Warnings 메뉴가 나타난다. 문제가 있는 클래스를 찾아가면, FindBugs가 개선 점을 알려준다.
Hudson에 maven 프로젝트를 설정해 보고자 한다. 기존에 작성된 maven 프로젝트가 있다고 가정하자. 1. Hudson에 연동할 기존 maven 프로젝트 준비 또는 신규 maven 프로젝트 준비 즉, 이렇게 생겼다고 가정하자. pom.xml이 존재하는 maven 프로젝트 파일이다. src 폴더에는 원본 소스파일과 함께 테스트 코드도 작성해 두었다. 2. Hudson, 새 프로젝트 만들기 다음과 같이 새 프로젝트를 만든다. Maven 연계 프로젝트를 선택한다. (물론, 이를 위해 Hudson - Maven 관련 플러그인이 설치되어 있어야 할 것이다.) 3. 소스 위치 지정하기 CVS, SVN, Git 등을 활용하여, 소스를 가져올 위치를 지정한다. 위치를 지정하고, 필요하면 계정정보 설정까지 마친..
hibernate를 쓰는 도중, 이 에러가 나오는 경우가 있다. model 객체 내에서 @OneToMany 표기하고 java.util.List를 사용할 때 일어날 수 있다. 이 경우, fetch 옵션을 LAZY(default) 가 아닌 다른 값으로 설정했는지 확인해 보자. (내 경우, EAGER fetch 옵션을 LAZY로 바꾸어 해결) 자세한 설명 혹은 그 밖의 해결책은, 아래 블로그를 참조하면 더 좋은 정보를 얻을 수 있다. http://jroller.com/eyallupu/entry/hibernate_exception_simultaneously_fetch_multiple
지난 번에 Eclipse에 설치한 Anyframe IDE를 활용하여 Anyframe 프로젝트를 만들어 보려고 한다. 1. Anyframe IDE를 활용한 프로젝트 생성 File > New > Other > Anyframe > Project를 선택한다. (Anyframe 항목이 보이지 않는다면, 아마도 이전 단계에서 Anyframe IDE가 제대로 설치되지 않았기 때문일 것이다.) 프로젝트 관련 항목을 입력하자. DBMS를 hsqldb로 해보자. 만약, 앞서 anyframe 사이트에서 안내하는 예제를 실행했었다면, hsqldb jar 파일이 local repository에 이미 존재할 것이다. 그렇지 않다면, hsqldb jar를 별도로 다운로드하여 Driver Jar Path에 별도로 지정해주어야 한다...
Eclipse Indigo를 설치하고, maven 기반 프로젝트를 해보려고 한다. Eclipse Indigo에서 m2eclipse 지원이 좋아졌다고 하여 그대로 Anyframe과 연동해보려 하였으나, 아직 버전이 호환되지 않는 것 같다. Indigo를 설치하고 m2e를 설치하고 나니, Anyframe IDE를 설치할 때 에러가 발생하였다. 그래서, 그냥 Anyframe 사이트에 안내된 대로 m2eclipse를 설치하기로 한다. 1. m2eclipse 사이트 등록 Available Software에 m2eclipse 사이트와 m2eclipse extras를 지정한다. * m2eclipse 사이트 : http://m2eclipse.sonatype.org/sites/m2e * m2eclipse extras 사..
바로 이전 포스트에서는 command에서 maven project를 만들고, 그것을 eclipse에서 사용할 수 있도록 바꾸고 곧바로 WTP에서 인식할 수 있도록 하는 방법에 대해 소개했다. 이번에는 직접 eclipse에서 프로젝트를 생성하고, WTP에서 사용할 수 있는 방법에 대해 써보고자 한다. 1. maven 프로젝트 생성 File > New > Other > Maven > Maven Project를 선택한다. archetype은 webapp로 지정한다. 2. 프로젝트 파일 세부 설정하기 프로젝트를 생성하면, 위와 같은 구조로 생성이 된다. 언제나 그랬듯이, 디렉토리 구조를 변경하고 싶다. junit은 3.8.1로 되어 있어서, 버전도 바꾸고 싶고. 이 작업을 해보자. 프로젝트의 properties..
eclipse에서 web project를 작성하게 되면 사용하게 되는 것이 WTP이다. 그러나, 앞서 maven 프로젝트를 생성한 것만으로는 자동으로 WTP와 연동이 되지 않는다. 이를 위해 설정을 바꿔보자. 1. 테스트 프로젝트 만들기 interactive 모드로 프로젝트를 생성한다. mvn archetype:generate -DarchetypeCatalog=internal 목록에서 "19: internal -> org.apache.maven.archetypes:maven-archetype-webapp". 19번 선택. groupId : com.luran 입력 artifactId : firstweb 1.0-SNAPTSHOT : 엔터 package : 엔터 2. pom.xml 바꾸기, 디렉토리 구조 바꾸..