전체 글 1274

즐거운 BEA...

난 항상 바쁘다.. 말은 바쁘다고는 하지만.. 솔직히 게으른 편이라서 시간을 효율적으로 사용하는가에 대해서는 다소 의문이 있지만.. 이번 프로젝트를 끝내고 다음 프로젝트는 Wiki like한 솔루션을 가지고 프로젝트를 하게되었다. 그런데. 헉...!! 이 제품 구조를 대충 뜯어보니 DWR,Spring,JSF,JSON etc 오픈소스로 아주 발라져있네 그려.... 오늘 JSF In Action 책도 구입하고, 교육팀에서 JSF 교육 자료도 받아오고.. 한참 동안은 또 이 JSF를 파봐야겠다.. 근데 어쩌냐? 제품 공부도 해야하고, JSF도 공부해야 하고, 금요일에 발표할 SCA자료도 만들어야 하고.. 담달에 xUnit 테스트 기고 준비도 해야 하는데.. -_- 너무 일만 벌리는게 아닌가도 싶네 그려.. 그..

사는 이야기 2007.11.28

ALPages Customization

Wiki와 같은 형태를 갖는 솔루션이 제법 나오고 있다. 그 실용성도 높고 사용법도 편하니까는 확산이 빨리 되지 않을까? JIRA를 만든회사에서는 Cofluence라는 이름의 제품이 있고 BEA에는 AL Pages라는 제품이 나와 있다. AL Pages를 보면서 정말 놀란것은, Page에 컴포넌트를 삽입할 수 가 있다. 구글맵이나 검색 API들을 이 AL Pages에서 드래그앤 드롭만으로도 Mash up이 가능하다. 또한 WS나 RSS를 통해서 외부 데이타를 읽어와서 실시간으로 출력하는 것이 가능하다. 기존 Wiki가 정적인 컨텐츠를 위한것으라면 AL Pages는 동적인 컨텐츠와 Mash up을 지원한다는 것이 매우 흥미롭다. 이건 Customizing 방법 문서 http://dev2dev.bea.com..

단위 테스트 1회 (JUnit)

단위 테스트 (Unit Test) 2007-08-27 자바스터디 조대협(bcho.tistory.com) 현재 BEA Systems Korea의 Senior Consultant로 근무하고 있다. SOA/SCA,EP,EAI등에 대한 기업 솔루션에 대한 아키텍쳐 컨설팅을 주로 하고 있으며, WAS 기반의 아키텍쳐 튜닝, 장애 대응에 대한 많은 경험을 가지고 있다. 1회. 단위 테스트의 기초 2회. 확장된 단위 테스트 도구 3회. Test Coverage 분석 오래간만에 실제 프로젝트에 코더로써 참가하였다. 엔지니어 시절부터 장애나 버그, 성능에 대한 문제를 어떻게 방지할 수 있을까에 대해서 고민하고, 문제의 추적이나 장애 대처 방안, 회피 아키텍쳐들을 고민해왔지만, 애플리케이션상에서 발생하는 문제는 발견은 할..

ALM/Test Automation 2007.11.23

구글

역시 구글이다. 구글의 서비스들을 보면 모두 가볍고 실용성이 뛰어 나고 그 품질이 매우매우 뛰어나다. 그리고 개방성까지 이미 구글 메신져는 프로토콜이 공개되서, Bamboo와 같은 빌드 자동화 툴에서 빌드가 깨지면 깨진 내용을 구글 메신져로 보내주고.. FLEX와 같은 복잡하고 무거운 RIA를 AJAX라는 멋진 기술로 포장해냈으며, WebService의 무겁고 복잡함을 DOJO와 REST등으로 재 탄생 시켰다. 한국에서 수 많은 업체들이 실패한 웹 데스크탑 애플리케이션을 구글 SPREAD SHEET를 통해서 널리 퍼트리고 있으며 GMAIL을 통해 세계 최초로 대용량 메일 서비스를 했고 사용하기 간단한 GOOGLE READER와 놀랄만한 품질의 구글 검색엔진 (N버와 는 하늘땅 차이인..) 그리고 구글 E..

MVC 프레임웍의 선택

OK JSP에서 글을 읽다가 재미난 글이 하나 있어서 첨부한다. http://raibledesigns.com/rd/entry/comparing_jvm_web_frameworks_presentation 재미있는 조사 결과인데, 한국에서는 Struts가 압도적인 지지자층을 가지고 있는것과는 달리 전세계적인 추세는 JSF가 추세이다. WLS에 JSF가 포함된지도 오래되었는데, 국내에 케이스가 안올라오는 것을 봐서, 그다지 많이 사용하지 않는 것으로 추측되는데, 이런 추세라면 아마도 JSF가 주류로 따라 가지 않을까? 아마도 OKJXX 아저씨들이 JSF에 대한 관심을 기울여주지 않아서 일까? 나름 재미있는 결과 였음. 그리고 또하나 Spring MVC가 점점 그 세를 확장한다는것이 주목할만한것 같다. 요즘 왠만..

