블로그 이미지
올해목표 // 10월 어학연수 떠나자~ 자수씨

카테고리

전체글 (1457)
Brand New! (28)
주절주절 (213)
MOT (11)
해외쇼핑 (49)
쇼핑노트 (150)
취미생활 (94)
iPhone (4)
Eclipse (121)
Google (83)
Spring (31)
JAVA (176)
JavaScript (59)
WEB (49)
Database (20)
OS (26)
Tools (8)
Tips (26)
IT정보 (1)
Book (21)
Programming (37)
외부행사 (43)
주변인들 (17)
여행노트 (60)
학교생활 (30)
회사생활 (52)
사회생활 (5)
외국어공부 (12)
잡동사니 (30)
Total
Today
Yesterday
 
01-10 03:39
 

달력

« » 2025.1
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
 

최근에 올라온 글

최근에 달린 댓글

아악... ldd -_ㅜ

OS/Linux / 2011. 1. 4. 14:00




CentOS 의 개발관련 라이브러리를 모두 포함하여 설치하였는데... libsasl.so, libssl.so, libcrypto.so 를 못 찾네요;;;
맙소사 ㅠ_ㅠ...

노킹 온 고생스 도어~

Posted by 자수씨
, |

요즘 회사의 기존 프로젝트를 메이븐으로 전환하면서 이런 구조로 프로젝트를 구성하면 좋겠다는 생각이 들어 포스팅을 하게 되었습니다.

erp 의 HR 을 구성하는 2종류가 있다고 가정하고 2개의 메이븐 프로젝트를 생성합니다.

ㅁ vicki-erp-hr-model
>> HR 모듈의 model 프로젝트


ㅁ vicki-erp-hr-service
>> HR 모듈의 service 프로젝트



이러한 경우 HR 을 구성하는 모듈끼리 분리가 되어 있어 모듈에 대한 전체적인 이해가 어려울 수 있습니다.

그래서 대부분의 오픈 소스 프로젝트의 경우 연관있는 모듈의 상위 프로젝트를 pom 프로젝트로 생성하여 자바프로젝트의 classpath를 지정하여 하나의 모듈처럼 처리할 수 있는 구조로 구성되어 있는 것을 많이 볼 수 있었습니다.

vicki-erp-hr 이라는 자바 프로젝트에 메이븐 POM 프로젝트를 적용하여 vicki-erp-hr-model 과 vicki-erp-hr-service 를 하위 모
듈로 구성시키고 클래스 패스를 지정하면 아래와 같은 구조의 프로젝트로 작업이 가능하게 됩니다.




이 구조를 조금더 확장시킨다면 MM 모듈 프로젝트 2개를 하나로 묶고

 + 


=



HR 과 MM 을 묶어서 하나의 프로젝트로 구성한다면 전체적인 프로젝트를 이해할 수 있는 시점에서도 파악할 수 있는 구조가 되는 것 입니다.



구성하는 사람은 클래스패스 잡을 때 쫌 귀찮긴 하더라도 상당한 장점이 많을 것으로 생각됩니다.

Posted by 자수씨
, |

Maven Enforcer Plugin

JAVA/Maven / 2011. 1. 3. 16:21

Maven Enforcer 플러그인은 메이븐 버전, JDK 버전, OS 종류와 같은 환경을 체크해주는 플러그인 입니다.
플러그인 홈페이지: http://maven.apache.org/plugins/maven-enforcer-plugin/



위의 사용예를 보게 되면, 메이븐 버전은 2.0.6, 자바 버전은 1.5, OS 는 unix 를 체크하게 됩니다.
위를 만족시키지 못한다면 빌드 에러가 발생하게 됩니다.

아직까지는 정의를 해줄만한 프로젝트를 구성해 본 적은 없으나 다른 메이븐 프로젝트를 보면 정의되어 있는 곳들이 좀 있어서 알아두면 좋을 것 같아 정리합니다.

Posted by 자수씨
, |

키보드에 관심이 많다보니 여러 키보드를 사게 되었네요;;; 그 키보드들을 공개합니다.

1. 아이락스 KR-6431
>> 모양만 보고 샀다가 엔터키에 좌절을 맛보고 현재 성식씨에게 분양



2. 필코 마제스터치 청축
>> 회사에서 타격감을 느끼고 싶어서 산 키보드



3. 코시 KB945BT
>> 아이폰 블루투스 키보드 용으로 쓰려고 산 키보드



4. 마이크로소프트 Wireless Laser Desktop 6000
>> 세미나에서 경품으로 당첨된 키보드



5. 아이락스 KR-6402
>> 얼마전에 할인행사 하길래 낼름 2.9 에 업어온...



6. 필코 마제스터치 갈축
>> 09년 생일선물로 받은 첫 기계식 키보드



7. 마이크로소프트 Wired Keyboard 600
>> 베트남 출장을 위해 산 키보드 (외근용...)



