블로그 이미지
Max.

calendar

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        

Notice

2012. 8. 21. 16:25 개발관련

spring-data-commons-core 프로젝트가 좀 이상한게 있는데 버전이 낮으면, Spring3.x 일부 버전과 충돌된다. spring-data-commons-core 프로젝트 홈페이지에 나온 버전을 써도 그런다. 찾아보니 최신버전은 http://central.maven.org/maven2/org/springframework/data/spring-data-commons-parent/ 여기서 제일 높은 버전을 찾아 POM에 넣으면 문제가 사라진다. 현재 최신은 1.3.2.RELEASE 버전이고 이를 dependency 시키면 된다.


이렇게 별 관심 없는 프로젝트에서 삽질하다 Spring 4.0 Properties가 있는걸 보고 이건뭐지... Spring JIRA를 급히 들어가 보니 로드맵(https://jira.springsource.org/browse/SPR)에도 없는 버전닝 아닌가... 요 프로젝트엔 재밌는 녀석들이 많나 보다...


그나저나 Spring Roo 는 어떻게 되어 가고 있을까.... 


posted by Max.

댓글을 달아 주세요

2012. 6. 19. 17:04 개발관련

순서... (JIRA4.0.2 버전에서 테스트함)


1) XML-RPC Plugin 설치여부 확인

Administrator의 Plugin 항목에서 찾아 볼수 있고, 기본으로 깔려 있음. 하지만 활성화(Enable)되어 있지는 않으니 클릭하여 Enable로 바꿀것.


2) Remote API calls ON 확인

Administrator의 General Configuration 메뉴의 Options 에 'Accept remote API calls' 라는 것이 기본적으로 OFF 되어 있다. 아래 Edit 버튼을 통해서 'ON' 으로 변경하면 된다.


끝.


옵션) 이클립스에서 접속하기

My-lyn의 new Query로 접속하는데, URL은 http://{서버아이피}:{포트} 로 접속한다. 특별히 Context Path가 있다면 적어주고 없으면, 해당 JIRA 사이트 메인까지 적으면 Connection 된다. 이후 쿼리를 위해서 적당한 쿼리조건으로 Task 카테고리를 네이밍 하면된다.

posted by Max.

댓글을 달아 주세요

2012. 6. 5. 17:55 개발관련

이쁘면 되는 세상....


<skin>

   <groupId>org.apache.maven.skins</groupId>

   <artifactId>maven-fluido-skin</artifactId>

   <version>1.2.1</version>

 </skin>


:)

posted by Max.

댓글을 달아 주세요

2012. 5. 21. 18:08 신변잡기

정말 잘한다. 자신의 R&R에 대해서는 정말 잘한다. 10점 만점에 10점이다. 근데 이런 사람들 찾아보면 정말 많다. 그래서 특별하지 않다. 그래서 잘난것도 없다. 그저... 그런 사람이다. 



그저 그런 회사원, 그저 그런 개발자...



결국, 그저 그런 사람이다. 그 사람은... 



무엇이 문제인지 알면서도 하지 않는다... 못하는게 아니라 안한다. 



왜?... 



여기서 부터 복잡하다. 이유야 있겠지... 근데?!, 결국... 부메랑이 되어 돌아 올것이다. 많이 봤다. 그런 장면... 하루 하루 최선을 다하는 피곤한 삶을 살수 없더라도, 스스로 만든 그늘에서 살필욘 없을 텐데... 그게 잘 안된다...



이젠 피곤하다... 그냥 스~윽 지나쳐 버린다...


...회상....







posted by Max.

댓글을 달아 주세요