프로그래밍/MVC 2007.11.19

Atlassian Bamboo

http://www.atlassian.com/software/bamboo/ 빌드 배포 시스템을 고민하고 있는데. (사실 본업은 아니다. 아무리 컨설턴트라도 BEA 제품을 컨설팅 해야지.. 이걸 하는건 개인 취미일까? -_-) 그동안 Cruise Control을 적용해볼 생각만 가득했는데. N社 박재성 팀장님과 이야기 하던중 Bamboo를 듣게 되어서 오늘 찾아보았다. 자동화된 빌드는 물론이고, Fish Eye 연동으로 변동 된 부분을 보여주고 JIRA와 연동, 그리고 빌드가 깨졌을때 (테스트가 깨졌을때)나 성공했을때 빌드 결과를 메신져로 보내준다던지. Repository와 연동이 된다던지 한마디로 Seamless integration인데.. 상용툴인 만큼 상당히 마음에 든다.

Test Coverage 분석툴

http://cobertura.sourceforge.net/ http://emma.sourceforge.net/ 요즘 빌드 자동화와 테스트 커버러지에 관심이 많은데. 거기에 해당하는 툴. 위에 툴 둘다 재미있는게, 실제 소스코드에서 테스트가 된곳과 안된곳을 하이라이트 처리해준다는것이 매우 흥미롭네. EJB도 그만큼 잘 지원해줄려나? 물론 돈만 있다면 http://www.cenqua.com/clover/ 클로버를 쓰고 싶은데.. ^^; == 형준이 말로는 JCoverage가 좋다네.

ALM/Test Automation 2007.11.08

WLS 10.3 진화는 어디까지?

이번에 WLS 10.3이 나왔다. 새 버전 빨리도 나오네 그랴. 그동안 콘솔이 느렸던 문제도 해결되고.. 고객들과 개발자들의 소원인 신속한 redeploy가 가능하게 되었다. 예전에는 ClassLoader를 통째로 replace하는 구조라서 제약 사항이나 속도 문제도 있었는데 JDK 5.0의 Class Redefinition이라는 새로운 기능을 써서 변경된 클래스만 Swap 시킨다나? 개발 절차에도 많은 영향을 줄것 같고 안정화만 된다면 좋은 기술이 될것 같다. == Getting to Know FastSwap™ Bookmark Blog Post del.icio.us Digg DZone Furl Reddit David Cabelus's Blog | November 7, 2007 12:00 PM | Com..

아키텍쳐 2007.11.08

Dependency 분석 도구

http://www.ewaypartners.com/ 에서 수입해서 파는 툴 같은데. 스팸 이메일로 받았다가 흥미가 있어서 살펴보았다. http://www.lattix.com/dl/demo/LDMdemo-01-01.htm 소스 코드간 Dependency를 Syntanx check로 체크해서 Matrix로 보여주는 모델인데, 어느정도 소스간의 Dependency 분석을 통해서 변경에 대한 Impact를 예측할 수 있을 듯 싶다. 그러나!!. 동적 Class Loading이나 또는 Spring을 이용한 DI, 또는 각종 Java AP의 configuration에 따른 Dependency 관리는 어려울것 같으니... 결국 보조적인 툴 정도로만 사용이 될텐데. 그래도 편리 하지 않을까? 변경에 대한 Impact관..

ALM 2007.11.05

컨설팅의 비밀

BEA로 컴백을 결심한후에 읽었던책.. 사실 다 읽지 못했다.. 밀려있는 상태.. -_- ( 왜 책한권을 끝까지 읽기가 어려울까?) N社에서의 경험과 이 책이 현재 컨설팅 업무에 큰 도움을 줬다. 엔지니어 성향이 매우 강한 나로써는 고객의 문제를 해결해주는 컨설팅에 대해서 본질부터 다시 생각해야 한다는 숙제를 던져주었고, 이것은 현재 내가 고객을 대하는데도 큰 영향을 주었다. 기본적으로 컨설턴트는 고객이 요구 한다면 못하는 일은 없다. 단지 "돈" 이 필요할뿐. 구체적인 기법은 솔직히 어렵기도 하고 잘 적용하기도 쉽지는 않다. 그러나 기본적인 컨설턴트로써의 사고 방식에 대한 전환에는 큰 도움이 된책.. 점점 IT가 고객 중심으로 바뀌는 사상을 반영해주듯이.. 이 책 역시.. 고객과 함께 일할 수 있는 방..

