전체 글 1337

ALM 솔루션

ALM이란 Application Lifecycle management로 소프트웨어 개발의 전반적인 관리에 해당하는 내용이다. 즉 요구사항을 수집하고, 일정을 잡고, 작업을 배분하고 릴리즈,테스트,버그관리까지의 전과정을 핸들링 하는것인데.. 개발환경 자동화를 하면서 이슈 트랙킹 시스템이 이슈 자체를 관리하는 것은 가능하지만 요구사항에서부터의 추적이나 스케쥴 관리에 있어서 문제가 있었다. 그래서 ALM쪽을 살펴보는데 역시 요즘은 Agile이 강세다. 그런데 웃긴것중에 하나... 국내 사이트에서 애자일을 검색해보면 애자일이 어쩌고 저쩌고 하는 사람들은 많은데.. 정작 프로세스를 정립하는 것은 툴하나 없이 액셀 시트가 어쩌고 저쩌고 포스트잇이 어쩌고? 어이가 없어서... 엔터프라이즈 시스템 그렇게 만들고 감리를..

ALM 2008.03.13

개발환경 자동화 환경에 대한 추천 조합

몇가지 개발환경 자동화에 대한 테스트 조합을 해본결과에 대해서 추천을 드리겠습니다. 1. 이슈 관리 시스템 Mantis,Trac,Bugzilla,JIRA를 운용해봤습니다 결과는 JIRA가 가장 좋다는 것이 결론이고 구입 비용은 대충 120만원이면 일반 기업에서 무리 없이 사용이 가능합니다. 나머지는 오픈 소스 인데, Trac의 경우 기능은 막강하지만 인스톨과 운용이 어렵기 때문에 작은 단위나 기술력이 부족한경우에는 그다지 추천하고 싶지 않습니다. Bugzilla의 경우 제 경우 매우 편리하게 사용을 했습니다만, 인스톨이 제법 까다롭습니다. Matins의 경우 Instant Mantis라는 것으로 매우 쉽게 설치 및 운용이 가능합니다. 한글 지원도 잘되구요. 그러나.. 프로세스에 대한 흐름이나 UI가 좀 ..

ALM 2008.03.13

개발 환경 자동화에 관심이 많은 분들께 알립니다.

안녕하세요? 근래 제 블로그 포스트에 개발환경 자동화에 대해서 관심들이 많으신것 같습니다. 이 내용은 작년 NHN에서 빌드 배포 자동화 솔루션 프로젝트를 진행하면서 관심이 있어서 그때부터 스터디하고 현재 K사와 H사에 적용하면서 Maturing 시켜가고 있는 프로세스 입니다. 원래 금년 JCO 컨퍼런스에서 발표할 예정이었습니다만, 여러 사정으로 발표를 못했습니다. 시간이 되는데로 설정 방법과 프로세스에 대한 문서와 강의를 진행할 예정입니다만 아직 프로세스를 완성 시켜 나가는 단계이고 시간이 없다는 핑계로 진행을 못하고 있습니다. ^^; 혹시 개발환경 자동화 프로세스에 대해서 필요하신 내용이나 의견이 있으시면 강좌 문서에 반영해보도록 해보겠으며, 그전에라도 도움이 필요하신 분들은 개별 메일이나 또는 요즘 ..

ALM 2008.03.13

JVM 튜닝

진짜 오래전 문서인데.. JVM 튜닝 문서 링크 == JVM GC와 메모리 튜닝 자바스터디 네트워크 [www.javastudy.co.kr] 조대협 [bcho_N_O_SPAM@j2eestudy.co.kr] 모든 Java Application은 JVM(Java Virtual Machine)위에서 동작한다. 이 JVM이 동작하는데 있어서, 메모리의 구조와 특히 GC는 Application의 응답시간과 성능에 밀접한 관계를 미친다. 이번 강좌에서는 JVM 의 메모리 구조와 GC 알고리즘 (JDK 1.4.X에 포함된 새로운 알고리즘 포함) 그리고, JVM의 메모리 튜닝을 통한 Application의 성능향상방법에 대해서 알아보도록 하자. 1.GC란 무엇인가? GC는 Garbage Collection의 약자로 Ja..

단위테스트 3회 - 커버러지 분석과 단위 성능 테스트

