RESORT FOR JAVA? 잠안자고 Code Complexity 도구 찾던 중에 재미있는 툴을 하나 찾았는데 Complexity 분석뿐만 아니라 Code Inspection (정적분석) Coverage 분석까지도 가능하게 해준다. Basic Path 기법이라던지 Cyclomatic Complexity 계산이라던지 Metric 기반으로 Visual 하게 분석해주는 기능들이 마음에 드는데.. 놀랍게도 국산이다. http://www.soft4soft.com/ 카테고리 없음 2008.08.12
Code Complexity 측정 도구 LOC계산과 Cyclomatic complexity를 계산해준다는 툴인데.. 쓸만 할려나? http://www.geocities.com/sivaram_subr/codeanalyzer/description.htm 물론 꽁짜툴!! Cyvis http://cyvis.sourceforge.net/screenshoots.html 이것 괜찮다. JAVA 기반으로 Cyclomatic complexity 계산도 해주고 ANT TASK 지원은 물론이고 결과를 XML이나 HTML로 Generate 해준다. Test Coverage이나 Complexity vs Defect 비율 계산에 유용할듯 http://www.onjava.com/pub/a/onjava/2004/06/16/ccunittest.html Code comple.. ALM/Task Management 2008.08.12
국산 형상 관리 솔루션 실루엣 국내에서도 ALM 의 개념을 가지고 접근하는 제품이 있다는 것은 참으로 반가운 일이다. http://www.snh.co.kr/?s=product&m=shape1 형상관리 제품은 많이 보았는데, ALM의 개념을 가지고 있는 제품은 처음 본것 같다... 그러나 역시 한국 고객 특성에 맞도록 되어 있다... 그말은 실용적이기 보다는 고객의 엉뚱한 요건(?)을 만족 시키기 위한 기능들이 있다는것... 고객의 엉뚱한 요건이란, 실제 업무 프로세스 위주로 구성이 되는것인데. 변경 요청이나 승인 프로세스들은 상당히 프로세스가 고도화된 후에나 ALM에 녹일 수 있는 것인데.. 아마도 고객의 커스터마이징 요청에 의해서 그런 그림이 나오지 않았나 싶다... 고객으로 부터 ALM등에 대한 개발 Layer 이상의 관리적인 요.. ALM/Build Automation (빌드 자동화) 2008.08.12
이클립스 ALF 이클립스 프로젝트로 진행중인 ALM 업체들이 뭉쳐서 진행하고 있는 것 같은데. 다소 약한 느낌이 들기도... http://www.eclipse.org/alf/Flash/ALF003Demo.htm 테스트쪽을 분리해놓고 테스트 관리 부분이 강화 된것이 흥미롭다. ALM/Build Automation (빌드 자동화) 2008.08.12
테스트 자동화 도구들 www.opensourcetesting.com selenimum과 함께 쓰기 좋은 도구 http://cubictest.openqa.org/ STAF http://sourceforge.net/projects/staf ALM/Test Automation 2008.08.07
IT를 하면서 필요한것... 언제 한번 시간 나면 정리할려고 했던건데.. 마소에서도 요청이 왔었고.... 후배 개발자들을 위해서 필요한것들... VIew & Vision 보는 시야가 틀려져야 한다.. 구멍가게 시스템만 개발하다 보면 구멍 가게에 필요한 비젼과 시야만을 가지기 때문에 발전할 수 없다. 한국 개발자들도 세계에서 맹활약하는 사람들이 많다. 결코 한국 엔지니어가 세계 시장에서 뒤떨어지지 않는다.. 특유의 성실함과 집요함은 아마 세계 최고가 아닐까? Passion 열정... 열정없이 하는 일이 재미있고 제대로 될리가 없다.. 열정이 가장 중요하지 않을까? 하려고 하는 의지만 있다면 결국은 하게 된다. 연금 술사라는 책에서 나와 있듯이.. "우주는 자신이 간절히 바라는 방향으로 움직이게 된다." Exprience 경험 역시 매.. IT 이야기/IT와 사람 2008.07.25
프로젝트를 가장 쉽게 망치는 방법 들은건 많고 좋은것을 많이 알고 있을때... RESOURCE (시간과 인력)은 확보하지 않고 기능과 요건만 추가할때... 열역학 제 1 법칙 에너지 보존의 법칙 "우주의 총 에너지 합은 변하지 않는다..." 고로 요건을 추가하고 RESOURCE가 변화하지 않을때, 소프트웨어의 품질은 떨어진다. 프로젝트를 망치기 가장 쉬운방법은 RESOURCE 에 상관없이 많이 욕심을 부리면 됩니다. IT 이야기/IT와 사람 2008.07.14
한국 소프트웨어 아키텍트 대회 1회 참가 후기 토요일에 한국 소프트웨어 아키텍트 대회 1회에 발표를 하였습니다 "ALM Case Study"라는 주제로 소주제 "Practical Software Development process" 라는 내용으로 발표를 하였습니다. 모 요즘 말들 많고 제 블로그를 통해서 많이 소개 되었던 내용을 한번 정리하는 자리였습니다. 이슈 관리, 자동 빌드,테스트 자동화 등등에 대한 내용을 H은행과 S KOREA에 적용했던 사례와 함께 발표했습니다. 일찍 귀가 해야 하는 관계로 토론 세션에까지만 참석하고 시상식에는 참가하지 못했습니다만 2 트랙 BEST 세션으로 선정되었다고 하네요... (강사료는 안주나? ) 재미있었던것은 이 ALM에 대한 주제가 이번 대회에서 제 발표내용을 포함해서 4건이나 있었다는 겁니다. 그리고 요즘 자.. 사는 이야기 2008.07.14
WebLogic에서 Inflight Transaction(진행중인 트렌젝션) 상태 모니터링 하기 WebLogic 9.2 MP2 기준으로 작성 JMX 이용하여 XID를 입력하여 해당 트렌젝션에 대한 TM,RM,상태 정보들을 출력해주는 JSP 예제 == == 엔터프라이즈 솔루션/BEA WebLogic 2008.07.10
엔터프라이즈 프로젝트와 다른 프로젝트들의 차이... 아마 분야마다 차이는 있겠지만 공공,제조,금융,텔레콤,서비스 내가 언급하는 부분은 금융 부분인데.. 거의 모든 분야의 프로젝트를 다 해봤지만 가장 까다로운것이 금융쪽이다. 그도 그럴것이 금융에서 데이타는 모두 돈이고, 금융에서 IT는 매우 중요한 부분이다. 제조에서는 IT가 지원 조직일 뿐이고, 다른 부분에서는 글쎄...? ANYWAY 이런 종류의 엔터프라이즈 프로젝트와 일반 프로젝트(??)의 차이점은?? 일단 일반적인 웹개발과 비교하면 1. 비기능적 요건 엔터프라이즈 프로젝트가 아닌 경우 기능성 요건이 가장 중요하다. 일단 되느냐 안되느냐가 가장 중요하고 비기능적 요건이란 성능,가용성,안정성,확장성등이다. 성능은.... 일반적인 웹시스템의 목표 응답 시간은 3초 내외다. 보통 DB 한두개 갔다왔다가 응.. ALM 2008.07.08
애자일 방법론이 엔터프라이즈 환경에서 적용되기 힘든이유... 요즘 자바월드에서 자바좀 한다는 사람들이 가장 관심 있게 보는 것들이 애자일과 빌드 자동화(ALM,CI) 테스트 자동화 등에 대한 이슈이다. 애자일에 대한 서적과 토론등을 보면 장미 빛 이야기가 많다. 그리고 애자일이 좋으니 애자일 도입을 해야 하는데 관리자들이 말은 안듣는다...?? 등의 이슈들 있는데.. 애자일 방법론들은 Short Release,Issue Tracking,Test,CI 등등 여러가지가 있는데 그중에서 거슬리는 것이 Short Release이다. Short Release의 개념 자체에 대해서는 찬성을 한다. 그럼에도 불구하고 엔터프라이즈 프로젝트에서 Waterfall 모델이 아직도 가장 널리 사용되는 이유는 무엇일까? agile 방법론에서 이야기 하는 것들은 대부분 In House P.. ALM 2008.07.08
이런 오픈소스 라이센스 정책이 있었으면 좋겠다.. 어느나라나 개발에서 무리한 야근이 있는것은 자명한 사실인것 같고... 그래서 다음과 같은 오픈소스 정책이 있었으면 좋겠다.. == 이 소프트웨어는 상용이든 무슨 목적으로던지 사용할 수 있으며 단 이 소프트웨어를 개발하는데 사용된 리소스에 대해서 개발 조직이 야근을 할 경우에는 해당 개발자 시간당 수당의 * 1.2를 한 금액을 개발자에게 야근 수당으로 지불해야 하며 주말 근무의 경우에는 *2배의 금액을 지불해야 한다. 만약 이러한 라이센스 규약을 위반이 적발된 경우 개발자 임금을 소급적용하여 지불하고... 본 소프트웨어의 LIST PRICE의 10배 금액을 배상한다.. 등등등 == 이런걸 Apache랑 GPL 라이센스에만 적용해줘도... 개발자들이 살만하지 않을까? ㅎㅎ 금주에 있을 빡쎈 야근 모드를 생각.. IT 이야기/IT와 사람 2008.06.23
ALM (개발,빌드,테스트 자동화 등등)에 대한 세미나 합니다. 개발환경 자동화에 대한 세미나를 합니다. 작년부터 계속 준비하고 여기저기 적용도 해보고 원고도 써놔서 발표한번 해야 겠다 생각하고 있었는데, 첫번째 발표 일정이 잡혔습니다. "제1회 한국 소프트웨어 아키텍트 대회" 에서 7월12일에 1시 부터 삼성 멀티캠퍼스에서 2번 트랙 "Enterprise 환경에서 ALM 구현 사례" 라는 제목으로 발표를 합니다. 30분뿐인 시간이라서 얼마나 많은 내용을 이야기 할 수 있을지 모르겠습니다만 좀더 실용적인 관점으로 접근하려고 합니다. 블로그에 오시는분들중 관심이 있으신 분들은 발표후에 Q&A 시간등에서 많은 의견 나눴으면 합니다. 유감이게도 주최측에서 유료 세미나랍니다. 대회라고 하는데.. 무슨 대회인지도 잘 모르겠습니다... 좋은 세션들이 많은데... 시간 관계상 아.. 사는 이야기 2008.06.23
재미있는 X.25 관련 장비 (Athena X.25 switch) 언제한번 정리해야지 해야지 하면서... 못써놨던 글.... X.25는 아직도 그 폐쇄성으로 인해서 대외거래에서 많이 사용되는 프로토콜이다. 다시 말하면 X.25는 기관과 기관을 1:1로 연결하는 폐쇄망이다. 요즘이야 TCP 전용망으로 많이 구성을 하기는 하지만 아직도 X.25는 많이 사용되는 대외계 프로토콜중에 하나다. 그런데 이 X.25라는 놈이 문제가 별도의 X.25 카드를 필요로 한다. API도 X.25 프로토콜에 맞춰서 프로그래밍해야 하는데 개발자를 구하기도 어려울뿐더러 X.25 카드에 대한 지원도 쉽지 않다. 또한 예를 들어 클러스터 환경으로 5개의 BOX로 업무 시스템을 구성할 경우 부하분산이나 클러스터링에 문제가 생긴다. X.25 카드를 5대에 모두 꼽을 수 없을뿐더러 X.25 회선이 5개가.. 아키텍쳐 2008.06.17
About CodeBeamer 일이 바뻐서 요즘 공부나 플랫폼들 보는 것에는 소홀해 있다가. 야근하다가 잠깐 쉬는 겸해서 예전에 인스톨해놓았던 CodeBeamer를 review해봤다. 아키텍쳐 그룹에서 제공해준 패키지 덕분에 쉽게 인스톨하고 문서들도 참고 할 수 있었다. (감사) 인스톨해서 드는 느낌은 완성도가 높고 쉽다는 것 정도? 다시 말하면 이것저것 필요한것은 다 들어 있지만, 타 Agile 툴에 비해서 깊이는 떨어지는 것 같은 느낌은든다. 모라고 비교해야 하나 Mantis와 JIRA를 보는 느낌이라고나 할까? 프로세스나 워크플로우도 정형화 되어 있어서 복잡한 프로세스가 없는 팀이나 기업이라면 크게 문제 없이 사용이 가능할것 같다. 기본적으로 있을것은 있으니까는. 무엇보다 장점은 이슈 트랙킹과 요구사항 추적, 작업 관리, 버그 .. ALM 2008.06.17
고마운 사람이 소중한 사람을 내게 주던날 윤서가 태어난지도 벌써 만으로 두달이 다 되가네... 더이상 시간을 미루면 안되겠다 싶어서 거의 몇달만에 포토샵을 손에 잡았다. "나의 고마운 사람이 소중한 사람을 내게 주던날..." 힘들일도.. 짜증나는 일도... 이 사람들을 생각하면 잊혀진다... 사는 이야기 2008.06.15
개발 생산성에 대한 재미있는 경험 하나... 약 40일간 EAI 시스템에 대한 시스템 테스트를 수행하였다. 대부분 비기능적인 요건 성능 튜닝, 가용성, 확장성,안정성에 대한 시나리오였다. 3개의 대상 시스템이었고, 19개의 거래 패턴을 검증해야 했으며 시나리오는 몇개 였더라??? 단일거래, 복합거래, 대충 60 여가지였던가? anyway....!! 대략 6주정도 진행한것 같은데. 오전 9시~ 테스트를 진행하였다. 시나리오도 많고 resource(인력과 시간)이 절대적으로 부족한 상황... 처음 2주간의 튜닝 과정은 잘 진행되었다.. 퇴근이 10시~11시... 2주가 지나면서 재미있는 일이 벌어진다. 테스트 시작이 적어도 10시에는 시작되어야 하는데. 첫 테스트 시작이 처음에는 9시에서 테스트가 끝나갈 무렵에는 11시,12시 또는 오후 1시에나 되야.. 사는 이야기 2008.06.11
괜찮은 ALM툴 한동안 시스템 테스트 관계로 이쪽을 신경을 못썼는데 간만에 좋은 툴을 소개 받아서 포스팅!! ALM (Application Life cycle management) 도구로 간단하게 JIRA/MANTIS 와 같은 버그 트랙킹, 이슈 트랙킹에서 부터 Polarion같은 툴들이 있는데 대부분 ALM등은 무게가 무겁고 복잡도가 높다. http://www.intland.com/ 에서 나온 Code Beamer라는 툴이 있는데 일단 community free license지원하고 5 user까지 무료. 그리고 ALM에 필요한 1. 이슈 관리 밑 트랙킹 2. Wiki를 통한 지식 공유 3. Source repository 4. source version 관리 tracking 5. Discussion forum 6. .. ALM/Build Automation (빌드 자동화) 2008.06.11
해도 너무 하는것 아닌가? 정말 해도 너무 하는 것 아닌가? 2008년 선진국이라고 민주주의라고 외치는 나라가... 정부가 국민을 외면하고 국민에게 몽둥이와 방패를 휘두르다니... 60년대도 아니고 후진국도 아니고... 국민이 잘 먹고 편하게 살게 해달라고 뽑은 대통령과... 범죄와 위험으로 부터 지켜달라고 밤새면서 돈벌어서 경찰들 월급 주는데... 먹기 싫은 미친소 안먹겠다고 하는 사람들에게 몽둥이가 왠 말이냐? 정말... 이런 글은 블로그에 올리기는 싫었는데.. 이건 정말 해도해도 너무한다... 내딸이 태어나서 열심히 자라고 있는 지금... 무엇을 먹여야 하나 고민도해야하고.. 이런땅에서.. 내딸을 키워야 하나.. 내딸이 다 큰후에 부끄럽지 않도록 나도 거리로 나서야 하는것은 아닌가? 국민들은 바보가 아니다.. 생각도 할줄 알.. 사는 이야기 2008.06.02
살아간다는 것이.. 딸이 태어난지도 이제 거의 한달이 다 됐다. 엊그제인가... 12시에 집에 돌아와서... 딸 재울 준비들 하고.. 침대에 누웠는데. 엔지니어로 산다는게 참 공허하더라. 기술이 좋고 재미있어서 이길을 선택했지만. 아침에 출근전에 딸 얼굴 5분 보고... 퇴근해서는 피곤에 지쳐서 쓰러진 와이프와 자는 딸 모습.. 그래도 시간이 있을때는 와이프랑 이런 저런 이야기도 많이하고 장난도 치고 서로 많이 웃기도 했는데. 요즘 무엇을 하는건지... 내 딸과 와이프와 잘 살기 위해서 돈을 버는 거지.. 일을하기 위해서 돈을 버는게 아닌데 ... 새로운 기술에 대한 공부도.. 건강을 챙기기 위한 운동도 영어 공부도... 친구를 만나는것도.. 취미도 그리고 가족도.. 모두 일이라는 녀석이 먹어버렸다. 과연 이렇게 사는게 맞.. 사는 이야기 2008.05.21
2008년 4월 22일 우리딸 태어났어요. 15시간의 진통 끝에 우리 이쁜 단비 세상에 나들이 나왔습니다. 아직 부족한게 많은 초보 아빠지만.. 좋은 사람으로 건강하고 행복하게 잘 키우겠습니다. 축하해주신 분들 감사합니다. 카테고리 없음 2008.04.22
Hudson을 이용한 빌드 배포 테스트 자동화 Hudson을 이용한 빌드와 테스트의 자동화 2007-04-04 BEA Systems Korea Sr consultant Byungwook Cho (bcho@bea.com) Continuous Integration(점진적 통합,이하 CI)이란, 개발자가 각각 개발한 소스코드를 모아서 한꺼번에 빌드하는 통합 빌드의 과정을 특정 시점이 아니라 매일이나 매주와 같이 아주 잦은 주기로 수행함으로써 통합에서 발생하는 오류와 시간을 줄이기 위한 기법이다. Extreme Programming Community (XP)에서 애자일 방법론의 일부로 Kent Beck에 의해서 고안된 방법으로 다음과 같은 특징을 가지고 있다. 1. CI의 특징 (1) 소스코드 일관성 유지 CI툴을 설정하기 위해서는 기본적으로 소스 관리 시.. ALM/Build Automation (빌드 자동화) 2008.04.07
Atlassian JIRA를 이용한 프로젝트 관리 (기초편) JIRA는 Atlassian사에서 개발한 Issue Tracking System이다. 원래 이 "이슈 관리 시스템"은 버그 추적 시스템에서 시작되어서 현재는 버그뿐만이 아니라 일반적인 이슈에서 부터 프로젝트 관리까지를 지원한다. 본 프로젝트에서는 JIRA를 프로젝트 스케쥴에 대한 관리도구와 개발원간에 작업을 배분하고 커뮤니케이션하는 도구로 사용한다. Issue 지라에서는 각각의 작업을 이슈라는 단위로 관리하고 이슈의 종류를 다음과 같이 정의하였다. User Story 사용자의 요구 사항이나 개발의 대상이 되는 기능이다. User Story를 구현하기 위해서 각각의 User Story는 구체적인 작업인 Task를 하위작업으로 가지고 있다. Task User Story의 하위 작업으로 User Story를 .. ALM/JIRA 2008.04.04
Scrum 기반 개발 방법론 본 개발 프로세스는 애자일 방법론중에서 Scrum 개발 방법론을 기반으로 한 방법론이며, 방법론의 개념과 함께, Atlassian社의 JIRA 이슈 추적 시스템을 이용하여 실제로 팀 프로젝트를 관리하는 방안을 설명한 구체적인 실용주의 방법론이다. 전체 시나리오 고객 또는 분석가는 시스템에 구현되어야 하는 기능을 최종 사용자 입장에서 "기능"으로 서술한다. 이를 Product BackLog라고 하고, 각각의 기능에 대한 사용자 스토리등이 구체적으로 기입되어야 한다. 이 과정에서 Product BackLog는 기능별로 하나의 카드에 작성될 수 도 있고 또는 UseCase Diagram에서 Use Case로 작성될 수 있다. 이렇게 작성된 각각의 Product BackLog에 대해서 오픈 일정에 따라서 우선적.. ALM/Task Management 2008.04.04
플러그인 개발 순서 http://confluence.atlassian.com/display/DEVNET/How+to+Build+an+Atlassian+Plugin 1. 이클립스에서 플러그인 업데이트 http://mevenide.codehaus.org/mevenide-ui-eclipse/update/index.html 2. 아파치 사이트에서 메이븐 받아서 설치 3. 메이븐 컨피그 지정 http://confluence.atlassian.com/display/DEVNET/Example+settings.xml 4. 템플릿 생성(프로젝트 생성) http://confluence.atlassian.com/display/DEVNET/Atlassian+Plugin+Archetypes mvn org.apache.maven.plugins:ma.. ALM/Build Automation (빌드 자동화) 2008.04.02
Velocity & Sitemesh * Velocity http://www.ibm.com/developerworks/java/library/j-velocity/?ca=drs- 템플릿 아키텍쳐. JSTL보다 사용이 편리하고 오픈소스쪽에서 현재 주류로 사용됨 * Sitemesh Layout 관리 http://today.java.net/pub/a/today/2004/03/11/sitemesh.html 아키텍쳐 2008.03.31
간만에.. 오랜만에 블로그 업데이트 회사일이다. 자바스터디 업데이트다.. 다소 바쁜 시간을 보냈는데.. BEA 에이스 C차장님, 한 오픈소스 하시는 S차장님의 합류와 현 운영자 홍회, 최초 자바스터디 운영진인 정훈이와 환이의 합류로 빵빵한 운영진이 구성되었다. 그외에도 많은 분들이 네이버 카페를 통해서 운영진에 참여 의사를 밝혀주셨는데. JIRA를 통해서 작업을 배분하는데 솔루션 기반이라서 그런지 능동적으로 참여해주는 사람이 없어서..약간 걱정이 되기도 하는데. 여하튼 많은 사람과 함께 하나의 사이트를 다시 빌딩해야 하기 때문에 중간에 조율 해야할일도 많고.. 시간이 많이 부족한 편이다.. 곧 우리딸도 태어날텐데.. 얼렁 마무리 하고 가족에 당분간 집중할 수 있었으면... 사는 이야기 2008.03.28
Liferay 다국어 지원 방법 Note: The default Language.properties file is located at /portal/portal-impl/classes/content/Language.properties. The Language-ext.properties file referred to in the docs is located at /ext/ext-impl/classes/content/Language-ext.properties http://wiki.liferay.com/index.php/Development_in_the_ext_environment 엔터프라이즈 솔루션/포탈 2008.03.19