오픈 소스의 기술을 습득하기 위해 대게 클래스 다이어그램을 뽑거나 클래스 메소드를 이동하면서 분석하는 경우가 있다.
하지만 난 위의 두 가지 방식보다는 시퀀스 다이어그램을 이용하여 각 클래스간의 call flow를 도식화 한 후 한 눈으로 보는 것을 선호한다.
다음은 tomcat 서블릿 컨테이너에서 롱폴링 기술을 어떻게 지원하는지에 대해서 분석 한 후 시퀀스 다이어그램으로 그려보았다.
그림을 그리고 나니 한층 이해가 더 쉽게 되었고, 각 클래스의 기능이 한 눈에 보이니 객체지향적으로 개발을 했는지 확인도 할 수 있었다.
사람의 기억은 텍스트보다는 이미지를 더 잘 기억한다고 했다.
귀찮더라도 그림을 그리면서 학습을 한다면 오랫 동안 그 기술을 기억할 수 있을 것이다.
tomcat server.xml 아래와 같이 수정
<Connector connectionTimeout=”20000″ port=”8080″ protocol=”org.apache.coyote.http11.Http11NioProtocol” useComet=”true” redirectPort=”8443″/>