블로그 이미지
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

2011.02.22 13:54 개발관련
- 자동생성된 Entity 테스트 에러
자동생성되는 테스트가 성공한 것을 확인한 후, 개발을 진행하다가 다시 테스트시 실패하는 경우가 생긴다(DI된 bean을 찾을수 없다는 에러). 이는 작성한 Entity에 속성이 추가되거나, Roo shell에 의해서 변경된 사항이 잘 반영하지 못했을때, 가끔 발생한다. 조치는 roo shell을 끄고, 생성된 또는 관련된 aj 파일을 모두 지우고, roo shell을 기동시켜 다시 한방에 생성하면 정상적으로 테스트가 통과 된다. 

- 단위테스트 한글 엔코딩 문제
나의 경우에 한정된 문제일수 있지만, roo로 생성된 Entity를 한글 테스트 했더니 모두 깨져서 나왔다. 원인을 찾던중, STS의 자바소스 한글 엔코딩 문제였다.  General>Content Types>Test>Java Source File> *.java 의 Default encoding : 값이 UTF-8로 설정되어 있었다. 이것을 삭제하고 빈값을 넣고 적용(AspectJ Source File 도 동일하게 적용)하면, 단위테스트시 한글도 문제없이 동작한다.

- 웹테스트 한글 엔코딩 문제
Controller 단위 테스트까지 한글 문제가 없다면, 문제가 꼬일수 있다. 웹서버, 필터, 브라우져, JSP 등 여러가지 UI 관련 부분을 뒤져봐야 한다. 그중 가장 유력한게 web.xml에 설정하는 부분인데, HttpMethodFilter가 특히 문제가 될수 있다. POST,GET만 사용하고, PUT,DELETE 등을 사용하지 않는다면, 해당 부분을 주석처리 하고 테스트 해보는 것을 잊지 말자. 나같은 경우 해당 부분을 제거하자 한글문제가 해결되었다.





저작자 표시
신고
posted by Max.
TAG ROO
2009.12.31 17:47 개발관련
축하 합니다. ^^*
12월 말까지 1.0.0을 릴리즈 한다고 약속했는데, 최근에 엄청난 속도로 문서를 업데이트 시키더니만, 그디어 릴리즈 되었네요.(Rev. 563 - Release Build Command update) 아직 소개글이 안올라왔지만, 곧 올라올듯 합니다. 오늘이 31일이니까요. ^^*
포럼에 간략하게, 다운로드 주소가 나온것 같습니다. 주소는 http://forum.springsource.org/showthread.php?t=82409 입니다.


모두들 행복한 새해 맞이 하세요~
저작자 표시
신고
posted by Max.
TAG 1.0.0, ROO, Spring
2009.12.17 13:26 개발관련

올(2009년) 12월 31일을 GA 릴리즈 목표로 달리고 있는 Roo가 RC4 를 릴리즈 했습니다.  RC4가 정식 발표된건 아니고(아마 내일쯤 발표될), JIRA에 기록되었습니다.

12월 말이면 이제 얼마 안남았습니다. GA가 주는 의미는, 이후 버전에 대한 호환성을 가능한한 보존해주기에, 그동안에 있었던 많은 변화들(명령어가 바뀌거나, 생성 스크립트의 일관성 등)이 조금은 안정적으로 되리라 생각 됩니다. 한마디로 이제 좀 쓸만해 질수 있다는 생각인 것입니다. 혹자는 2.0은 되어야 쓸만하다고 기다리시는 분도 계시죠. 어쨌든, Spring3.0 과 더블어 Spring Roo 1.0이 곧 세상에 나올것 같습니다. 2009년 연말을 뜨겁게(?) 만들어 주는군요...

저작자 표시
신고
posted by Max.
TAG ROO, Spring
2009.12.08 16:46 개발관련
배경
항상 새로운 기술을 처음 실무에 적용할때는 떨립니다. 알고 있는 지식의 한계에 대한 불확실성과 어떤 경우가 발생할지 몰라서 처음 부터 다시 시작할 각오를 해야 하는 두려움이 공존해서 말이죠. 가끔은 이런 수고까지 하면서 이래야 하는가 하는 의구심이 들때가 한두번이 아니죠. 그냥 그동안의 얄팍한 지식으로 진행해도 별무리 없으니까요.

