기본 콘텐츠로 건너뛰기

코코아 프로그래밍 3판 몇가지 오탈자들 # 2 (8~13장까지)

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

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

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


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 을 확장해서 만들어 가는 부분들이 꽤 많기 때문에 처음부터 생략하고 넘어가게 되면 자연스럽게 뒤쪽도 죄다 생략해야 하는 불상사가 발생할지도요.

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

댓글

  1. 좋은 정보 감사합니다.. 초보가 책만 따라가다보니 막히는 부분이 많았는데.. 뭔가 시원스럽네요.. ^^;;

    현재 15장을 따라가는중에 막혀서 검색중에 찾아오게되었습니다..

    저는 13장까지 RaiseMan 진행하면서.. 'BNRKey' -> 'BNREmptyDocKey'로 수정하고.. extern 부분은 책 내용대로하고..

    'IBOutlet NSTableView *tableView;' 이 부분은 제가 작성한 코드에 있길래 찾아보니 166p 상단에 정의되어있더군요.. ^^

    여기까지는 잘 실행이 되었는데..

    14장에서 Notification 까지 진행하였더니 제대로 안되어서 고민하다가 userInfo까지 진행하고서야 제대로 실행되더군요..

    현재는 15장 진행했는데.. 안되서 또 머리 싸매고 있는중이랍니다;; 이거 매 장 할때마다 머리를 싸매고 있으니;; ㅎㅎ;;

    그럼 다음글 기대하겠습니다.. ^^

    답글삭제
  2. @Zino - 2009/01/08 01:36
    14장의 notification 은 userInfo 딕셔너리로 컬러정보를 넘기는 부분을 구현해야만 실제로 RaiseMan 의 Preference 에서 색깔을 바꾸면 즉시 색이 변경되구요, 그 부분 구현 전에는 handleColorChange에서 tableView의 배경색 변경하는 코드가 없기 때문에 단순히 NSLog 의 "Receiving notification ... " 내용만 찍힙니다.



    238p 젤 아래줄과 239p 첫줄의 설명이 좀 이상하게 되어 있는거 같더군요.



    NSUndoManager 부분은 읽어만 보고 코딩을 안했더니 거기에서도 tableView 가 있는걸 몰랐네요. 알려주셔서 감사합니다. :)

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

2011년 경부고속도로 버스전용차로 시간대 변경 + 기타 자동차관련

현재 경부고속도로 버스전용차선이 평일은 오전 7시부터 오후 9시까지, 토/공휴일은 오전 9시부터 오후 9시까지인가 운영되고 있는걸로 알고 있습니다만, 2011년 1월 1일부터 이게 바뀌어서 평일/주말 할 것 없이 오전 7시부터 오후 9시까지 운영됩니다.외우기 쉬워서 좋아졌다고 해야 하나... -_-;; 아무튼 그렇습니다. 네네.설/추석 명절때 운행되던 버스전용차선 시간제도 새벽1시부터 7시까진가? 끝나는 시간대는 정확히 모르겠네요.그 외 올해 자동차 관련된 변경사항 몇개가 있어 함께 정리합니다.1. 경차 소유자에 대한 연간10만원의 유류세 환급이 2년 연장되어 2012년까지 제공됩니다. 방법은 기존과 동일한 듯.2. 자동차 전용도로에서 뒷자석 탑승자가 안전벨트를 착용하지 않으면 범칙금 3만원.(자동차 전용도로라 함은 자동차만 다닐 수 있는 최고시속 90km/h 이하의 도로, 올림픽 대로/강변북로/남부순환로/양재대교/서부간선도로/분당내곡도시고속화도로 등등...)3. 날씨에 따른 제한속도 변경(이르면 7월부터 시행예정)현재 도로를 보면 비오면 20% 감속하고 눈오면 50% 감속하고 어쩌고 하는 규정이 있습니다. 네... 대부분의 운전자는 이걸 지키긴 하는데 칼같이 지키는 사람은 없는 것 같고, 고속도로 100km 달리던 사람이 비오면 90km정도로 달리는 정도? 인데 이걸 경찰청에서 날씨에 따라 자동으로 제한속도가 변경되고, 표지판 숫자도 바뀌는 ‘가변제한속도 제도’를 도입하기로 하고 이르면 오는 7월부터 시행예정이라고 합니다.왠지 이렇게 되면, 과속단속 카메라도 자동으로 이 정보에 따라서 과속단속 기준속도를 바꿀 것 같다는 느낌인데.. 어느 지역에서 지금 현재 비나 눈, 또는 안개가 끼이는지 어떻게 정확하게 알고 그걸 단속할 수 있을지 좀 걱정이군요. 예를 들어 터널 A를 지나기 전에는 눈이 오고 있었는데 터널 A를 지나고 나니 도로상태가 아주 양호하더라.. 라는 식이 되면 터널 A전에 있던 카메라는 시속 100km기준으로 50km/h 넘으면 단속되고, 터널 …

한국에서 미국으로 이주시 준비사항(이민/장기출장/기타등등)

