'My Book story'에 해당되는 글 72건

  1. 2018.04.03 집필 방법론 3.1.1
  2. 2015.04.13 개발자가 되고 싶으세요?
  3. 2014.05.13 자바 성능 튜닝 이야기 소스 코드 4
  4. 2014.01.29 자바의 신 별책부록 PDF 공유 4
  5. 2013.11.24 자바를 왜 배우시나요?
  6. 2013.10.29 자바 성능 튜닝 이야기 1st와 2nd Edition 차이점 및 계획 7
  7. 2013.10.29 자바 성능 튜닝 이야기 Errata
  8. 2013.10.23 자바 성능 튜닝 이야기 - 인터넷 서점 링크 목록
  9. 2013.07.25 자바의 신 Volume 1. 2쇄 기념 이벤트
  10. 2013.07.10 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기 절판을 앞두고. 12
  11. 2013.07.04 자바의 신이 나오게 된 배경
  12. 2013.04.12 자바의 신 Vol.2 인터넷 서점 링크 목록
  13. 2013.04.03 자바의 신 요약본 공유합니다. 11
  14. 2013.03.25 조만간 "자바의 신" 일부를 PDF로 공유합니다.
  15. 2013.02.28 자바의 신 Vol.1 인터넷 서점 링크 목록 4
  16. 2013.02.26 왜 자바의 신일까? 4
  17. 2013.02.13 "자바의 신"이 2013년 2월에 출간됩니다. 2
  18. 2012.12.03 Java OOME 가 발생하면서 새로운 쓰레드 생성이 불가능하다고 할 때
  19. 2012.09.18 프로그래머로 산다는 것 출간 2
  20. 2012.07.31 WAS Thread Checker
  21. 2012.03.29 Linux에서 생성된 자바 core dump 분석하기
  22. 2012.02.08 [프로그래머 이야기] 공동 집필 참여
  23. 2012.01.16 [OO 자바] 나의 네번째 책 집필 진도율 90% 1
  24. 2011.08.29 [집필 방법론] How to write a book
  25. 2011.08.19 [My Fourth Book] 나의 네번째 책 1
  26. 2011.06.03 [Blog2Book] Troubleshooting 트러블 슈팅 책 링크 1
  27. 2011.05.25 [Blog2Book 자바 트러블 슈팅] 조만간 자바 트러블 슈팅 책이 나옵니다. 1
  28. 2011.04.25 [My Fourth book] 좀 쉬어가자
  29. 2011.04.04 [My Fourth book] 목차 작성 완료 3
  30. 2011.04.04 [Blog2Book 자바 트러블 슈팅] 원고를 넘기다.

집필 방법론 3.1.1 을 공유합니다. 


https://godofjava.dooray.com/share/posts/UB5MRa-sRo6uQxkY7FpanA



Posted by tuning-java
,

개발자가 되고 싶으신 분들을 위해, IT 회사에서 개발하는 일을 하려면 어떤 것들을 알아야 하는지를 정리 했습니다. (총 6명의 공동저자와 함께 쓴 책 !)

각 분야의 전문가들이 모여 쓴 책이기 때문에 믿고 보셔도 됩니다.


http://www.yes24.com/24/goods/17508582


http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788997924158


http://www.bandinlunis.com/front/product/detailProduct.do?prodId=3827417


http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=899792415X


http://book.interpark.com/product/BookDisplay.do?_method=detail&sc.saNo=003007002&sc.prdNo=238031734

 

빠르면 2015년 4월 20일 정도에 받아 보실 수 있습니다.

Posted by tuning-java
,

"개발자가 반드시 알아야 할 자바 성능 튜닝 이야기"  책의 소스코드를 이제 올립니다.

https://bitbucket.org/javatuning/javaperformancetuning2nd

그 동안 코드 찾느라 고생한 독자분들께 죄송합니다. 


오류가 있다면 말씀해 주세요.

Posted by tuning-java
,

자바의 신 별책부록을 만들었습니다. 

판교 첫 출근하는 1월 2일부터 출/퇴근버스에서 작업을 시작하여 며칠만에 끝나긴 했는데,
교정하느라 시간이 좀 걸렸습니다. 

별건 아니고, 소스들만 모아 놓은 파일입니다. 

많은 독자님들(이라고 쓰고 고갱님이라 읽음)이 책 내에 있는 코드 보시고

//중간 생략

//앞부분 생략

이 도대체 뭐냐며,
읽을 수가 없다며,
불만을 많이 제기 하셨습니다. 