2012. 2. 23. 09:24 개발관련
블로그 쓸일이 점점 없어지는 요즘, 웬만한 것은 스킵해 버리는데, 웬만하지 않는 동영상이 공개(http://www.olccenter.or.kr/lec/detail.jsp?lec_idx=209) 되었다. 사실 이런 세미나가 자주 열렸으면 하는 바램이 있어 감상 내용을 간략히 쓴다. 세미나에 참석하진 못했지만, 이렇게 동영상으로 볼수 있으니 얼마나 좋은가 ^^

첫번째 강의인 'Spring-Test-MVC프로젝트 소개'는 부담없이 실무에서 적용해도 될만한 편리한 프로젝트인것 같다. web MVC를 테스트하는게 여간 귀찮은 작업이 아닌데, 빌더패턴을 이용한 테스트 방법이 인상적이다. 빨리 스프링 코어 프로젝트에 포함되었으면 좋겠다. 포함되지 않아도 선행 학습하여 Controller 구현을 빠르게 할수 있도록 하면 좋을듯 하다.

두번째 강의인 '스프링 3.1의 @Enable 기법을 활용한 설정 모듈화의 재사용 기법'는 정말 환상적이다.  이만한 강의를 한국어로 들을수 있다는게 정말 행운이 아닌가 싶다. 단순히 @Enable*  를 소개한것에 끝나는게 아니라, 현재 스프링 소스에서 적용하여 사용한 것까지 분석해서 그 통찰을 기반으로 모듈화 전략까지 이야기 하고 있다. 가만히 들어보고 생각해 보면, 이것이 뜻하는 그 가능성과 다양성을 대단히 크다.

내가 실로 오랫만이다. 이런 가능성에 전율했던 기억은 Spring Roo의 ITDs 기술 이후 처음이다(물론 그전에 AOP, @Configurable, DDD, @Hibernate 등 대충 여러개 있긴 하다). 현재 ITDs 기술이 내 학습 대상이듯, 이 @Enable*도 지속적인 학습 대상이 될듯 하다. 앞으로 시간이 허락하는 한 여러가지 기법들을 테스트해 보고 적용하기 위한 노하우를 쌓아야 겠다는 생각을 하게 된다.

아직 안보신 분들은, 다른 어떤 유료 강의나 책을 사보시기 전에 들어 보길 권한다. 지금 스프링에 어떤 디자인패턴을 적용할까 고민하는것 보다 중요한 영감을 받을수도 있으니까...짤리기 전에 어섯!...



 
posted by Max.

댓글을 달아 주세요

2012. 1. 16. 09:08 신변잡기
어렸을땐 별로 못느꼈는데, 요즘 새삼 우리 부모님이 대단한 분이란걸 느낀다. 한 일화를 들어 보면, 우리가 살았던 시골 마을의 집을 들수 있다. 

처음 부모님은 결혼후 할아버지 집 셋방에서 살다가 얼마 안되서 동네 다른집 셋방으로(한칸있는방) 분가 하셨는데, 할아버지가 분가를 못마땅하게 생각하시고 회방을 놓으셨다.

고생 끝에 조그만한 땅을 사서 집을 짖기로 했는데, 돈이 없으니, 모래나 나무를 구할수 없어서, 짚과 흙으로 벽돌을 만드시고, 산에 가서 소나무들 베어와서 기둥을 만드셨다. 짚으로 지붕을 덥고, 신문지로 내벽을 쌓았다. 

이렇게 해서 우리집이 탄생했고, 지금도 그 집을 사용하고 있다. 물론 여기저기 수리해서 옛날 자제는 거의 없는 수준이지만, 집터는 그대로 이다.

이렇게 맨손으로 아버지, 어머니 두분이서 손수 만든 집이다. 아무리 먹고 살기 위해서라도 집을 지을 생각을 하고 실천했다는게 정말 대단하다. 집규모도 그때를 당시를 생각하면 상당히 크다. 부엌까지 방이 4개나 되니 말이다. 건너방은 나중에 짖은 것이다. 건너방 집은 3개도 되어 있다. 식구들이 많아서 더 지은 것이다.


나도 집을 만들어보고픈 욕심이 수년전부터 였다. 실행한다는게 너무 어려워 지금까지 이렇다할 계획도 없이 마음뿐이였다. 

그런데, 시간이 흐를수록, 삶을 생각하면 할수록 부모님의 삶이 부럽고, 그런 삶을 살고 싶은 생각이 많이 든다.  

아직 시골집터는 가격이 저렴하다. 어떻게든 집터를 마련하고 40줄 안에 집을 완공해야 겠다는 목표를 세워야 겠다.

인생을 생각하면... 그래야 하는게 낳은것 같다...
posted by Max.

댓글을 달아 주세요

2012. 1. 2. 12:25 신변잡기
유독 많은 일들이 안밖으로 있었던 2011년을 뒤로 하고, 2012년이 시작되었다. 썰을 풀 필요 없이 바로 목표를 다짐한다. 올해는 XXX 서비스를 XXX 기술로 만들어 세상에 내놔 봐야 겠다. 물론 지겹도로 했던, 다른 회사의 작품이 아닌, 내 의지에 의해 서비스 되는 것으로 말이다. 올해는 그것을 위한 수많은 데코레이션들의 연속일 것이다. 그럼 자~ 시작해 보자~... 화이팅!!! :)
posted by Max.

댓글을 달아 주세요

2011. 12. 21. 12:13 개발관련
Spring Roo 1.2.0.Release 를 이용한 Maven Multi Project에 대한 예시이다.

1) 실행 스크립트는 대충 아래와 같다.

E:\Projects\Test>mkdir max-roo

E:\Projects\Test>cd max-roo

E:\Projects\Test\max-roo>roo

roo> project --topLevelPackage net.max --packaging POM --projectName max-parent

roo> module create --moduleName max-core --topLevelPackage net.max.core --packaging JAR

max-core roo> module focus --moduleName ~

roo> module create --moduleName max-biz --topLevelPackage net.max.biz --packaging JAR

