Mac OS X2009. 5. 22. 11:08

이글의 작성 의도는 [이곳]을 참조하라.


2009년 4월 4일에 주문하고 4월 10일에 수령한 나의 뉴화이트 맥북.
지난 40일간의 사용 소감은 "아아주 아주아주 만족"이다.

경험한적 없는 운영체제이고, 사용할 프로그램들을 결정하지 못한 상태였기 때문에 프로그램을 이것 저것 깔아보고, 시스템 설정 이리저리 만져보고...
좀 심하리만큼 괴롭혔건만, 이 녀석은 끄떡도 안한다.

윈도우즈를 탑재한 노트북을 새로 구매하면, 안정화 시키기까지 몇 번의 운영체제 재설치와 응용 프로그램 재설치라는 고난의 과정을 거쳐야지만 안정화가 가능하지만 맥북은, 40일간 단 한번의 운영체제 재설치만을 경험했을 뿐이다.

사실 한번의 운영체제 재설치도 하드 디스크를 120기가에서 320기가로 업그레이드 했기에 재설치 한것이므로, 시스템 문제로 인한 재설치는 없는 것이다.

그런데 급기야 문제가 발생해 버렸다.
Mac OS X을 10.5.6에서 10.5.7로 업그레이드 한 후에 문제가 발생했다.

문제의 주역은 아래 사진 왼쪽에 보이는 삼성 U70 미니모니터였다.
삼성 U70은 구매시 동봉되는 CD에는 Mac OS X용 드라이버가 들어있지 않지만, DisplayLink의 Mac OS X용 드라이버를 사용하면 아무런 문제 없이 사용할 수 있었다. 원래 USB를 통한 디스플레이 연결 기술이 DisplayLink사의 특허이니깐, 당연한 거다.

그런데 이 녀석이 Mac OS X 10.5.7로 업그레이드한 후에 화면이 나오질 않는다. 모니터 설정에서는 인식을 하지만 화면은 시커먼 상태인 문제...

사실 운영체제 업그레이드를 시작해 놓고 뒷간에서 볼일을 보면서 뭔가 찜찜한 기분이 들었다. 이유인 즉슨, 내가 설치한 프로그램 중에서 Mac OS X 10.5.6까지만 지원한다고 봤던 녀석이 있었던것 같은 기억 때문이었다.

그 찜찜한 기분을 달래며 자리에 돌아와 보니, U70의 화면이 안나오는 문제가 발생해 있었다.

어익후~~~! 기억이 났다.  이넘이었다. 이런 주엔장...
얼른 http://displaylink.com 에 접속을 해서, Mac dirver 페이지를 확인했다. 아니나 다를까... 아래와 같은 경고 문구가... 이걸 깜박 했던 것이다.
Mac OS X 10.5.7로 업그래에드 한 후에 문제가 생기면 보란다. 그래도 뭔가 대책이 있긴 한 모양이다.


얼른 FAQ을 확인해 보았다. 다음과 같은 글이..


딱 내 맥북의 증상이구나. 10.5.7로 업그레이드 한 후에 U70이 동작하지 않는 문제.
다행히도 이미 알고 있는 문제란다. 해결책은 간단하다. 드라이버 다시 깔으란다...
넘 쉽쬬오 이잉~~~
인줄 알았다. 그런데 그냥 드라이버를 재설치해서는 화면이 안나오는게 아닌가...
아래를 좀더 읽어보니, 이거야 참!
Safe Mode는 뭐고, PRAM은 뭐다냐... 것도 그렇고 어떻게 진입하지 Safe Mode에..

구글링을 시작했다. 그래서 얻은 정보는...

PRAM (모니터와 관련된 비휘발성 메모리)
OS가 시동될때 저장되는 화면 해상도, 색상 값, 화면 재생률, 시간대 설정, 현재 시간 설정값, 시동음 크기, 시동디스크 정보, 커널 패닉 정보등을 포함 하고 있단다.
PRAM을 NVRAM이라고 부르기도 합니다. 결국 flash memory나 EEPROM이라는 거네.

진입 방법은 부팅시 시동음이 들리기전에 키보드 왼쪽의 커맨드+옵션+P+R을 누르고, 시동음이 두번 나온 후에 키는 놓는다.

성공...

다음은 Safe Mode의 진입.

