'2009/01'에 해당되는 글 3건

  1. 2009/01/06 코코아 프로그래밍 3판 몇가지 오탈자들 # 2 (8~13장까지) - 우울한딱따구리
  2. 2009/01/02 코코아 프로그래밍 3판 몇가지 오탈자들(1~7장까지) (4) - 우울한딱따구리
  3. 2009/01/02 새해 복 많이 받으세요! - 우울한딱따구리

중간중간 띄엄띄엄 보긴 했지만 아무튼 몇가지 오탈자 또는 안되는 것들을 발견했습니다.

원서쪽 오탈자 관련 사이트를 가보니 이런저런 글들이 많더군요. 번역본의 교정 자체도 문제지만 원서 자체에도 오탈자가 좀 되는 것 같습니다.

아무튼 오늘 찾은 것들 정리해두니 도움되시기 바랍니다. ( 혹시 잘못된게 아니라면 댓글이나 이메일로 알려주시기 바랍니다 )


p191, 11장 코어 데이터 기초 : ( 끝까지 똑같이 따라했지만 마지막에 동작하지 않았음 ㅠ.ㅠ, 오타는 아니고 신세한탄 )


p196 이미지 위쪽 : "또한 Generate Decimal Numbers and Always Shows Decimal 옵션을 선택하자" 는 "또한 Generate Decimal Numbers 와 Always Shows Decimal 옵션을 선택하자" 입니다. Generate Decimal Numbers and Always Shows Decimal 이라는 옵션은 없습니다.


p196 이미지 아래 둘째줄 : "셀을 선택하고 이름을 지운다" 는 내용상 "셀을 선텍하고 Title (또는 제목?) 을 지운다" 라고 해야 합니다. 이름을 지운다 라고 하면 보통 Name 필드를 찾기 때문인데 그림 11.6을 보건데 "Title" Attribute 를 지우라는 의미입니다.


p225 책에 적힌대로 코딩하면 동작하지 않습니다. 책에는 extern 두줄을 PreferenceController.h 에 넣고 실제 BNRTableBgColorKey 와 BNREmptyDocKey 는 PreferenceController.m 의 정의하라고 되어 있는데 의미상으로나 동작을 하게 만들기 위해서나 Preference 에서 쓰는 두 상수의 정의는 PreferenceController.h 에 있어야 하고 이 상수들을 쓰는 파일(PreferenceController.m 같은 곳)에서 extern 을 적어주어야 합니다.

p226 상단 코드 중

[defaultValues setObject:[NSNumber numberWithBool:YES] forKey:BNRKey]

[defaultValues setObject:[NSNumber numberWithBool:YES] forKey:BNREmptyDocKey]

로 고쳐야 합니다.


p227 BNRTableBgColorKey 와 BNREmptyDocKey 를 PreferenceController.h 에다가 정의해 놓았기 때문에 PreferenceController.m 에서는 두 상수에 대해서 extern 만을 적어주어야 합니다.

따라서 소스코드의 2~3번째 줄의

NSString * const BNRTableBgColorKey = @"TableBackgroundColor";
NSString * const BNREmptyDocKey = @"EmptyDocumentFlag";

extern NSString * const BNRTableBgColorKey;
extern NSString * const BNREmptyDocKey;

로 바꿔주어야 컴파일이 됩니다.


p230 위쪽 코드를 실행하면 동작하지 않는데 의 마지막 부분에

[tableView setBackgroundColor:[NSKeyUnarchiver unarchiveObjectWithData:colorAsData]];

부분때문에 그렇습니다. RaiseMan 예제를 쭉 따라서 해왔다 하더라도 151p의 문제2번을 하지 않으셨다면 현재 MyDocument.h 에 tableView 가 없을겁니다.

MyDocument.h 의 @interfance 쪽에

IBOutlet NSTableView *tableView;

를 추가하고 xib에서 table view 를 tableView 로 연결시켜야 제대로 동작합니다.

