Grails에도 ORM이 있군요. Object-Relational Mapping은 프로그래밍에서 자동화의 한축을 그은 기법입니다. 위키피디어의 정의를 참고하세요.

프로그래밍하면서 잡스러운 일들을 자동화시키려고 많은 프레임워크들과 라이브러리들이 나왔습니다. 그리고 CoC(Convention over Configuration)같은 개념들도 귀차니즘을 기반해서 나온 것들이죠. 똑똑한 프로그래머들은 자동화할 포인트를 찾으면 가차 없이 나옵니다.

GORM은 하이버네이트를 그루비(Groovy)로 살짝 덧씌운 것이다("Gibernate"가 "GORM"보다 발음하기가 어려워 쓰이지 않는 것으로 추측한다).
from:
dw: GORM: 재미있는 이름, 진지한 기술 (한글)

가이버네이트보다는 GORM이라는 이름이 더 낫다고 합니다. (맥가이버가 생각나는 저는 ^^;)


공부거리가 자꾸 생겨서 심통이 납니다. 언제 활용하라구요. ^^;
일상이 무료한 개발자는 따라가보셔도 좋을 듯 합니다.
http://www.ibm.com/developerworks/kr/library/j-grails02128/index.html?ca=drs-kr

http://www.okjsp.pe.kr 에서 주최한 부산세미나입니다.

주제는 레거시 코드 관리 전략이고, 중앙 ITEA 부산 서면센터에서 열렸습니다.

JCO 자바컨퍼런스 내용을 조금 더 보충했습니다.





강의자료 링크입니다.
http://member.thinkfree.com/show.se?f=c93f8edf420459ab68316f75a595c1c1
netbeans를 중심으로 한 행사가 있습니다. JavaOne 바로 전 날 행사가 열리는데 작명 센스가 작살(?)입니다. Community"One"이니까요. ㅎㅎ
http://www.netbeans.org/community/articles/javaone/2008/nb-day.html 

사용자 삽입 이미지
Monday, May 5, 2008
9:30 am - 6:00 pm
Moscone Center,
San Francisco, California
Register now

무료로 참가하는 행사인데, 2006년에는 java puzzler 두 분의 강사가 재밌게 강의하신 것이 기억이 납니다.

기대가 됩니다.
https://jugs.dev.java.net/programs-list.html
컨퍼런스 패스가 무료 또는 할인이 되네요.
오라일리의 리뷰 건도 그렇고요.
그 외에도 많은 혜택들이 있습니다.
Working Effectively with Legacy Code 책의 p.147에 있는 내용입니다.
메소드 또는 함수는 두 가지 타입의 역할을 하게 됩니다. 동작의 명령(Command)이 첫번째이고 결과값이 필요한 질의(Query)가 다른 역할입니다.

메소드는 이 두 가지 타입의 역할이 구분되어 있어야 되고, 메소드 내에서 두 가지가 혼용이 된다면 그 메소드의 재활용은 예상치 못한 결과를 초래하게 됩니다.

특히나 메소드 간에 통용되는 필드변수의 값에 변동이 다른 메소드에 영향을 주게 된다면 그 메소드의 독립성은 저하되는 것이고, 이에 따라 코드의 재활용과 테스트 가능성도 낮아지게 됩니다.

내용이 많이 어렵습니다만, 부작용(Side Effect) 없는 코드를 만들기 위해서 중요한 기준 원칙이라 생각합니다.

좋은 예가 생각나면 공유하도록 하겠습니다.
http://ant.apache.org

make의 java버전
James Duncan Davidson
Tomcat의 멀티플랫폼 빌드를 위해 만들어짐.

java 작업 자동화의 기본
확장성이 뛰어난 설계로 인해 많은 벤더에서 제품에 추가

xml형식의 빌드 설정 파일
build.xml 이 기본 이름

<project> 최상위
<target> 작업그룹
<task> 수많은 작업 http://ant.apache.org/manual 에서 task 확인 가능
<properties> build.xml 내에서 사용되는 변수

task에는 두 종류가 있음
ant 배포판과 함께 기본적으로 지원되는 core tasks
ant/lib 에 넣고 참조할 다른 jar파일이 필요한 Optional tasks.

설치 방법
압축 풀고, ANT_HOME 환경변수 설정하고 %ANT_HOME%\bin; 을 Path 시스템 환경변수 맨 처음에 추가하면 설치 완료.

cmd창에서 ant -version 으로 설치 확인


Ant와 같이 자기 몸의 50배 이상 일하듯, 작은 빌드 툴이지만 자바를 비롯해서 시스템 작업까지 거의 다 가능함. Another Neat Tool 의 약자.
2006년 javaone에 갔을 때 grailstrails에 관한 강의를 들었습니다.
Grails는 Groovy + Rails 프레임워크이고 Trails는 Tapestry를 중심으로한 Rails 프레임워크입니다.

Groovy의 발음이 Ruby와 얼마나 많이 닮았는지 아신다면 조금 더 재미있을 것입니다. 따라쟁이 자바 같으니라구요.

http://www.ibm.com/developerworks/kr/library/j-grails01158/ 에 Grails에 관한 좋은 기사가 올라왔습니다.

맘에 드는 구절이 있군요.
더 이상 getter와 setter를 짤 필요가 없다. 그루비가 자동으로 이를 제공하기 때문이다.
EJB를 비롯해서 많은 프레임워크들이 번잡스럽게 여겨지는 이유는 많은 코드양입니다. 자동으로 생성되는 Code Generator를 만들어 써도 관리에서 시간 잡아먹는 역할이기 때문에 정말 비즈니스에만 집중하기가 힘듭니다. 더구나 IDE가 없다면 더 힘들어집니다.

Convention over Configuration 이라는 좋은 사상으로 이러한 문제가 많이 해소되었습니다. Grails에서 얘기하는 Groovy의 역할도 코드의 양을 획기적으로 줄여준다고 합니다.

배움을 그치기에는 자바 세상은 너무도 넓은 것 같습니다.
Hello World 는 빙산의 일각인 것이죠.
5월 6일부터 5월 9일까지 샌프란시스코에서 열리는 자바원 2008을 위한 비행기 티켓을 오늘 샀습니다.

잘 준비해서 다녀와야겠습니다.

http://flyasiana.com 에서 세금 포함해서 116만원 왕복표입니다.


사용자 삽입 이미지


flyasiana 홈피는 ie8에서 javascript 오동작있습니다. ㅡㅡ;

오늘 코드 리뷰 중에 프로젝트 팀원의 노트북에서 찾아낸 정보입니다.

사용자 삽입 이미지


생명연장의 꿈입니다.
사용자 삽입 이미지

지역 지도에서 보이는 곳은 폭풍의 눈이라고 하는 15:15 깃싸움 전장입니다.

wow를 하면서 전장에 참여한 것은 최근 몇 달인데, 리더의 존재와 개인행동의 결과를 잘 알 수 있는 곳입니다.

채팅창을 통해서 지휘가 이뤄지고 그것을 따라서 일사분란하게 조직적으로 움직이면서 승리로 몰아갈 때의 쾌감은 정말로 짜릿합니다.

+ Recent posts