'Root'에 해당되는 글 472건

  1. 2009.12.11 [Blog2Book Test] 자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기 별책 부록 (자바 테스트) 1
  2. 2009.12.09 [blog2book test] 자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기가 출간되었습니다.(자바 테스트) 2
  3. 2009.11.26 [Blog2Book Test] "자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기"가 다음달 초에 출간 4
  4. 2009.11.19 [YouTube] 유튜브를 Tistory에 링크 걸기 (티스토리에서 유튜브 업로드, 보기, HD 업로드)
  5. 2009.11.13 [PSP Game] 그란 투리스모 공략 (Gran turismo PSP) 공략
  6. 2009.11.05 [iPhone and iPod touch Develop] 개발을 위한 참조 URL(Reference URL)
  7. 2009.11.04 [Linux] netstat와 wc 명령어를 사용하여 네트워크 상태 확인하기
  8. 2009.10.30 [사이트] HP Software user club 소개 - BTO 클럽
  9. 2009.10.28 [Syntax highlighter] 웹(블로그)에서 소스코드 예쁘게 보여주기(Syntaxhighlighter)
  10. 2009.10.28 [Tower defense] Starcraft2 타워 디펜스 공략 2 - 각종 꽁수들
  11. 2009.10.27 [게임] starcraft2 tower defense 공략 1
  12. 2009.10.14 [MacBook 사용팁] 나같은 초보를 위한 맥북 사용 팁-33 Calibri, Consolas 와 같은 폰트를 Mac 에서 사용하는 방법(Calibri, Consolas font)
  13. 2009.10.13 [MacBook 사용팁] 나같은 초보를 위한 맥북 사용 팁-32 맥 사용자를 위한 무료 Mind map 툴
  14. 2009.10.09 [IT 서적이나 책은 어떻게 만들어 지는가? -5] 마무리하기 1
  15. 2009.10.08 [Tomcat] Tomcat 성능 튜닝 가이드라인 (tomcat performance tuning)
  16. 2009.10.06 [IT 서적이나 책은 어떻게 만들어 지는가? -4] 집필하기
  17. 2009.10.01 [IT 서적이나 책은 어떻게 만들어 지는가? -3] 시작하기 2
  18. 2009.09.29 [IT 서적이나 책은 어떻게 만들어 지는가? -2] 자료 모으기
  19. 2009.09.26 [IT 서적이나 책은 어떻게 만들어 지는가? -1] 준비하기 4
  20. 2009.09.22 [Head First AJAX] 헤드 펄스트 에이젝스 번역서가 나왔습니다. 1
  21. 2009.09.07 [Blog2Book 테스트] Blog2Book 테스트 책 집필 완료. 5
  22. 2009.08.28 [맥 OS 사용 팁] Snow Leopard (스노우 레오파드, Mac OS X 10.6)
  23. 2009.08.14 [IBM RedBooks] 리눅스 관련 성능 튜닝 가이드 라인
  24. 2009.08.11 [폴더 or 디렉토리 크기] 리눅스에서 특정 폴더 크기 확인하기
  25. 2009.08.06 [성능 튜닝] 고급 성능 조정의 개념
  26. 2009.07.29 [책] Objective C 번역서
  27. 2009.07.25 [Blog2Book Test] 현재까지 90%정도 집필 완료 1
  28. 2009.07.02 [Webwork] Webwork 가이드(튜토리얼, 설명서) 링크
  29. 2009.06.27 [jensor] 무료 자바 프로파일링 툴 젠서
  30. 2009.06.25 [DeveloperWorks] 사람을 위한 자동화 시리즈 3
자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기
의 별책 부록입니다.

지면상의 이유로 책 안에 모든 내용을 넣지 못한점 죄송스럽게 생각합니다.

별책 부록으로나마 미리 만나보세요.

다음주 금요일 정도면 전국에 책이 나갈겁니다. ^^;
아래 링크의 파일을 다운로드 하시면 됩니다. ^^;

이 파일에 있는 내용은 다음과 같습니다.
- 완전 초보 개발자를 위한 자바와 이클립스 설치 및 사용법
- Ant 설치 및 사용법
- Subversion 설치 및 사용법
- Internet Explorer Developer Toolbar설치 및 사용법
- Firebug 설치 및 사용법
입니다.

 
혹시나 해서 말씀드리지만,
이 파일에 대한 저작권은 저와 한빛 미디어에 있으니,
마음대로 퍼 가시는 것은 어쩔 수 없으나,
마음대로 게시하는 것은 법적으로 문제가 됩니다.

그리고, 책에 있는 제 이메일 주소는 잘못되었습니다.
제 이메일은 "javatuning 앳 지메일 닷 컴" 입니다. 
문의사항은 이 주소로 보내주세요.
책에 있는 이메일은 존재할 수 없는 주소랍니다. - -;
 
Posted by tuning-java
,

드디어 다음주 중에 출고될 예정이라고 한다.
일단 한빛 미디어 블로그에 소개된 내용은 요기를 보면 된다. ==> http://blog.hanb.co.kr/171

그리고, 한빛 미디어 예판은 요기에서 진행한다. ==> http://www.hanb.co.kr/look.php?isbn=978-89-7914-712-4

회사 벼룩시장이나 OKJSP 사이트에서 공구를 진행할까 생각도 했지만,
안티한 몇몇 똑똑한 분들이 딴지를 걸까봐 공구는 진행하지 않기로 결정했다.

책의 페이지가 생각보다 너무 많이 나와서,
나의 의지와 상관 없이 책 가격이 올라버렸다.
독자 여러분께 죄송할 따름이다....

(지난번에 쓴 튜닝 책도 Blog2Book 시리즈에서 가장 두꺼웠는데,
이번엔 그 기록을 깨서 404 페이지가 나왔다.
실제 원본은 더 많은 페이지가 나왔는데,
거기서 몇몇 부록을 PDF로 제공하기로 결정 했고,
그 PDF파일은 조만간 필자 블로그와 한빛 홈페이지에 올라갈 예정이다.)

만약 공구를 원하시는 분들이 많다면 한번 추진해 볼 예정이오니,
이 글에 댓글을 달아주시면 감사하겠습니다.

Posted by tuning-java
,
사용자 삽입 이미지


자바 개발자도 쉽고 즐겁게 배우는 테스팅 이야기
라는 책이 드디어 출간된다.
(나는 끝까지 "테스트 이야기"로 하고 싶었는데, 출판사에서는 끝까지
테스팅으로 밀고 있다. 왜 그런지는 좀더 이야기 해 봐야 겠지만...)

1년 2개월 동안(실제 쓴 기간은 그렇지 않지만... 여하튼...) 쓴 책이고,
개발자들이 재미없는 테스트에 보다 쉽게 접근할 수 있도록 쓴 책이다.
물론 고수분들은 이책을 살 필요 없다.
다 아는 내용일 것이기 때문에...

페이지 수가 400 페이지가 넘어서,
여러 고민을 하다가,
부록의 일 부분을 전자 문서(아마도 PDF)로 제공하기로 결정했다.
어느정도 페이지가 넘어가면, 출판사 손익 분기점이 높아져서,
책값이 올라가거나 다른 방법을 찾아야 한단다.
책값이 올라가면, 많은 독자들이 볼 기회를 놓칠 수도 있기 때문에,
이와 같이 부록을 별도로 빼기로 결정했다.
책 내에는 별책 부록이라고 표시될 것이다.

책 제목이 긴 이유는 출판사의 정책 때문이다.
(내가 긴 제목을 좋아 하는 것도 아니고, 누군가를 낚기 위한 것도 아니다.
분명 이책 보고도 낚였다는 사람이 있겠지 ? - -)



그리고

미리 이야기하지만,
책의 목차를 보면 알겠지만, 다루는 항목이 너무 많기 때문에,
깊이가 얕다고 실망하는 분들이 분명 있을 것이다.
사고 나서 낚였다고 "파닥 파닥"거리지 마시고,
본인이 알고자 하는 내용에 부합되는지 미리 확인하고 사시기 바란다.
일 예를 들어 JUnit 에 대해서만 다뤄도 JUnit in action과 같이 책 한권의 분량이고,
FitNess도 그렇고, CI 도 마찬가지다.
테스트에 대한 전반적인 흐름이 어떻게 되고,
어떤 툴들이 있구나 라는 정도의 지식을 전달하기 위해서 쓴 글이지,
바이블을 맹글기 위해서 쓴 글이 아니다.(바이블은 나중에 시간 나면...)



목차는 다음과 같은데,
실제 출간되는 책과 상이할 수도 있다.


A. 테스트 기본
1.테스트 전문가란 사람들이 항상 이야기하는 기본 내용들
- 테스트의 단계는 어떻게 되나?
- 기능적 테스트와 비 기능적 테스트는 또 뭐야 ?
- V-Model. 많이 들어는 봤는데 그게 뭐야 ?

