목록Software (18)
Magic of Love
제대로된 SSH keyfile 을 추가했음에도 Filezilla 에서 SFTP 연결 시 public key 오류가 나는 경우, 선택한 keyfile 디렉터리 경로에 한글이나 특수문자가 들어가있는지 확인하자ㅠㅠ
구글링하면 많이 나오는 내용을 조합하여 활용하기. 예전에 만들었던건데 정리해서 올려봅니다. 예제 환경은 Subversion, Jenkins, Maven, Spring webmvc. (..이지만, 다른 도구를 쓰더라도 잘 조합하면 가능하겠죠..) 1. Jenkins Job 수정 이미 메이븐 빌드를 잘 하고 있는 Jenkins job 을 열어서 Goal 을 수정한다.아마 Maven Goal 에는 clean install war:war 정도만 넣어서 쓰고 있겠지만 아래와 같이 -D 옵션을 넣는다. clean install war:war -DBUILD_NUMBER=${BUILD_NUMBER} -DBUILD_ID=${BUILD_ID} -DSVN_REVISION=${SVN_REVISION} Jenkins 에서는 빌..
구글링을 더 열심히 할 걸... 소스코드만 열심히 의심했다. ㅠㅠ 라이브러리 A 를 실행파일 B가 디펜던시로 가지고 있었는데, 1) IBM 서버 Java6 에서 수행 시 VerifyError 발생. 2) HP 서버 Java6 에서 수행 시 정상. 2) 로컬 PC에서 Java6, Java7 으로 각각 실행 시에는 정상. 3) 라이브러리 A 소스를 그냥 복사해서 실행파일 쪽에 넣으면 서버에서도 정상. 어쨌든 JVM을 타는 것 같긴 하다. 구글링 결과 VerifyError 발생 원인은 크게 두 가지 인 듯 하다. 1. 컴파일 시 사용한 라이브러리와 런타임 시 사용한 라이브러리의 버전이 달라서 메서드 형태가 다른 경우. 2. 사용한 라이브러리가 상위 버전의 JDK에서 컴파일 된 경우. 일단은 옵션으로 -Xver..
java 기본 클래스 중에 단순한 기능에 비하여 성능이 떨어지는 것들이 있다. 이따금 호출되는 정도라면 크게 상관 없지만, 아주 많이 반복적으로 호출되는 코드에 아래 클래스를 사용하면 성능이 떨어진다. * 문자열을 단순한 구분자를 이용하여 Split 하여 String 목록을 얻을 때 : 느린 순서에서 빠른 순서. 전부 JDK 기본 클래스이다. 정규표현식을 사용할 필요가 없는 단순한 구분자 파싱을 할 때는 indexOf 를 이용하여 split 유틸 메서드를 따로 만드는 게 좋다. - StringTokenizer 클래스 : nextToken() 반복 - String 클래스 : split() 반복 (내부적으로 Pattern 클래스 사용) - Pattern 클래스 : compile() 후 split() 반복 (..
spring-flex 에서는 com.adobe.blazeds 의 라이브러리를 디펜던시로 갖는다. blazeds 는 오픈소스가 되긴 하였으나 공개된 공식 Maven Repository 가 없다. (그렇다고 내가 3rd party Maven Repository 를 만드는 귀찮은 작업을 할 순 없지.... 어딘가에 있을거야!) 그래서 찾다보니, spring-flex 에서는 Subversion 에 local-repo 를 만들어서 태그 찍을 때 같이 Maven Repository 형태로 디펜던시를 올려서 관리하는 것 같다. 그런데... 최근 스프링 얘네들이 다 URL 을 바꿔서.. -_-; 구글링해서 나오는 주소들은 다 접근이 안된다 ㅠㅠ Spring 공식 홈페이지를 통해서 들어가니 spring-flex 는 gi..
1. XML Schema Location 은 정확히 지정하자 Spring Integration 의 를 쓰는데, 이상했다.. 이클립스가 제시하는 poller 의 attribute 와 Spring Integration Reference Manual 에 나오는 attribute 가 달랐는데, 이클립스가 제시하는 대로 poller 를 설정하면, 아래와 같은 익셉션이 발생한다. nested exception is org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'int:interval-trigger'. One of '{"http://www.springframework.org/sc..
이렇게 많은 디자인 패턴, 엔터프라이즈 패턴 관련 책이 집에 쌓여있었다.. 다 어느 정도 깨작대기만 하고 제대로 읽은게 하나도 없군! 주말에 한 권 정도는 훓어볼 생각이었는데, 한 권조차 끝까지 읽기 힘들 것 같다는 생각에 시작도 못하고 있다. 맨 위에 2권은 목요일에 회사에서 받은 원서(!)인데, 이를 어쩌나.....
요새 책을 참 안 읽는데, 아래는 "그나마" 최근에 읽은 소프트웨어 개발 관련 책 목록이다. 내가 산 건 없고, 부서 비용으로 구입하거나 선배에게 빌려 읽은 책이다. 린 소프트웨어 개발 지금 읽고 있는 책. 애자일 시리즈 중의 하나이다. 이 책은 성공적인 소프트웨어 개발을 위한 7가지 원칙을 제시하고 있는데, 대부분의 내용은 '도요타'의 방식을 소프트웨어 개발과 비교하며 설득하고 있다. 난 사실 소프트웨어 개발을 다른 산업과 비교하는 것에 그다지 좋은 감정(?)을 가지고 있지 않다. 늘 이상한 방법으로 다른 산업의 방식을 따라함으로써 실제로 적용하기 힘든 프로세스를 강요하는 경우가 있기 때문이다. (그것들은 그저 잘못된 비유였을 거다...) 어쨌든, 이 책에서는 소프트웨어 개발 프로세스를 제조업에 비교하..
1. 한참 전에 은선이가 신고해준 내용. 카테고리를 눌렀을 때 나오는 목록과 갯수가 이상해서 찾아본 결과, 카테고리 목록 첫페이지 캐싱된 내용이 제대로 안 바뀌는 것 같다. (특히 한 페이지에 나오는 목록 숫자 같은 설정을 바꾸었을 때 첫페이지는 죽어라 안 바뀐다) 일단 임시방편으로 $cache->load() 부분을 주석처리 하니까 제대로 나온다! +_+ 저번에도 찾아봤지만 메모장과 윈도우 기본검색의 한계로 못찾았다가, 이클립스 PDT를 받아서 검색과 선언 따라가기로 찾는데 성공!! 다른 텍스트큐브(.com말고 .org버전 1.7.x) 사용자도 이런 문제가 있는 지는 모르겠다. interface/blog/category.php [code] if ($skinSetting['showListOnCategory..
이 라이브러리, 어떻게 코딩되어 있을까? 이클립스에서 .jar 라이브러리 파일의 소스를 보는 방법은 3가지가 있다. 1. 소스 붙이기 애초에 오픈소스 라이브러리라면 소스를 포함한 jar 파일을 제공한다. .class 바이너리 파일만 제공하는 파일 말고 소스가 포함된 파일을 구하면 attatch source 를 해서 볼 수 있겠다. (이클립스에서 .class 파일을 열 때 뜨는 화면에서 Attatch Source... 버튼 클릭, 또는 jar 파일 우클릭 > Properties > Java Source Attatchment 에 source jar 파일 경로 입력) 연결이 되면, 아래처럼 jar 파일의 010 모양 아이콘에 종이쪼가리가 붙는다. 단, 매번 소스 jar 파일을 같이 구해서 붙여줘야 한다는 귀찮..
2007년에 참여했던 스트럿츠를 쓴 자바 프로젝트도, 2008년에 유지보수 했던 닷넷 시스템에서도 UTF-8 인코딩을 썼었다. 해외관련부서에 있었고 여러 국가에서 쓰는 시스템을 만드는 거라 당연한 거였다. 그렇게 익숙해져 있었는데, 여기서는 자바 소스 인코딩 기본을 MS949로 하고, 필요시에만(?) UTF-8로 바꾼다고 한다. 난 그래도 UTF-8이 좋은데..... -_-; 어쨌든 UTF-8로 하는 것이 처음 설정에 약간 손이 가긴 해도 훨씬 윤택한(?) 개발환경을 만들 수 있다는 게 내 생각이다. 특히 리눅스를 빌드 서버로 쓴다면 MS949가 살짝 문제될 수 있다. 일단 리눅스의 디폴트 인코딩은 UTF-8이고, 별도 설정을 하더라도 EUC-KR(한글완성형) 이지, MS949(한글확장완성형) 가 아니다..
자바 개발자라면, 특히 초급이 아니려면, 반드시 읽어봐야할 유명한 책을 두 권 소개한다 ^^ Head First Design Patterns 디자인패턴 입문에 제일 좋은 책 같다. 나도 집에 디자인패턴 책이 2권이나 있었는데, 다 재미없어서(...) 읽다가 말았는데, 이 책은 다른 책과는 달리 이해하기 쉬운 순서로 패턴을 소개한다. 내 기억에 제일 첫번째로 소개한 패턴은 "상속이 아닌 컴포지션을 사용하라!" 였다. 또 비슷비슷하면서 다른 패턴이 많은데, 중간중간 차이점을 비교분석하는 페이지도 있어서 유용하다. 이펙티브 자바 제2판 자바개발자는 이 책을 읽은 사람과 안 읽은 사람으로 나뉘어 진대나 뭐래나. 아무튼 읽으면서 "오오-!!" 하며 감탄할만 한 내용을 많이 발견하게 된다. 1판 읽어본 사람도 많을..
심심한 연휴를 맞이하여 -_-; 우분투 9.04 를 설치해보았다. (9.04버전은 2009년 4월 배포판을 의미한다) 설치에 앞서 우분투를 설치할 20G 파티션을 하나 더 만들었다. (디스크조각모음 후 파티션매직 이용) 설치 CD이미지(.iso 파일)는 http://www.ubuntu.com/ 여기서 다운로드 한다. Desktop Edition을 선택하되 64bit CPU인 경우엔 하단 Custom Options을 64bit version 으로 선택한다. 설치방법은 크게 2종류로 나뉜다. 1. 윈도우 상에서 인스톨러를 이용하는 방법 (wubi) 2. 설치CD로 부팅하여 설치 하는 방법 첫번째 방법을 이용하면 CD이미지를 CD로 구울 필요가 없다. 가상CD 프로그램이 iso를 인식하면 auto run 이 ..
약 한 달 전.. 심심해서 만들어본 Tree. prototype.js 를 이용해보았다. 자바스크립트를 객체지향적으로 코딩할 수 있어서 재밌었다. 처음에 스타일로 작성했는데, css 처리를 어찌할지 몰라서 형태로 바꾸었다. 로도 다시 작성해봐야겠다. 다만.. 이런 식으로 만들어진 tree가 더 있을 것 같아서 나중에 검색해보니 정말 있다. 그것도 많이... http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks 위키에 비교까지 되어있다. 특히 요런 데모를 보면.. http://jquery.bassistance.de/treeview/demo/ 우왕. 난 역시 삽질을 한 것인가.. 라는 생각도 들지만. 재미로 만든 거니 뭐... -_- 링크나 스크립..
업무노트는 스프링노트가 편할 것 같아서 분리합니다♡ http://nya.springnote.com
(코딩 발로 하면서 이런 것만 따진다;;) 난 Clear Type 이라 하더라도 미묘한 흐릿함이 싫어서 Anti-aliasing 용 폰트는 싫어한다. 그저 검은색과 흰색으로도 충분히 잘 보이는 폰트가 좋다. # 프로그래밍용 폰트의 조건 : . 가독성이 좋을 것. . 고정폭 폰트일 것. . 1 I i l 의 구분과 0 O o 의 구분이 쉬울 것. 그럼, 각각 10pt 의 글꼴로 비교해보자. (Courier New 의 경우만 ClearType 이 아닌 경우를 추가하였고, 나머지는 전부 ClearType 일 때의 모습) 1. Courier New - 윈도우 기본 폰트 중 하나. 내가 좋아하는 녀석. 이클립스에서 기본으로 설정된다. (ClearType으로 보면 전혀 Clear 하지 않다구!) 2. Lucida ..
뭐 이런 다 아는 걸 올리느냐 싶겠지만, 일할 때 유용하게 쓰고 있어서 소개해볼게요. 구글 데스크톱(?) 하면, 데스크톱 검색 보다는 커다란 시계와 함께 떠 있는 위젯 서비스(가제트)를 떠올리기 쉽지만.. 윈도우 기본 메모장과 계산기와 그림판을 애용하는 저한테는 위젯 보다는 데스크톱 검색 기능이 유용한 것 같아요. 사실, 이전에 집에 있는 PC에 설치해본 적이 몇 번 있었지만 그다지 쓸 일이 없어서 인덱스가 채 되기도 전에 지워버렸는데요, 회사 노트북에는 문서가 점점 쌓여서.. 폴더를 아무리 체계적으로 정리해도 폴더 자체도 많기도 하고, 어느 파일에 어떤 내용이 들어있는 지가 기억이 안나면 말짱 꽝이더라구요 -_-. 이렇게 해서 회사 노트북에 구글 데스크톱은 아니고 사내 프로그램으로 제공되는 PC검색을 ..
브라우저 호환성에 대해서 웹디자이너, 웹개발자라면 한 번쯤 고민해봤을 거라고 생각합니다. 주 원인은 버그투성이 익스플로러6 겠죠. 대체 뭘 믿고 자기 마음대로 렌더링 하는지 모르겠습니다. 같은 태그, 같은 스크립트가 브라우저 마다 다르게 표현될 때 -_- 이런 표정과 함께 정말 이런말을 하고 싶어집니다. "어쩌라고!" 가까스로 화를 가라앉히고, 브라우저마다 확인을 하기 위해 파이어폭스, 오페라, 사파리를 설치하는 것 까진 좋았는데.. 인터넷 익스플로러는 한 번 버전이 올라가면 이전 버전으로 돌리기가 쉽지가 않다는 거죠! 특히 가장 제멋대로 렌더링하는 IE6가 아직은 가장 높은 점유율을 가지고 있으니, 적어도 IE6와 IE7는 꼭 같이 봐줘야 합니다. 설치시 옵션. IE7이 설치된 상태에서 하위 버전의 I..