어떻게 할까 고민을 많이 하다가, 그냥 따로 볼 수 있게 실행 가능한 부분만 떼어서 하나의 테이블 안에 있는 코드만 실행하면 해당 페이지에 있는 결과를 제대로 확인할 수 있도록 해 놨습니다.

그리고, 눈으로 코드만 보고 예상 결과를 옆에 적어 놓을 수 있도록 했습니다. 

조만간 나오는 자바의 신 Volume 1. 3쇄에는 별책부록이 동봉되어 제공되니(그런거 같음. 어제 술먹으면서 어떻게 하신다고 했는데 기억이...) 많은 도움이 되었으면 합니다. 


이미 책을 사서 보신 분들께서는 아쉬워(열받아) 하지 마시고, 이 포스트에 있는 첨부 파일 참고하세요.  


저작권은 있으나 친구들에게 막 뿌리고, 동료들에게 막 뿌리는것은 문제 되지 않습니다. 

자유롭게 사용하시고,

단, 본인이 만든거 처럼만 사용하지 마세요. ㅎㅎ 


추가로 Volume 2 의 별책부록을 제공할 계획은 없습니다.  


자바의신_출력용_별책부록.pdf


Posted by tuning-java
,

11월달에 posting 한게 없어서... 11월에 정리한 글을 하나 공유~~~ 


