웹개발시 Tomcat WAS를 사용하다 보면 아래와 같은 예외가 발생할 때가 있다.

java.net.SocketTimeoutException: Read timed out

이 예외의 스택을 추적했을때 나의 경우 아래와 같은 예외스택을 뿌려주고 있었다.

    at java.net.SocketInputStream.socketRead0(Native Method)
   at java.net.SocketInputStream.read(SocketInputStream.java:129)
   at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:751)
   at org.apache.coyote.http11.InternalInputBuffer$InputStreamInputBuffer.doRead(InternalInputBuffer.java:781)
   at org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:116)
   at org.apache.coyote.http11.InternalInputBuffer.doRead(InternalInputBuffer.java:710)
   at org.apache.coyote.Request.doRead(Request.java:428)
   at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304)
   at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:405)
   at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
   at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:162)
   at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1025)
   at org.apache.commons.io.IOUtils.copy(IOUtils.java:999)
   at org.apache.commons.io.IOUtils.toByteArray(IOUtils.java:218)

결국 예외 스택의 가장 위의 java.net.SocketInputStream.socketRead0  이 메서드가 실행이 될때 예외가 발생한 것인데

이는 소켓에서 Stream을 읽을때 Stream의 전송이 끊겨 발생한 예외이다.

여기 저기 찾아보았을때의 해결방법은 server.xml파일의 Connector의 connectionTimeout속성 값을 늘려주면 된다.

기본으로 20000(ms단위)로 되어있어서 보통은 바꿔주지 않아도 되지만 가끔 자신의 개발컴퓨터에서 서버를 돌리면서 개발을 할때 이 예외가 발생하기도 한다.(그때는 망설임없이 바꿔주자!)

나중에 apache와 연동할때에 이
connectionTimeout 속성 값을 서로 맞춰주어야 한다고 나와있기는 한데
그건 그때가서 신경쓸 문제고.-_-;;

'Server' 카테고리의 다른 글

Tomcat Configuration (connectionTimeout 속성)  (0) 2010.03.03
Tomcat startup  (0) 2009.06.20
블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.

Google Closure Tools라는게 오픈소스로 나왔다.

오~~~~ 멋지다.와와와~

우리팀 모선임님께서 친히 svn 레포지토리에서 다운로드 받아서 테스트 개발서버에 배포까지 해주셨다.

난 그냥 편하게 데모 구경.

뭐 소감으로 말하자면 괜찮다.

아직 코드는 자세히 보진 못했는데 개인적으로 블로그에 포스팅좀 하면서 공부좀 해야겠다.

이유는!

먼가 멋져보여서 Google에서 만든거라니 한번 보고 싶은 마음.

오픈소스공부를 제대로 해본적이 한번도 없는데 관심이 생기는 이참에 한번 분석해보자는 마음.

그리고 현재 자바스크립트를 80%이상 사용하며 프로젝트를 수행중이므로 ~ ㅋㅋ


일단, Google Closure Tools라는게 도대체 무엇인지 알기 위해 나름 번역페이지 띄워 놓고 봤지만..

역시 이해는 30%...

결국 검색을 하다보니 간단하지만 설명이 잘 되어 있는 포스트를 발견!*_*

Google Closure Tools란?  <- 요기요기~

난 Compiler와 Templates는 일단 제쳐놓고 Library에 대해 급 관심이 가기 시작.

일단 안되는 영어라도 현재는 번역으로 잘 알려주는 책이 있는 것도 아니고 어쩔 수 없이 직접 사이트를 뒤적이는 수 밖에 방법이 없다.


일단 Google Closure Library 링크를 따라가보면 화면 오른쪽에 "How do I start?" 라고 쓰여 있는 곳을 보자.