max-biz roo> module focus --moduleName ~

roo> module create --moduleName max-web --topLevelPackage net.max.web --packaging WAR

max-web roo> module focus --moduleName ~

roo> perform eclipse

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] max-core
[INFO] max-biz
[INFO] max-web
[INFO] max-parent
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building max-core 0.1.0.BUILD-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-eclipse-plugin:2.7:clean (default-cli) @ max-core ---
[INFO] Deleting file: .project
[INFO] Deleting file: .classpath
[INFO] Deleting file: .wtpmodules
[INFO] Deleting file: .component
[INFO] Deleting file: org.eclipse.wst.common.component
[INFO] Deleting file: org.eclipse.wst.common.project.facet.core.xml
[INFO] Deleting file: org.eclipse.jdt.core.prefs
[INFO] Deleting file: org.eclipse.ajdt.ui.prefs
[INFO]
[INFO] >>> maven-eclipse-plugin:2.7:eclipse (default-cli) @ max-core >>>
[INFO]
[INFO] --- aspectj-maven-plugin:1.2:compile (default) @ max-core ---
[INFO]
[INFO] <<< maven-eclipse-plugin:2.7:eclipse (default-cli) @ max-core <<<
[INFO]
[INFO] --- maven-eclipse-plugin:2.7:eclipse (default-cli) @ max-core ---
[INFO] Adding support for WTP version 2.0.
[INFO] Using Eclipse Workspace: null
[INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER
[INFO] Wrote settings to E:\Projects\Test\max-roo\max-core\.settings\org.eclipse.jdt.c
[INFO] Wrote Eclipse project for "max-core" to E:\Projects\Test\max-roo\max-core.
[INFO]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building max-biz 0.1.0.BUILD-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-eclipse-plugin:2.7:clean (default-cli) @ max-biz ---
[INFO] Deleting file: .project
[INFO] Deleting file: .classpath
[INFO] Deleting file: .wtpmodules
[INFO] Deleting file: .component
[INFO] Deleting file: org.eclipse.wst.common.component
[INFO] Deleting file: org.eclipse.wst.common.project.facet.core.xml
[INFO] Deleting file: org.eclipse.jdt.core.prefs
[INFO] Deleting file: org.eclipse.ajdt.ui.prefs
[INFO]
[INFO] >>> maven-eclipse-plugin:2.7:eclipse (default-cli) @ max-biz >>>
[INFO]
[INFO] --- aspectj-maven-plugin:1.2:compile (default) @ max-biz ---
[INFO]
[INFO] <<< maven-eclipse-plugin:2.7:eclipse (default-cli) @ max-biz <<<
[INFO]
[INFO] --- maven-eclipse-plugin:2.7:eclipse (default-cli) @ max-biz ---
[INFO] Adding support for WTP version 2.0.
[INFO] Using Eclipse Workspace: null
[INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER
[INFO] Wrote settings to E:\Projects\Test\max-roo\max-biz\.settings\org.eclipse.jdt.co
[INFO] Wrote Eclipse project for "max-biz" to E:\Projects\Test\max-roo\max-biz.
[INFO]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building max-web 0.1.0.BUILD-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-eclipse-plugin:2.7:clean (default-cli) @ max-web ---
[INFO] Deleting file: .project
[INFO] Deleting file: .classpath
[INFO] Deleting file: .wtpmodules
[INFO] Deleting file: .component
[INFO] Deleting file: org.eclipse.wst.common.component
[INFO] Deleting file: org.eclipse.wst.common.project.facet.core.xml
[INFO] Deleting file: org.eclipse.jdt.core.prefs
[INFO] Deleting file: org.eclipse.ajdt.ui.prefs
[INFO]
[INFO] >>> maven-eclipse-plugin:2.7:eclipse (default-cli) @ max-web >>>
[INFO]
[INFO] --- aspectj-maven-plugin:1.2:compile (default) @ max-web ---
[INFO]
[INFO] <<< maven-eclipse-plugin:2.7:eclipse (default-cli) @ max-web <<<
[INFO]
[INFO] --- maven-eclipse-plugin:2.7:eclipse (default-cli) @ max-web ---
[INFO] Adding support for WTP version 2.0.
[INFO] Using Eclipse Workspace: null
[INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER
[INFO] Wrote settings to E:\Projects\Test\max-roo\max-web\.settings\org.eclipse.jdt.co
[INFO] Wrote Eclipse project for "max-web" to E:\Projects\Test\max-roo\max-web.
[INFO]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building max-parent 0.1.0.BUILD-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-eclipse-plugin:2.7:clean (default-cli) @ max-parent ---
[INFO]
[INFO] >>> maven-eclipse-plugin:2.7:eclipse (default-cli) @ max-parent >>>
[INFO]
[INFO] <<< maven-eclipse-plugin:2.7:eclipse (default-cli) @ max-parent <<<
[INFO]
[INFO] --- maven-eclipse-plugin:2.7:eclipse (default-cli) @ max-parent ---
[INFO] Not running eclipse plugin goal for pom project
[INFO] Adding support for WTP version 2.0.
[INFO] Using Eclipse Workspace: null
[INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] max-core .......................................... SUCCESS [1.701s]
[INFO] max-biz ........................................... SUCCESS [0.063s]
[INFO] max-web ........................................... SUCCESS [0.060s]
[INFO] max-parent ........................................ SUCCESS [0.273s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.569s
[INFO] Finished at: Wed Dec 21 12:04:25 KST 2011
[INFO] Final Memory: 7M/17M
[INFO] ------------------------------------------------------------------------
roo> roo> q

2) 생성된 소스코드를 import하면 이클립스에서 잘 인식된다. 아래 소스코드 첨부
posted by Max.

댓글을 달아 주세요

  1. 오늘... SS에 멀티모듈에 대한 스캐가 올라 왔군... https://www.youtube.com/watch?v=U2L82-D7uxY&feature=player_embedded

2011. 12. 7. 17:27 신변잡기
- 합리적인 눈으로 합리적인 세상을 바라 보고자 하면, 합리적이지 않은 것이 더 많이 보이고, 합리적인것은 눈꼽만큼 보일까 말까 한다. 반대로, 합리적이지 않은 눈으로 합리적인 세상을 바라 보고자 하면, 합리적이지 않은 것이 합리적으로 보일 뿐만 아니라, 합리적인것은 비합리적으로 보인다.

- 현실에서는 적당한 합리성, 아니 좀더 선택 가능한 타당한 것을 찾아야 하는데, 어느순간 그 둘의 경계가 모호해 진다. 적당히 타당한 선택은, 합리적인것과는 거리가 멀다. 그반대도 같은 논리다. 오히려 자의적인 해석에 위안을 느끼는 어떤 것을 찾는게 맞겠다. 

- 위와 같이 이런, 저런 상황에 대한 해석들이 내 자신의 자의적인 기준으로 타당성과 합리성을 주장하게 된다. 이런 주장에 대해서 '맞고, 틀리고' 를 생각하진 마라.  무의미 하다. 상황논리는 언제나 그럴싸한 논리다. 정해진 해법이 존재하지 않는 것들, 사회성 지식들도 이와 비슷하다. 어떨 때는 그런 지식들을 누군가가 판결하려 들지만, 소용없는 짓이다. 이런 것들은 정신분석과 비슷해서 일반 사람들에겐 '불가해한 지식'일 뿐이다. '모르는것에 대한 숭배자'가 아닌 한 그런 것에 시간을 소비할려고 하면 끝이 없다. 할 필요도 없다. '모르는것 = 신비한것' 은 아니니까.

posted by Max.

댓글을 달아 주세요

2011. 11. 15. 15:53 개발관련
1) 템플릿으로 사용할 적당한 maven 예제 프로젝트를 선택한다.

d:\projects\test

ex)  

  <groupId>com.max.sample</groupId>

  <artifactId>sample-max</artifactId>
  <version>1.0.0.M1</version>  



2) archetype create 로 템플릿 프로젝트 생성하기