2.또 재미 없는 테스트 이야기
- 정적 테스트의 종류에는 어떤 것들이 있을까?
- 일반적인 리뷰 프로세스를 알아보자.
- 동적으로 하는 테스트에는 이런 것들이 있다.
- 까만 상자 테스트와 하얀상자 테스트의 의미
- 회귀 테스트와 확정 테스트는 왜하는 거지?
- 테스트 케이스와 테스트 스윗의 차이는 뭘까 ?

3.테스트 그냥 하면 되지 뭘 분석해?
- 테스트 입력값 분석하기
- 입력값이 복잡할 때 제대로 분석하자.
- 상태가 바뀔때는 이렇게 한다.

B.단위 테스트 쉽게 해보기
1.JUnit. 이름은 많이 들어 봤는데
- xUnit 이란 ?
- JUnit 다운로드 및 설치하기
- 먼저 JUnit 3.x에 대해서 간단하게 알아보자
- JUnit 4.x는 뭐가 다른데?
- Stub만 있는게 아니었구나
- Mockito의 간단한 사용법
- Mockito는 이렇게 응용하여 사용할 수 있다.

2.TDD가 뭐야 ?
- TDD가 뭘까?
- 그럼 도대체 왜 TDD를 해야 하는겨?
- 말하는 만큼 TDD는 적용하기 쉬울까?
- 근데 도대체 리펙토링은 뭔데 ?

3.웹 UI도 자동화 테스트가 가능하구나~~~
- 웹 UI 테스트 툴도 있구나.
- Selenium 이 뭐지?
- Selenium IDE 사용법을 알아보자.
- Selenium IDE 를 이용하여 간단한 사이트의 스크립트를 작성 해보자.
- 이번에는 약간 복잡한 사이트를 테스트 해보자.
- Selenium Remote Control 사용법도 알아보자.

4.웹 URL 요청을 자동화 해서 테스트 해보자.
- HttpUnit 이란?
- HttpUnit은 어떻게 동작하나?
- 아주 간단한 사이트를 HttpUnit으로 테스트해 보자.
- 우리가 테스트하려는 사이트를 HttpUnit로 요청해보자.
- 자동 로그인 테스트를 해보자.
- JUnitPerf 라는 것도 있단다.

C.정적인 테스트하기
1.이것도 테스트구나
- 리뷰란 ?
- 그렇다면 개발자가 할 수 있는 리뷰는?
- 코드 리뷰를 자동으로 해주는 착한 툴들

2.정적 테스트 툴 살펴보기
- 정적 테스트 툴을 이클립스에서 사용할 수 있다고?
- Find Bugs에서 제공하는 결과 확인하기
- PMD에서 제공하는 결과 확인하기
- PMD 리포트 작성하기
- Find Bugs UI는 정말 사용하기 쉽다.
- PMD 규칙 관리하기
- 나만의 PMD와 Find Bugs 규칙 추가하는 방법 링크

D.통합 테스트도 쉽게 해보기
1.통합 테스트도 자동화 할수 있어 ?
- Continuous Integration
- 통합 빌드의 수행 절차
- 통합 빌드의 부품들
- 통합 빌스시 유의 사항들
- 그럼 통합 빌드 툴에는 어떤 것들이 있을 까?
2.허드슨에 대해서 알아보자.
- 허드슨에 대해서
- 첫 빌드 프로젝트 만들어 보기
- 효과적으로 허드슨을 사용하기 위한 환경 확장하기
- 본격적인 빌드 작업 수행하기

E.성능 테스트는 이렇게
1.성능 테스트가 뭐 하는 거야 ?
- 성능 테스트를 왜 하는거야?
- Transaction 에도 종류가 있다고?
- TPS 라는게 도대체 뭐야?
- 응답 시간은 이렇게 나눌 수 있다.
- 응답시간이 젤 중요한거 아니야 ?
- TPS와 응답시간의 관계는 있을까?
2.성능 테스트 한번 해 볼까 ?
- 성능 테스트의 종류에는 이런 것들이 있다.
- 성능 테스트에서의 시간은 이렇게 구분한다.
- 어떤 게 동시 사용자야 ? - 성능 테스트 대상 식별하기
- 스크립트란 ? - 성능 테스트시에 고려해야 하는 사항들

3.JMeter 가 도대체 뭐야
- 무료 성능 테스트 툴에는 어떤 것들이 있을까?
- JMeter 테스트 준비 Step - 1 스크립트 레코딩하기 Part-1
- JMeter 테스트 준비 Step - 1 스크립트 레코딩하기 Part-2
- JMeter 테스트 준비 Step - 1 스크립트 레코딩하기 Part-3
- JMeter 테스트 준비 Step - 2 결과 검증하기
- JMeter 테스트 준비 Step - 3 데이터 준비하기
- JMeter로 성능 테스트를 수행해보자.
- 성능 테스트를 할 때 모니터링 해야 하는 것들

4.결과는 어떻게 분석하라고 ???
- 응답시간 분석 및 정리하기
- TPS 분석 및 정리하기
- CPU 사용량 분석 및 정리하기
- 보고서에 반드시 들어가야 하는 기본 내용들은 ?

F.보안 테스트도 어려운 것만이 아니네
1. 보안이 그렇게 중요한가?
- 보안이라고 하면 도대체 어떤걸 이야기 하는 거야?
- 웹 애플리케이션의 취약점에는 이런 것들이 있다.
- 웹 애플리케이션 보안 체크 리스트 Top 10
- 보안 테스트 툴에는 어떤 것들이 있을까?

2. 보안 테스트의 기초만 알아보자.
- 보안 테스트란?
- 보안 테스트를 하기 위해서는 데이터 암호화에 대한 지식은 필수다.
- Burp Suite를 이용한 요청 데이터 변환하기
- WebGoat를 이용한 보안 테스트하기

G.프로젝트를 마무리 하는 테스트는 이런 것이 있구나
1. 시스템의 오픈 여부를 결정하는 출하검사와 인수 테스트
- 경험에 의한 테스트 방법들
- 출하검사란?
- 결함율과 출하검사 유의사항
- 그렇다면 인수 테스트는 어떻게 해야 하는 거지?

2. 인수 테스트를 위한 FIT과 FitNesse.
-FitNesse가 뭐 하는 거야 ?
-FitNesse 설치하기
-먼저 FitNesse에 적응해보자.
-첫 테스트를 수행해보자.
-FitNesse 화면을 묶어서 Suite로 테스트하자.
-FitNesse의 기본 Fixture들을 이해하자.
Posted by tuning-java
,
이제 동영상을 웹에 올릴일이 많아 졌기 때문에,
어디다가 올리면 좋은지 찾아 보다가 우연히 찾은 막강 가이드...

http://www.thehandycam.co.kr/205


메뉴 하나 하나까지 매우 세밀하게 정리되어 있다.
Tistory가 아니더라도,
Youtube에 업로드 하고, 어떻게 작업하면 되는지 친절히 설명하고 있다.

참고로 유튜브로 HD화질의 동영상을 올렸는데,
처음 올렸을 때에는
이건 품질이 뭐 이래???
라고 생각했는데,
시간이 가면 갈수록 화질이 굉장히 좋아진다

며칠전 밤에 12시에 올리고, 30분 정도 기다려도 HD 마크가 보이질 않길래
뭘 잘못했나?
라는 생각을 했지만,
아침에 일어나보니 하단에 HD 아이콘이 추가 되었고,
화질도 완벽해 진 것을 확인할 수 있었다.


Posted by tuning-java
,
그란 투리스모 PSP 판의 공략을 찾다가 아래 링크에 있는 환상적인 공략을 찾았다.

http://www.gamefaqs.com/portable/psp/file/920775/58172

영어로 되어 있는 것이 흠이긴 하지만, 매우 많은 내용이 포함되어 있다.

제공되는 내용은

01. Introduction(소개)
02. Controls(조작법)
03. Gameplay Overview(게임 플레이 개요)
04. Track Walkthroughs(트랙 설명)
05. Driving Challenges Walkthrough(드라이빙 첼린지 설명)
06. Car List(차 목록)
07. Frequently Asked Questions(자주하는 질문등)

이 중에서 가장 하단에 있는 FAQ를 먼저 읽어 보기 바란다.

어떻게 하면 쉽게 Credit을 벌 수 있는지에 대한 설명이 나오니...

뭐니 뭐니해도, 이 게임에서는 부가티가 쵝오~~~
테스트 트랙에서 시속 399 KM/h 까지 나온다는 ~~~
Posted by tuning-java
,
얼마전 ipod touch가 기냥 생겨서 프로그램한번 짜 볼까?
하고 뒤적거린적이 있다.(맥이 있어야 짤 수 있음...)

그때 알아둔 사이트들 목록은 다음과 같다.

한국 개발자 모임 사이트:
http://app.co.kr/

Object C Reference : http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Introduction/Introduction.html
http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html