목록에 보면 아래와 같이 쓰여있다. 옆에는 친절한 나의 설명.

  • Download Closure. - 소스코드 다운로드가 120%맞습니다.
  • Read Finding Your Way around Closure. - Closure Library의 규칙과 코드베이스에 대해 설명한다.
  • Do the Closure Hello World exercise. - 다른거 볼 필요없이 Hello World나오면 무조건 연습 튜토리얼임.
  • Work through the Building an Application with the Closure Library tutorial. - 이것두 튜토리얼.
  • Explore the project's source code. - 뭐 API문서나 Issue, 등을 볼 수 있는 Closure Library 프로젝트 홈인듯 하다.(웹에서 소스도 직접 볼 수 있다.)



소스를 다운로드 받자(이클립스같은 IDE를 사용하면 편하다.SVN 플러그인 제공한다.)

소스를 모두 다운로드 받았으면 (이클립스의 경우[java] Dynamic Web Project를 구성해 소스를 위치시키고)

/closure/goog/demos/index.html을 실행시키면 데모를 볼 수 있다.



블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.

재미 - 한상복

My/books 2009.12.29 03:27
사용자 삽입 이미지


지은이 : 한상복

우리팀의 저돌적인 영택씨의 추천으로 재미라는 책을 빌렸다.

읽기 시작한 시간은 밤 12시..

조금만 읽다가 자려고 했는데 이게 왠걸.

다 읽고보니 새벽 3시 24분..

정말 오랜만에 이런 책을 읽어본다.

책에 보면 다이도르핀(Didorphin)이라는 감동을 받았을때 분비되는 호르몬에 대해서 이야기가 나오는데

난 12시부터 3시24분까지 3시간 24분동안 다이도르핀이 내 몸속에서 마구마구 분비된 것 같은 느낌이다.

비록 졸려서 눈은 퉁퉁 부었지만 이 얼마나 값진 간접경험을 했는지 모르겠다.

카르페디엠! 재미있게 살자~^_________^

추신 : 영택씨 고마워요~ ㅎㅎ
블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.

IETester
Office 2007 UI를 가진 소프트웨어로 탭 브라우징으로 버전별 IE를 테스트 할 수 있다. (XP, Vistar 동작)
 
Browser Sandbox
플러그인 방식 : 개인적으로 설치하고 해보았으나 실행이 되지 않음..
 
Multiple_IE
버전별 IE를 각각 설치해주는 소프트웨어. (Vista는 되지 않는다.)
http://tredosoft.com/Multiple_IE


FIreFox 속도 개선
http://www.choboweb.com/

참고 URL

http://www.junsfa.com/tag/IE%20%EB%B2%84%EC%A0%84
http://www.kimyongjin.com/blog/208


제일 좋은건 vmware에 브라우저별로 설치하고 테스트하자.
블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.

日新日日新又日新 (일신일일신우일신)

- "진실로 하루를 새롭게 하고, 날마다 새롭게 하며, 또 날로 새롭게 하라"-


구직 중이라 면접에 대해서 검색하던 중 현재 애자일컨설팅의 대표로 일하시는 김창준 씨의 당신은 몇 년 차? 라는 IBM 기사(2009.03.31)를 보았다.

내용인즉슨, 경력 연차와 직무 성과의 상관성, 소프트웨어 개발에서 경력과 실력, 전문가와 1만 시간 법칙 그리고, 의도적 수련에 대해 이야기한다.

나 자신이 아직 시작하는 단계이고 하수이기에 많은 걸 느낄 수 있었고 글 중간마다 링크되거나 소개된 다른 기사나 Article을 읽으며 깨닫는 것이 많았다.

재밌고, 잘하고 싶고, 고수가 되고 싶다.

어렸을 적 많이 봤던 무협소설의 무림고수가 되고 싶은 그런 마음이랄까…,

그러자면 끊임없는 수련이 필요한 건 당연지사.

무협소설에도 나오지 않던 가.

기초적인 정권 지르기나 발차기 같은 수련을 매일매일 거르지 않고 했을 때에 고수가 나오는 법.

마소 05.7월호에 기재된 '프로그래머에게 적합한 의도적 수련(김창준)' 기사에서 글 내용 중에 나온 실천할 수 있는 내용을 요약 정리해본다.