mvn archetype:create-from-project

ex)
  <groupId>com.max.sample</groupId>

  <artifactId>sample-max-archetype</artifactId>
  <version>1.0.0.M1</version> 



3) install 로 local repository에 등록하기

mvn clean install



4) archetype generate 로 템플릿 가져오기, (적당한 위치에...)

mvn archetype:generate -DarchetypeGroupId=com.max.sample -DarchetypeArtifactId=sample-max-archetype -DarchetypeVersion=1.0.0.M1


아래와 같은 대화창에 정보를 입력한다.

Define value for property 'groupId': : net.max.test
Define value for property 'artifactId': : max-test
Define value for property 'version':  1.0-SNAPSHOT: : 1.0.0-SNAPSHOT
Define value for property 'package':  net.max.test: : <Enter> or net.max.test.sample

Confirm properties configuration:
groupId: net.max.test
artifactId: max-test
version: 1.0.0-SNAPSHOT
package: net.max.test
 Y: : Y <Enter>
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
... 



5) Test 확인
   - IDE에서 import하고, 예제 Unit Test를 돌려서 확인한다.


덤) 
 - 만약 원격 저장소에 넣고 싶다면, 3)에서 deploy 하고, 4)에서 -DremoteRepositories={repository url} 을 추가 하면 된다.
 - 4)번 명령어가 복잡하다면, mvn archetype:generate -DarchetypeCatalog=local 로 단순하게 할수도있다.
 
posted by Max.

댓글을 달아 주세요