그런데 저같은 공상논자는 무리한 도전을 즐기는면이 있어서, 이번에도 그런 기질이 작용했지 않나 싶습니다. 어쨌든 아직 정식 릴리즈도 되지 않은 Spring Roo로 프로젝트를 진행했습니다. 다행히 개발 기술적인 것은 저 혼자 해야하는 좋은(?) 경우여서 시도하게 되었던것 같습니다.(사실 혼자가 아니면 사용할 엄두도 못내었을지도 모르죠)


진행
여차 저차 해서 프로젝트에 대한 컨셉과 프로토타입 문서가 나왔고, 디자인 및 Html까지 나왔습니다. 이제 개발하여, 보여주면 되는 상황인거죠. 대략 결과적으로 생성된 테이블수는 40여개가 되었고(개발하는 도중에는 테이블에 거의 신경쓸 일어 없었습니다.), 도메인 객체 모델링 및 Controller까지 구현은 2주 정도 걸렸습니다. 사실 비지니스까지 걸리는 시간의 대부분은 Roo에 대한 사용법이 미숙해서 걸리거나, OOP 개념 특히 Hibernate에 대한 미숙함으로 걸리는 시간이 대부분이 이였고, 순수 코드 작성에 걸리는 시간은 2일도 안되는것 같습니다. 그만큼 CURD 및 Finder에 대한 구현 자체의 시간의 거의 없었고, 그 Action에 '무엇이 담겨야 하고, 무엇과 연관되어야 하는가'가 많은 시간을 허비하게 했는데, 이것은 개발자에게 말 그대로 도메인에 집중하게 하는 효과를 내지 않았나 하는 생각 입니다.

총 프로젝트는 대략 한달 정도 걸렸는데, 대부분의 시간은 UI 즉,  Html로 된 디자인 파일을 적용하는  것에 시간을 허비하게 되었습니다. 이부분은 사용자 화면과 관리자 화면으로 나누는데, 사용자화면은 디자인이 적용되니 어쩔수 없다고 치더라도, 관리자 화면 역시 시간이 많이 소비되었는데, 이유는 Spring JS(Dojo)를 그대로 사용하지 못했고(IE에서의 스크립트 오류), 다 제거하고, 타일즈도 역시 제거하는 과정(SiteMesh 적용)에서 UI는 Roo의 혜택을 거의 받지 못하게 되었던것 같습니다.

어쨌든, 결과적으로 Roo를 사용하는 것은 프로젝트 시간을 단축하는 효과를 볼수있었습니다. UI 부분은 아직 상당한 부분 응용하기 어려웠고(아마도 이것은 저의 도메인 환경에 대한 제약 때문일 것입니다.), 도메인 변경(필드추가,관계 설정/변경 등)은 어렵지 않았습니다. 하지만, 관계들이 많아져서 복잡해 지니까, 전체적인 그림을 그리는(비주얼한) 무언가가 있어야 할것 같다는 생각이 들었습니다. Roo 는 DB 테이블 구조 보다는 관계 구조를 먼저 떠오르게 하는데, 그 관계를 비주얼하게 볼수 있으면, 전체적인 소스코드 분석에 도움이 될것 같은데, 그것을 보여주는 것이 없어서, 객체 설계자가 아니면, 이해하기 힘들수도 있겠다 하는 생각을 했습니다.


결론
저는 이번 작업을 통해서 Roo는 실무 적용에 문제가 없다는 것입니다. 특히 도메인이나 비지니스 이하 계층에서는 말이죠. Service나 Facade 같은게 없다고 해서, 너무 단편적일 것이라고 생각할수도 있지만, 필요하면 만들어 적용할수 있으니, Roo 때문에 무엇은 안되는거 아닌가? 하는생각은 좀더 고민을 해보시고 판단하는것을 조심스럽게 권합니다. 사실 이번 프로젝트에서도 Service 는 거의 작성하지 않았습니다. 외부로 유출되어야 할 메서드(DWR, Spring BlazeDS Integration 관련)만 작성 했지요. 신기하게도 Roo를 사용하면, Roo에 집중하는게 아니라 Roo 이외의 부분에 집중하게 만들어 줍니다.