그리고 230p 코드 아래쪽 보면 "반드시 PreferenceController.h를 임포트해야 거기에 선언한 전역 변수를 사용할 수 있습니다" 라고 되어 있는데 앞에서처럼 수정했다면 두 상수를 extern 으로 대치하시면 됩니다.


참고로 코코아 프로그래밍 앞쪽부터 나오는 RaiseMan 예제는 반드시 차례대로 꼭 해두셔야 합니다. RaiseMan 을 확장해서 만들어 가는 부분들이 꽤 많기 때문에 처음부터 생략하고 넘어가게 되면 자연스럽게 뒤쪽도 죄다 생략해야 하는 불상사가 발생할지도요.

시간이 늦은 관계로 일단 오늘은 여기까지 -_-;;

크리에이티브 커먼즈 라이센스
Creative Commons License
2009/01/06 22:28 2009/01/06 22:28

trackback url :: http://www.potatosoft.com/tt/trackback/251

댓글을 달아 주세요

write a comment

[로그인][오픈아이디란?]

1. p41 중간쯤


for ( i = 0; i < 10; i++ ) {
    NSNumber *newnumber = [[NSNumber alloc] initWithInt:(i * 3)];
    [array addObject:newNumber];
}

코드상으로나 실행되었을때 오류상으로나 newnumber -> newNumber 로 바꾸어야 한다.


2. 언제부터 바뀐건지는 모르겠지만 Cocoa 프로젝트를 생성하면 생기는, 그리고 interface builder 로 만든 것들이 저장되는 것들은 죄다 xib 로 저장된다. 책 전체에(최소한 지금 보고 있는 7장까지는) 예제들 설명을 하면서 .nib 를 열라고 하는데 실제로는(xcode 3.1.2를 쓰고 있다면) .xib 를 열어야 한다. 뭐 결국은 컴파일하면서 nib로 바뀌어서 컴파일되는 모양이긴 하지만...

nib 는  NeXT Interface Builder 의 줄임말인거 같은데, 그럼 xib 는 eXtended nib? osX nib? 뭔지 모르겠다.


3. p90

첫줄의

앱킷 프레임워크를 이해하려면 NSControl 의 서브클래스인 NSControl, NSButton, NSSlider, ...

부분은 앱킷 프레임워크의 구조상으로 볼때

앱킷 프레임워크를 이해하려면 NSObject 의 서브클래스인 NSControl, NSButton, NSSlider, ...

가 맞는 것 같다.


4. p114 아래쪽 코드

앞의 예제를 확장하면서 새로 추가된 인스턴스 변수 tableView 와 voiceList 를 굵게 표시해야 하는데, 이미 추가되어 있던 startButton 도 굵게 표시했다. 단순 편집상의 실수인거 같긴 한데 원서도 그런건지 번역하면서 잘못한건지 모르겠다.


-P.S-

1. p123 "문제 - 데이터 소스 만들기" 다 해놓고도 Table View 가 갱신되지 않아서 한두시간 허비한듯 -_-;; 혹시 고생하시는 분이 계시다면 p114쪽 첫줄을 읽어보시길 -_-;;;;
2. 출판사인 인사이트에 문의를 했더니 http://insightbook.springnote.com/pages/406365 에 정오표를 올려두었다고 한다. 앞으로 쭉 늘어날 것 같지만 일단 참고

크리에이티브 커먼즈 라이센스
Creative Commons License
2009/01/02 16:21 2009/01/02 16:21

trackback url :: http://www.potatosoft.com/tt/trackback/250

