[KSUG-자기소개] 이제야 인사드립니다.

53 views
Skip to first unread message

최영목

unread,
Jun 27, 2011, 8:29:19 PM6/27/11
to ks...@googlegroups.com
안녕하세요? 이제서야 인사드립니다. 인사드리는 방식이 이렇게 하는 것이 맞는지 잘 모르겠네요.

저는 넥스트리소프트(주) 최영목 대리라고 합니다.

소프트웨어 테스팅 분야에 관심이 많고, 여러분들과 같은 개발자입니다. (현재 3년차이고, 다음달에 곧 4년차가 되겠네요 ^^;;;)

KOSTA에서 재직자 대상 TDD, CI 강의를 2년째 진행하고 있습니다. 

최근에는 JCO에서 (백기선님께서 외부 강연도 받아주신 덕분에 ^^) 테스트 자동화 환경에 관련된 발표도 진행하였습니다.

KSUG에는 많은 고수분들께서 있는 것으로 알고 있습니다. 아무쪼록 많은 가르침 부탁드리며,

최근 프로젝트가 바빠서 참석을 못하였지만 마무리되면 자주 오프모임에도 참석하도록 하겠습니다.

앞으로 잘 부탁드립니다. 감사합니다. ^^

ps. 백기선님, 뒷풀이때 인사도 제대로 못드렸네요. 죄송합니다. ^^ 감사하다는 말씀 꼭 드리고 싶었는데 ^^;;

ps2. 회장님, 금주 토요일 세미나 못가서 너무 아쉽습니다. 다음에 번개 술자리때 꼭 불러주세요 ^^

whites...@gmail.com

unread,
Jun 27, 2011, 8:31:01 PM6/27/11
to ks...@googlegroups.com
에고 뭘요 발표 제안에 참여해주셔서 제가 더 감사하죠. 담에도 잘 부탁드립니다.

BlackBerry® 에서 보냈습니다.


From: 최영목 <davi...@nextree.co.kr>
Date: Tue, 28 Jun 2011 09:29:19 +0900
Subject: [KSUG] [KSUG-자기소개] 이제야 인사드립니 다.
--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에서 그룹을 방문하세요.

조형규

unread,
Jun 27, 2011, 9:21:53 PM6/27/11
to ks...@googlegroups.com
최영목님 JCO의 발표 잘 들었습니다.
고품질 개발을 위해서는 테스트가 필수이지만
삽질만 하다 포기하곤 했는데,
많은 도움이 되었습니다.
반갑고요~ 감사합니다.

p.s.강의하신 주제에 대한 추천 그룹있으면 소개 부탁드립니다.

2011년 6월 28일 오전 9:31, <whites...@gmail.com>님의 말:



--
---------------------------------------------------------------------------------------------------------------
미래소프트(주) 조형규

O.P. 070-8255-6550
S.P. 010-3130-8963
---------------------------------------------------------------------------------------------------------------

최영목

unread,
Jun 28, 2011, 9:25:43 PM6/28/11
to ks...@googlegroups.com
저도 따로 그룹을 받아보거나 하지는 않았습니다. (영어 실력의 부재 ㅠㅠ)
다만 저는 주로 책 + 트위터 + InfoQ등에서 정보를 수집하고 있습니다. 또한 JCO에서 발표한 내용의 자세한 사항을
현재 KOSTA 재직자 과정인 TDD, CI 교육과정에서 진행하고 있습니다. 

아마 하반기에는 JUnit in Action 2nd도 참조해서 많은 부분을 반영시킬 계획을 가지고 있습니다. 기회가 되시면 KOSTA 교육도 들어보시면 도움이 되실겁니다. ^^
(죄송합니다. 어째 제 강의 광고같이 되어버렸네요 ^^;;;)

아니면 이번 기회에 KSUG에서 테스트쪽에 관심있으신 분들을 모아서 테스트 그룹을 만들어보는 것은 어떨런지요 ^^

2011년 6월 28일 오전 10:21, 조형규 <drea...@miraesoft.kr>님의 말:

Sungchul Park

unread,
Jun 28, 2011, 9:37:36 PM6/28/11
to ks...@googlegroups.com


아마 하반기에는 JUnit in Action 2nd도 참조해서 많은 부분을 반영시킬 계획을 가지고 있습니다. 기회가 되시면 KOSTA 교육도 들어보시면 도움이 되실겁니다. ^^
저도 어제 JUnit in Action 겟 했습니다. 열공해야죠!
아니면 이번 기회에 KSUG에서 테스트쪽에 관심있으신 분들을 모아서 테스트 그룹을 만들어보는 것은 어떨런지요 ^^
스프링 사명선언에 보면 이런 문구가 있습니다.