Safe Mode의 진입은 부팅시 왼쪽 쉬프트키 누르고 애플로고 뜨고 스피닝 기어돌아가면 손 뗌.

그런데 Safe Mode로 진입하면 부팅이 엄청 오래 걸리는 구나. 결국은 집입하여 disk Utiity 띄우고, 디스크 권한 복구 실행. 이것도 엄청 오래 걸리네.
디스크에 뭔가 문제가 있는지 한참을 복구한다.

다음은 드라이버 재설치. DisplayList의 FAQ에는 다음과 같이 적혀 있는데, 뭘하라는 건지 알 수가 없다.

Reinstall the update using the downloadable "combo" update (not any other), and following this "safe" method of intallation mentioned above.

그래서 그냥 드라이버 무조건 다시 설치.
화면이 나오는 구나... 얏호.

이렇게 해서 나의 Mac OS X의 첫 번째 troubleshooting은 이렇게 마무리 되었다.

최초 작성일 : 2009년 5월 22일 / 최종 수정일 : 2009년 5월 22일

'Mac OS X' 카테고리의 다른 글

맥북에서의 윈도우즈 사용  (0) 2009.04.10
맥북을 지르다  (2) 2009.04.04
맥북 MB466 벤치마크  (0) 2009.03.24
스마트폰 시대 '활짝'…앱스토어, 직거래로 대박  (0) 2009.03.23
Mac OS X 소프트웨어  (0) 2009.03.11
Posted by 고처리
Mac OS X/Cocoa2009. 5. 1. 17:18

이글의 작성 의도는 [이곳]을 참조하라.

Hello_MacOSX application을 Finder에서 보면, Hello_MacOSX이라는 이름의 단일 파일로 보이나, 터미널 상에서 보게되면 Hello_MacOSX.app라는 이름의 디렉토리로 보인다.

결국 Finder에서 보이는 모습은 일반 사용자들의 혼란을 줄이기 위해 눈속임을 하고 있는 것이다.


디렉토리의 구조를 보면 다음과 같다.


Hello_MacOSX.app

Contents

Info.plist

MacOS

Hello_MacOSX

PkgInfo

Resources

English.lproj

InfoPlist.strings
MainMenu.nib


내친 김에 iPhone application의 디렉토리 구조도 보자.


Hello_iPhone.app

Hello_iPhone

Info.plist

MainWindow.nib

PkgInfo

RootViewController.nib


Mac OS X application 보다 좀 썰렁해 보인다.


그러나 잘 살펴보면 내부에 하위 디렉토리를 가지지 않을 뿐이지 구성 파일은 동일한 것을 알 수 있다.(파란색이 표기된 넘들이 파일이다.)



최초 작성일 : 2009년 5월 1일 / 최종 수정일 : 2009년 5월 1일

'Mac OS X > Cocoa' 카테고리의 다른 글

Mac OS X과 iPhone application project directory 비교  (0) 2009.05.01
Objective-C  (0) 2009.03.09
Cocoa Programming - XCode 2  (0) 2009.03.08
Posted by 고처리
Mac OS X/Cocoa2009. 5. 1. 16:06
이글의 작성 의도는 [이곳]을 참조하라.


오늘 심심한 김에, Xcode가 생성한 Max OS X application과 iPhone application project를 비교해 보았다.


Mac OS X application은 Cocoa Application으로 생성하였고,

iPhone application은 Navigation-Based Application으로 생성하였다.


기본 파일 구성은 그리 다르지 않아 보인다.

단지 iPhone application 쪽에는 두 개의 클래스 파일이 더 추가되어 있는 것을 볼 수 있다. 이 정도 차이 쯤이야...


그런데 눈에 띄는 부분이 있다. xib 파일의 위치이다. 

Mac OS X application은 각 언어별로 lproj 디렉토리가 생성되고 그 하위에 배치되는 반면,

iPhone application은 프로젝트 루트에 위치하고 있다.


Hello_MacOSX

build

Hello_MacOSX.build

Hello_MacOSX.pbxindex

categories.pbxbtree

cdecls.pbxbtree

decls.pbxbtree

files.pbxbtree

imports.pbxbtree

pbxindex.header

protocols.pbxbtree

refs.pbxbtree

strings.pbxstrings

control

strings

subclasses.pbxbtree