Pragmatic series

실용주의 프로그래머. 전글에서도 언급했듯이. 요즘 매우 관심을 두고 보고 있는 책들이다. 읽다보니 모든 시리즈를 다 섭렵했는데. 아직 읽다말은 책도 있고 읽는 중인 책도 있다.. 다 읽어야 할텐데... 실용 주의 프로그래밍은.. 기존의 책속에만 있는 이론 중심의 방법론들이 아니라, 실제 프로젝트를 잘 이끌어 나갈 수 있는 여러 방안에 대해서 설명하고 있다. 프로젝트 관리론에서 부터 특히 빌드 배포 자동화, 자세등에서 까지 "조엘 온 소프트웨어"에 이어서 개발자들에게 꼭 추천하고 싶은 책이라고나 할까? 실용주의 프로그래머에서는 실용 주의 프로그래밍의 이론과 프로그래머로써의 자세를 프로젝트 관리에서는 멍청한 팀장이 아닌 좀 더 실질적인 팀장이 되기 위한 자세.. 실제로 "실용 주의 프로젝트 관리"는 PM으로..

깨진 창문 이론

요즘 어찌어찌 하다 보니 앤드류 헌트의 펜이 되어버렸다. Pragmatic 시리즈의 저자인데, 요즘 유행하는 Agile 방법론등의 시초가 되는 실용주의 방법론을 외치는 사람이다. 형상 관리, 빌드 자동화 책을 보다가 어찌어찌 해서 실용주의 프로그래머라는 책을 읽었는데. 재미있는 글이 하나 있어서 기록해 놓는다. 이른바 "깨진 창문 이론" 깨진 창문 이론이란, 도시에 있는 한 건물에 창문이 하나 깨지게 되면, 그로 인해서 주변이 지저분해지고 낙서도 많아지고 결국에는 그 지역이 할렘화 된다는 이야기이다. 즉 작은 문제 하나를 방치해 놓으면 모르는 사이에 그것들이 점점 커져서 나중에는 대치할 수 없는 문제가 된다는 이야기다. 소프트웨어 개발이나 인생 살이도 다른게 하나 없는것 같다. 사소한 BUG하나가 나중에..

2007 BEA Dev days 강의 자료

안녕하세요? 어제 DevDays에 참가하셨던 분들 중에서 강의자료가 필요하신분들을 위해서 내용을 첨부합니다. 원래 이 강의 내용들은 JCO 주최 Java Conference에서 2회에 걸쳐서 강의되었고 이미 여러 문서들이 인터넷을 통해서 배포 되어있었기 때문에 내용이 익숙하신 분들이 많을것 같습니다. 얼마전에 다시 BEA로 돌아오느냐고 신선한 주제를 마련하지 못했네요.. 다음 컨퍼런스에서는 좀더 신선한 주제로 찾아뵙도록 하겠습니다. 감사합니다.

성능과 튜닝 2007.10.26

SSL 과정

1. 클라이언트가 서버에 접속하면 서버인증서(서버의 공개키를 인증기관이 전자서명으로 인증한 것) 를 전송받습니다. (이때, 클라이언트 인증을 필요로 할 경우 클라이언트의 인증서를 전송하게 됩니다.) 2. 클라이언트는 받은 서버 인증서를 분석하여 신뢰할 수 있는 인증서인지를 검토한 후, 서버의 공개키를 추출합니다. 3. 클라이언트가 세션키로 사용할 임의의 메세지를 서버의 공개키로 암호화하여 서버에 전송합니다. 4. 서버에서는 자신의 비밀키로 세션키를 복호화하여 그 키를 사용하여 대칭키 암호방식으로 메시지를 암호화하여 클라이언트와 통신하게 되며 이것은 "https"라는 별도의 프로토콜을 사용하게 됩니다. 즉 공개키를 서버가 클라이언트로 내려보내면 클라이언트에서 세션키를 암호화해서 서버에 보내서 세션을 만든다..

카테고리 없음 2007.10.19

WLW 10.1 (Flex 지원)