Testability is essential, and a platform such as Spring should help make your code easier to test.

최영목님이 그룹 만드시죠! 필참하겠습니다.

2011년 6월 28일 오전 10:21, 조형규 <drea...@miraesoft.kr>님 의 말:
최영목님 JCO의 발표 잘 들었습니다.
고품질 개발을 위해서는 테스트가 필수이지만
삽질만 하다 포기하곤 했는데,
많은 도움이 되었습니다.
반갑고요~ 감사합니다.

p.s.강의하신 주제에 대한 추천 그룹있으면 소개 부탁드립니다.

2011년 6월 28일 오전 9:31, <whites...@gmail.com>님 의 말:

에고 뭘요 발표 제안에 참여해주셔서 제가 더 감사하죠. 담에도 잘 부탁드립니다.

BlackBerry® 에서 보냈습니다.


From: 최영목 <davi...@nextree.co.kr>
Date: Tue, 28 Jun 2011 09:29:19 +0900
Subject: [KSUG] [KSUG-자기소개] 이제야 인사드립니 다.

안녕하세요? 이제서야 인사드립니다. 인사드리는 방식이 이렇게 하는 것이 맞는지 잘 모르겠네요.

저는 넥스트리소프트(주) 최영목 대리라고 합니다.

소프트웨어 테스팅 분야에 관심이 많고, 여러분들과 같은 개발자입니다. (현재 3년차이고, 다음달에 곧 4년차가 되겠네요 ^^;;;)

KOSTA에서 재직자 대상 TDD, CI 강의를 2년째 진행하고 있습니다. 

최근에는 JCO에서 (백기선님께서 외부 강연도 받아주신 덕분에 ^^) 테스트 자동화 환경에 관련된 발표도 진행하였습니다.

KSUG에는 많은 고수분들께서 있는 것으로 알고 있습니다. 아무쪼록 많은 가르침 부탁드리며,

최근 프로젝트가 바빠서 참석을 못하였지만 마무리되면 자주 오프모임에도 참석하도록 하겠습니다.

앞으로 잘 부탁드립니다. 감사합니다. ^^

ps. 백기선님, 뒷풀이때 인사도 제대로 못드렸네요. 죄송합니다. ^^ 감사하다는 말씀 꼭 드리고 싶었는데 ^^;;

ps2. 회장님, 금주 토요일 세미나 못가서 너무 아쉽습니다. 다음에 번개 술자리때 꼭 불러주세요 ^^
--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으) 로 이메일을 보내세요.

그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에 서 그룹을 방문하세요.

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으) 로 이메일을 보내세요.

그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에 서 그룹을 방문하세요.



--
---------------------------------------------------------------------------------------------------------------
미래소프트(주) 조형규

O.P. 070-8255-6550
S.P. 010-3130-8963
---------------------------------------------------------------------------------------------------------------

--
Google 그룹스 'Korea Spring User Group' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 ks...@googlegroups.com(으) 로 이메일을 보내세요.

그룹에서 탈퇴하려면 ksug+uns...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/ksug?hl=ko에 서 그룹을 방문하세요.

okangilo

unread,
Jun 28, 2011, 10:39:13 PM6/28/11
to ks...@googlegroups.com
단위테스트 스터디그룹+_+
만들어진다면 저도 꼭 참석하겠습니다!!

2011년 6월 29일 오전 10:37, Sungchul Park <gyu...@gmail.com>님의 말:

Sanghyuk Jung

unread,
Jun 29, 2011, 12:25:14 AM6/29/11
to ks...@googlegroups.com
아쉽게도 JCO에 못갔지만 방금 최영목님의 발표자료 잘봤습니다.


 단위테스트의 긍정적인 효과를 경험하는 상황이 쌓이다보면  점점 더 많은 테스트를 짜게 되는것 같습니다. 테스트 코드 없었으면 훨씬 어렵게 해결했을 문제를 쉽게 잡고나면 다음에 더 꼼꼼하게 테스트 코드를 짤 힘이 얻어지는 것 같습니다.. 저는 꼭 품질이라는 측면보다는 디버깅을 편하게 하는 목적으로 테스트 코드를 짜게되었는데, 그러다보니 재미도 붙이고, 테스트 코드도 어떻게 표현할까는 고민도 점점 더 많이하게 되었습니다.

 많은 분들이  Junit과 Mock library같은 library 사용법을 몰라서라기 보다는 전혀 테스트를 고려하지 않고 만들어진 레가시 코드 때문에 벽이 부딛히는 경우가  더 많아보입니다. 사실 그런 코드를 바꾸는 방법도 new나 static메소드 호출이 있는 부분을 다른 메소드로 추출하고 테스트 코드 안에서 override하거나 클래스로 추출하고  Dependency injection 적용하고 테스트 할 때는 가짜 객체로 대체하는 것등, 기법으로 따지면 정말 몇가지 되지 않는지도 모릅니다. 그런데 왜 그렇게 바꿔야하나.. 하는 공감대가 형성이 되려면 테스트 코드로 긍정적인 경험이 하신 분들이 조직에 많아야겠죠.
