전체 글 1294

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

프로와 아마추어의 차이

프로는 불을 피우고, 아마추어는 불을 쬔다. 프로는 자신이 한 일에 대해 책임을 지지만, 아마추어는 책임을 회피하려고 급급한다. 프로는 기회가 오면 우선 잡고 보지만, 아마추어는 생각만 하다 기회를 놓친다. 프로는 돌다리도 두드리고 건너지만, 아마추어는 두드리고도 안 건넌다. 프로는 자신의 일에 목숨을 걸지만, 아마추어는 자신 일에 변명을 건다. 프로는 여행가이고, 아마추어는 관광객이다. 프로는 남의 말을 잘 들어주고, 아마추어는 자기 이야기만 한다. 프로의 하루는 25시간이지만, 아마추어의 하루는 24시간뿐이다. 프로는 뚜렷한 목표가 있지만, 아마추어는 목표가 없다. 프로는 행동을 보여 주고, 아마추어는 말로 보여준다. 프로는 너도 살고 나도 살자고 하지만, 아마추어는 너 죽고 나 죽자고 한다. 프로는..

What is SOA? How to SOA?

컴퓨터 시스템이 사용되면서부터, 각 시대의 기업 전략에 맞는 소프트웨어 아키텍쳐 존재하여 왔다. 초기 시대의 메인프레임에서는 기업의 업무를 전산화 하는데 목적이 맞춰졌고, 소프트웨어는 구조적 프로그래밍 (Structured Programming)으로 개발되었다. 그 후 개인 PC가 도입되면서 클라이언트 서버 시대 아키텍쳐가 도입되었고, 근래의 인터넷과 e비지니스 시대에서는EJB나 COM을 기반으로하는 컴포넌트 기반의 개발이 중심이 되었다. 그리고 지금의 IT 시스템들은 비즈니스의 급격한 변화를 수용할 수 있는 민첩성이 요구 되게 되었고, 이 요구를 충족시키기 위한 아키텍쳐가 서비스 지향 아키텍쳐 SOA 이다. 이번 강좌에서는 SOA가 무엇이고 어떻게 SOA를 진행할지에 대해서 간략히 살펴보도록 한다. 1..

아키텍쳐 /SOA 2007.09.04

SOA & Agile

예전 정리했던 글 == 요즘 읽는 책들이 XP,조엘온소프트웨어,대한민국에는 소프트웨어가 없다, 소프트웨어 프로젝트 생존 전략,TDD 주로 소프트웨어 프로젝트 방법론에 대한 책들이다. (지금은 생존전략을 읽는중이다. TDD는 사놓고 대충만 보고.. 다시 봐야 할텐데..) 접근 하는 방식은 틀리지만, 변경 관리, Short release,단계적 개발 모델, 개발자에 대한 배려 사용자 참여,등등. 결과적으로 이야기 하는 내용은 틀리지 않다. 근데 여기에 왜 Governace 이야기를 들고 나왔냐 하면, Governace도 결국 따지고 보면 소프트웨어 프로젝트 관리 방법론이고 뚜껑을 열어보면 위에서 설명하고 있는 내용들을 약간 더 서비스 개념에 맞게 포장해놓은것 뿐이고 같은 내용이라고 보인다. 결국에는 사람들이..

아키텍쳐 /SOA 2007.09.04

요즘 개발의 트렌드

요즘 개발의 트렌드는 무었을까? 예전에는 JAVA vs .NET, EJB, J2EE등이 유행하다가 Struts,Webwork과 같은 MVC에서, IBatis,Hibernate와 같은 OR Mapper가 판치더니 Spring등을 위주로한 Open source에서 이제는 그것마져 시들해지는 것 같고.. 요즘은 방법론으로 떠들석하다. XP,Agile같이 정통 방법론에 반대하는 빠르고 컴팩트한 방법론들이 대두되고 있고, Test중심의 TDD가 나오더니, Pragmatic시리즈들이 난무 하면서 형상관리,단위테스트,빌드 자동화에 대한 관심들이 높아진다. 오늘은 블로그를 보니 Lean이란 방법론에 대해서 소개를 하고 있더라. (http://www.wgshim.com/tt/entry/%EC%B6%9C%EA%B0%84-..