그래도 뭐니 뭐니해도 강의를 듣는 것이 좋은데,
iTunes - U 에 있는 여러 대학 강의중,
Standford 대학에서 Apple 아저씨들이 ipod touch와 iphone 개발 강의가 가장 좋은 듯 하다.

가장 큰 단점은 영어라는거~~~.

그래도, 모든 용어가 은, 는, 이, 가 빼면 어차피 영어라서 그리 어렵지는 않을 듯...

아직까지 Hello world만 짜보고,
이것 저것 딴짓 중이다.
요즘은 PSP 그란 투리스모에 빠져 살고 있다. - -;
Posted by tuning-java
,

netstat라는 명령어를 리눅스에서 사용하면,
네트워크의 상태를 볼 수 있다.

네트워크 상태를 진단할 때 매우 유용하게 사용할 수 있는데,
다음과 같이 사용하면 TIME_WAIT 상태인 연결들의 개수를 확인할 수 있다.
만약 연결된 개수를 확인하려면 grep 뒤에 CONNECTED로 바꾸면 된다.

netstat -n | grep TIME_WAIT | wc

여기서 netstat의 -n은 연결된 장비 이름이 IP 주소로 나타난다.
여기에 a 옵션을 추가하여 -an 이나 -na로 지정해 주면,
연결된 IP나 연결을 기다리는 장비의 IP와 함께 목록을 제공해준다.

추가로 wc 는 라인 및 단어의 개수를 제공하는 옵션이다.
wc만 쓸 경우
3 6 9
와 같이 3개의 숫자가 나타나는데,
가장 앞의 숫자는 라인수(여기서는 관련 연결 개수가 될 것이다.)
두번째는 단어 수,
세번째는 바이트 수를 의미한다.

라인수만 보고 싶을 때에는 -l
단어수만 보고 싶을 때에는 -w
바이트수만 보고 싶을 때에는 -c
옵션을 wc 뒤에 붙여주면 된다.



Posted by tuning-java
,
http://www.btoclub.co.kr/

오늘 우연히 알게 되었지만,
HP Software user 를 위한 클럽이 있다는 걸 알았다.

뭐 일반 개발자 분들에게는 별 관인이 가진 않겠지만,
로드러너를 사용하는 분들을 모아서 간담회도 가지고,
세미나도 주기적으로 하는 것 같다.

개인적으로는 로드러너가 좋은 툴이긴 하지만,
금전적으로 너무 사용하기 힘들게 되어 있는 툴이기 때문에,
그리 좋아하진 않지만,
만약 쉽게 사용할 수 있는 환경에 있다면,
성능 테스터들에게는 매우 편리한 툴이다.

누군가에게는 불가능한 테스트라 할지라도,
그 불가능함을 해결한 사람도 분명히 있을 수 있기 때문에,
저런 간담회는 가끔 가주면 좋을 듯...

요즘은 LR 쓸 일이 없어서...
Posted by tuning-java
,
소스코드를 웹 상에서 예쁘게 보여줄 일이 있을때 유용한 라이브러리가 있다.
바로 SyntaxHighlighter라는 것이다.
http://alexgorbatchev.com/wiki/SyntaxHighlighter
위의 URL에서 필요한 설명과 파일을 다운로드 하면 된다.

관련 파일들(js 파일과 css파일들, 그리고 swf(클립보드용 flash파일))을 다운로드해서 특정 위치에 넣어 놓고,
아래와 같이 소스에 추가하면 된다.

<script type="text/javascript" src="scripts/shCore.js"></script>
<script type="text/javascript" src="scripts/shBrushJava.js"></script>
<link type="text/css" rel="stylesheet" href="styles/shCore.css"/>
<!-- link type="text/css" rel="stylesheet" href="styles/shThemeDefault.css"/-->
<link type="text/css" rel="stylesheet" href="styles/shThemeEclipse.css"/>
<script type="text/javascript">
 SyntaxHighlighter.config.clipboardSwf = 'scripts/clipboard.swf';
 SyntaxHighlighter.all();
</script>

여기서 나는 eclipse 테마를 적용하기 위해서 저렇게 지정했고,
기본 테마를 쓰고 싶다면, 네번째 줄에 있는 주석을 제거하고, 그 아래줄을 주석처리하면 된다.
참고로 shCore.js 파일은 다른 js나 css보다 위에 있어야 한다.
(되도록이면 위의 순서를 따라주기 바란다.)

그리고 소스를 추가할 부분에는(Body 태그 안에는) 아래와 같이 사용하면 된다.

<pre class="brush: java">
자바 소스는 여기에...
</pre>

만약 여러분들이 개발한 사이트가 아닌,
블로그에 적용하고자 할 경우에는
http://gyuha.tistory.com/193
를 참조하면 된다.