symbols0.pbxsymbols






English.lproj

InfoPlist.strings

MainMenu.xib

Hello_MacOSX_Prefix.pch

Hello_MacOSX.xcodeproj

Info.plist

main.m

Hello_iPhone

build

Hello_iPhone.build

Hello_iPhone.pbxindex

categories.pbxbtree

cdecls.pbxbtree

decls.pbxbtree

files.pbxbtree

imports.pbxbtree

pbxindex.header

protocols.pbxbtree

refs.pbxbtree

strings.pbxstrings

control

strings

subclasses.pbxbtree

symbols0.pbxsymbols

Classes

Hello_iPhoneAppDelegate.h

Hello_iPhoneAppDelegate.m

RootViewController.h

RootViewController.m




Hello_iPhone_prefix.pch

Hello_iPhone.xcodeproj

Info.plist

main.m

MainWindow.xib

RootViewController.xib



최초 작성일 : 2009년 5월 1일 / 최종 수정일 2009년 5월 1일

'Mac OS X > Cocoa' 카테고리의 다른 글

Mac OS X과 iPhone application directory 비교  (0) 2009.05.01
Objective-C  (0) 2009.03.09
Cocoa Programming - XCode 2  (0) 2009.03.08
Posted by 고처리
Mac OS X2009. 4. 10. 13:53
이글의 작성 의도는 [이곳]을 참조하라.
어제 맥북 MB881을 받은 후 열심히 세팅을 하였다.
여러가지 불편함이 따를 거라 예상했지만 의외로 아무런 문제없이 필요한 모든 프로그램들을 설치할 수 있었다.
세팅 과정 중 하나가 윈도우즈의 사용이 가능하게 하는 것이다.

애플 맥북에서 윈도우즈를 사용하는 방법은 크게 두 가지가 있다.
1. 부트 캠프를 이용하여 멀티 부팅하여 사용하는 방법
2. Virtual Machine를 이용하여 사용하는 방법

멀티 부팅은 그 불편함과 Mac OS X에 익숙해 지는 것을 방해한다고 생각하여 VM을 사용하는 쪽으로 방향을 잡고, 패러럴즈 4.0을 설치 후 윈도우즈 XP를 설치 하였다.
이것 또한 별 문제 없이 설치가 가능하였고, 중간에 시스템이 좀 버벅이며 불안정한 증상을 보이긴 하였으나, 한번의 재설치로 모든 문제가 해결되었다.

이제 윈도우즈가 얼마나 패러럴즈 안에서 잘 돌아가는가 확인해 볼 차례.
현재 사용중인 개발 툴들은 모두 USB로 PC와 장비들을 연결하고 있다.
모든 장비들의 USB 디바이스를 패러럴즈 위에 깔린 윈도우즈가 잘 인식하고, 동작도 잘한다. 얏호...

이번엔 소프트웨어 확인이다.
필요한 컴파일러를 설치하고, 전체 컴파일...
기존에 사용하던 노트북이 후지쯔 E8110 Duo Core 1.86Ghz(T5600), 2GB 667MHz DDR2 RAM 이었다.
전체 컴파일시 거의 17분이 걸리던 상황이었다.
그런데 맥북 MB881에서 소요된 시간은 15분.
이럴 수가 더 빠르다. 물론 MB881은 클록이 2기가이고, DDR2 4GB 667MHz이다.
약간 높은 클럭 속도와 두 배의 램을 가지긴 하였으나, VM 상에서의 구동이라 기존 노트북 보다 속도가 느릴거라 예상했지만....
2분 정도 차이로 빠르다면 0.14GHz의 클록 속도 차에 의한 차이일게다.
그렇다면 결국 맥북에서 패러럴즈에 윈도우즈를 설치해 사용한다고 해도, 컴파일과 같은 작업에서는 전혀 성능이 저하되지 않는다고 볼수 있는 것이다.
어찌 이럴 수 있는 건지...

게임과 같은 고성능 그래픽을 요구하는 프로그램을 사용하지 않는다라면 맥북 하나만 가지고도 맥과 윈도우즈를 동시에 사용해 볼 수 있지 않을까...
개인 돈을 들여서 산 노트북이기는 하지만 업무에도 활용 가능하기에 정말 잘한 선택인것 같다.