(위에 소개한 기법들의 간단한 예는 아래 책에 제가 쓴 부분에 간단하게 나마 소개되어 있습니다.
책 전체 내용이 테스트 코드 작성에 대해서만 깊이 다루고 있는 책은 아닙니다.)

그리고   maven 전환 관련 경험 같은 것도 더 공유되어도 좋을 것 같네요.

 Maven으로 바꾸면 가장 편한점이 외부 라이브러리를 pom.xml에 선언만 하면 가지고 오는건데, 기존 프로젝트에서는 .jar파일만 보고는 maven repository에서 찾을 수 없는게 경우를 만난적도 있습니다.
그때는 아래와 같이 일단 src/main/webapp/WEB-INF/lib에 .jar파일을 직접 넣고 dependency에서 scope를 SYSTEM으로 잡은적도 있습니다. 약간의 편법이지만 이거 말고는 번거롭지 않는 방법이 잘 생각나지  다른 분들은 비슷한 경우에 어떻게 해결하시는지도 궁금합니다.

<dependency>
  <groupId>.....</groupId>
  <artifactId>.....</artifactId>
  <version>1.0.1</version>
  <scope>system</scope>
  <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/xss.jar</systemPath>
</dependency>


2011년 6월 29일 오전 11:39, okangilo <okan...@gmail.com>님의 말:

최영목

unread,
Jun 29, 2011, 12:51:35 AM6/29/11
to ks...@googlegroups.com
많은 분들과 뜻을 모아 KSUG 산하 테스팅 그룹을 추진해보도록 하겠습니다. ^^

또한 디펜던시에 system scope를 추가하는 방법은 제 개인적으로는 조금 지양하고 있습니다. 보통 system scope에 추가하게 되는 경우는 2가지입니다.

1. 해당 오픈소스 라이브러리가 maven 프로젝트로 작성되지 않아서 maven central 또는 글로벌 레파지토리에 존재하지 않는 경우
2. 해당 jar가 maven 기반이 아닌 기존 프로젝트에서 만들어진 jar파일이라서 찾을 수 없는 경우

보통 이 2가지 경우에 대해서 system scope를 사용하는데 이는 nexus등과 같이 리모트 레파지토리(사내 레파지토리)를 적용하면 간단히 해결할 수 있습니다.

즉, jar 파일에 대해서 groupId, artifactId, version을 지어주시고, nexus(리포트 레파지토리)에 등록시킵니다. (upload artifact 기능 활용 - nexus에서 직접 올릴 수 있습니다.)
이때 groupId, artifactId, version을 같이 등록하시고, 참조하는 프로젝트에서 pom에 디펜던시를 추가하면 됩니다.

문제는 해당 jar가 또 다른 jar를 참조하는 경우인데요. 이때는 해당 jar를 만들 당시에 디펜던시가 걸린 jar를 같이 묶어거나 또는 mavenize(pom.xml만 추가하는 방식)으로 적용을 하셔야 합니다.

물론 상황에 따라 또 다른 방법을 떠올려봐야겠지요 ^^

근무시간이고, 메일 상이라 좀 더 자세한 토론이 아쉽습니다. ^^ 조금이라도 도움이 되셨길 바랍니다. ^^

ps. 제가 swtest.co.krswtest.or.kr에 대한 도메인을 가지고 있습니다. 이 도메인을 활용해서 구글apps로 그룹을 만들도록 하겠습니다. ^^


2011년 6월 29일 오후 1:25, Sanghyuk Jung <ben...@gmail.com>님의 말:

Sanghyuk Jung

unread,
Jun 29, 2011, 6:25:26 AM6/29/11
to ks...@googlegroups.com
네, 말씀하신것이 정답인 것 같네요~ 족보없는 애라도 이름하고 버전을 지어서 붙어 주어야겠네요.

전에 어떤 프로젝트에서는 central에 있는 jar로 하나하나 확인하는데 시간이 많이 걸려서 임시로 system scope로 잡아두긴 했는데, 그런건 과도기로만 생각해야 할듯합니다.