Posted by tuning-java
,
앞서 포스팅한 starcraft2 tower defense 게임( http://starcraft2.pro/tower-defense  )
의 몇가지 꽁수가 있어서 공유한다.

1. 돈 늘리기
기본적으로 flash로 되어 있는 게임이기 때문에,
어떤 판이든 끝난 이후에 우측 마우스를 클릭한 이후에 "되감기"를 누르면,
만들어 놓은 unit들이 남아 있는 상태에서 게임이 다시 시작된다.
그 유닛들은 작동하지 않지만, 팔아먹을 수 있기 때문에,
해당 unit을 누르고 "Sell"을 누르면 돈이 올라간다는...

2. 게임 안끝내기
게임이 끝나면(40마리가 넘어서 지나가면)
화면이 좁아지면서,
메시지가 나타나는데,
화면이 다 좁아지기 전에,
Tips 메뉴를 클릭하면, 죽이지 못한 넘들의 count가 다시 0으로 reset 된다.


3. Local에서 즐기기
게임 URL에서 소스보기를 하면 .swf 파일이 있는 태그가 있다.
그 embed tag를 전체 복사하고,
swf파일을 다운로드 해 놓고,새로 html을 만든다.

브라우저에서 새로 만든 html을 수행하면,
로컬에서도 즐길 수 있다.
단 화면 크기는 소스에 있는 그대로 해야만 한다.

swf를 다운로드 하는 방법은 구글 크롬과 같은 브라우저에서 SWF의 URL을 입력하면,
파일을 다운로드 한다.
Posted by tuning-java
,

http://starcraft2.pro/beta

최근 약 2주간 빠져서 출퇴근 버스와 점심시간에 한 게임이다.

한번 빠지면, 헤어나기 힘든, 중독성이 강한 게임이다.


게임 방식은 좌측 하단에서 각 Unit들이 출발해서, 우측 상단으로 Unit들이 나간다. 그 Unit들이 나가지 못하도록 내가 무기들을 배치하고, Upgrage하는 것이 이 게임의 목표고, 만약 40마리 이상 빠져 나가면 끝난다.

가장 어려운 부분이 32번째 판인데, 그 판만 잘 넘기면 마지막판인 45판까지 잘 넘어갈 수 있다.

(46 판으로 넘어가면 축하 메시지가 나온다.)


32판까지는 어떻게 업그레이드하고, 배치해야 하는지 첨부에 있는 excel 파일에 정리해 놨으니 참고하기 바란다.

정확히 어떤 위치에 방어 빌딩을 만들어야 하는지는 아래 그림을 참조하면 된다.

34판에서 캡쳐…

(암 생각 없이 하다가 8마리 놓쳤다는 - -)


다 끝날때 까지 45판이 끝난 이후 캡쳐는 다음과 같다.


지금까지의 설명은 easy판에 대한 설명이었으며,
Hard의 경우는 질보다는 양으로 밀면된다.

Posted by tuning-java
,
Mac을 사용할 때 Windows에서 사용하는 Font들이 필요할 수도 있다.
예를 들면 이 글의 제목에 있는 Calibri나 Consolas와 같은 Font들이 대표적이다.
(참고로 Consolas는 소스코드나, 터미널 문자같은 것들을 표시할때 매우 좋다.)

하지만, 이 폰트를 따로 다운로드할 수는 없다.

따라서 아래의 링크에 자세한 설명이 되어있다.
http://www.wezm.net/2009/03/install-consolas-mac-osx/

간단하게 설명하자면,
MS의 Mac용 오피스 문서 Converter를 다운로드하면,
그 설치파일에 Font설치 파일이 포함되어 있으며, 그 파일을 사용하여 설치하면 된다.

절차는 다음과 같다.
1. Converter를 다운로드한다.
http://www.microsoft.com/downloads/details.aspx?FamilyId=6B9238E1-CF69-48C4-BF2D-C4A8ACEEE520&displaylang=en

2. 해당 파일의 우측 마우스를 클릭하여, "패키지 내용보기"를 선택하면 설치파일의 내용을 확인하는 창이 나타난다.
3. Contents/Packages/ 에 보면, "OpenXML_all_fonts.pkg"라는 파일이 있고, 이 파일을 실행하면 된다.

설치가 다 되었는지 확인하려면,
/Library/Fonts/Microsoft 폴더에 해당 Font들이 설치되었는지 확인할 수 있다.
Posted by tuning-java
,

사용자 삽입 이미지


http://www.mindnode.com/

freemind라는 무료 mindmap 프로그램도 있지만,
mindnode라는 무료 mindmap 프로그램도 있다.

한번 다운로드 해서 써 보면, Freemind보다 유연성을 제공한다는 것을 알 수 있다.

Posted by tuning-java
,

이제 집필 작업의 마지막에 대해서 이야기 하겠다.


마지막 이야기를 하기 전에, 
한가지 퀴즈…

“책 한권이 나오기 전에 필자(저자)는 책을 몇 번이나 읽어볼까?”

그 답은 아래 내용에...

- 출판사로 글을 넘겨서 출판될 때까지

출판사로 글을 넘겼다고, 집필 작업이 끝나는 건 아니다.

물론 필자의 경우 출판사로 넘기기 전에 적어도 3번 이상 전체를 읽어 보면서,
문맥이 이상하거나, 오타를 수정하는 작업을 수행한다.

그리고,

아무리 여러분들이 워드에 이쁘게 작업해서 넘겼다고 하더라도,
모두 text로 변환해서 글들을 교정한 다음에 이미지와 여러 틀에 맞추어 편집작업을 한다.

교정하는 과정에서 오타나 소스를 이상하게 나열할 수도 있기 때문에,
두 세번 정도 필자가 확인작업을 수행한다.

그 다음엔 index에 넣어야 할 단어들을 표시하기 위해서 한번 더 읽는다.

그리고, 조판 들어가기 전에 마지막으로 또 한번 읽는다.

그러니까 3+3+1+1 = 8 번.. 적어도 8번 읽고, 출판사 담당자 및 교정 담당자도 몇 번씩 읽어보기 때문에, 10번 이상 읽혀진 후 출간된다고 생각하면 된다.

그렇게 보는데도, 오타가 없을 수는 없다.
(그리고, 몇번씩 읽어 본다고 하더라고, 저자에게 리뷰하라고 주는 시간이 많지는 않다.
보통 금요일 저녁에 받아서 일요일 저녁에 주고… 저녁에 받아서 다음날 아침에 주고… 뭐 그런 식이다.)

그리고, 책 중간 중간에 들어가는 삽화는 필자가 그려달라고 원고 중간중간에 표시할 수도 있고, 기획자가 알아서 그림을 추가할 수도 있다.

모든 작업이 끝나면 인쇄에 들어가는데, 인쇄 들어가면 더 이상 수정은 못한다고 한다. (2쇄 나올 때까지 오타 찍힌 책들을 팔 수밖에 없다.)

더 자세한 내용들은 출판사 업무이기 때문에, 내가 그리 잘 알지는 못한다. 더 궁금하신 분들은 출판사 직원들에게 물어보시길…


- 판과 쇄에 대하여

나도 책을 쓰기 전까지는 정확하게 잘 몰랐지만, 책이 나올때 판과 쇄라는게 있다.

보통 2nd edition, 2판으로 제목에 붙어서 책이 나오는 경우가 있다. 이렇게 제목과 내용이 많이 보완 및 upgrade되어 나오는 경우가 “판”이다.

이와는 다르게, 처음에 보통 1,000~3,000부 정도의 IT책을 찍는데, 그 찍는 단위가 쇄이다. 만약 1,000부 정도씩 찍어서 11쇄로 찍혀 있는 책을 샀다면, 그 책은 10,000 부 이상 팔린 책이라는 의미가 된다. (만약 저자의 인세가 몇 %인지 안다면, 저자가 얼마나 벌었는 지도 알 수 있다.)

그리고, 보통 쇄를 추가하는 경우는 200부 정도 남았을 때 추가한단다.(최초 부수에 따라 다르겠지만…)

참고로 내 Blog2Book 자바 튜닝 책은 출간된지 1년 반정도 된 지금 아직 2쇄라는 …
(그래도 약 7개월만에 1쇄가 다 나갔다는…)


- 증정 준비

상황에 따라, 출판사에 따라, 번역을 하거나 집필을 하면 저자에게 본인이 작업한 책을 몇권 무료로 준다.

그 내용은 계약서에도 써 있다.

번역을 하거나 감수를 할때에는 몇권 안준다. 5~10권…

집필의 경우는 약 20권정도…

그래서, 필자의 경우는 Google Docs excel에 증정 대상자 목록을 집필 시작하면서 부터 관리한다.

특히 책을 쓰는데 도움이 되었거나, 업무에 도움을 많이 주신 분들에게는 보지는 않더라도, 한권 드리면 다들 좋아 하신다. ㅋㅋ

그런데, 갑자기 책을 드려야 하는 경우가 있을 수 있다. 예를 들어 대표이사 라던지, 높은 분들에게…

그렇기 때문에 증정리스트는 3~5권정도 여유분을 가져야만 한다.


- 홍보 하기

기본적으로 홍보는 출판사에서 알아서 한다.

좋은 기획자를 만나면, 홍보도 알아서 잘 해준다. 그래서 필자의 Blog2Book 자바 튜닝 책도, 기획자가 많이 도와 줘서 마소에 인터뷰도 올려주고, 이벤트도 기획해 주었다.

저자도 그냥 있기 보다는 본인 블로그나 기타 매체에 홍보하는 것도 좋다.

필자의 경우는 (지금 회사도 작진 않지만) 전에 큰 회사에 있어서, 사내 홍보팀에 홍보를 부탁하니 회사에서 한달에 한번씩 발간하는 사보 한페이지의 1/8도 되지 않는 부분에 할애를 해 주었다.그 쪽에 잘아는 사람이 있긴 했지만, 별로 마음에 안들어서 그냥 넘어갔다.(- -) 조금만 힘좀 쓰면, 매일 아침에 하는 사내 방송에 내 보내는 것도 많은 홍보가 될 것이다.

그리고, 팀이나, 커뮤니티에서 발간하는 뉴스레터가 있다면, 그 뉴스레터에 책에 대한 소개를 올리는 것도 많은 도움이 된다.

참고로 올해 11월에 출간될 예정인 Blog2Book Test 책은 내가 받을 집필료를 할애하여 구매하신 몇 몇 분들에게 좋은 선물을 제공하는 이벤트를 진행할 예정이오니 기대하기 바란다.
그리 큰 선물은 아니지만, 그리 작은 선물도 아니다. ㅋㅋ
(상황이 어떻게 바뀔지 몰라 그 선물은 뭔지 지금 공개하진 않겠다.)


- 마음의 준비

이 연재의 마지막으로 마음의 준비에 대해서 당부 드리고 싶다.

물론 여러분들이 책을 쓴다면, 그 부수에 따라 달라지지만, 책에 대한 리뷰가 여러 곳에 등록된다. 그 중 인터넷 서점에 올라오는 글들은 유심히 보게 된다.  나도 그 리뷰 보고 책을 사기 때문에…
그리고, 그 글들은 올라가면 끝이다. 저자가 지울 수도 없다. - -;

그냥 내 책에 대해서 사람들이 어떻게 생각하는지 알고 있어야 한다는 이야기다.

추가로, 책이 나온 후부터 Google, Naver, Yahoo 등에서 책 제목으로 자주 검색해 보면 많은 리뷰를 볼 수 있다. 별별 다양한 의견들을 볼 수 있다.

그러한 의견들을 보면, 나의 책에 대해서 안티한 사람들이 적지 않다는 것을 알 수 있다.

내가 뭐 탁월한 천재도 아니고, 완벽한 사람도 아니기 때문에 실수를 할 수도 있지만, 우리나라 사람들(특히 IT하는 분들)은 똑똑한 분들이 굉장히 많기 때문에 많은 오류들을 찾아 내고, 부족한 부분들에 대한 글들을 블로그에 올린다.

그분들이 알지 모르겠지만, 나는 구글, 네이버, 야후에서 검색된 내 책에 대한 모든 리뷰를 거의 다 읽었다. (아마도…)

하지만, 나는 일일이 대꾸를 하지는 않는다. 사람마다 생각은 다르기 때문에...

안티한 사람들이 많더라도, 책이 많이 팔렸으니, 안티한 분들의 수도 그에 비례한다고 생각한다.
(아닌가? )

그런데, 몇몇 오류를 갖고 그 책의 모든 내용이 신뢰할 수 없다고 매도하는 사람들이 있다.
그런 글들이나 말을 들으면 며칠간 기분이 안 좋은데, 어쩔 수 없다. 그냥 그러려니 하는 수 밖에…

그래서 필자가 이 절에서 하고자 하는 이야기는

“책이 나오기 전에 사람들의 다양성에 대한 마음의 준비를 해야 한다.”

는 것이다. 책에 대한 안티한 글들에 일일이 답할 필요도 없고, 열받아 할 필요는 없다. 여러분만 손해다.
(그래서 이번 책에는 누가 이 책을 읽어야 하는지에 대한 설명도 포함하였다. 제발 좀 누가 읽어야 하는 책인지 확인해 보고 사서 보시면 고맙겠다.)




지금까지 짧으면 짧고, 길다고 하면 긴 "How to write a book" 연재를 마치고자 한다.
분명 도움이 되실 분이 있을꺼라 생각하고, 집과 출근버스에서 정리한 내용들이다.
마지막으로 이 글을 읽어주신 여러분께 한가지 당부를 드리고 싶다.

책의 내용이 저자의 의도와 100% 맞는 독자도 있고,
1%도 맞지 않는 독자도 있을 것이다.
바이블을 원하는 독자가 입문자를 위한 책을 읽을 경우 그러한 만족도는 많이 떨어질 것이다.
그렇다고, 그 책을 "쓰레기"나 "수박 겉핥기"로 매도하지는 말아 주기 바란다.

책을 쓰는 것은 저자의 이름을 걸고 하는 작업이다.

여러분들이 아무생각 없이 읽을 수도 있는 책의 한 챕터(장)를 쓰기 위해서는 적어도 2주, 많으면 한달이라는 시간이 소요된다.

그 책을 읽고 나서 리뷰를 쓸 때에는 한시간도 걸리지 않을 것이다. 따라서, 블로그나 인터넷 서점에 책 리뷰를 올릴 때에는 저자의 노력을 조금이라고 생각해 주고 써 주었으면 한다.

그래야, 그 저자의 다음 책들을 기다리는 독자를 위해서 여기 저기서 열심히 책을 쓰고 있는 저자, 번역자,그리고 출판사 담당자들에게 힘이 된다.

Posted by tuning-java
,
내가 한, 두번 Tomcat 5.5와 6성능 비교를 해 본 결과
동일한 Application을 수행할 때 Tomcat 6에는 성능 문제가 존재한다.
아직 정확한 성능 저하의 원인을 밝히진 못했지만,
TPS 상으로 적어도 10~20% 정도 저하된다.

어느정도 Tomcat 6의 성능이 안정화 될 때까지는 쓰지 않는 것을 권장한다.

참고로 아래 링크를 활용하면, 어떻게 Tomcat의 성능을 최적화 할 수 있는지 알 수 있다.

http://www.solutionhacker.com/?p=147




Posted by tuning-java
,

누차 이야기 하지만, 이 이야기는 지극히 개인적인 의견을 정리한 것이다.



출판사마다 작업의 방식이 다를 수 있고,
집필자마다 순서가 다를 수 있다.
절대적인 방법이 아니라는 것을 알아두기 바란다.
그리고, 순서대로 읽어주기 바란다.

 

번역이든, 집필이든,교육 교재든 출판사나 해당 회사와 계약이 되었다면
본격적으로 집필을 시작하자.

1. 집필의 순서

필자의 경우는 목차에서 자신 있는 부분을 먼저 작성한다.
(그래야 진도가 팍팍 나가는 느낌이 난다. )

그 다음엔, 좀 자신 없고, 매우 자신 없는 부분 순으로 작성한다.

만약 매우 자신 없는 부분부터 작성하면, 처음부터 질려서 포기하게 될 수도 있다.

그리고, 책을 쓰면서, 이렇게 쓰면 되나? 하고 본인에 대한 걱정이 생기면,
출판사 담당자에게 그때까지 쓴 부분을 보내주면서 괜찮은지 물어보는 것도 좋은 방법이다.

 

2. 집필 환경

번역할 때와 집필할 때의 환경은 틀리다.
번역은 PC가 있을때, 5분이나 10분만 있어도, 한줄 한줄 번역하면 되기 때문이다.

물론 그렇게 하면 앞뒤가 안 맞을 수도 있는데, 그건 나중에 해도 된다. ㅋㅋ

필자가 추천하는 환경은 적어도 30분 정도의 시간이 있을때 집필하는 것이 좋으며,
집필하기 위한 환경을 구축해 놓은 PC를 따로 준비하는 것이 좋다.
(그래서 필자는 넷북과 Mac을 준비했다. 어떻게 보면 책 쓴다는 핑계로 산 걸 수도 있다. ㅎㅎ)

필자가 보유하고 있는 PC만 해도,
- 회사 PC
- 집에 있는 와이프 인터넷 서핑용
- Mac
- Net Book

이렇게 4대다. 그래서, 이 PC 저 PC에 자료들이 혼재되어 있으면,
썼던 글을 덮어 쓸 수도 있고,
지울 수도 있고,
여러 안습 상황이 발생할 수 있다.

그래서, 회사 PC 및 인터넷 서핑용에서는 절대 집필 작업을 안하고,
Mac과 Net Book은 잠자기와 최대 절전모드를
최대한 활용하여, PC를 딱 열면 앞서한 작업을 연속해서 할 수가 있다.

만약 그렇게 하지 않으면, 집필 준비 작업만 적어도 5분 걸린다.

워드 띄우고, 이클립스 띄우고, 참고했던 문서나, 자료들 띄우고, …

되도록이면, 다른 사람의 간섭이 없는 그런 곳에서 작업하기를 권장한다.

글 쓰다가, 누가 말 시키거나 커피 먹자고 해서 집필이 끊기면, 나중에 다시 이어서 집필하기 어려울 수도 있다.
(이게 도대체 뭔 말이지? 하면서…)

 

3. 출처 밝히기

저작권에 걸리지 않기 위해서는, 출처를 꼭 명시해야만 한다.

때에 따라서는 저자의 동의를 얻어야 할 수도 있다.

필자가 Blog2Book 자바 튜닝 책을 집필한 당시에,
참조한 이미지에 대해서 Sun 에 괜찮은지 문의를 했다.

그때 Sun의 답은 황당했다.

“지금까지 이런 문의는 처음이라서…본사에 문의하겠습니다.”

한 3주 기다리다가 안와서 다시 문의하고, 출판사의 의견을 들어보니,
이미지는 다시 그리면 저작권에 위배가 안 된단다. (지금 저작권은 어떤지 모르겠지만..)

여하튼, 출처 밝히는 습관을 들여야 한다.

나중에 넣으려고 하면, 절대 못 넣는다.

 

4. 가끔은 쉬기

집필하는 작업은 개학이 1주일 정도 남아있는 초등학생의 기분과 비슷하다.
(물론 초등학교때 방학을 어떻게 보냈는지에 따라서 달라지겠지만, 필자의 경우…)

뭔가 하긴 해야 하는데,
책 쓰는 것 보다 이것을 더 하고 싶은데,
주말에도 책을 쓰긴 써야 하는데, PC 앞에만 앉으면 뭔가 딴짓만 하게 되고,

등등 스트레스가 적지는 않다.

프라모델을 만들거나, RC등을 조립하거나, 사진 찍으러 다니는 그런 일과
집필은 정 반대의 기쁨이기 때문이다.

그래서 가끔씩 쉬어 주어야 한다. 한달에 주말 내내 PC앞에 앉지 않고, 여행을 간다거나,
친구들을 만나서 술을 마시거나 하는 것이 정신 건강상 좋다.

그렇다고 집필하는 작업이 스트레스만 있는 것은 아니다.

책이 완성되어 나왔을 때, 저자에 내 이름이 박혀 있을 때의 기쁨은 다른 것과 비교할 수 없다.
(물론 와이프가 임신했다는 사실을 알았을 때가 더 기뻤다. ㅋㅋ)

 

5. 이미지는 BMP로 저장하기

왜 그런지 모르것지만, 모든 출판사가 이미지를 BMP를 달라고 한다.

되도록이면 이미지는 BMP로 저장해 놓기를 권장한다. (나중에 일괄로 변환해도 되긴 하지만, 만약 화면을 캡쳐하여 저장할 일이 있을때에는 BMP로 저장하는게 좋다.)

그리고, 순서를 맞추어서 01.aa.bmp와 같은 형식으로 숫자를 넣어 놓는 것이 좋다.

 

6. 목차 Update 하기

분명 최초 계획했던 목차에서 실제 목차는 바뀌게 되어 있다.

그래서 반드시, 목차가 추가되거나 삭제되었을 경우에는 반드시 update해야만 한다.

필자의 경우는 여러대의 PC에서 작업을 했기 때문에, Google Docs의 Word와 엑셀을 이용해서 목차를 관리했다.

그리고, 집필한 문서들이나 소스, 이미지들은 Google sites를 이용하여 저장했다. (반드시 비공개 사이트로 만들어야 한다. ㅋㅋ)

 

여하튼 계약 했으면, 열심히 쓰자~~~

Posted by tuning-java
,

다시 또 한번 이야기 하지만, 이 이야기는 지극히 개인적인 의견을 정리한 것이다.



출판사마다 작업의 방식이 다를 수 있고,
집필자마다 순서가 다를 수 있다.
절대적인 방법이 아니라는 것을 알아두기 바란다.
그리고, 순서대로 읽어주기 바란다.

 


그럼 세번째... 어떻게 시작해야 할 지에 대해서 알아보자.
집필을 하기 위해서 먼저 해야 하는 것은 "목차"를 만드는 것이다.
다른 것이 우선 아니냐고?

아니다.

먼저 목차를 만들어야 한다.
물론 목차를 만들기 전에는 앞에서도 이야기 했지만, 무엇에 대해서 책을 쓸 지에 "주제"를 선정하고, 자료를 모으는 작업은 선행되어야 한다.
하지만, 이 작업은 책을 쓰지 않는다고 하더라도 누구나 본인이 하는 작업을 정리 할 때 필요한 작업이다.

그래서, 본격적인 집필 시작은 목차를 만드는 작업이라는 것이다.

목차는 뭐 상세 목차까지 적어주면 되겠지만, 그럴 필요는 없이 그냥
대분류 목차로 적어도 15~20개 정도 적어 두면 된다.
(되도록이면 엑셀로)
만약 처음 집필하는 분이시라면, 상세 목차도 적어두면 좋을 것이다.

목차가 이쁘게 잘 선정 되었다면, 그 다음에는 출판사에 Contact 하는 것이다.
-주변에 아는 사람이나 친구, 친구의 친구가 출판사와 아는 사람이거나,
-친구중 저자가 있을 경우에는
그 아는 사람 통해서 Contact하는게 좋다.

만약 지인이 없어도 그냥 출판사에 Contact 해도 뭐라고 할 사람 아무도 없다.

메일로 연락해도 되고, 전화로 해도 되고, 만나도 된다.
아마도 여러분이 제시한 주제, 목차, 구성이 마음에 든다면 직접 만나서 이야기 하자고 할 것이다.

참고로 Blog2Book 자바 성능을 결정짓는... 책의 경우에는
A모 출판사에서 두명의 리뷰어에게 목차 리뷰를 받은 후 빠꾸를 먹었다.
(이런책은 아무도 필요 없다는 어떤 리뷰어의 리뷰와 함께...
논란의 여지가 있을 수 있어 말씀드리지만, 다른 한분은 목차가 괜찮다고 하셨지만,
책의 주제를 다른방향(Advanced Java ? 뭐 그런 방향...)으로 바꾸어 보라는 의견을 주셨다.)

하지만 운 좋게도, 그 빠꾸를 먹은날 한빛미디어에 책을 서너권 집필한 저자와 만났는데,
그분이 직접 출판사와 연결 시켜 주셨다.
그때 그 지인이 이야기한 중요한 이야기는
"책을 쓰려고 할때, 자신이 원하는 방향의 책이 아니면 쓰지 않는 것이 나아요.
이책임(그땐 직급이 책임(과장)이었다.)님은 튜닝 책을 쓰려고 한거지 다른 책을 쓰려고 한게 아니잖아요..."
라는 말이다. 그 말에 용기를 얻고 한빛 담당자분과 만나서, 목차를 약간 수정하고 집필하기로 했다.
안 그랬으면, 아마도 그 책은 세상에 나오지도 못했을 것이다.


이 이야기를 왜 하냐면,
여러분들이 직접 쓰고 싶은 책이 있다면, 출판사 하나에서 빠꾸 먹었다고 포기하지 말라는 것이다.

그런데, 어느 출판사나 이익을 내야하기 때문에, 1000부도 팔릴 것 같지 않은
그런 책을 내지는 않는다.
다시 말하면, 여러분들도 사지 않을 그런 책은, 다른 사람도 안산다는 것이다.

필자는 이번에 테스트 책을 썼지만, 원래는 테스트 책을 쓸 생각도 없었다.
그냥 Rex Black 아저씨 책 중 기본이 되는 몇권중 한권을 번역하려고 했었다.
하지만, 그 결과는 4개 출판사에서 그러한 번역서는 시장성이 없다는 이유로 빠꾸 먹었다. - -;
그 4개 출판사와 Contact하는 중에 심심해서 적어 놓은 것이 이번에 나올 Blog2Book Test책의 목차다.

그것도 그냥 책 쓸려고 한 것도 아니고, 그냥 목차만 만들어 놓고 한번 정리해 보면 좋겠다고 생각하고,
출판사 담당자에게 그냥 함 보라고 보여 줬던 것이 화근(?)이 되었다.
(그 담당자가 윗분에게 보여드리고, 그분이 한번 진행해 보라는 지시가 떨어져서리...)

여하튼,
출판사에서 OK하면,
책을 누가 보고, 누가 사고, 어떤 내용인지에 대한 소개서를 쓰고,
샘플챕터 하나 써서 내라고 한다.(아무리 목차가 좋아도 글이 맘에 안들면 안되니까...)
그리고 나서 마음에 들 경우,
계약금 받고 (보통 신사임당 10장에서 세금 좀 띄고) 계약서를 쓴다.

그런데, 여기서 한가지 유의할 점은,
"뭐 그럴 필요 있나? 다 쓰고 나서 가져가지"
라는 생각을 할 수도 있을 것이다.
그런데, 샘플 챕터를 제출하는 이유는 필자의 어떤 점들을 고쳐야 할지를 확인하는 데에도 의의가 있다.


그렇게 다듬고, 나머지 부분을 작성하는 것과
모두 작성해 놓고 문체나 책의 방식을 수정하는 것은
엄청난 차이가 있을 것이다.
(뭐 "난 상관 없어~~" 라는 분들은 그냥 다 써놓고 출판사를 만나도 된다.)

다음에는 본격적인 집필을 하기 위한 또 다른 준비작업에 대해서 알아보자.

Posted by tuning-java
,


다시 한번 이야기 하지만, 이 이야기는 지극히 개인적인 의견을 정리한 것이다.



출판사마다 작업의 방식이 다를 수 있고,
집필자마다 순서가 다를 수 있다.
절대적인 방법이 아니라는 것을 알아두기 바란다.
그리고, 순서대로 읽어주기 바란다.

 

두번째 이야기로, 제목에 있는 자료 모으기에 대해서 알아보자.

제목대로 자료만 잘 모으면 두번째 이야기에서 필자가 말하고자 하는 것은 끝난다.
(본인이 자료를 잘 모은다고 생각하면 이 글은 안 읽어도 된다.)

그렇다면, 어떻게 하면 자료를 잘 모으는 것일까?

구글링만 잘하면 자료를 잘 모은다고 할 수 있을까?

꼭 그런것 만은 아니다.

필자가  Blog2Book 자바 튜닝 책을 쓰려고 마음 먹은 것은 출판되기 3년전 이었다.
그냥 말 그대로, 마음만 먹고, 자료를 모으기 시작했다.
Sun, IBM, HP등 IT 관련 회사의 뉴스레터를 구독하고, 만약에 튜닝과 관련 있는 내용이라면,
그리고, 내가 경험한 내용도 체계적으로 정리해 놓으려고 노력했다.

그런데, 여기서 중요한 것은 자료를 모으는 것도 중요하지만,
정리하고, 분류하는 것도 중요하다는 것이다.

만약 집에 양말을 보관하는 곳이 두군데 이상이라면, 한곳의 양말이 떨어지면, 두번째 장소를 확인하고,
거기에도 없으면 세번째 장소를 찾아보게 될 것이다. 그 때 발생하는 시간 낭비는 급한 출근 및 등교시간에 적지 않은 시간이다.

여러분들이 모으는 자료도 마찬가지다.

뭐 ~~~ 메일 오면 바탕화면에 대충 저장하고, 
나중에 잘 찾으면 되겠지…
라는 생각을 가진 분도 있을 것이고,

뭐 ~~~ 자바라는 글자만 들어가 있으면,
한 폴더에 다 모아서 저장해 놓는 분도 있을 것이다.
(여러분들이 Mac을 쓴다면, 검색기능이 워낙 좋아서 신경 쓰지 않아도 되긴 하지만…)

그런데, 그렇게 하면 안 된다는 것이다.

꼭 책을 쓰기 위해서만이 아니라, 여러분이 프로젝트를 하거나, 무슨 일을 하더라도,
자료를 정리하고, 세부적으로 분류하는 습관을 가지면,
나중에 문서를 찾고, 참조할 때 매우 편리할 것이다.

예를 들어 자바도 각각의 패키지로 분류할 수 있고,
신기술도 여러 가지로 분류할 수 있다.

지금과 같은 정보의 홍수 속에, 이렇게 분류하는 것도 여러분들의 능력이다.

다음 글에서 설명하겠지만,
나중에는 이렇게 분류해 놓은 것에 순서만 붙이면,
그게 바로 목차가 된다.

 

그리고, 여러분들이 모아놓은 자료는 신뢰성이 있어야 한다.
필자가 쓴 책에 있는 내용에 딴지 거시는 분들도 많지만,(뭐 그 말들이 틀렸다는 건 아니고…)
여러분들이 모아 놓은 자료를 100% 신뢰해서는 안된다.
직접 눈으로 확인한 이후에 책에 넣어야만 한다.

 

보통 책을 집필할 당시에는 하루에 많으면 A4기준 5~10페이지를 쓰는 날도 있지만(그림 및 이미지가 많을 때에는 ㅋㅋ)
하루에 3장 정도 쓰는게 일반적인 속도다.(하루에 책쓰는데 아침과 저녁에 각 한시간씩 두시간 투자할 경우…)

그런데, 한 부분에서 필자도 잘 모르고, 막히는 경우에는 해당 부분의 글을 쓰기 위해서 3주가 소요될 수도 있다.
(더 자세한 이야기는 네번째 이야기인 집필하기에서…)

 

여러분들이 아무리 많은 자료를 모았다고 생각되더라도,  
책을 집필할 때에는 많이 부족하다는 것을 느낄 것이다.
그래도 일단 모아라…

 

여러분들이 글을 모으고, 정리해 놓기 시작했다면 다음 글을 읽어보기 바란다.

Posted by tuning-java
,
아시는 분들은 아시겠지만,
얼마전 나의 두번째 책을 탈고 했다.

앞으로 남은 일들도 있지만, 약간의 여유가 있어
내 경험을 기준으로 책은 어떻게 쓰는지, 어떻게 쓰면 되는지, 어떻게 시작하면 되는지 간단히 정리해 보고자 한다.

참고로 이 글은 지극히 개인적인 의견 및 경험이다.

이렇게 정리하고자 하는 이유는,
"내가 가진 지식을 누군가에게 알려주고 싶은데..."
"이거는 정리 잘 해 놓으면 도움 되는 사람들이 많을 꺼야..."
"내가 한 이런 고생은 다른 사람이 안했으면 좋겠다..."
"나도 책이란거 한번 써서 돈좀 벌어볼까?"
라는 분들을 위해서 정리하는 것이다.
(그런데 위의 4가지 사항중 마지막 사항에 관심있는 분들은 더 이상 읽지 말기바란다.
생각보다 IT책은 그리 돈은 안된다. - -;)

그러면 어떻게 준비해야 할까?
책이란 것을 쓰려고 준비하기 위해서는 먼저 경험이 필요하다.
프로젝트 경험이나, 개발 경험을 말하는 것이 아니다.
집필의 경험을 말하는 것이다.

아무도 아무것도 안하고 집필의 경험을 쌓을 수는 없다.
가장 집필 연습을 하기 좋은 것은
- 교육 기관의 교재 (즉 교육 교재를 말한다.)
- 번역서
다.
"난 블로그에 글 많이 썼고, 보고서도 많이 썼는데"라고 하는 분들도 있겠지만,
누군가의 통제하에 출판사가 만족할 수 있는 글을 쓰는 것은 쉽지 않다.(물론 내가 글을 잘쓴다는 것은 아니다. ㅎㅎ)
즉 출판사나 교재를 만드는 곳이 어떻게 돌아가는지를 교재나 번역서를 쓰면서 배우는 것이 좋으며,
기회가 되면 반드시 한번 도전하기 바란다.
(출판사에는 항상 저자나 역자를 향한 문이 열려있다. 출판사 홈페이지를 한번 뒤져보면 내 말이 거짓이 아니라는 것을 알 수 있다.)

그런데, 무엇보다도 이러한 경험을 쌓을 때 중요한 것은 약속을 지켜야 한다는 것이다.
누구와의 약속이냐면,
- 출판사와의 약속
- 자기 자신과의 약속
- 독자와의 약속
을 말하는 것이다.

출판사와는 기본적으로 납기를 기켜야 하며,
독자의 문의가 있거나 요청이 있을 때 그에 대한 답을 해 주어야 하며,
자신과의 약속은 하루의 일정시간, 일주일의 일정시간은 위의 모든 약속을
지키기 위해서 시간을 할애하겠다는 약속을 지켜야 한다는 것이다.

그렇지 않다면 아무것도 할 수 없다.


첫번째 집필한 Blog2Book 자바 성능 튜닝 책은 집필만 3개월, 직접 리뷰 1개월후 출판사로 넘겨서 납기에 문제가 없었다.
하지만, 이번에 집필 완료한 두번째 책(Blog2Book Test)은 납기를 무려 7개월이나 delay 했다.
이렇게 delay된 가장 큰 핑계는 회사를 옮기면서 정신적 여유가 없었다는 것이지만,
가장 큰 이유는 내가 게을렀기 때문이다.
회사를 옮긴 이후에 절대 이렇게 해서는 책을 쓸수 있는 시간이 없다는 판단을 했고, 어떻게 해서든 시간을 만들기로 했다.
그 시간을 만들기 위해서 넷북을 샀고, 출근 버스에서 집필했다.
(도저히 퇴근버스에선 멀미나서 쓸 수가 없다.)
아마도 이 책의 1/2 이상은 출근 버스에서 집필했을 것이다.
(그런데 출근 버스에서 책을 쓰면 인터넷이 안되어서 업무 가속도가 장난이 아니다.)

다음에는 그럼, 어떻게 시작하는지 알아보자.
Posted by tuning-java
,
제가 별로 많이 도와주진 않았지만,
두명의 S 사에 있는 후배들이 Head First AJAX 책을 거의 10개월에 걸쳐 작업한 번역서가 나왔습니다.
제가 감수평까지 썼지만, 표지엔 왜 감수자 이름이 안들어 간지는 모르는 그런 책...
AJAX에 관심 많으신 분들은 정리하는 관점에서 보시면 많은 도움이 될 겁니다.
사용자 삽입 이미지


Posted by tuning-java
,
책 계약일로 따지면
1년 2개월동안,

실제 쓴 기간을 따지면,
8개월동안

집필한 작업이 거의 완료되었다.

이제는 여러 베타 리더 분들의 리뷰를 받아서 보완하는 작업을 하고 있고,
다음주에 원고를 출판사에 넘기기로 했다.

집필한 책의 대분류 목차는 다음과 같다.
A. 테스트에 대한 재미없는 이야기들
B. 단위 테스트 쉽게 해보기
C. 정적인 테스트 하기
D. 통합 테스트도 쉽게 해보기
E. 성능 테스트는 이렇게
F. 보안 테스트도 어려운 것 만이 아니네
G. 프로젝트를 마무리하는 테스트는 이런 것이 있구나.

순으로 되어 있다.
더 상세한 목차는 나중에 포스팅하겠다.

목차를 몇몇 개발자 분들에게 보여준 결과
B,C,D를 대체적으로 좋아하고,
가장 인기 있는 부분은 B 부분인 것 같다.

근데, 이 책은 바이블이 아닌 채널만을 열어주는 책이기 때문에
그리 깊숙히 들어가지 않는다.
하지만, 개발자들이 여러 방식의 테스트를 하기 위한 참조 서적은 될 수 있을 것이라고 생각한다.


이 책을 기다리는 분은 그리 많지 않겠지만, 11월까지만 기다려 주시길...
Posted by tuning-java
,


우리팀 팀원 한분이 Snow Leopard Retail version과 10A432 버전을 깔아서 사용한 후기를 보내줘서
그 내용을 허가 받고 공유한다.
(물론 그분도 여기저기서 확인한 내용이라고 한다...)
오늘부터 Snow Leopard가 배송된다니, 어떻게 바뀌었을지 궁금하다.
(난 팀장님이 Family 버전인가 뭔가를 사서 하나 설치할 수 있다. ㅋㅋㅋ. 받아 놓고, 책 다쓰면 한번 밀어야징...)

뭐가 달라졌는지 확인할 수 있는 관련 기사는
http://news.naver.com/main/read.nhn?mode=LSD&aid=0001952304&oid=092&mid=sec&sid1=105
를 참조하기 바란다.

·
     
DVD없이 설치

o  디스크 유틸리티에서 하드디스크 파티션 분할 (용량은 이미지 용량만큼)

o  복원탭에서 소스를 OS이미지가 있는 .dmg 파일을 선택, 대상을 분할된 파티션으로 선택하여 복원

o  시동 디스크 유틸리티에서 과정을 거쳐 만들어진 파티션을 선택

o  설치!



·
   
Snow Leopard에서 64비트 커널 부팅을 Default 설정하기

o  기존 Device Driver kext 호환을 위해서 서버군인 Xserve 제외한 모든 기종에서 default커널은 32비트를 유지하고 있다. 아래 방법은 이를 해결하여 64비트 커널로 부팅 가능하게 한다.

o  64비트 커널 사용 가능한지 확인

§  터미널에서 다음과 같이 입력: ioreg -l -p IODeviceTree | grep firmware-abi

o  (방법1) /Library/Preferences/SystemConfiguration/com.apple.Boot.plist 설정

§  <key>Kernel Flags</key><string></string>...

§  <key>Kernel Flags</key><string>arch=x86_64</string>으로 변경

o  (방법 2) nvram설정

§  터미널에서 다음과 같이 입력: nvram boot-args="arch=x86_64"

 


·
     
Snow Leopard에서 True Type Sub-pixel Rendering 적용하기 (Workaround)

o  현재(10A432) Snow Leopard에는 자사의 애플 시네마 디스플레이가 아닌 LCD 연결된 경우 Sub-pixel Rendering 적용되지 않는 버그를 가지고 있다. Sub-pixel Rendering 적용되지 않으면 화면 가독성에 문제가 있을 있다.

o  아래와 같이 터미널에서 입력 , 재로그인하면 Sub-pixel Rendering 적용된다.

§  defaults -currentHost write -globalDomain AppleFontSmoothing -int 2


Posted by tuning-java
,
IBM의 RedBooks라는 사이트가 있다.
이 사이트에서는 여러 종류의 문서들을 제공해 주고 있는데,
그중 리눅스와 관련된 e-book(PDF 파일)들이 좋은게 있어서 링크를 걸어 둔다.

http://www.redbooks.ibm.com/Redbooks.nsf/portals/Linux?Open&page=popular


물론 무료이며,
리눅스쪽 관련 일을 한다면,
Linux Performance and Tuning Guidelines
http://www.redbooks.ibm.com/abstracts/redp4285.html?Open
를 읽어 보길 추천한다.
이 문서에는 다음과 같은 목차로 정리되어 있다.
Chapter 1, Understanding the Linux operating system
Chapter 2. Monitoring and benchmark tools
Chapter 3. Analyzing performance bottlenecks
Chapter 4. Tuning the operating system

난 아직 시간이 없어서 - -;

그리고,
나 같이 넷웍쪽 아는 정보가 별로 없다면,
TCP/IP Tutorial and Technical Overview
http://www.redbooks.ibm.com/abstracts/gg243376.html?Open
도 읽어 보면 많은 도움이 되리라 생각된다.
목차는 다음과 같다.

Part 1. Core TCP/IP protocols
Chapter 1. Architecture, history, standards, and trends
Chapter 2. Network interfaces
Chapter 3. Internetworking protocols
Chapter 4. Transport layer protocols
Chapter 5. Routing protocols
Chapter 6. IP multicast
Chapter 7. Mobile IP
Chapter 8. Quality of service
Chapter 9. IP version 6
Chapter 10. Wireless IP

Part 2. TCP/IP application protocols
Chapter 11. Application structure and programming interfaces
Chapter 12. Directory and naming protocols
Chapter 13. Remote execution and distributed computing
Chapter 14. File-related protocols
Chapter 15. Mail applications
Chapter 16. The Web
Chapter 17. Network management
Chapter 18. Wireless Application Protocol
Chapter 19. Presence over IP

Part 3. Advanced concepts and new technologies
Chapter 20. Voice over Internet Protocol
Chapter 21. Internet Protocol Television
Chapter 22. TCP/IP security
Chapter 23. Port based network access control
Chapter 24. Availability, scalability, and load balancing
Appendix A. Multiprotocol Label Switching






Posted by tuning-java
,
리눅스에서 어떤 폴더에 포함된 파일들의 크기를 확인하려면 du 라는 명령어를 사용하면 된다.
만약 aaa 라는 폴더에 여러개의 파일이 존재할 경우

du -h -s --apparent-size ./aaa/

라고 하면 해당 폴더가 갖고 있는 모든 파일의 크기만 보여준다.

여기서
-h: 바이트를 kb, mb 등으로 변환
-s: 지정한 폴더 크기만 출력(없으면, 하위 폴더 크기도 출력)
--apparent-size: 디스크 사용량이 아닌 apparent size를 출력(이게 뭔지 나도 잘 모름 - -)



Posted by tuning-java
,
http://www.ibm.com/developerworks/kr/library/au-aixperformancetuning/index.html

아침에 메일온걸 확인하다가, 고급 성능 조정의 개념이라는 글이 있어 이렇게 링크를 건다.

그런데, 상세한 가이드라기 보다는 개략적인 가이드라서
어느 정도 경험이 있는 분들이 봐야하는 그런 문서인듯...

추가로 메일을 보니, 에릭 감마 아저씨가 한국에 오는듯... 근데 무슨 QnA가 한시간이여???
안구라 선배가 가면 많은걸 물어볼텐데... ㅋㅋ

Jazz라는 제품 설명하러 오는거 같다.
Posted by tuning-java
,
Objective C 번역서가 나왔습니다.

일본 아저씨가 쓴건데,
제가 아는 후배가 번역한거죠.

사용자 삽입 이미지

맥이 있어야만 쓸수 있다는 단점이 있죵...
Posted by tuning-java
,
그동안 회사일도 너무 바쁘고,(간만에 개발 작업을 - -.... 어떤 작업을 했는지는 추후에 블로깅 예정이다.)
집안일도 있고,(집을 이사해야 해서...)
집필도 하느라 너무 바빴다.

집필 계약상으로는 원래 2월에 완고인데,
회사 옮기고 이것 저것 정신이 없는 관계로 거의 5~6개월을 까먹었다.

여하튼 정신차리고 열나게 집필중이고, 이번달 말에 1차 완료본을 출판사에 제출할 예정이다.

9월 중순까지 부족한 부분들 채우기 + 각종 오타나 오류들 잡기 + 전반적인 흐름 다듬기
작업을 완료해야 해서 당분간 블로깅은 쉽지 않을 듯 하다.

Blog2Book Test의 목표는 개발자 분들이 어려워 하는 테스트에 대해서
쉬운 접근을 할 수 있도록 도움을 주는 것이다.

그럴려면 기본적인 이론에 대한 설명과 실전에 대한 설명도 같이 있어야 하는데,
내가 정리할 수 있는 한 최선을 다하긴 했지만,
보안 테스트에 대한 부분은 정말 쉽지 않다.
이 부분을 뺄까 아직도 고민중이지만,
욕을 많이 먹을 수  있는 부분이 될 확률이 크다.

게다가 각종 오픈 소스 테스트 툴에 대한 소개도 많이 하고 있는데,
내가 전지 전능한 사람이 아니라서, 분명히 소개한 툴에 대한 전문가라면
수박 겉핥기라는 소리를 들을게 뻔하다.

내가 고급 개발자가 아니기 때문에,
고급 개발자를 위한 책은 쓸 수도 없고,
개발에 발을 들인, 공부중인 학생들, 테스트라는 것에 항상 치이거나 걱정하는 분들을 위한
소개서라고 생각하는 것이 맘 편할 것이다.

일정상 빨리 처리 된다면 2009년 11월 중으로 책이 나올 예정이오니,
9월 중순에 완고하여 출판사로 자료를 넘기면,
책의 목차를 오픈할 예정이다.(뭐 대단한 것도 아니지만...)

현재까지의 Blog2Book Test의 가제는
"개발자도 쉽게 배우는 테스트 이야기"

"개발자도 쉽게 배우는 테스트와 테스트 툴 이야기"
정도가 될 것이다.

그런분은 많지 않으리라 생각하지만,
내가 뭘 하는게 그리 블로깅도 안할까 라는 생각을 하는 구독자가 혹시나 있을까봐
한번 정리해 봤다. ^^;
Posted by tuning-java
,

앞으로 개발할 시스템의 UI를 개발하시는 분이 익숙한 프레임웍을 쓰신다고 해서,
원하시는대로 하라고 말씀드리니, Webwork에 iBatis를 사용하신단다.

아시는 분은 아시겠지만, Webwork는 2007년 이후로 update가 안되고 있다.

여하튼, 정확히 어떤건지 확인해 보려고 찾던중,
어떤분께서 굉장히 자세하게 설명해 놓은 링크가 있어서 여기에 걸어둔다.(여하튼 대단한 분들 많다.)
http://utumdol.springnote.com/pages/1628432

이런거 필요 엄따, 영어로 봐도 된다는 분은 아래 링크로...
http://www.opensymphony.com/webwork/wikidocs/Getting%20Started.html
Posted by tuning-java
,
http://jensor.sourceforge.net/

형이 어떻게 알고 알려준건지는 모르겠지만,
알려준 프로파일링 툴인 젠서(이렇게 읽으면 되나?)

관련 문서들을 대충 읽어 봤는데,
하나의 메소드당 30 마이크로 초 정도 잡아먹는단다.
그럼 그게 30번 불리면 1ms 정도 잡아 먹는다는 이야기가 되는데...
30000 번 정도의 메소드 호출이 있으면,
1초의 시간을 잡아 먹을듯...

근데 원격 기능이 없는듯 해서 약간 아쉽다.
Posted by tuning-java
,
https://www.ibm.com/developerworks/kr/views/java/libraryview.jsp?type_by=기술자료&view_by=Search&search_by=사람을+위한+자동화&S_TACT=105AGX55&S_CMP=EDU

책 쓰면서 알게된 사람을 위한 자동화 시리즈.
지금이라도 알게되어서 다행이다.

지속적인 통합이나 테스트에 대하여  관심있는 분이라면 꼭한번 읽어봐야하는 주옥같은 자동화에 대한 내용들이다.
Posted by tuning-java
,