자바의 신 페이스북 페이지에 11월에 화요일에 질문을 올렸다. 
(https://www.facebook.com/GodOfJavaBook/posts/379966175471601)

총 39분의 학생 및 개발자 분들이 의견을 달아 주었다. 


주요 의견은 

39% "생업"을 위해서. 
13% "재미"있어서 
7% "확장성"과 "대중적" 각각 
5% "안드로이드" 때문에 

가 있었다. 


생각보다는 "먹고 살기 위해서", "남들이 하니까 안하면 안될 것 같아서"의 비중이 높았다. 


Posted by tuning-java
,

공통되는 질문을 많이 받아서 여기에 정리합니다.

Q: E-Book으로 낼 계획은 ?
A: 없습니다. !!!
(안그런 분들도 계시겠지만, 요즘은 대학생 분들은 책을 한반에 한분만 산대요. ToT)


Q: 1st Edition 산 사람은 2nd Edition 사야해요? 
A: 아래에 있는 표를 보시고 선택은 본인이 하셔야 합니다. 제가 사라 마라 할 수는 없잖아요? 1~2천원 짜리도 아니고...
(회사에서 사 준다고 할 때에는 고민하지 마시구요. ㅎㅎ)



Q: 뭐가 어떻게 바꼈죠? 
A: 아래 목차를 보세요.
그리고, 제목이 동일하다고 내용이 그대로는 아닙니다.
GC와 튜닝 부분 내용을 많이 보완하려고 애 썼어요. 
그리고 안드로이드 튜닝은 아주 기본만 넣었고...
무엇보다도, 1st 책에는 메소드 성능 비교를 JSP 통해서 했습니다. 2nd Edition 에서는 JMH 를 통해서 성능 비교를 합니다. 

※ JMH : http://openjdk.java.net/projects/code-tools/jmh/

Google의 Caliper도 있지만, 그건 담당자 바뀌면서 완전 다 바껴 버림~~~ - -;



 자바 성능을 결정짓는 코딩 습관과 튜닝 이야기(1st Edition)

 개발자가 반드시 알아야 할 자바 성능 튜닝 이야기(2nd Edition)

 01.디자인 패턴 꼭 써야 한다

 01. 디자인 패턴, 꼭 써야 한다.

 02.도대체 GC는 언제 발생할까?

 17. 도대체 GC는 언제 발생할까? 

 03.내가 만든 프로그램의 속도를 알고 싶다

 02. 내가 만든 프로그램의 속도를 알고 싶다.

 04.왜 자꾸 String을 쓰지 말라는 거야?

 03. 왜 자꾸 STRING을 쓰지 말라는 거야?

 05.어디에 담아야 하는지…

 04. 어디에 담아야 하는지… 

 06.지금까지 사용하던 for 루프를 더 빠르게 할 수 있다고?

 05. 지금까지 사용하던 FOR 루프를 더 빠르게 할 수 있다고?

 07.static 제대로 한번 써보자

 06. STATIC 제대로 한번 써 보자. 

 08.클래스 정보 어떻게 알아낼 수 있나?

 07. 클래스 정보, 어떻게 알아낼 수 있나?

 09.synchronized는 제대로 알고 써야한다

 08. SYNCHRONIZED는 제대로 알고 써야 한다. 

 10.IO에서 발생하는 병목 현상

 09. IO에서 발생하는 병목 현상 

 11.로그는 반드시 필요한 내용만 찍자

 10. 로그는 반드시 필요한 내용만 찍자.

 12.JSP와 서블릿에서 발생할 수 있는 여러 문제점 

 11. JSP와 서블릿, SPRING에서 발생할 수 있는 여러 문제점 

 13.DB를 사용하면서 발생할 수 있는 문제점

 12. DB를 사용하면서 발생 가능한 문제점들

 14.XML도 잘 쓰자

 13. XML과 JSON도 잘 쓰자. 

 15.GC가 어떻게 수행되고 있는지 보고 싶다

 18. GC가 어떻게 수행되고 있는지 보고 싶다. 

 16.서버를 어떻게 세팅해야 할까?

 14. 서버를 어떻게 세팅해야 할까? 

 17.반드시 튜닝 및 점검해야 하는 대상은?

 21. 반드시 튜닝 해야 하는 대상은? 

 18.모니터링 API인 JMX

 20. 모니터링 API인 JMX 

 19.어떤 화면이 많이 쓰이는지 알고 싶다

 22. 어떤 화면이 많이 쓰이는지 알고 싶다. 

 20.원인을 너무나 찾기 어려웠던 사이트

 

 21.자바 기반의 배치 프로그램을 튜닝했던 사례

 

 22.잘 되어 있는 시스템도 튜닝 대상은 있다

 

 23.복합적인 문제가 발생한 프로젝트

 

 24.애플리케이션에서 점검해야 할 대상들

 24. 애플리케이션에서 점검해야 할 대상들 

  15. 안드로이드 개발하면서 이것만은 피하자. 
  16. JVM은 도대체 어떻게 구동될까? 
  19. GC 튜닝을 항상 할 필요는 없다.
  23. 튜닝의 절차는 그때 그때 달라요. 


Posted by tuning-java
,

개발자가 반드시 알아야 할 자바 성능 튜닝 이야기의 오타 정리 링크입니다. 

받자마자 보는데 오타를 발견했네요.

지속적으로 오타는 해당 파일에 업데이트 하도록 하겠습니다. 

Errata 링크 

Posted by tuning-java
,



정확한 제목은 
"개발자가 반드시 알아야 할 자바 성능 튜닝 이야기"
입니다.

이 책은 새로 집필한 것이 아니라,
"자바 성능을 결정짓는 코딩 습관과 튜닝 이야기"
의 내용을 수정 및 보완 (60% 정도)한 2nd Edition 입니다.

Yes24

알라딘

인터파크

교보문고

반디앤루니스

강컴


Posted by tuning-java
,

아래 링크에서 이벤트 진행합니다.

https://www.facebook.com/GodOfJavaBook/posts/326344087500477

많은 분들의 응모 바랍니다. ^^;


Posted by tuning-java
,

[자바 성능을 결정짓는 코딩 습관과 튜닝 이야기]라는 매우 긴 제목의 책은 2008년 3월에 출간되었다. 그리고, 그 책은 2013년 언젠가 절판이 되어 역사속으로 사라진다. 


2006년인가 회사 휴직하고 어학연수를 가기로 결정할 즈음에 지금은 잘 나가는 작은 업체 사장님 회사가 집 근처라 술한잔 하면서 이야기를 했었다. 

"여차저차하니 우리회사 올 생각 없어요?"

그래서 내가 그때 한 대답은

"저는 자바 튜닝으로 책을 쓰고 싶어요. 자료도 모으고 하려면 3년 정도 걸릴 것 같으니 그 이후에 생각해 볼께요."

였다. 그리고 나서 어학연수 다녀오고 2007년에 책을 썼다. 회사일 하면서 약 5개월만에 책을 다 쓴후 드디어 세상에 나온 나의 첫 책이 바로 [자바 성능을 결정짓는 코딩 습관과 튜닝 이야기]다.

IT 출판계에 있는 분들은 아시겠지만, 첫달 1천권 팔린책은 그리 많지 않은데 이 책이 그 당시 그정도 팔렸다고 한다. (물론 서점 배부본(?) 이라는 것도 포함해서...)

잘나가는 기본서들에 비해서는 보잘것 없지만 10,000 부 가까이 나갔고, 잘못작성되거나 더 정리하기 어려운 부분을 성급히 마무리 한 것에 대해서 욕도 바가지로 많이 먹었으나 욕의 양과 매출량은 비례한다는 사실을 새삼 깨달았으며, 내 인생도 많이 바뀌었다.(NHN이라는 훌륭한 회사에서 일할 수 있는 기회도 얻고 말이다. 아직까진 내 인생의 최고의 직장은 NHN 이다. ^^)


한빛 미디어라는 출판사의 경우 5년간의 계약이 끝나기 전 3개월 전에 계약 해제를 요청해야 자동 3년 연장이 되지 않는다. 따라서, 작년 초에 계약 해제요청을 하고 절판이 될 예정이다. 왜냐고? 


2판이 나오니깐... ㅋㅋㅋ


2판은 다음주 월요일에 95%정도가 완성된 원고를 Insight 출판사로 넘길 예정이며, [자바 성능을 결정짓는 코딩 습관과 튜닝 이야기]를 기획자와 동일한 기획자분이 담당해서 일을 해 줄 예정이다. 책의 기본 흐름은 그대로 놔 두었지만, 제목은 "분명히" 바뀔 것이다. 


약 40%의 내용이 추가 보완되어서 필요한 분들에게는 도움이 될 수도 있다. (계속 내 책을 안티하게 보는 분께는 어떨지 모르고...ㅎㅎ)


간단하게 힌트를 드리면 GC 부분을 보완하고, 튜닝하는 절차등을 상세히 정리했다. (이렇게 이야기하니 그게 다 인듯 하네요...) 하지만 대부분의 장들이 적어도 조금씩 변경되었다.


아무쪼록 새로 나오는 책이 많은 분들께 도움이 되기를...


빠르면 9월 중순, 늦어도 10월에는 나올 수 있을 듯...

그리고 이 책 나온 후에는 집필활동 안합니다. ^^;
(아~~ 그리고 앞 부분에 그 사장님이 추천사 써 주신 분입니다. ㅎㅎ)


Posted by tuning-java
,

"자바의 신"이라는 이름으로 자바 기본서가 나오게 된 배경과 어떤 단계를 거쳐서 나왔는지 궁금하신 분들은 한번 보세요.

저자인 저의 입장이 아닌 1인 출판사 부장님의 입장에서 쓴 글이라 재미 있습니다. ^^;

http://www.roadbook.co.kr/104


Posted by tuning-java
,




자바의 신 Vol.2가 인터넷 서점에 등록되었습니다.
그리고 출간 완료 되었습니다. 

이제 인터넷 서점으로 고고 하세요. ^^:


Yes24

알라딘

교보문고

인터파크

강컴

반디앤루니스



Posted by tuning-java
,

자바의신 요약본 공유합니다. 

주요 내용은  

- 자바의 신 Volume 1 요약 챕터
자바의 신 Volume 2 요약 챕터
- 자바 설치 가이드 
- Eclipse 설치 및 간단 사용 가이드

입니다.


무단으로 친구들에게 공유하는 것은 OK

무단으로 제본해서 보는 것은 OK

무단으로 자기가 만든 것처럼 변경해서 공유하는 것은 저작권법 위반

이라고 생각하시면 됩니다.


공유는 웬만하면 아래 링크 공유를 부탁드려요. 파일 공유보다는...

https://sites.google.com/site/godofjavabook/10_extra/summary-pdf

Posted by tuning-java
,

자바의 신만이 아니라 다른 책들을 보면서,
- 이거 이 북으로 만들어서 항상 참고하고 싶은데,
- PDF로 있으면 좋을텐데
등등의 요구가 있으실 것이라 생각합니다.


이 책을 초기 기획단계부터 출판사와 협의 되었던 것 중 하나가
"요약 챕터를 이북으로 공유하자!"
 였습니다. 


이번달 안으로 (음... 이번달은 너무 조금 남았군요.),
Volume 2가 나오기 전까지 다음의 책 내용을 공유할 예정입니다.


- Volume 1 의 요약 챕터 (16장)

- Volume 1 의 부록 1 (JDK 설치)과 부록 2 (Eclipse 사용법 초간단 요약)

- Volume 2 의 요약 챕터 (14장)


아쉽게도 아직 "자바의 신"을 이북으로 판매할 계획은 없습니다. 
(나중에 상황이 바뀔 수도 있겠지만요.) 

그리고, 아이패드 미니를 걸고 진행한 자바의 신 친구왕 이벤트는 아무도 친구 현황을 보내주지 않으셔서 조용히 종료되었습니다. 

조만간 큰 이벤트 하나 진행할 생각이니 페이스북을 통해서 자주 확인해 주세요. 

http://www.facebook.com/GodOfJavaBook


그리고, 
OKJSP와 공동으로 (OKJSP에서 밥상 차려 놓고 저는 발표자료와 숟가락만 얹어서) 진행하는 세미나가 있을 예정입니다. (2013년 4월 4일 저녁 19시~21시)
오시면 싸인은 기본, 세미나 중에 대답만 잘하셔도 책 선물이 제공될겁니다. ㅎㅎㅎ 

http://onoffmix.com/event/13649

Posted by tuning-java
,


자바의 신 Vol.1이 인터넷 서점에 등록되었습니다.


Yes24

알라딘

교보문고

인터파크

강컴

반디앤루니스



Posted by tuning-java
,

책이름을 왜 "자바의 신"으로 지었을까 궁금해하는 분들을 위해서,
책의 뒷 표지를 공개합니다. 

참고로 이 이미지의 권리는 "하일권"님과 "로드북"에 있으며, 임의로 변경하여 사용하시면 법적으로 문제가 된답니다. ^^;
하지만, "자바의 신"을 홍보하기 위해서 출처를 명시하고 공유하는 것은 괜찮습니다. ^^; 


하일권의 "목욕의 신" 중에서...  

Posted by tuning-java
,

글을 읽기전에 "자바의 신" Facebook 에 좋아요를 눌러주시면 감사하겠습니다. ^^;
(페이지 가 보시면 아시겠지만, 관련해서 제 사비를 들여서 이벤트도 진행중 입니다.)

http://www.facebook.com/GodOfJavaBook


2011년 봄에 "로드북(http://www.roadbook.co.kr/)"이라는 출판사의 부장님과 만났습니다.

X빛 미디어라는 출판사를 지금의 위치까지 크게 하는데 많은 역할을 하신 분께서 로드북이라는 1인 출판사를 차려서 나가셨기 때문이죠. (사장님이신데 법적으로는 부장이라고 하셔서 부장님이라고 그냥 부릅니다.)
참고로 그 부장님께서 "자바 성능을 결정짓는 코딩 습관과 튜닝 이야기(http://www.tuning-java.com/365)" 라는 책이 이 세상에 나올 수 있게 해 주신 장본인이기도 합니다.


여러 가지 이유로 자바 기본서를 쓰고 싶어졌습니다. (자세한 이유는 여기서 말씀드리기는 좀 그렇구요) 그래서, 오래간만에 부장님을 만나면서 목차를 들고(목차 엑셀이 있는 맥북 흰둥이를 들고) 만나서 제 계획을 말씀 드렸죠.
부장님은 흔쾌히 진행하자고 하셨고, 자바 트러블 슈팅 책 집필이 끝난 다음주부터 바로 집필을 시작했습니다. 


1년 1개월간의 출퇴근 버스에서의 기나긴 집필이 끝나고 나니 MS Word 기준으로 페이지가 7~800 페이지가 되더군요. (책을 써 보신분들은 아시겠지만, MS Word 10 pt 로 집필하고 책으로 나오면 페이지가 1.5배가 됩니다. ) 그렇다고 내용들을 생략할 수도 없는 상황에서 약 3~4달간 전 직장인 NHN 과 NBP 분들께 리뷰를 요청드렸고 20분이 넘는 분들께서 리뷰를 해 주셨습니다. (그 중 몇분은 중도에서 포기를 하셨구요. ㅎㅎ) 리뷰가 끝난 다음에 일일이 책의 이슈사항들을 수정했습니다.


그리고나서 원고을 출판사에 넘기고, 연습문제 답을 어떻게 공유할까 고민하다가 "자바의 신" 연습문제 사이트를 아침 일찍 회사에 출근해서 한시간 씩 투자하여 사이트를 만들었습니다. (회사를 옮겨 출퇴근 버스를 안타도 되거든요. 아직까지는...) Google Scripts 를 사용해서 Google Sites 에 만들었습니다.  (https://sites.google.com/site/godofjavabook) 

두달 정도 소요된것 같네요. 


이러한 과정을 거쳐서 2013년 2월말이면 "자바의 신 - Part 1"이 세상에 나올 것 같습니다. 1인 출판사의 사정상 Part 2까지 모두 마무리해서 출간하려면 시간이 더 지체될 것 같아 책 한 권을 분권하여 Part 1 부터 출간하기로 결정하였습니다. 


그리고, 지금 "목욕의 신"작가님과 책의 일부분 들어갈 삽화등을 협의 중에 있습니다. ^^;


아마도 Part2는 빨라야 3월말에서 4월정도에 나올 듯 합니다.


아무쪼록 마무리가 잘 되어서 자바 세상으로 도약하는 분들과
옛날에 자바를 배워서 요즘 자바를 잘 모르시는 분들께 도움이 되는 책이 되길 바랍니다. 


"자바의 신" 사이트 좋아요 누르시는거 잊지 마시구요 ^^;
(친구 분들께도 많이 알려주시구요)


http://www.facebook.com/GodOfJavaBook


Posted by tuning-java
,

Java에서 OutOfMemoryError가 발생할 경우 Native 한 코드가 원인이 될 수 있다. 

이 경우에 어떤 것들을 봐야 하는지 정리가 잘 되어 있는 자료.

http://javaeesupportpatterns.blogspot.kr/2012/09/outofmemoryerror-unable-to-create-new.html

한국어로 된 자료는 없으나, 내 책엔 조금 거론은 되어 있기는 하다. 

http://www.yes24.com/24/goods/5209760?scode=032&OzSrank=1

나중에 (그럴 확률은 적지만) 이 책의 2nd Edition이 나오면 이 내용들을 좀 추가 보완해야 할 듯.

Posted by tuning-java
,

저의 4번째 책이 나왔습니다.

물론 공저이긴 하지만...


제가 엔지니어로 어떻게 살아왔는지를 정리했다고 보시면 됩니다. 
프로그래머로 시작해서 다양한 분야에서 일하시는 분들의 이야기를 한번 읽어 보고 싶다면 별로 후회하지 않으실 겁니다. ㅎㅎㅎ 


책에 대한 소개는  http://www.roadbook.co.kr/86 를 참고하시면 됩니다. ^^;

11번가

Yes24

교보문고 

인터파크

알라딘

리브로

Posted by tuning-java
,

WAS의 쓰레드에 Lock이 얼마나 걸려 있는 지를 실시간으로 JSP에서 확인할 수 있는 페이지입니다. 

책에 올렸는데, 요청하시는 분들이 간혹 계셔서 그냥 블로그에 올립니다. ㅎㅎ

소스 보시면 아시겠지만, 별건 아니에요.


CheckThread5.jsp


CheckThreadGC.jsp


Posted by tuning-java
,
책의 내용을 보완할까 고민하다가, 그냥 블로그에 남기는 것이 나을 것 같아 여기에 정리한다.

Core dump 라는 것이 있다. 

만약 이 core dump 라는 파일을 들어본적도 없거나, 뭔지 모르는 분들은 지금까지 행복한 개발 / 운영 생활을 했다고 봐도 된다. 

리눅스에서는 gcore라는 명령어를 사용해서 코어덤프를 남길 수 있는데, 문제가 생겼을 때 (비 정상적으로 JVM이 죽었을 때 아무런 로그가 없는 경우등)에는 이 코어 덤프가 한줄기 빛이 될 수 있다. 

JVM은 보통 그냥 죽지 않는다. hs_err_pid.log라는 파일을 남기고 죽는데 이 파일을 보면 어느 작업을 하다가 죽었는지를 확인할 수 있다. 하지만 얼마전에는 이 파일도 안남기는 문제를 만났다. 

기본적으로 대부분의 서버에서는 코어 덤프를 남기지 않도록 되어 있다. 왜냐하면, java에서 1 GB 의 메모리를 사용하면 코어 덤프는 수십 기가에 달하는 파일을 생성하기 때문이다. 

JVM이 팍~ 하고 아무런 근거를 남기지 않고 죽었으면 둘 중 하나다.

누가 kill -9 pid로 프로세스를 죽었거나, segfault와 같이 프로세스 내의 오류로 죽는 경우다. 

그 범인을 잡으려면 로그를 봐야한다.

/var/log/messages 

파일을 root 권한으로 보면 그 시점에 어떤 오류가 발생했는지를 확인할 수 있다. 


1. 코어덤프 자동으로 생성하게 만들기

먼저 core dump를 자동으로 생성토록 하려면  ulimit -a 라는 명령으로 서버 설정을 확인한다. 

$ ulimit -a

core file size          (blocks, -c) 0

이하 생략

이처럼 가장 끝에 있는 값이 0 이면 core dump 는 안남는다. 덤프를 남기도록 변경하려면

ulimit -c unlimited

명령을 실행하면 core dump가 남을 것이다. 단 디스크가 꽉 차버릴 수가 있으므로 조심해서 옵션을 변경해야만 한다.

unlimited로 변경한 콘솔 창에서 실행한 프로그램은 팍~~ 죽어버리던, 문제가 생기던 core dump 가 실행한 위치에서 남는다. 확인해 보려면 자바 프로그램 아무거나 작은거 하나 실행하고 

kill -11 pid

를 실행해 보기 바란다. 그러면 core dump가 남아야한다. 만약 제대로 안했다면 코어덤프는 남지 않는다. 


2. 코어덤프 분석하기

코어덤프 파일을 열기 위해서는 gdb라는 프로그램을 사용하면 된다. 자바 프로그램을 확인하려면 

gdb /자바실행파일FullPath/java core.pid

로 실행하면 된다. 그러면 인터프리터 방식으로 이 툴을 사용할 수 있다.

gdb라는 것을 사용한게 별로 안되기 때문에 내가 옆에서 어깨 너머로 배운 명령어는 다음과 같다.

bt
info thread
thread 쓰레드번호
where
x/i 메모리주소값

각 명령에 대한 자세한 설명은 여기서 생략한다. 직접 한번 돌려보면 알꺼다. ㅎㅎ(나도 잘...)

그런데, 코드가 완전 C로 되어 있다면 스텍 정보들이 제대로 나오겠지만, java로 되어 있으면 보기가 어렵다. (그냥 메소드 이름이 ??로 나온다.)

그럴때 사용하는게 바로 jstack이다.


3. jstack 으로 core dump의 쓰레드 덤프 생성하기

jstack으로 coredump의 쓰레드 덤프를 생성하는 방법은 다음과 같다.

jstack /자바실행파일FullPath/java core.pid

이렇게 실행하면 jstack이 코어덤프에서 쓰레드 덤프를 추출해준다. 마찬가지로 jmap 을 이용해서 core dump  에서 힙 덤프도 만들 수 있다.

이제 필요한 덤프들을 생성했으면, 

"자바 개발자와 시스템 운영자를 위한 트러블 슈팅 이야기" 책을 보면서 원인을 잡으면 된다.

ㅎㅎㅎㅎㅎ




Posted by tuning-java
,
작년 12월 초에 세미나 강의하러 갔다가 "프로그래머의 이야기를 책으로 만들자"라는 이야기가 나와서,
출판사 부장님이 오랫동안 고심한 기획서가 하나 나왔다.

아마도 6월정도엔 출시될 것 같은데, 한 사람이 쓰는 분량은 A4기준 30페이지 정도 될 것 같다. 
기술서도 아니라서 말을 풀어나가기가 쉬울것 같으면서도 어려울 것 같다.
(책을 찍어 낸 다음에는 수정도 못하니까...)

지금 쓰고 있는 책 진도율이 608 페이지에 94% 정도 되고, 2개 장이 남았는데 다 쓰고 이걸 쓸까? 아니면 이걸 먼저 쓰고 지금 쓰는 책을 끝낼까 고민된다.


여하튼 올해 내로 내 집필서 두권이 나오면 이제 집필서로 5권 채우는구나~~~ ㅎㅎㅎ

Posted by tuning-java
,
지금까지 알만한 분들에게만 이야기한 지금 집필중인 책의 진척사항을 정리해보고자 한다.

현재 열심히 집필중인 "OO 자바"의 집필 진도율을 오늘 확인해 봤더니 90%다.
1월 중순이니 2월말까지 본문에 대한 집필은 끝낼 수 있을 것 같다. ㅎㅎㅎ

3월부터 두달간은 베타 리더들을 선정하여 베타리뷰 진행하고,
그 사이에 부록을 정리할 예정이다. (부록을 열심히 보는 사람은 그리 많지 않으므로. ㅎㅎ)
4월말, 5월초에 출판사에 넘기면 7월초에 나올 듯 하다.

이 글을 읽는 여러분들이 지금까지 봐 왔던 자바책과는 완전히 다른,
현업에서 꼭 필요한 주옥같은(?) 내용들만 포함되어 있는 책이라 기대해도 좋을 것이다.

마음 같아서는 모두 대박나라는 뜻에서 "대박 자바"라고 하고 싶지만,
이 책의 이름은 벌써 정해 졌다.
(7월달이면 모두 알게 되겠지만... ) 

이 책 출간이 완전히 끝나면,
잠시 쉬었다(?)가
나의 첫 책 리뉴얼에 들어갈 것이다.  
("자바 성능을 결정짓는 코딩 습관과 튜닝 이야기"의 2nd edition ... ㅎㅎㅎㅎㅎ )  
Posted by tuning-java
,
얼마전 만든 자료다. 

관심있는 분들은 한번 보시길...

나중에 시간 나면 좀 더 업그레이드 할 예정이다.
(10분짜리 발표를 위해서 만든 자료라...)

Posted by tuning-java
,
나의 네번째 책 집필 진도율이 51%를 찍었다. ㅎㅎㅎ
부록을 빼고 계산한 진도율이니,
아직도 많이 남은거다.  - -;
처음에 계획한 Chapter수가 20개 였는데,
지금은 어느새 36개가 되었다. 
(쓰다보니 필요한 것을 추가하고, 하나의 장이 너무 길면 자르고 해서 늘어났다.)

내년 초에나 나올것 같은 느낌이다.
그래도 제대로 된 책이 나가는게 좋지 ...

 
Posted by tuning-java
,



2011. 6월 출간되는 
자바 개발자와 시스템 운영자를 위한 트러블 슈팅 이야기의 출판사 링크입니다.


출판사

Yes24

강컴

교보문고

알라딘

인터파크

리브로

반디앤루니스

 
Posted by tuning-java
,
"자바 개발자와 시스템 운영자를 위한 트러블 슈팅 이야기"라는 깔끔한(?) 제목의 책이 조만간 나온다. (아마도 6월 중순에는 시중에 풀릴겁니다.)

2010년 1월 3일부터 집필을 시작하여 6개월간 딴 책(안드로이드)을 쓰다가 너무 광활한 범위에 포기하고, 올해 1월부터 다시 정리하기 시작하여 집필한 책이다. 

이번 주말에 마지막 원고 리뷰 후 정리하면 6월 중순쯤 될 예정이다.

이 책의 구성은 다음과 같다.
- 웹 기반의 시스템의 장애 유형
- 쓰레드 문제와 해결 방법
- 메모리 문제와 해결 방법
- 진단을 위한 무료 툴들
- 많은 자바 개발자들이 취약한 리눅스에서 리소스를 모니터링 하는 방법
- 장애 유형에 따른 진단 절차
뭐 울트라 킹왕짱 자바 개발자 및 자바 엔지니어는 다 알고 있는 내용이므로 보실 필요는 없겠지만, 장애에 허덕이고 있는 분들은 이 책을 보면 문제 해결의 답이 보일 수도 있다.

WebTune, Jennifer, Pharos등의 APM들을 사용하는 분들이라도 그 툴들에서 잡을 수 없는 문제들을 잡는 방법이 나와 있기 때문에 분명 도움이 될 것이다. (이 툴들이 나쁘다거나 부족하다는 것은 저~~~얼대 아님) 

지금까지의 내 책들과 다르게, 출판사에서 적극적으로 내가 쓴 모든 문장을 가독성이 좋도록 바꿨기 때문에 책에 대한 가독성은 크게 문제하지 않아도 된다.

최초에 보낸 원고의 페이지는 그리 많지 않았는데, 조판 작업 후 페이지가 많아져서 부득이하게 가격은 24,000 원으로 책정했다고 한다. T T;
내가 책정한 것은 아니니 저를 원망하지는 말아주시구요~~~

아무쪼록 이 책이 장애에 허덕이고 있는 많은 개발자와 시스템 운영자 분들에게 도움이 되길 바랍니다.
 
Posted by tuning-java
,
당분간 좀있다 나올 책을 위해서 좀 쉬어야 겠다. 현재 집필중인 책은 일단 쭉~~ 쉬었다가 내년 정도에나 다시 시작해야지. ㅎㅎㅎ

컨퍼런스 준비하다보니 벌써 4월이 휘리리리릭~~~~ 
Posted by tuning-java
,
나의 네번째 책의 목차 작성을 완료했다.
담주부터 시작이닷...
(새로 주문한 넷북 밧데리 오면~~~) 

새로 주문한 넷북 배터리가 오고,
트러블 슈팅 책 원고를 다 넘김 관계로
2011년 4월 6일부터 집필 시작~~~

2011년 12월 or 2012년 1월 Yes24
컴퓨터 인터넷 분야 1위 달성 및 유지를 목표로~~~
ㅎㅎㅎ 
Posted by tuning-java
,
작년 1월 3일부터 집필한 자바 트러블 슈팅 책의 원고를
한개 장과 부록 한개장을 제외하고 이미지까지 출판사에 넘겼습니다.

혹시나 해서 말씀드리지만, 이 책을 제대로 보시려면
"자바 성능을 결정짓는 코딩 습관과 튜닝 이야기"와
"자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기"를 함께 보셔야 됩니다. ㅎㅎㅎ

지금 안본다고 버리지 마세요...

궁금해 하실만한 목차는 책 출간 2주정도 전에 오픈할예정입니다.
(궁금해도 참으3)

출판사에서 뚜다닥 해주시면 5월말 출간(?)
약간 느려져도 상반기내에는 나올겁니다.  ㅎㅎㅎ
 
Posted by tuning-java
,