아래 내용은 제가 올해 3월에 한국에서 미국 캘리포니아로 이사하면서 만들었던 체크리스트를 약간 손 본 겁니다. 원래는 같이 옮겨오던 직장 동료들과 만들었던 까페에 올렸던 건데 대부분 이사를 완료한 관계로 까페를 폐쇄 예정이라 정보저장/공유를 위해 가져왔습니다.

자동차 관련
* 경찰서(파출소 말고) 가서 영문으로 된 운전경력증명서. 미국 자동차 보험 가입할 때 할인혜택 있음.
* 대학/대학원 전공이 공학(Engineering) 이 들어가 있으면 대학졸업증명서 영문서류 준비.  캘리포니아에서 자동차 보험 가입시 "Engineer" 가 들어간 졸업증명서면 엔지니어 그룹 힐인이 있음.
* 한국에서의 자동차보험 가입증명서(영문)(가입했던 모든 보험사로부터 )
->위 3개로 가입하면 최대 캘리포니아에서 3~4년 운전한 사람이 받는만큼의 할인혜택이 가능한 경우도 있다고 함. 보험사에 따라서 한국운전경력 인정 안해주는 곳도 있음.

* 카페 및 인터넷 검색해서 캘리포니아 운전면허 필기시험 문제 출력 및 공부. 캘리포니아에서는 한글 필기시험을 볼 수 있습니다. 다만 인터넷에 떠도는 문제지의 답이 틀리게 표시된 경우가 많기 때문에 가장 정확하게는 현지에 도착한 이후 DMV에서 무료로 배포하는 운전자핸드북(한글버전 있음)으로 공부를 하거나 혹은 dmv.ca.gov 에서 pdf를 다운로드 받아 이론공부를 좀 하는게 좋습니다.
* 운전면허시험장 가서 국제운전면허 발급받을 것. 캘리포니아 면허 따기 전까지 항상 소지해야 하지만 사실상 이건 한국운전면허의 번역본 개념이라 항상 한국운전면허증/여권 같이 소지할 것.
* 차량 구입예정이면 미리 edmunds.com, truecar.com, kbb.com, carmax.com(중고차) 등에 들러 온라인으로 몇군데 최저 금액을 부르는 들러의 quote를 받아두고, 연락처 챙겨둘 것. down payment할 금액도 챙겨두기. 매월 판매조건 등이 달라지기 때문에 차종만 선택해 놓고 현지에 와서 딜하는게 차라리 더 …

개발자, 영어,  그리고 해외취업. 글쎄 과연 그렇게 호락호락할까?

오랜만에 포스팅하는 글이 영어 관련 쓸데없는 뻘글이라 좀 그렇지만, 페이스북에 적기 시작한 글이 너무 길어져서 블로그에 포스팅하기로 함.


미국에 2011년에 넘어왔으니까 올해로써 이제 미국생활 4년차 들어간다. 처음에 왔을때는 4년정도 여기 있으면 영어는 잘 하겠지라고 했는데 웬걸, 확실히 영어 울렁증은 없어지고 최소한 내가 지금 하려고 하는 말들이 100% 실시간으로 나오긴 하지만 여전히 그 수준은 내가 한국어를 구사하는 수준은 아닌지라 한 단어로 표현이 가능한 복잡미묘한 명사나 동사를 표현하기 위해 쉬운 단어들 몇개를 합쳐서 빙빙 둘러서 설명을 하는 그런 수준. 관심사인 부동산이라든가 게임이라든가 최신개봉 영화 뭐 이런 이야기들은 곧잘 하고 농담따먹기도 잘 하지만, 여전히 미국 문화의 베이스가 없으면 이해하기 어려운 내용들이 많다. 당연히 깨알같은 문법 실수와 관사 생략은 기본.

작년인가 재작년인가 부터 부쩍 한국쪽 개발 커뮤니티나 컨퍼런스에 보면 개발자와 영어를 관련시킨 발표가 많아졌다. 어떤 사람들은 본인의 해외 어학연수 경험을 공유하기도 하고 또 어떤 사람들은 오픈소스 활동 경험을 공유하기도 하고.. 아무튼 기본적으로는 실력만 있으면 영어를 못해도 해외에서 개발자로 일하는데 전혀 문제가 없다라는 글들도 보인다.

물론 미리 겁 집어먹고 도전을 안하는 것도 바람직하진 않겠지만, 글쎄 과연 실력만 있으면 정말 괜찮을까? 개발자로써 상위 10%정도의 실력이라 코드로 진짜 모든 걸 말할 수 있는 수준이라면 가능하다고 생각한다. 영어 관련 개발자 포럼의 글들 보면 그런 댓글들이 많이 보인다. 개발자는 코드로 말한다고. 근데 스스로 그런 수준인가 하는 건 다시 한번 생각해 볼 일이다. 보통 개발자들이 자기는 다른 개발자보다 좀 더 특출나다고 생각하는 경향이 많은데(여기에는 나 자신도 포함되는 듯), 좋든 싫든간에 그들 중 90%는 상위 10%가 아니니까.
바다 건너 이억만리에서 인터넷으로 버그 수정하고 코드 커밋하고 이메일로 비실시간 대화를 할 수 있는 오픈소스…