테스트 코드 커버러지와 단위 부하 테스트 (Test Code Coverage & Unit performance test) 자바스터디 조대협 (http://bcho.tistory.com) 현재 BEA Systems Korea에서 Senior 컨설턴트로 엔터프라이즈 애플리케이션 개발과 미들웨어 SOA에 대해 컨설팅을 진행하고 있다. 온라인 자바 사이트 http://www.javastudy.co.kr 의 초기 시샵이며, 한국 자바 개발자 협의회 JCO의 초대 부회장을 맏았다. 이번 글에서는 테스트가 애플리케이션을 어느정도 테스트했는지를 측정하는 코드 커버러지와, Japex 테스트 프레임웍을 이용한 부하 테스트 방법에 대해서 알아보도록 한다. 1.코드 커버러지 (Code Coverage) * 테스트 커버러지란?..

ALM/Test Automation 2008.03.12

오랜만에 POC..

정말 오랜만에 POC를 진행했다. 개발 프로세스에 대한 방법론 정립하는 거였는데. JIRA + FISH EYE를 이용한 TASK 관리. Hudson + ANT + Subversion 을 이용한 빌드 관리 Spring, JUint, Cactus, Cobertura, Japex를 이용한 테스트 자동화 그간에 공부하고 테스트해왔던것을 한꺼번에 나름 정리할 수 있는 시간이 되었다. 결과는 약 2% 부족하지만 그런데로 만족... 아주 오랜만에... 같이 하고 싶은 사람들과 일을 했는데.. 역시나.. 배울것과 나름 깨달은 것이 많았던 일주.. 짧은 기간이었고.. 정신적으로.. (간만에 집중에 의해서..) 다소 피곤했지만.. 나름 보람찬 일주였던것 같다.. 이제는 다시 지금 프로젝트 컨설팅으로 복귀~~

사는 이야기 2008.03.10

Code Inspection Tools

Code inspection tools 정적 분석 툴이라고도 이야기 하는데... 모냐 하면 소스코드나 컴파일된 클래스를 넣으면 코드 상에서 발생할 수 있는 예상 되는 버그를 알려주는 것이다. (정적으로 소스 코드를 분석해서..) 예를 들어 1: Address addr = get Address("bcho"); 2: if(addr != null){ addr.sendGift("Money");} 3: addr.verify(); 위의 코드는 addr이 NULL일때 3번 라인에서 Null Pointer Exception(NPE)가 발생할 수 있다. 실행하지 않아도 예측할 수 있는 내용이다. 이런 위험성이외에도 MultiThreading 에서 Lock문제나 단순하게 Class 명명 규칙을 벗어난 경우 등등 이런 여러..

개발환경 자동화 환경

CI(Hudson) Test(JUnit,Cactus,DBUnit,Cobertura,Japex) Source mgmt(SVN) Issue tracking(Mantis) 현재 여기까지 구현해봤는데.. 앞으로 해보고 싶은것 1. Hudson Master/slave mode 2. Team City - http://www.jetbrains.com/teamcity 이거 박재성 팀장님이 사용하시는것 같은데.. 다음에 기회되면 한번 사용해보고 싶긴하다. 3. Mylyn을 이용한 연동 (이클립스 버전땜에 잘 못하고 있었는데...) 아무래도 TeamCity 가 이클립스와 연동되는 기능이 강력해서 좋기는 할거 같은데... 써볼 기회가 없네 그랴...

ALM 2008.02.28

NIO

JDK 1.5에는 서버 애플리케이션을 만드는데 필요한 거의 모든것이 다 들어가 있는 듯하다. 아래 포스트한 Thread Pool이외에서 JDK 1.4 부터 포함된 NIO에서는 Socket에 대한 Multiplexing이 가능한 API를 제공한다. http://www.onjava.com/pub/a/onjava/2002/10/02/javanio.html http://www.onjava.com/pub/a/onjava/2002/09/04/nio.html 고객사에 이슈가 있어서 검토중인데.. 간만에 재미있는 장난감 찾았다... 정리되면 나중에 다시 포스팅 해야겠다. ^^

JDK 1.5 부터 등장한 ThreadPool

Thread Pool이라는 것이 얼핏 생각하면 구현이 간단할 수 도 있지만, 막상 구현하려면 상당히 귀찮은데, JDK 1.5에 이 내용이 포함되어 있다. 상당히 설계도 잘한것 같아서 마음에 드는데.. 이정도면 쉽게 웹서버정도는 만들 수 있지 않을까? http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ThreadPoolExecutor.html#execute(java.lang.Runnable) 생성자를 잠깐 살펴보면 ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue, ThreadFactory ..

방문자 수가 늘었다 했더니..

블로그 방문자수가 오늘 급격하게 늘었다했더니.. 유입 키워드 대부분이 "jco", "JCO" 였다. 이번 JCO 컨퍼런스에 대해서 관련 정보를 찾은 사람들 또는 후기를 모으는 사람들이 들어오지 않았을까? 아침에 여기저기서 들려오는 컨퍼런스에 대한 소식과 잡음에 마음이 편하지 않다. JCO 활동을 접은지는 오래되었고 감히 technical mentor로써 남고자 했지만. 일년에 40분의 시간과 약간의 블로그 포스팅으로는 역시 터무니 없이 부족하다... 대부분의 걱정의 글이 조직의 운영성과 행사문제등에 초점이 맞추어져 있는데.. 이번 컨퍼런스에 발표를 하지 않은것중에 가장 중요한 이유가... 컨퍼런스의 강의 품질 문제다... 물론 열심히 발표하시는 분들도 있지만.. 벌써 해외와 현업에서는 기술이 저만치 흘러..

사는 이야기 2008.02.19

단위 테스트 2회 - 확장된 단위 테스트 도구 (Cactus,JUnitEE)

확장된 단위 테스트 도구 (Cactus & JUnitEE) 자바스터디 조대협 (http://bcho.tistory.com) 지금까지 기본적인 단위 테스트 도구에 대해서 알아보았다. 좀더 상세화된 단위 테스트의 단계를 나눠 보면 다음과 같이 나눠볼 수 있다. l Type 1.코드 단위 테스트 코드상의 로직에 대해서만 테스트를 수행한다.앞 장에서 살펴본 테스트 방법이 일반적인 코드 단위 테스트 방법이다. 그러나 EJB,Servlet과 같은 J2EE 컴포넌트에 대해서 로직이 Dependency를 가지는 경우에는 EJB,Servlet 객체를 직접 연동하는 경우 container (WAS)에 배포하고, 기타 환경 설정이 필요하기 때문에, 로직 테스트를 위해서는 container 환경을 구성하기 전에 동일한 인터페..

ALM/Test Automation 2008.02.19

빌드 자동화 업체

Clover,JiRA, CI 툴등. 이런거 수입해서 국내에서 팔았으면 좋겠다 생각했는데.. 벌써 하는 업체가 있었네.. 반갑기도 하고.. ^^ 역시 사람들 빠르다는 생각도 들고... 마침 업체가 최종명 선배가 있는 업체기도 해서 기술에 신뢰도 간다... 기회가 되면 프로젝트 초반에 같이 한번 일해보고 싶은 업체. Architecture Group http://www.arctgroup.com 555-4847