원서명은 Pro Android 2 이다. 제목만 봐서는 뭔가 고급스러운 내용을 다루는 것 같지만 기초 입문서에 가깝다. 그렇다고 내용이 부실한 것은 아니고, 안드로이드 전반에 걸친 내용을 잘 다루고 있다.

그리고 유용한 내용도 많이 있는데, 컨텐트 프로바이더를 직접 구현하는 것이나 (3장), 검색 관련된 것 (14장), 티타늄 모바일 (17장) 관련 내용은 상당히 유용했다.

단점을 꼽아보자면, 책이 좀 정리정돈이 안된느낌이다. 예를 들어 이 책에는 커맨드라인에서 sqlite 툴을 이용하여 db 내용을 보는 법에 대한 설명이 나오는데, 목차를 봐서는 이런 내용이 어디에 나오는지 알 수가 없다. (어디에 나올지 한 번 찾아보시길... 정답은 이 뒤의 빈 곳을 긁으면 나온다.) [[[[[3장의 컨텐트 프로바이더 절에 나온다.]]]]] 별도의 절로 빼야 할 것 같은 내용이 관련된 절의 하위 내용으로 들어가 있다. 이러면 나중에 특정 내용을 찾아봐야 할 때 찾기가 거의 불가능하다.




그런데 같은 출판사에서 프로페셔널 안드로이드 2 애플리케이션 개발이 출간되었다. 그래서 지금은 이 책을 추천하기가 참 애매하다. 둘 중 한 권을 택해야 한다면 당연히 리토 마이어씨 책이다. 즉 괜찮은 책이긴 한데, 더 좋은 책 때문에 빛이 바랬다고나 할까...









Posted by lispholic
,
프로그래머의 능률향상에 대한 내용을 다룬 책이다. 툴 사용에 대한 내용부터 시작하여 개발 방법론에 이르기까지 적은 분량으로 여러가지 이야기를 한다.

저자가 줄기차게 단축키를 활용할 것을 강조한다. 100% 옳은 말이라고 생각한다. 죽어라고 마우스질만 하는 나를 반성하게 된다.

책의 문체가 상당히 좋다. 뭔가 냉소적(?)이면서 이 분야를 아는 사람이라면 쓴 웃음짓게 하는 문체가 정말 일품이다.

다만 책의 예제 중에 잘못된 것 같은 부분이 있다. 루비와 자바의 생산성을 다루는 부분에서 아래와 같은 예제 코드를 들었는데,






        # 루비 버전
        class String
            def blank?
                empty? || strip.empty?
            end
        end
        // 자바 버전
        public static boolean isBlank(String str) {
            int strLen;
            if (str == null || (strLen = str.length()) == 0 ) {
                return true ;
            }
            for (int i = 0; i < strLen ; i++ ) {
                if((Character.isWhitespace(str.charAt(i)) == false) {
                    return false ;
                }
            }
            return true ;
        }

책에서는 자바가 불필요하게 복잡하다고 말한다. 그러나 위 코드가 저런 모양이 된 것은 비교회수를 조금이라도 줄여서 성능을 높이려고 했기 때문이다. 만약 성능을 전혀 고려하지 않아도 된다면 루비 코드와 비슷한 모양새가 나온다. (물론 자바의 언어적 한계로 인해 루비 코드와 완전히 같게 되지는 않는다.)

    public static boolean isBlank(String text) {
        return (text == null
                || text.trim().length() == 0 ) ;
    }

가격도 그리 비싼편이 아니고 책이 얇아 읽는 부담도 없어서 좋은 책이다.


http://kangcom.com/sub/view.asp?sku=200909140001
Posted by lispholic
,
안드로이드 개발에 대해 다루고 있는 책이다. 원서(Android Wireless Application Development)가 2009년 9월에 출간되었고 이 책이 11월에 출간되었으니 최신의 내용을 담고 있어야 하는데, 불행하게도 한창 번역중일 때 안드로이드 1.6버전이 나오더니, 출간할 때가 다 되어서 2.0 이 나왔다 (게다가 현재 최신 버전은 2.1 ... ). 안드로이드가 너무 빨리 발전하는 바람에 피해를 봤다고 할 수 있다. (이는 다른 안드로이드 책도 마찬가지)

번역기간은 짧지만 번역하신 분이 상당히 공을 들였다. 이 책을 평가한 글 중에 "발로 번역했다"는 내용도 있는데, 곳곳에 있는 역주나 (코드를 일일이 직접 실행하고 테스트해보지 않았으면 그런 역주를 달 수 없다) 역자분이 직접 추가한 부록 등을 보면 절대 저런 소리는 하지 못할 거다.

아마 저런 평가를 한 것은 용어를 한글화해서 그런 것 같은데, 안드로이드가 국내에 소개되기 시작한지 얼마안되었기 때문에 이런 시도는 바람직하다고 생각한다. (하지만 이미 대세는 기운듯...)

혹시 번역상태가 궁금하면 http://occamsrazr.net/tt/223 에 역자분이 직접 추가한 부록을 올려놓았으니 읽어보면 될 것이다.

책은 안드로이드 개발에 대해 전반적인 내용을 다루고 있어 그리 깊이 있는 내용은 없다. 제목대로 처음 시작할 때 적합하다.

책 정보 보러가기


Posted by lispholic
,
Clean Code박재호님 번역으로 곧 출간된다고 한다. 이미 책 스택(큐 아님)에 읽지 않은 책이 쌓여있고, 오늘도 몇 권 더 쌓았지만, 출간되면 바로 사서 읽어보게 될 것 같다.
Posted by lispholic
,

Effective Java 2nd Edition

Java 2009. 9. 20. 22:05
Effective Java 2nd Edition 의 번역판이다. 첫번째 판에 java5 이후에 대한 내용 (Generic , Enum , Annotation 등) 이 추가되었다.  첫 판에서 객체지향 Enum 패턴을 소개했었는데, 2판에서는 Enum을 써라 라고 내용이 바뀐 것을 보니 감회가 새롭다.

번역은 전반적으로 잘 된 편이다. 다만 마음에 안드는게 하나 있는데, Reflexive를 "재귀"라고 번역한 것이다. 재귀라는 말을 들으면 누구나 Recursive를 떠올리지 Reflexive를 생각하지는 않을 것이다. 이것 때문에 읽는데 약간 고생했다. 이렇게 번역한 것에 뭔가 심오한 뜻이 있는지도 모르겠다. (하지만 번역한 분에게 물어볼 방법이 없으니 확인 불가)

Java 프로그래머라면 꼭 읽어봐야 할 것이다.

책 정보 보러가기








Posted by lispholic
,