8. 아이락스 KR-6523
>> 잦은 외근으로 인해 회사에서 구매한 키보드



9. Freedom Pro 블루투스 키보드
>> 아이폰 용으로 거금을 들여 샀으나 현재 잠수 중...



로지텍 Wave 키보드는 어디로 갔는지 안보이네요 -ㅁ-;;;

키보드 수집은 계속될 듯 합니다...



Posted by 자수씨
, |

HTML 에서 텍스트가 있는 DIV 영역들을 출력하게 될 경우 예상했던 사이즈를 초과하여 인쇄화면이 깨지는 현상을 겪고 있었습니다.

CSS 를 이용하여 문제를 어느정도 해결할 수 있었습니다.

@media screen {
 .div_layer { font-size: 10pt; }
}
@media print {
 .div_layer { font-size: 9.6pt; }
}

인쇄 시에는 대략 0.96 배로 설정을 하면 얼추 비슷한 결과를 얻을 수 있네요...

역시 인생은 꼼수입니다.

Posted by 자수씨
, |


리눅스 서버 (CentOS) 에 어떤 모듈을 돌리기 위해 ldd 로 확인해 보니... 아래와 같은 슬픈 메시지가 보였습니다.

libsasl.so.7 => not found

제가 설치에 사용했던 서버에는 cyrus-sasl 가 2.1.22 버전으로 libsasl.so.7 은 존재하지 않고 libsasl2.so.2 만 존재하고 있었습니다. cyrus-sasl-2.1.19-14.i386.rpm 을 다운받아 설치를 시도하였으나, 기존 버전과의 충돌로 인해 설치 불가하였습니다.

그래서 꼼수를 사용하였습니다.

rpm을 풀어서 LD_LIBRARY_PATH 에 넣었습니다.

# rpm2cpio cyrus-sasl-2.1.19-14.i386.rpm | cpio -id
# cp usr/lib/libsasl.so* /usr/lib/


이런식으로 꼼수를 쓰게 되다니... 역시 익숙하지 않은 환경은 힘이 드네요...

Posted by 자수씨
, |

[Maven] Super POM

JAVA/Maven / 2010. 12. 26. 10:58

모든 메이븐 프로젝트의 POM 은 슈퍼 POM 을 확장합니다.
슈퍼 POM은 설치된 메이븐 디렉토리의 lib 에 maven-x.x.x-uber.jar 파일 안에서 찾을 수 있습니다. (3.0.x 버전에서는
maven-model-3.0.x.jar 파일에서 찾을 수 있습니다.)




 
우리가 접할 수 있는 POM 파일에 별도의 디펜던시와 플러그인 리파지토리를 지정하지 않아도 사용할 수 있는 것은 슈퍼 POM 에 설정된 내용을 확장하기 때문에 가능한 것 입니다.

Posted by 자수씨
, |

리눅스에서 자바로 된 프로그램을 실행시키기 위해 쉘 스크립트를 작성하여 실행을 시키니 아래와 같은 오류가 발생하였습니다.

/bin/bash^M: bad interpreter: 그런 파일이나 디렉토리가 없음


원인은 윈도우에서 작성된 쉘 스크립트를 리눅스에 올려 캐리지 리턴 값이 포함되어 발생한 문제였습니다.

쉘 스크립트를 리눅스 상의 vi 에서 작성하니 해당 문제가 해결되었습니다.

Posted by 자수씨
, |

자바에서 interface 에 정의되는 메소드는 외부로 공개되는 메소드를 정의하는 것 입니다. 그러므로 private 나 protected 로 정의가 불가능합니다.

만약 하게 된다면 아래와 같은 컴파일 오류를 만나게 될 것 입니다.

Illegal modifier for the interface method ...; only public & abstract are permitted

기본적으로 interface 에 정의되는 메소드들은 public 접근 제어자를 갖습니다. 생략해도 관계가 없다는 것 입니다. 아마도 구색을 맞추기 위해 무의식적으로 interface 에도 public 을 붙이는게 습관이 되어버린 것 같습니다.

사실 크게 문제를 일으키는 부분은 아니지만 알고 있으면 좋은 정보라 생각됩니다.

Posted by 자수씨
, |

@Autowired...

Spring / 2010. 12. 20. 14:30

@Autowired 라는 것을 스프링을 시작한지 3년만에 처음 써 보았습니다.
(2.5 에서 추가된 기능인가???)


참 편합니다. 일단 setter 를 만들지 않아도 되며, bean 설정에서 parameter 들이 획기적으로 줄어듭니다.

이렇게 편한 걸 왜 안썼는지 모르겠네요... 기존에 잘 되던걸 복사해서 쓰다보니 새로운 것에 대해 잘 받아들일 수 없다는...

Posted by 자수씨
, |

글 보관함

최근에 받은 트랙백