내가 BEA를 떠날 수 없는 이유중에 하나는 BEA는 항상 정말 재미있는 기술들을 만들어낸다는 것이다. 이런게 필요하지 않을까 생각하고 있으면 몇달후에, 그 제품들을 떡하니 가져다 놓는다. 그리고 공부할 수 밖에 없는 상황으로 만들어 버린다. 이번에는 WebLogic 개발 환경은 WebLogic Workshop 에 Flex Builder가 포함되어 버렸다. 기존 WLW에서 Opensource (JSTL,Struts,Hibernate,JDO,Spring,Beehive)를 지원한데 이어서 또 다른 획기적인 일이다. 이제 Eclipse 안에서만 개발을 하면 모든 Java AP개발을 끝이 날 듯 싶다.

ALM 2007.10.09

Out Of Memory에 대한 대처 방안

OOM은 Java AP의 아주 골치 아픈 오류이기도 하면서 가장 추적하기 어려운 문제이기도 하다. 1. 추적에 대한 가장 전통적인 방법은 IBM AIX JVM의 Heap Dump를 사용하는 방식이었다. 2. 현재는 HP JVM에서 Heap Dump를 generate해주고, 이를 AMI2나, JMeter를 사용해서 분석이 가능하며 3. JVM 1.5,1.6서는 Sun에서도 Heap Dump 추출이 가능하고 jhat이라는 유틸리티로 분석이 가능하다. 또는 jmap이라는 (pmap)과 같은 유틸리티를 사용해서 heap dump를 추출할 수 도 있다. * 1.6에 포함된 JHat http://java.sun.com/javase/6/docs/technotes/tools/share/jhat.html * JHat 프..

JVM 튜닝 옵션 정리

JVM 튜닝 옵션 총정리 == http://blogs.sun.com/watt/resource/jvm-options-list.html == 정말 많다... GC튜닝은 좀더 자동화되고 세세화된 튜닝이 가능한것 같고, 눈에 띄는것은 컴파일에 대한 튜닝이 좀 더 추가되었고, 모니터링 기능이 정말 강화되었다. jconsole은 실시간으로 메모리 상태 뿐만 아니라, Thread 상태 까지 모니터링 할 수 있고 pmap과 비슷하게, 메모리 맵을 볼 수 있는 유틸리티도 있어서 Out Of Memory 상황을 분석하는데 많은 도움이 될것 같다.

시간 활용 방법

다시 BEA 로 컴백한후, 최대 이슈는 출퇴근 시간과 체력에 대한 관리와 시간 관리.. 수지에서 여의도로 출근하다보니, 출퇴근 시간이 보통이 아니다. 어제는 출근하는데 2시간 이상이나 걸렸으니, 오늘은 같은 동네에 사는 J차장님이 좀더 빠른 길을 알려주신 덕분에 1시간내에 사무실에 들어올 수 있었다. 퇴근은 8시 전후에 해야지 1시간 30분이내에 집에 도착할 수 있는데 덕분에 잉여 시간이 엄청 많이 생겨버렸다. 출퇴근시 차안에서 보내는 2시간 30분 아침에 일찍 퇴근해서 사무실에서 1시간, 저녁 식사후 퇴근전까지 대략 1시간.. 하루에 총 4시간 30분의 잉여 시간이 발생한것이다. 5일이면 대략 22시간 가량된다. 5일중 하루가 모두 출퇴근에 관련된 시간으로 소비된다는 말씀... 이 시간을 어떻게 관리해..

사는 이야기 2007.10.02

구입한 아이언..

브릿지스톤 V300 본창이의 강력한 추천도 있었고, 마침 다니던 연습장에서 저렴하게 구해줘서 정품으로 저렴하게 구입했다.. 다소 무겁기도 하고.. (이제 클럽에 몸을 맞춰야 하는 상황..) 디자인도 처음에 구입할려고 했던 JPX보다는 마음에 들지는 않지만.. 싸게 구입했고.. 좋은 아이언이라고 하니까는 열심히 쳐볼란다. 작년에 열심히 보충수업해서 모아놓은 돈으로 와이프가 사줬는데.. 내심 미안하기도 하고.. 요즘 자기가 사고 싶은건 사지 않으면서..사준건데... 실력이 늘지 않아서 걱정이다. 얼렁 실력 늘어서... 연습장에 들어가는 돈좀 줄여야 할텐데... ^^

XDoclet 간단 예제..

반복되는 코딩이나 코드 자동화에 유익하게 사용할 수 있음 http://www.liuzehua.com/xdoclet_tutorial/ JDK 1.5의 Annotation을 지원하는 버전이 있음 참고하기 바람. == XDoclet provides a powerful mechanism for attribute-oriented and template-based code generation. As illustrated in this tutorial, it could be used to help reduce the amount of copy-and-paste work (or sometimes called "no-brain" work) that programmers have to perform from time to..