전체 글 1318

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

Unit Testing WebLogic Workshop 8.1 Applications & JWebUnit

JCS,JPF,JCX등에 대한 테스트 방법 http://dev2dev.bea.com/pub/a/2004/12/eckels_BP.html 아래는 JWebUnit이다. HttpUnit의 확장판인데. 특히나 assert 메서드들이 흥미롭다. 예를 들어 assertTextPresent("Hello World!"); assertTextInElement("attributeOne", pretendObject.getAttributeOne()); 위의 둘처럼 response HTML을 모두 무식(?)하게 테스트 하는 것이 아니라 어떤 Text가 있는지, 내지는 Element내에 있는 Text를 검색함으로써 좀더 resonable한 테스트가 가능하다. 통채로 HttpResponse를 테스트 한다면, 디자인이 (CSS,Ja..

ALM/Test Automation 2007.08.27

EJOSA (Enterprise Java Open Source Architecture)

진짜 별게 다 나온다. 오픈 소스가 많이 발전하고, 이제 J2EE 급의 각종 오픈소스 프레임웍들이 나오더니.. 이런것에 대한 통합과 정리의 필요성을 생각하고 있었는데. 실제로 Spring의 경우는 오픈소스들의 컨테이너와 같은 역할을 하면서 수많은 커넥터 들을 만들어 내고 있었다. 그런데 왠걸? SourceForge에서 EJSOA로 Enterprise용 Java Open Source 아키텍쳐를 내 놓았다. 얼마나 실용적일까는 두고봐야할 일이지만, 상용 J2EE 벤더 입장에서는 그리 반갑지 않은 오픈소스가 아닐까 싶다. 이대로 가다가는 상용벤더들은 Middleware보다는 솔루션과 컨설팅등에 집중해야 하지 않을까? 다음은 EJOSA 관련 자료들에 대한 링크 http://blog.naver.com/comsna..

DBUnit 예제

데이타베이스에 대한 테스트를 할 수 있는 DBUnit에 대한 샘플 코드. DBUnit은 DataBaseConnection을 JDBCDriver,JNDI,DataSource등에서 얻어올 수 있다. 아래 예제는 JDBCDriver에서 얻어오는 예제 테스트 절차는 다음과 같다. 1) setUp메서드에서 데이타베이스를 테스트전으로 초기화 하고, (이때, XML파일을 이용해서 초기 데이타를 로딩할 수 있다.) 2) 테스트할 OBJECT를 수행한후 3) 테스트 기대 결과를XML에서 읽은후에 4) 데이타베이스의 기록 상태를 3)과 비교한다. 참고로 1)의 데이타는 테스트케이스에서 자동으로 XML 파일로Generation하거나 DTD를 생성할 수 있다. 참고 : http://www.onjava.com/pub/a/onj..

ALM/Test Automation 2007.08.27