전체 글 1294

해도 너무 하는것 아닌가?

정말 해도 너무 하는 것 아닌가? 2008년 선진국이라고 민주주의라고 외치는 나라가... 정부가 국민을 외면하고 국민에게 몽둥이와 방패를 휘두르다니... 60년대도 아니고 후진국도 아니고... 국민이 잘 먹고 편하게 살게 해달라고 뽑은 대통령과... 범죄와 위험으로 부터 지켜달라고 밤새면서 돈벌어서 경찰들 월급 주는데... 먹기 싫은 미친소 안먹겠다고 하는 사람들에게 몽둥이가 왠 말이냐? 정말... 이런 글은 블로그에 올리기는 싫었는데.. 이건 정말 해도해도 너무한다... 내딸이 태어나서 열심히 자라고 있는 지금... 무엇을 먹여야 하나 고민도해야하고.. 이런땅에서.. 내딸을 키워야 하나.. 내딸이 다 큰후에 부끄럽지 않도록 나도 거리로 나서야 하는것은 아닌가? 국민들은 바보가 아니다.. 생각도 할줄 알..

사는 이야기 2008.06.02

살아간다는 것이..

딸이 태어난지도 이제 거의 한달이 다 됐다. 엊그제인가... 12시에 집에 돌아와서... 딸 재울 준비들 하고.. 침대에 누웠는데. 엔지니어로 산다는게 참 공허하더라. 기술이 좋고 재미있어서 이길을 선택했지만. 아침에 출근전에 딸 얼굴 5분 보고... 퇴근해서는 피곤에 지쳐서 쓰러진 와이프와 자는 딸 모습.. 그래도 시간이 있을때는 와이프랑 이런 저런 이야기도 많이하고 장난도 치고 서로 많이 웃기도 했는데. 요즘 무엇을 하는건지... 내 딸과 와이프와 잘 살기 위해서 돈을 버는 거지.. 일을하기 위해서 돈을 버는게 아닌데 ... 새로운 기술에 대한 공부도.. 건강을 챙기기 위한 운동도 영어 공부도... 친구를 만나는것도.. 취미도 그리고 가족도.. 모두 일이라는 녀석이 먹어버렸다. 과연 이렇게 사는게 맞..

사는 이야기 2008.05.21

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툴을 설정하기 위해서는 기본적으로 소스 관리 시..

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..

간만에..

오랜만에 블로그 업데이트 회사일이다. 자바스터디 업데이트다.. 다소 바쁜 시간을 보냈는데.. BEA 에이스 C차장님, 한 오픈소스 하시는 S차장님의 합류와 현 운영자 홍회, 최초 자바스터디 운영진인 정훈이와 환이의 합류로 빵빵한 운영진이 구성되었다. 그외에도 많은 분들이 네이버 카페를 통해서 운영진에 참여 의사를 밝혀주셨는데. JIRA를 통해서 작업을 배분하는데 솔루션 기반이라서 그런지 능동적으로 참여해주는 사람이 없어서..약간 걱정이 되기도 하는데. 여하튼 많은 사람과 함께 하나의 사이트를 다시 빌딩해야 하기 때문에 중간에 조율 해야할일도 많고.. 시간이 많이 부족한 편이다.. 곧 우리딸도 태어날텐데.. 얼렁 마무리 하고 가족에 당분간 집중할 수 있었으면...

사는 이야기 2008.03.28

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