( 개발 도중 Version 캡쳐)

앞으로
최근 저의 직업적 환경 변화가 주로 개발에 대한 관리를 하게 되는데, 시간이 허락하는 한 소규모 개발을 진행하려고 합니다. 이번에 또다른 개발을 하게 될것 같은데 역시 Roo 사용해볼까 합니다. 이번 개발에서는 Roo가 기술적 이슈가 아니라 Flex 입니다. 늦게 배운 도둑질이 밤새는줄 모른다고, 최근에 제마음을 흔들어 놓은 것 중에 하나가 Flex 입니다. 이번 프로젝트는 좀더 SI적인 냄새가 날것 같은데, Flex와 Roo 이용한 개발이 재미 있을것 같습니다. 

Spring Roo에 대한 소감을 한마디로 요약하면,
"빠르게 Rich 도메인을 실무에 적용할수 었어서 좋았다."
입니다.  잊지 말아야 할것은  Roo는 그냥 툴이라는 것입니다. 은총알을 기대하진 말아야 합니다.
저작자 표시
신고
posted by Max.
TAG flex, ROO, Spring
2009.12.02 10:49 개발관련

1. Cloud Foundry Addon (http://www.cloudfoundry.com)
아직 이놈에 대해서 아는게 거의 없다. 학습할 대상에 올려놔야 겠다. 일단 addon은 아래 URL에서 간단히 할수 있다. RC3부터는 addon을 간단히 추가하는 명령이 업데이트 되었다.
svn co https://src.springsource.org/svn/cloudfoundry_plugins/roo/com.cloudfoundry.roo.addon

2. ROO-350 Color shell support for Windows users
위의 이미지처럼 칼라플(?)하게 바뀌였습니다.

3. Spring Flex 1.5 Addon 개발
Spring Flex 1.5(Spring BlazeDS Intergration) 부터는 Roo addon 되게 개발되어질 예정이라고 합니다. (http://forum.springsource.org/showthread.php?t=80779)

요즘은, 별다른 사항이 없습니다. 다만, Spring3.0 @MVC 구조로 바꾸기 위해 분주한 모습입니다. 아마도, Spring3에 맞춰서 1.0을 릴리즈하지 않을까 하는 생각도 듭니다. Roo 잡소식 시리즈는 여기서 줄일까 합니다. 대부분 업데이트 로그를 보면 나오는 내용이라 따로 언급하는게 의미가 없어 보입니다.

다음은 Spring Flex 관련된 내용을 학습하고 싶은데, 너무 업데이트가 더디게 이루어져서 가능할지 모르겠네요...Spring Roo는 지금 글쓰는 순간에도 업데이트(Rev.500) 되고 있는데, Spring Flex는 11/21일 이후 업데이트가 되지 않고 있습니다. ㅡㅡ;
저작자 표시
신고
posted by Max.
2009.11.11 08:40 개발관련

어제 일짜로 릴리즈 소식이 나왔군요. 오늘 봤습니다. --;; 주요 릴리즈 특징은, Clouf Foundry 명령이 추가 되었고(도대체 이게 왜 이리 빨리 되었는지는 알수가 없다. 홍보용인가?), 관련문서(Reference)가 짧게나마 추가 되었다는것 정도입니다. 본다고 출력해 놨는데, 우선순위에서 밀렸습니다.-.-; 

기타 자세한 내용은 해당 소식지 페이지의 내용을 그대로 옮깁니다. Roo는 RC3가 릴리즈 됨으로써, RC4가 시작 되었는데, 올해 안에 GA가 나올지도 모르겠습니다. :)

new release features: From : http://www.springsource.org/node/2170


저작자 표시
신고

'개발관련' 카테고리의 다른 글

lock in  (0) 2009.11.13
JIRA 관련 링크 모음  (4) 2009.11.11
Spring Roo 1.0.0.RC3 Released  (0) 2009.11.11
Spring Roo 잡소식(7)  (0) 2009.11.11
DWR3.0 RC1 Maven Repository 추가하기  (0) 2009.11.02
Spring Roo 잡소식(6)  (0) 2009.10.29
posted by Max.
TAG RC3, ROO
2009.11.11 08:30 개발관련
    ____  ____  ____
   / __ \/ __ \/ __ \
  / /_/ / / / / / / /
 / _, _/ /_/ / /_/ /
/_/ |_|\____/\____/    1.0.0.RC3 [rev 401]

1. Junit 4.7.0, Spring Security 3.0.0.RC1 으로 업데이트.
junit은 단순이 maven dependency만 업데이트 했고, Security는 Operation을 함께 업데이트 했다.(찾아보니, Secutiry도 단순히 Dependency 버전만 바꾸었다 -.-;)

2. <spring:url/> 테그로 변경 (Rev.381)
기존과 달라진 모습은 이렇다.
<c:url value='/static/j_spring_security_check' var="form_url"/> 에서
<spring:url value='/static/j_spring_security_check' var="form_url"/> 으로...

뭐가 좋아진걸까?

3. Color shell supoort (ROO-350)
어디서, 어떤 기능을 사용할때 지원(제공)한다는것인지 모르겠다. 현재는 그냥 그대로(컬러없이) 나오고 있다.

4.Create reference guide documentation structure(ROO-355)
RC3 버전 부터, 미약하게나마, Reference 문서가 보이기 시작했다. 아직 초기단계라 67페이지 밖에는 안된다.

5. RC3 release(ROO-356, revision 400)
지난 주말에 작업이 좀 이루어진듯 하다. RC3가 릴리즈 되었고, 사소한 버그들이 픽스 되었다. 기존 버전에서 돌려보니, 바뀌는건 jspx 관련 파일들 뿐이다. 타일즈관련 업데이트가 빈번하다.(타일즈에 목숨거는것 처럼 보이는데, 안쓰는 사람들도 많을텐데...)
저작자 표시
신고

'개발관련' 카테고리의 다른 글

JIRA 관련 링크 모음  (4) 2009.11.11
Spring Roo 1.0.0.RC3 Released  (0) 2009.11.11
Spring Roo 잡소식(7)  (0) 2009.11.11
DWR3.0 RC1 Maven Repository 추가하기  (0) 2009.11.02
Spring Roo 잡소식(6)  (0) 2009.10.29
Introducing Apache Mahout  (0) 2009.10.28
posted by Max.
TAG RC3, ROO, Spring
2009.10.29 11:30 개발관련
    ____  ____  ____
   / __ \/ __ \/ __ \
  / /_/ / / / / / / /
 / _, _/ /_/ / /_/ /
/_/ |_|\____/\____/    1.0.0.RC3 [rev 358]


1. Addon 개발
요즘 상당히 공격적으로 Add-on 개발을 권장하고 있는듯 하다. 관련해서 셀 명령어도 추가되었고, 사용법도 간단히 나와있다. 최근 SpringOne 2GX에서도 한 섹션을 할당할 정도다. 이 섹션내용은 정말 궁금하다.(Spring Roo: technical deep dive)


2. 대형 데이터 필드(CLOB,Text 등) 사용
현재까지는 지원하는 명령은 없다. 필수적으로 사용되는 위와 같은 필드들은 현재는 수동으로 고쳐서 사용해야 한다. 관련해서 대형 필드를 추가할수 있도록 기능개선 작업이 진행될듯 하다. 현재는 수동으로 해당 필드 형식을 수정하면, 잘 동작한다.(MySQL innoDB에서만 테스트 해봄)


3. ADJT 플러그인
aj에 있는 객체를 가져다 쓰기가 괴롭다. 자동완성기능이 지원안됨은 물론, 표현도 일반 텍스트 편집기와 다를게 없다. 좀 난감한 상황이다. ADJT 플러그인이 조속히 업에이트되어 자동완성 기능을 누리는 기뿐을 기다릴 뿐이다.


4. Roo 저장소
최근에 별로 업데이트 되는게 없고, 추가된 기능보다는, 버그와 잘자란 기능개선뿐이다. 슬슬 add-on에 신경써야할 분위기 인가...(요즘 업데이트 소식은 기능추가 보다는, 안정화 위주로 되는것 같다. 꾸준히 업데이트 되고 있다는것에 만족해야 겠지...)


5. Roo 개발시 가장 많은 시간은 소비하는 부분은?
처음엔 Roo 사용법과 객체상태 또는 관계 파악 이였는데, 어느정도 도메인에 익숙해지면, Html이나 Javascript 등 UI 꾸미는 일이나, jsp 수정하는데 많은 시간을 할애하게 된다. 특히 기본 addon으로 빌드시, jspx와 Dojo(Spring JS)는 가장 아쉽게 느껴진다.
저작자 표시
신고

'개발관련' 카테고리의 다른 글

Spring Roo 잡소식(7)  (0) 2009.11.11
DWR3.0 RC1 Maven Repository 추가하기  (0) 2009.11.02
Spring Roo 잡소식(6)  (0) 2009.10.29
Introducing Apache Mahout  (0) 2009.10.28
Spring Roo 잡소식(5)  (0) 2009.10.28
Mysql5.1 설치 및 한글설정  (0) 2009.10.27
posted by Max.
TAG RC3, ROO, Spring
2009.10.28 10:00 개발관련
    ____  ____  ____
   / __ \/ __ \/ __ \
  / /_/ / / / / / / /
 / _, _/ /_/ / /_/ /
/_/ |_|\____/\____/    1.0.0.RC3 [rev 340]

현재, Roo 에서는 @OrderBy 테그를 지원하지 않고 있는데, 지원될듯하고, finder에서도 finder명으로 구분하여 Order By  기능을 지원될듯 하다.


2. Finder 제약
Finder 생성 방법은 실무에서 사용하기엔 아직 제약사항이 많다. 그것은 Finder를 생성하는 조건 이외의 검색이 필요할때가 많은데, AND, OR 조건만으로 표현하기엔 어려운점이 있고, 경우의 수를 다 표현하려면, 상당히 많은 메서드를 생성해야 하는 복잡함이 생긴다. 딱히 해결 방법이 없다. entityManger를 가져다가 직접 구현하는 수 밖에...


3. 정식 릴리즈는 언제쯤...
GA 1.0.0 버전은 올 12월을 목표로 하고 있단다. 그때쯤, 정식 Reference문서도 나오지 않을까 한다. 그전에 Roo에 대한 양질의 문서는 여기를 참고 하면 된다.


4. reCAPTCHA(글자 이미지 생성) 
Java버전으로도 지원(http://tanesha.net/projects/recaptcha4j/)하는데, Roo에서도 지원할수 있게 누가좀 만들어 줬으면 하는 바램일까? 직접 지원보다는 addon 만들것을 살며시 소개(https://jira.springsource.org/browse/ROO-287)하고 있다. ㅡㅡ;;


5. Service Layer는 어디에...
자동으로 생성된 코드에는 Service Layer가 없다. 필요하면, 추가해서 만들면된다. Roo를 사용할때는 좀더 유연한 사고가 필수적이다. 생성된 스크립트 그대로 사용해야 한다고 생각하지 말고, 초기에 한번만 사용할수도 있고, 도메인만 사용할수도 있고, 개발설정만 사용할수도 있다. 모든걸 Roo로 해결하려면, 한 10년은 더 있어야 하지 않을까?
저작자 표시
신고

'개발관련' 카테고리의 다른 글

Spring Roo 잡소식(6)  (0) 2009.10.29
Introducing Apache Mahout  (0) 2009.10.28
Spring Roo 잡소식(5)  (0) 2009.10.28
Mysql5.1 설치 및 한글설정  (0) 2009.10.27
Spring Roo 잡소식(4)  (0) 2009.10.27
Eclipse 다운로드 및 플러그인 URL(2009-10-09)  (2) 2009.10.09
posted by Max.
TAG RC2, ROO, Spring
2009.10.27 13:41 개발관련
    ____  ____  ____
   / __ \/ __ \/ __ \
  / /_/ / / / / / / /
 / _, _/ /_/ / /_/ /
/_/ |_|\____/\____/    1.0.0.RC3 [rev 340]

Roo가 개발되면서, 지속적으로 대두되었던것 중에 하나가 Addon 개발이였다. Roo 패키지 구조가 Addon구조로 개발되면서, 사용자들이 Addon개발을 할수 있게 처음부터 고안되어 있었던 것이다. M1이 빌드되기도 전에 일부 열성적인 사람들이 Addon개발을 하여 Roo개발자들에게 보여줌으로써, 그 가능성을 보게 된 개발자들은 좀더 편리하게 Addon을 개발하기 위해, Addon지원을 위한 여러가지 조율 끝에 이번에 이 명령어가 새로 선보이게 된것이다.  아래는 addon 명령으로 크게 4개로 나누어져있고, 아직 릴리즈 되지 않은 RC3에 있다.
addon cleanup     addon install     addon list        addon uninstall


2. aj 파일 분리 히스토리
처음 설계시 aj 파일은 특정 소스 디렉토리로 배치하려고 했다고 한다. 그러나, 여러가지 툴들(Maven, AJDT, Eclipse plugin...)의 지원이 어려워서 결국 java 소스 디렉토리인, 도메인 디렉토리에 포함시킬수 밖에 없었단다.


3. Multi module project Support[https://jira.springsource.org/browse/ROO-120]
Version 1.1.0.M1 에서 지원하기로 계획되어 있다. 중대형을 위해서는 모듈화가 필수적인데, 이때나 지원될것 같다.


4. toString()
Roo에서 도메인 객체를 생성하면, toString() 메서드도 하나의 aj파일에 생성된다. 이에 대해, ITDs에 대한 과잉(overkill) 사용이 아니냐는 지적이 나오는데, 만약, 해당 모델 객체에 toString() 메서드를 추가하면, Roo Shell은 해당 toString aj파일을 자동으로 제거한다. 그리고 자동 생성된 Roo의 toString은 Debug시 상당히 유용하다.


5.RIA 지원
RIA는 과거 로드맵에서 지원된다는 아키텍처 비슷한 그림에서 본적이 있지만, 이후로 언급된걸 보지 못했다. 최근 소식을 보니, 2.0.0 버전, 약 2010년 후반기에 지원할 생각인가 보다. 아마도 Flex와 GWT가 가장 먼저 지원될듯 하다.


6. Spring Shell
지금 Roo는 Shell Command를 사용하고 있는데(JLine Shell), 명령어 내릴때 가끔 버그가 발생한다.(특히 자동완성 기능에 대해서) 이에 대해 Roo 개발자들도 익히 알고 있어서, 직접 Shell을 만들기로 했단다. 그래서 Roo 1.5.0버전부터는 Spring Shell을 이용할 예정이란다. 대략 내년 2/4분기를 목표로 개발할듯 하다. 좀더 멋진 Shell이 기대된다.

저작자 표시
신고

'개발관련' 카테고리의 다른 글

Spring Roo 잡소식(5)  (0) 2009.10.28
Mysql5.1 설치 및 한글설정  (0) 2009.10.27
Spring Roo 잡소식(4)  (0) 2009.10.27
Eclipse 다운로드 및 플러그인 URL(2009-10-09)  (2) 2009.10.09
Spring Roo RC2[Revision 319] Demo Testing  (2) 2009.10.06
Spring Roo 잡소식(3)  (0) 2009.10.05
posted by Max.
TAG RC2, ROO, Spring
prev 1 2 3 4 5 next