댓글을 달아 주세요

  1. 비밀방문자 2009/01/02 18:23

    관리자만 볼 수 있는 댓글입니다.

    • OpenID Logo우울한딱따구리 2009/01/02 19:11

      넵 감사합니다. :)

  2. OpenID Logo오스카 2009/01/03 22:52

    이 책 이전 번역판을 봤었는데, 일단 거기는 xcode 2.x 버전으로 설명을 하고 있어서 interface builder 에서 컨트롤의 이벤트 연결 등이 완전히 달라서 초반 내용은 웹의 다른 문서를 참조했었습니다. xib 관련 오타를 보면 이전 글을 3.x 버전에 맞게 바꾸면서 빠진 게 있나 보네요~

    • OpenID Logo우울한딱따구리 2009/01/05 09:43

      인사이트에 문의를 해본 결과 몇몇은 편집상의 오류인 것 같고 또 어떤 부분은 원서 자체에 그렇게 명시되어 있는 부분도 있어서(원서의 오류?) 정확히는 알 수 없습니다만 자잔한 오탈자들이 몇개 보이긴 하네요.

write a comment

[로그인][오픈아이디란?]

새해 복 많이 받으세요!

방문자가 많지 않은 블로그지만 회사 동료들과 기타 몇몇 분들이 주기적으로 찾아주시는 관계로 새해 인사 정도는 해두어야 할 것 같아서 포스팅을 합니다.

새해 인사를 어떻게 해야 할까 고민하다가 2008넌 12월 31일날 같은 TFT의 응과장님이 보내준 이메일이 있어서 이걸 그대로 이용해먹기로 했습니다. -_-;;

아무튼 방문해서 종종 댓글 남겨주시는 모든 분들께 감사드리고, 새해 원하는 바를 꼭 이루시기 바랍니다.

물론 가장 중요한 건 건강이겠지요? :)

다사다난했던 2008 무자년

눈 깜짝할 사이에 총알같이

후딱 지나가 버리고

고맙고 좋은 분들과 재미와 정을 나눌 여유도 없이

캄캄한 상황의 기축년을 맞이하는 것이

너무나 아쉽고 안타까울 따름입니다.

2008 정말 열정적으로 달렸지만

그 결과가 이렇게 된 원인이 무엇일까요???

곰곰이 생각해 보니,

경제개판은 미국이 쳤고, 정치개판은 정치꾼들이 쳤는데

IT 강국입네 폼만 잡고 뽑내며 중심을 못 잡는다면,

역사에 남을 엄청난 누명을,

자칫 이 시대를 산 우리들이 덮어 쓸 수 밖에 없지 않을까요?

어느 해 보다도 어렵고 긴박할 2009 새해

이렇게 고민만하거나 넋두리하고 있어서는

우리 후손들에게 큰 짐만 지우는 결과가 될 수도 있으니

역경을 스스로 깨면 병아리가 되고,                                

남이 깨면 계란후라이 됨을 명심해서,

이미지를 클릭하면 원본을 보실 수 있습니다.

쓸데없는 잡념같은 것은 나 부터 버리고,

남의 탓이나 환경 탓은 절대로 하지말고,

호랑이 일지라도 과감히 맞 설 용기를 갖고,

일을 제대로 하고 있는지도 자신부터 살피며 반성하고,

상상을 뛰어 넘는 아이디어를 찾아서 도전하면서

할 수 있다는 불굴의 의지로 최선을 다 하면,

이렇게 2009기쁨을 외칠 수 있지 않을까요?

2008 저 자신도 모르게 이렇게 대하였거나,

혹은 본의아니게 이렇게 잘못을 했던 분들께

이렇게 용서와 이해를 간절히 부탁드립니다.

지난 한해동안 정말 고마왔으며,

넘치는 관심을 보여주신 데 대해 머리숙여

밝아오는 2009년 기축년 새해에는

항상 건강하시고 평안하시면서,

하시는 모든 일에 웃음만 가득하시기를,

두 손 모아 기원드리겠습니다.

새 해 복 많이 받으십시요.

크리에이티브 커먼즈 라이센스
Creative Commons License
2009/01/02 10:23 2009/01/02 10:23

trackback url :: http://www.potatosoft.com/tt/trackback/249

댓글을 달아 주세요

write a comment

[로그인][오픈아이디란?]