최초 작성일 : 2009년 4월 10일 / 최종 수정일 : 2009년 4월 10일
Posted by 고처리
잡동사니2009. 4. 7. 12:29
이글의 작성 의도는 [이곳]을 참조하라.
지난 토요일에 주문한 맥북이 배송되기 시작 했다..
한국에서 그냥 보내 주는줄 알았는데, 해외 배송이네..
처음에 주문을 다 해놓고 보니깐 배송에 10일 정도 걸려서 4월 14일 쯤 배송될거라 하더니만, 이미 배송이 시작되어 9일날 수령할 수 있을 거라고 한다. 나야 좋지. ^^
발송지는 중국 선전(심천)이네. TNT Express로 발송되는데... 이넘은 처음 보는 업체네. 여태 UPS, Fedex 밖에 몰랐다는. 역시 광고의 힘은 크구나.

이 맥북이 나보단 났네. 난 홍콩 경유도 못해 봤구만. 이넘은 홍콩도 가보고. ㅋㅋ



최초 작성일 : 2009년 4월 7일 / 최종 수정일 : 2009년 4월 7일
Posted by 고처리
Mac OS X2009. 3. 11. 00:44
이글의 작성 의도는 [이곳]을 참조하라.




최초 작성일 : 2009년 3월 7일 / 최종 수정일 : 2009년 3월 11일

'Mac OS X' 카테고리의 다른 글

맥북 MB466 벤치마크  (0) 2009.03.24
스마트폰 시대 '활짝'…앱스토어, 직거래로 대박  (0) 2009.03.23
Mac OS X 유용한 사이트  (0) 2009.03.09
Mac OS X 유용한 팁  (1) 2009.03.07
Mac OS X 단축키  (0) 2009.03.07
Posted by 고처리
Mac OS X/Cocoa2009. 3. 9. 20:38
이글의 작성 의도는 [이곳]을 참조하라.

C/C++과 MFC에 너무 오랜 시간 노출된 탓일까?
아니면 이제 나이가 들어서 이해력이 많이 떨어진 것일까?
어쨌든 Objective-C는 한두시간만 보면 알 수 있다는 다른 사람들의 글을 보면서, 나 자신에 대한 성찰을 한번 해보고 있다. ^^

Objective-C는 FSF(Free Software Foundation)의 GNU C 컴파일러의 일부분으로 공개된 표준 컴파일러이다. Cocoa는 Objective-C로 개발되었고, Cocoa 프로그래밍은 대부분 Objective-C로 가능하다.

"@" 예악어

Objective-C에서 새로 추가된 예약어.
  • @interface ~ @end
    *.h 파일 내에 선언되는 클래스의 시작과 끝을 지정

  • @implementation ~ @end
    *.m 파일 내에서 클래스이 구현 부분의 시작과 끝을 지정

  • @"string"
    아스키 문자열을 NSString 문자열로 변환. 2바이트 문자는 UTF8로 처리해야 함. 어떻게 하는지는 아직 모름.

클래스 선언




메서드 선언

함수 선언 앞에는 - 또는 +가 붙는다.

- : 인스턴스 함수
+ : 클래스 함수. static 함수



메서드 호출(메시지 보내기)

[객체명 메시지명]의 형태로 호출한다. 메시지명은 메서드를 의미한다. 메서드를 호출하기 위해서는 객체명의 그 객체가 가지고 있는 메서드명을 적어 주는데, 이렇게 메서드를 호출하는 것을 "메시지를 보낸다"라고 표현한다.

Cocoa의 클래스중 하나인 NSMutableArray를 이용한 예를 보자.

[NSMutableArray alloc]
NSMutableArray 클래스의 alloc 메시지를 보낸다. alloc 메시지는 NSMutableArray 클래스의 객체를 생성한 후, 그 포인터를 반환한다.

1 : NSMutableArray *foo;
2 : foo = [NSMutableArray alloc];
3 : [foo init];

1 : NSMutableArray 클래스의 포인터 변수 선언
2 : NSMutableArray 클래스에 alloc 메시지를 보내, NSMutableArray 클래스의 객체를 생성하고, 포인터를 반환 받는다.
3 : NSMutableArray 클래스 객체인 foo에 init 메시지를 보내어 객체를 초기화한다. 이때 메시지를 받는 것은 NSMutableArray 클래스가 아닌 foo 객체가 된다. 이런 상태를 'foo는 init 메시지의 receiver이다'라고 하고, 메시지는 selector라고 부른다.