'pom.xml'만 추가하는 'mavenize'방식이란건 depdendency 선언을 일일히 안 하는 것인가요? 

2011년 6월 29일 오후 1:51, 최영목 <davi...@nextree.co.kr>님의 말:

최영목

unread,
Jun 29, 2011, 7:29:55 AM6/29/11
to ks...@googlegroups.com
아닙니다. JCO자료의 2번째 방법, 즉 pom.xml만을 추가하는 방법입니다.

기존 프로젝트를 A라고 할때 a.jar를 현재 프로젝트에서 쓰기 위해서는 system scope 대신 compile scope를 쓰고, nexus에 artifact 업로드를 말씀을 드렸습니다.

그런데 이 a.jar가 또다른 기존 프로젝트 B를 참조하고 있을 경우가 문제가 됩니다. a,jar안에 이미 b.jar가 포함이 되어있다면 문제가 되지 않는데 b.jar가 없을 경우 현재 프로젝트에서는 b.jar까지도 dependency를 걸어주어야 하죠.

이때 선택할 수 있는 방법이 2가지 입니다.

1. 현재 프로젝트에서 dependency로 a.jar와 b.jar를 걸어준다.
2. 기존 B 프로젝트에 pom.xml만 추가하고 메이븐으로 빌드 결과물을 만든다. 그 후 A 프로젝트에 pom.xml만 추가하고, dependency로 b.jar를 만든 후 현재 프로젝트에는 a.jar만 dependency를 걸어준다.

1번은 기존 프로젝트를 건들이지 않는 방법이며, 2번은 기존 프로젝트는 mavenize(pom.xml만 추가)하는 방식이 됩니다. (대신 기존 프로젝트에 '수정'이 일어나는 것이죠.)

더 좋은 방법은 이렇습니다.

pom만 가지는 프로젝트(C)를 만든후 그 프로젝트의 pom.xml에 artifact 업로드 한 a.jar와 b.jar를 dependency합니다.
그 후 현재 프로젝트에서는 이 C 프로젝트를 dependency를 걸면 깔끔하게 해결됩니다. 그 외에도 방법이 있을텐데 좋은 방법이 있으시면 공유부탁드립니다. ^^


2011년 6월 29일 오후 7:25, Sanghyuk Jung <ben...@gmail.com>님의 말:

임병인(포데브)

unread,
Jun 30, 2011, 8:28:00 AM6/30/11
to Korea Spring User Group
음 좋은 방법은 아니지만 많은 OpenSource에서 사용하는 방법이고 또 가끔 프로젝트에서 사용하는 방법인데(개인적으로 이런
jar 파일을 만들거나 사용하는 것은 좋아하지 않습니다.) 3rd-party 에서 작성된 라이브러리들을 통합해서 re-
packaging 해서 nexus 또는 artifactory 에 올려서 사용하는 방법이 있습니다.

그런데 이 방법을 사용할 때 어떤 원칙 또는 규칙을 지키는 게 좋을 듯 합니다.
예를 들어 3rd-party 라 하더라도 아주 유명한(?) 그래서 maven central에 있는 것들을 re-
packaging 하여 배포하면 나중에 NoClassDefError 를 만날수도 있습니다. 즉, 버전이 다른 클래스가 동일한 클
래스로더에 의해 로딩될 수 있기 때문입니다.

maven 이 종속라이브러리를 가져다 주는 건 좋은데 너무 친절한 나머지 필요없는 것들까지 다 들고오는 바람에 부작용(side
effect)이 발생합니다.
예전 에피소드를 하나 말씀드리면 잘나오던 로그가 어느날 갑자기 안나와서 원인을 분석해본 결과 Apache Tiles가 필요로하
는 라이브러리중 jcl-over-sl4j-1.5.8.jar가 딸려들러와서 발생한 문제였습니다. 결국 이 라이브러리가
commons-logging을 re-packaging 해서 올려졌기 때문에 발생한 문제였습니다. 보다 자세한 내용은 아래 블로그
에 정리해 뒀습니다.

http://fordev.tistory.com/67

그럼 언제 re-packaging을 사용하냐면
- maven central에도 없는 라이브러리
- 사내에서 만들었고 현재 사용하고는 있는데 소스코드가 없는 것들
- dead project 인데 현재 사용하고 있는 것들. 등등

물론 이런류의 것들을 각각 repository(nexus, artifactory)에 올려서 사용할 수도 있지만 묶어서 관리할 수
도 있다는 것이죠.
^^ 좋은 방법을 공유해달라고 했는데 좋은 방법이라기 보다는 이런 방법도 있다는 정도로 참고하시면 될것 같습니다.

Reply all
Reply to author
Forward
0 new messages