eGovFrameSvr 서버 2.0.0에는 jdk1.5가 포함되어 있고, hudson의 세팅은 여기에 맞춰져 있습니다. 그래서 jdk1.6이상으로 맞춰진 프로젝트는 컴파일 되지 않는 이슈가 있습니다.


[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 10 source files to C:\eGovFrameSvr\hudson\jobs\ok.egov\workspace\target\classes
[HUDSON] Archiving C:\eGovFrameSvr\hudson\jobs\ok.egov\workspace\pom.xml to C:\eGovFrameSvr\hudson\jobs\ok.egov\modules\ok$egov\builds\2013-07-01_15-22-31\archive\ok\egov\1.0.0\pom.xml
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
Failure executing javac, but could not parse the error:
javac: invalid target release: 1.6
Usage: javac <options> <source files>
where possible options include:
  -g                         Generate all debugging info
  -g:none                    Generate no debugging info
  -g:{lines,vars,source}     Generate only some debugging info
  -nowarn                    Generate no warnings
  -verbose                   Output messages about what the compiler is doing
  -deprecation               Output source locations where deprecated APIs are used
  -classpath <path>          Specify where to find user class files
  -cp <path>                 Specify where to find user class files
  -sourcepath <path>         Specify where to find input source files
  -bootclasspath <path>      Override location of bootstrap class files
  -extdirs <dirs>            Override location of installed extensions
  -endorseddirs <dirs>       Override location of endorsed standards path
  -d <directory>             Specify where to place generated class files
  -encoding <encoding>       Specify character encoding used by source files
  -source <release>          Provide source compatibility with specified release
  -target <release>          Generate class files for specific VM version
  -version                   Version information
  -help                      Print a synopsis of standard options
  -X                         Print a synopsis of nonstandard options
  -J<flag>                   Pass <flag> directly to the runtime system



[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 minute 31 seconds
[INFO] Finished at: Mon Jul 01 15:24:06 KST 2013
[INFO] Final Memory: 17M/31M
[INFO] ------------------------------------------------------------------------
Waiting for Hudson to finish collecting data
channel stopped
Finished: FAILURE


이를 해결하려면 허드슨 관리에서 JDK의 버전을 1.6 이상으로 맞춰 줘야 합니다. 메인 페이지에서 Hudson 관리 > Configure System > JDK 섹션으로 이동합니다.




수정 후에는 이상없이 빌드될 것입니다.



간만에 책을 하나 다 읽었습니다. 작년 Working Effectively With Legacy Code 원서의 마법에 걸려서 지난 일 년간 처음 잡아서 끝까지 시원하게 읽은 책이 없는 듯 합니다.
채수원님이 진행하는 작은 모임에 10월 18일 작게 발표에 대한 답례로 받은 책입니다. "엔터프라이즈급 애자일 방법론(Scaling Software Agility)"

1부와 2부는 소프트웨어 공학에 대해서 깔끔하게 군더더기 없이 정리가 되었습니다. 그간 읽었던 소프트웨어 공학 관련 내용들에 대해서 잘 정리할 수 있었습니다. 책에서 인상적인 부분은 3부였습니다. BMC라는 글로벌 회사와 같은 광역 조직에 애자일을 접목시킨 경험을 잘 정리해 놓았습니다.

가장 마음에 남는 것은 개발 조직 외의 다른 영업 조직, 마케팅 조직과의 릴리스 이슈에 대한 접근법입니다. 그리고 저는 한참 남은 지위인 의사결정권 계층인 경영회의의 애자일 적용 방식에 대한 가이드입니다.

개발팀은 회사에서 손발과 같은 위치인 경우가 많습니다. 그 회사의 서비스 전략은 개발팀 외적인 팀에서 만들어지는 경우가 비일비재합니다. 때문에 머리가 나쁘면 손발이 고생한다고 개발팀에서 일어나는 많은 이슈들이 다른 연관부서의 전략적 헛점 때문에 발생하는 경우도 많습니다. 가장 빈번하게 예를 드는 것이 전산화로 업무 혁신을 이루겠다고 하면서 프로젝트를 열었지만 조직 내의 업무 프로세스를 정의하지 않고 멍 때리는 경우가 될 것입니다. 이런 경우 프로젝트는 네버엔딩스토리가 됩니다. 월급 밀리지 않는다고 평생 짤리지 않는다고 좋아할 일은 아닙니다.

개발자도 봐야하지만 소프트웨어 프로젝트 연관된 사람들은 다 읽었으면 좋겠습니다. 특히나 CEO, CIO, CTO, CFO 이런 분들이랑 전략기획, 사업부 같은 전략적으로 고민을 많이 하는 팀들에게 권하고 싶은 책입니다.

손발이 아무리 이뻐봐야 머리가 비면 소용없습니다. 회사의 비즈니스는 조직 전체의 유기적이고 경량으로 빠르게 전달되는 의사결정의 속도에 달려있습니다. 지금 필요한 것은 뭐일까요. 커뮤니케이션 스피드입니다.

정공은 아닙니다. 영어로는 work around 입니다.

목표가 있는데 장애물이 나타나면 정공법으로 정면돌파하거나 돌아서 가는 방법이 있습니다. 정공법은 장애물보다 우위를 점하고 있을 때 가능한 방법이고, 열등한 위치에서 정공법을 취하면 자칫 계란으로 바위치기가 됩니다.

이 때 취해야 할 방법이 돌려치기이죠. 세상에서 가장 돌려치기를 잘하는 것은 물입니다. 틈을 발견하면 바로 빠져 나가서 아래로 흐르죠.

조직 생활에서도 돌려치기 기술은 중요합니다. 상급자가 자신을 인정하도록 만드는 것은 아주 쉽지 않은 일입니다. 그 때 회사와 연관된 외부 활동(블로깅, 잡지 기고)이 돌려치기 방법이 됩니다.

그 상급자가 외부에서 "참 훌륭한 팀원을 두셨군요. 부럽습니다" 이런 소리를 듣게 되면 아무래도 다시 보게됩니다. 물론 회사 내에서 일은 착실하게 잘 해야겠죠. ^^

image from: http://www.ignitesocialmedia.com/targets-off-target-social-media/
좀 좋게 미친듯하다. 좋은 소리 듣기는 힘들겠지만, 그래도 시도는 한 것이 나쁘지만은 않다. 다음에 올라온 이데일리 뉴스를 보고 16일 오픈한다는데, 도메인(http://www.anyframejava.org/ )이 있기에 들어가 보니 "와~" 소리 나오게 잘 만들어 놓았다.

Struts와 Spring 프레임워크를 국내 SI에 맞게 만들어 놓은 듯한 인상을 지울 수는 없지만 사이트 체계는 잘 만들어 놓았다.
소스와 바이너리 버전, JIRA를 이용한 이슈 관리, Subversion로 버전관리, 그리고 포럼을 통한 의견교환, 그리고 제법 갖춰진 매뉴얼과 문서들.

LAF/J 보다 나은 점은 사내망을 벗어나서 외부와 소통하겠다는 의지인데, 관건은 얼마나 오래 유지될 것이냐는 것이다.

유령의 집 같은 폐가로 만들지 않으면 좋겠다.

http://www.anyframejava.org/
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
OPEN API : 지도, 검색 정보 등의 일부 데이터를 외부에 오픈해서 사용하도록 하는 프로그래밍 기술. 제3의 서비스 창출이 가능하게 된 Web2.0 프로그래밍 트렌드. 국내 Naver, 다음이 OpenAPI 주도.

Google File System : 전세계 웹검색 정보 등의 대용량 파일 처리를 위한 구글의 파일 분산 저장 시스템. 하루에 PC급 서버 10만대에서 20,000 테라바이트를 처리할 수 있는 병렬 컴퓨팅 설계 기법.

Google BigTable : 구글 파일 시스템을 응용한 대용량 분산 데이터베이스 시스템. 데이터베이스의 머신을 병렬화하여 확장성과 가용성 그리고 퍼포먼스를 무한히 늘려갈 수 있음.

+ Recent posts