위의 코드를 아래와 같이 작성할 수도 있다.

NSMutableArray *foo;
foo = [[NSMutableArray alloc] init];

메시지 호출 시 인자의 전달은 다음과 같이 한다. foo 객체의 addObject 메시지를 호출하면서 인자로 bar를 전달한다.
[foo addObject:bar]

메시지에 인자를 전달하는 경우 "셀렉터이름:인자이름"의 형태로 사용한다.

두 개 이상의 인자를 전달하는 경우에는 다음과 같이 한다.
[foo insertObject:bar atIndex:5]

셀렉터에 전달되어 지는 두 번째 인자부터는 "인자이름:값"의 형태로 값을 전달한다.

사실 이 문법은 아직 그 편리함을 느끼지 못하는 부분이다. 헷갈리기만 한다.


Protocol




Category




참고 자료

일단 부족한 기억력을 보충하기 위해 링크부터 걸고 보자. 자료를 공개해 주신 모든 분들께 감사... 꾸벅






최초 작성일 : 2009년 3월 9일 / 최종 수정일 : 2009년 3월 10일
Posted by 고처리
Mac OS X2009. 3. 9. 00:14

'Mac OS X' 카테고리의 다른 글

맥북 MB466 벤치마크  (0) 2009.03.24
스마트폰 시대 '활짝'…앱스토어, 직거래로 대박  (0) 2009.03.23
Mac OS X 소프트웨어  (0) 2009.03.11
Mac OS X 유용한 팁  (1) 2009.03.07
Mac OS X 단축키  (0) 2009.03.07
Posted by 고처리
Mac OS X/Cocoa2009. 3. 8. 15:31
이글의 작성 의도는 [이곳]을 참조하라.

다른 분의 블로그로 링크 이어집니다. ^^

1.1 Xcode 구하기 - http://cocoadev.co.kr/1
1.2 Xcode를 이용한 첫 cocoa 프로그램 Hello - http://cocoadev.co.kr/3
1.3 Hello 프로그램 기능 추가 - http://cocoadev.co.kr/4
1.4 간단한 계산기 프로그램 - http://cocoadev.co.kr/5
1.5 NSView를 이용한 그리기 - http://cocoadev.co.kr/7
1.6 SimpleViewer 이미지 뷰어 (1) - http://cocoadev.co.kr/11
1.6 SimpleViewer 이미지 뷰어 (2) - http://cocoadev.co.kr/12
1.7 업그레이드된 계산기 프로그램 (1) - http://cocoadev.co.kr/13
1.7 업그레이드된 계산기 프로그램 (2) - http://cocoadev.co.kr/14
1.8 간단한 슈팅게임 (1) - http://cocoadev.co.kr/37
1.8 간단한 슈팅게임 (2) - http://cocoadev.co.kr/43
1.10 기본 콘트롤 사용법 (1) - http://cocoadev.co.kr/94
1.10 기본 콘트롤 사용법 (2) - http://cocoadev.co.kr/99
간단한 ToDo 어플리케이션 만들기 - http://cocoadev.co.kr/102
간단한 웹브라우저 만들기 - http://cocoadev.co.kr/127





최초 작성일 : 2009년 3월 8일 / 최종 수정일 : 2009년 3월 8일

'Mac OS X > Cocoa' 카테고리의 다른 글

Mac OS X과 iPhone application directory 비교  (0) 2009.05.01
Mac OS X과 iPhone application project directory 비교  (0) 2009.05.01
Objective-C  (0) 2009.03.09
Posted by 고처리
Mac OS X2009. 3. 7. 19:43
이글의 작성 의도는 [이곳]을 참조하라.



최초 작성일 : 2009년 3월 7일 / 최종 수정일 : 2009년 3월 7일

'Mac OS X' 카테고리의 다른 글

맥북 MB466 벤치마크  (0) 2009.03.24
스마트폰 시대 '활짝'…앱스토어, 직거래로 대박  (0) 2009.03.23
Mac OS X 소프트웨어  (0) 2009.03.11
Mac OS X 유용한 사이트  (0) 2009.03.09
Mac OS X 단축키  (0) 2009.03.07
Posted by 고처리