김창준 - 의도적 수련

1. 코드 시각화하기
   - 이미 본 코드를 머릿속에서 떠올려 눈으로 보듯 만들기
   - 새 코드를 머리 속에서 만들기
2. 같은 코드를 정해진 시간(예컨대 한 시간) 동안 할 수 있는 데까지 매일 리팩토링 해보기
3. 같은 장난감 문제를 여러 번 풀기
   - 폰 노이만 공항 문제, X 만들기
4. 새로운 언어 배우기



워드 커닝엄 - 발견에 대해 수용적이 되는 5단계

1. 알고 있는 것을 사용하라(Use what you know)
   - 이미 갖고 있는 것에서 출발한다. 사실 우리는 이미 많은 것을 알고 있다.
2. 작동하는 걸 느껴라(Feel it work)
   - 'Feel'이라는 단어를 쓴 것이 중요하다. 뭔가 시도했다면 그게 제대로 작동하는지 '느껴야' 한다.
3. 경험을 공유하라(Share the experience)
   - '경험'을 공유하라. 일단 일차적 경험을 공유하는 것이 중요하다.
공유의 형태와 스케일은 여러 가지일 수 있다.
4. 통찰을 기다려라(Wait for insight)
   - 통찰을 얻게 되길 기다려라. 성급하게 재촉하거나 무심하게 내다버리는 우를 범하지 마라.
5. 리팩토링해서 포함시켜라(Refactor to include it)
   - 통찰을 얻었다면 과거를 리팩토링해서 그 통찰을 포함시키도록 하라. "아; 그랬던 거였군. 멋진걸!"라는 통찰을 얻는 데에서 끝나는 경우가 많다. 귀중한 통찰을 얻었다면 그것을 다시 나의 과거에 투영. 리팩토링하라.

워드 커닝엄 - 2003년 8월 인터뷰 내용 중
1. 작지만 유용한 프로그램 매일 만들기
2. 큰 프로그램 읽기


다시 한번 되새겨 보며 실천해 보자.

"진실로 하루를 새롭게 하고, 날마다 새롭게 하며, 또 날로 새롭게 하라"

목적은 무림고수다!



추천 글
 - '고수, 무술과 프로그래밍에 대한 소고 1, 2(김창준) - 마이크로소프트 2005년 4, 6월호'
 - '프로그래머에게 적합한 의도적 수련(김창준) - 마이크로소프트 2005년 7월호'
블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.

사용자 삽입 이미지


제목 : 겸손
지은이 : 김희수
출판년도 : 2007년 6월 5일
출판 : 엘도라도


'태산은 보잘것없는 흙이라도 사양하지 않기에 높고,
강과 바다는 보잘것없는 실개천 하나도 거부하는
일이 없기에 그토록 깊은 것'..

이라는 옛말이 있단다.

처음 듣지만 처음 들은 것 같지 않은 느낌.

책 한권 읽었다고 사람이 갑자기 겸손해 질리는 없겠지만 많은것을 느끼게 해준 책.

블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.

사용자 삽입 이미지


제목 : 사랑하지 않으면 떠나라
지은이 : 차드 파울러(Chad Fowler) / 송우일
출판년도 : 2008년 1월 11일
출판 : 인사이트


원제목은 'My job went to india; 52 Ways To Save Your Job' 이라는 책이다.

한국어판으로 번역이 되면서 자극적인 제목 때문인지 눈에 띄었고 읽게 된 책이다.


'사랑하지 않으면 떠나라~' 저자는 현 시대를 살아가는 개발자(프로그래머)들에게 외치고 있다.

자신이 하는 일, 하고자 하는 일을, 열정을 가지고 하라는 말을 하고 싶었던 듯 하다.

저자인 차드 파울러는 미국에서 해외 이전을 위한 해외 개발팀 관리자로써 인도에 파견 되었고, 인도에서의

삶을 통해 여러가지 메세지들을 전달한다.

예측 불가능한 IT 시장에 올바르게 대처하는 52가지 방법을 제시하고 각 방법의 끝자락 마다 <실천하기>

라는 행동요약을 제공함으로써 '아. 나도 한번 해봐야 겠다' 라는 생각이 절로 들게끔 한다.

원래 책이란 비판하며 읽어야 되는 것인데. 나는 팔랑귀 인건지 아니면 비판을 못하는 것인지 책을 읽다 중간중간

이건 좀 아니다 싶은 것 이 있긴하지만 대체로 이 책을 읽고 공감하는 부분이 많았다.

중요한 건 실천을 하느냐 마느냐 인것을.

블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.

사용자 삽입 이미지


제목 : 조엘 온 소프트웨어(유쾌한 오프라인 블로그)
지은이 : 조엘 스폴스키/박재호번역
출판년도 : 2005년 4월 7일
출판 : 에이콘


퇴근 후 할 일도 없고 만날 사람도 없어서 내 발걸음은 또 다시 도서관으로 향했다.

오늘은 무슨 책을 볼까 고민하면서 자료실에 프로그래밍 관련 서적 책장 앞에서 서성이던 중 이 책을 발견하였고

그 자리에 서서 처음 한 두 장 읽다 보니 '아. 이거 재밌겠다.' 싶어서 바로 대출.

그래도 도서관까지 왔으니까 잠시 앉아서 정보처리기사 핵심요약집 좀 훑어보고,
 
자꾸 머릿속 에서 책 생각이나서 안 되겠다 싶어 한 30분 공부하다 바로 독서 시작.

책을 읽는 처음부터 끝까지 참 유쾌했으며 작가의 생각과 말에 공감하고 내가 몰랐던 사실과 세계를 경험했다.

이전에도 이런 류의 책들을 몇몇 권 읽었는데 대략 생각나는 책들은 아래와 같다.

프로그래밍은 상상이다
뉴욕의 프로그래머
임백준의 소프트웨어 산책 등..

책 제목은 생각이 안 나지만 위 3권외에도 몇 권 더 있었다.
위 책들도 정말 나에게 도움이 되었던 좋은 책들이니 한 번쯤 읽어보는 것도 좋을 것이다.


초보 웹 프로그래머이지만 책을 읽으며 '나도 언젠간 ..' 이란 생각을 하며 꿈을 키워본다.

동시대를 살아가는 대한민국의  개발자뿐만이 아니라 관리자나 경영진들에게도 이 책은 보석같은 책이다.

적극 추천한다!


블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.

사용자 삽입 이미지


제목 : 나는 프로그래머다

지은이 : 임백준외

출판년도 : 2004.3.26

출판 : 한빛미디어



오랜만에 퇴근을 일찍해서 뭐를 할까 고민하다가


자주 다니던 한밭도서관에 가서 책을 한권 빌렸다.


예전에도 한번 읽었던 책인데.. 내용이 좋아 한번 더 읽던중.


프로그래머 임백준씨의 글 내용중 가장 인상깊은 글귀를 적어본다.



인생에 있어서 도전이란 결코 입맛에 딱 맞는

방식으로 찾아오지 않는다.


그것은 언제나 두 발을 전부 땅에서 떼서

허공에 몸을 완전히 맡겨야 하는,


따라서 상당한 불편함과 두려움을

수반하는 방식으로 찾아온다.


어렵지만 마음에 쏙 드는 일자리를 만났을 때,


어렵지만 풀어보고 싶은 문제를 만났을 때,


어렵지만 한번 걸어보고 싶은 길을 만났을 때,


어렵지만 한 번쯤 말을 꼭 걸어보고 싶은 이성을 만났을 때,


필요한 것은 앞뒤를 재고 따지는 '계산'이 아니라


최선을 다해서 허공에 몸을 맡기는 '용기'다



블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.

블로그 이미지

웹오피스 개발자 피스티스

사이냅소프트에서 웹오피스를 개발하고 있습니다.