달력

03

« 2010/03 »

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
2008/03/13 11:19

Learning Objective-C: A Primer wkoh+apple2008/03/13 11:19

Objective-C 는 복잡한 객체지향 프로그래밍을 지원하록 설계된 간단한 컴퓨터 언어입니다. Objective-C는 클래스들의 동적 확장을 지원하도록 하는 것 뿐 아니라, 클래스들, 메소드들, 그리고 프로퍼티를 정의하는 신택스를 제공함으로써 표준 ANSI C를 확장하였습니다. 클래스 신택스와 설계는 대부분 최초의 객채지향 프로그래밍 언어 중 하나인 스몰토크에 기반하고 있습니다.

만약 이전에 개발자가 객체 지향 언어를 이용하여 프로그래밍을 해본 경험이 있다면, 다음 정보들은 Objective-C 의 기본 신택스를 배우는데 도움이 될 것입니다. Encapsulation, inheritance, 그리고 polymorphism 과 같은 많은 전통적인 객체지향 컨셉들은 모두 Objective-C에 나와 있습니다. 하지만 몇가지 중요한 차이점이 있는데, 그 차이점들은 본 문서에도 나와있고 더욱 자세한 정보들도 필요에 따라 구하실 수 있을 것입니다.

만약 객체지향 언어를 이용해서 프로그래밍해본 경험이 없다면, 적어도 관련된 컨셉들에 대해서 기본적으로 이해해야 할 필요가 있습니다. 객체들의 사용과 객체 지향 구성 개념은 iPhone 응용프로그램의 설계에 필수적이고, 어떻게 그들이 interact하는가를 이해하는 것은 응용프로그램을 작성함에 있어서 매우 중요합니다. 객체 지향 개념에 대해서 오버뷰를 원하신다면, Object-Oriented Programming with Objective-C 문서를 보시기 바랍니다.

Objective-C 언어와 신택스에 대한 더욱 자세한 소개를 원하시면 Objective-C 2.0 Programming Language 를 보시기 바랍니다.

more..



Posted by wkoh
2008/03/12 18:29

Tools for iPhone OS Development wkoh+apple2008/03/12 18:29

iPhone OS 를 위한 응용프로그램을 개발하기 위해서는, Xcode 툴을 수행하는 Mac OS X 컴퓨터가 필요합니다. Xcode 는 애플의 개발 도구 Suite 로써 프로젝트 관리, 코드 수정, 실행환경의 빌딩, 소스 수준의 디버깅, 소스코드 저장소 관리, 성능 튜닝, 그리고 다수의 기능을 제공합니다. 이러한 Suite의 중앙에는 Xcode 응용프로그램이 존재하는데, 기본 소스 코드 개발 환경을 지원하게 됩니다, Xcode 는 개발자가 사용하는 도구로서만이 아니라 iPhone 응용프로그램을 작성하는데 사용할 수 있는 응용프로그램에 대한 소개를 제공하는 다음 섹션까지 포함합니다.

Xcode

개발자의 개발 경험의 중심에는 Xcode 응용프로그램이 있습니다. Xcode 는 당신의 iPhone 프로젝트와 소스 파일들을 생성과 관리, 당신의 코드를 실행환경으로 빌드, 그리고 iPhone 시뮬레이터 혹은 디바이스 상에서 코드의 수행과 디버그하는데 필요로하는 도구들 전부를 제공하는 통합 개발 환경 (IDE)입니다.

그림 1. Xcode 프로젝트 윈도


새로운 iPhone 응용프로그램을 만들기 위해서는 Xcode 상에서 새로운 프로젝트를 생성함으로써 시작합니다. 하나의 프로젝트는 당신의 응용프로그램에 관련된 모든 정보 (소스파일들, 빌드 설정, 그리고 모든 부분들을 함께 담는데 필요로하는 룰)를 관리합니다. 모든 Xcode 프로젝트의 심장은 그림 1에서 보이는 프로젝트 윈도입니다. 이 윈도는 작성하는 응용프로그램의 모든 중요한 요소들에 대한 빠른 접근을 제공합니다. 그룹들과 파일들 목록은 소스파일들과 이러한 소스파일들로부터 생성되는 빌드 타겟을 포함하는, 작성하는 프로젝트의 파일들을 관리하는 곳입니다. 툴바는 공통적으로 사용되는 툴과 커맨드에 대한 접근을 제공하는 반면 자세한 부분은 프로젝트상에서 동작하기 위한 설정가능한 스페이스로서 제공됩니다. 프로젝트 윈도의 다른 부분은 프로젝트에 대한 컨텍스트 인포메이션으로 제공됩니다.

more..



Posted by wkoh
2008/03/07 12:04

iPhone OS Overview wkoh+apple2008/03/07 12:04

애플에서 2008년 3월 6일 iphone 에 관련된 software roadmap에 대해서 발표했다.

이와 동시에 개발자를 위한 SDK의 발표과 개발관련 자료를 배포했는데, iPhone OS 에 관련된 overview 가 있어서 이렇게 올려놓는다.

iPhone OS Overview

iPhone OS 는 운영체제와 iPhone 과 iPod touch 디바이스에서 네이티브하게 응용프로그램들을 동작하게 하는 기술들을 포함합니다. 이는 공통된 전통(?)과 mac os x 와 많은 하부 기술들을 공유함하지만, iPhone OS 는 사용자의 요구가 분명히 다른, 모바일 환경의 요구를 충족하도록 설계되었습니다. 존재하는 Mac OS X 개발자들은 많은 친근한 기술들을 착을 수 있지만, 그들 역시 오직 iPhone OS 에서만 가능한 Multi-touch 인터페이스, 가속도계 (accelerometer) 지원등의 기술도 찾을 수 있을 것입니다.


more..



TAG iPhone, sdk
Posted by wkoh
2008/02/13 10:50

VMware Fusion 1.0 released wkoh+apple2008/02/13 10:50


zdnet 에는 다음과 같은 뉴스가 8월 8일자로 실렸다.

“VMware는 8일 VMware Fusion을 발표했다. VMware의 데스크탑 가상화 플랫폼을 기반으로 한 VMware Fusion은 Mac 사용자들이 Mac 한 대에서 Mac OS X와 Windows, 다른 PC 기반 애플리케이션들을 동시에 실행할 수 있도록 지원한다”

“유망 벤처 캐피탈 업체인 Accel Partners(액셀파트너즈)의 후세인 칸지(Hussein Kanji)는 “매우 진취적이고 혁신적인 어떤 고객들은 사업 계획서를 Mac으로 건네 주곤 한다. Mac으로 전환하는 것도 흥미있는 일이기는 하지만 우리 사무실은 Windows Outlook과 Exchange를 선호한다. VMware Fusion은 내 MacBook Pro에서 Windows와 Mac 애플리케이션들을 모두 편안하게 사용할 수 있도록 지원해준다. 다른 어떤 Mac 가상화 솔루션보다도 하드웨어 리소스 사용이 적으면서 가장 안정적”이라고 말했다.”

일단… 출시전 50%세일 기간에 막판에 타서 구매해뒀다. 사실 회사에서 쓸꺼면 회사에서 사는게 맞겠지만… 언제 기달리나 싶어서 걍 구매할수 밖에…

그래도 만족하는 소프트기 땜시… ^.^


- 2007년 8월 8일에 쓴 글을 블로그의 이동으로 옮겼습니다.

TAG hvm, xen
Posted by wkoh

블로그로 글을 남기는 것은 부지런함이 필요한 것같다. (열정과는 별개의 문제인 것같기도 하고… 아닌 것같기도 하고… 암튼 초보 블로거의 생각으로써는 날때부터 1주일 늦게 나온 태생적인 게으름을 갖고 있는 나로써는 어려운 일이다.)

뭐 각설하고… 오늘은 parallels 라는 다소 생소한 hypervisor 에서 나타난 문제점에 대해서 써놓으려 한다.

Parallels, Inc. 라는 회사는 Washington, Renton에 위치하고 있는 회사로써 workstation과 server 수준의 가상화에 관련된 일을 하고 있는 회사이다. 특히 이 회사에서 처음으로 Intel-based Mac에 대한 hypervisor 제품을 출시함으로써 그 분야에서는 나름대로 leading company 가 되어 있는 현실이다. (글을 쓰고 있는 이 시점에서 VMware 에서도 fusion이라고 하는 intel-based mac을 위한 hypervisor 의 beta 버젼을 내놓은 상황이다.) 물론 Parallels workstation은 Mac 뿐만 아니라 Windows 와 Linux 용이 존재한다. 하지만 guest os 에 대한 parallels tools 는 현재 windows 용으로만 제공하고 있다는 제약을 갖고 있다.

아무튼… 현재 Parallels for Mac 은 vt-x (intel virtualization technology - x, 이는 vmx 라고도 한다. virtual machine extension의 약자) 를 지원하고 있는데 (여기서 x는 x86 ISA를 뜻하면 IA-64의 경우 i가 붙음) 현재 이를 지원하고 있는 프로세서들은 펜티엄4 6×2, 펜티엄 D 9×0, Xeon 3xxx/6xxx/7xxx, Core duo 그리고 Core 2 duo 이다. 또한 이 VT 를 사용하기 위해서는 BIOS/EFI 상에서 이를 지원해 주어야 한다. 이러한 VT를 지원하고 있는 가상화 솔루션들은 다음과 같다.

  • KVM
  • Microsoft Virtual PC : 6.0 beta 버전에서 지원
  • Microsoft Virtual Server
  • Parallels Workstation
  • TRANGO
  • VMware : VMware 의 경우 experimental support를 이야기하고 있으며 64bit guest os 를 구동할 때만 수행된다. 이는 VMware 에서 발표한 A comparison of software and hardware techniques for x86 virtualization에서 언급하고 있다.
  • Virtual Iron : virtual iron은 xen을 기반으로 enterprise virtualization solution을 제공하는 회사로써 이의 기반이 되는 VM은 모두 xen과 VT 를 이용한 unmodified os 만이 운영되는 것으로 보인다.
  • Xen : xen의 hvm에 대한 이야기는 언제가 이 블로그를 통해서 하게되지 않을까 싶다.

위와 같이 여럿 VT를 지원하는 가상화 관련 솔루션들이 존재한다. 하지만 이에 대한 자세한 언급이 본 포스팅의 목적과는 다르기 때문에 여기까지만 언급한다.

꽤 오래 삼천포로 빠져있었는데… 다시 본론으로 돌아와서 위에서 언급한 바와 같이 Intel 의 VT를 사용하려면 두가지 조건을 만족해야 한다.

  • vmx 를 지원하는 프로세서를 사용할 것
  • BIOS/EFI가 이를 지원할 것

Intel-based Mac 의 경우 모두 Core duo, core 2 duo, Xeon 5100 Series를 사용하고 있기 때문에 1번째 조건은 해결이다. 하지만 두번째 조건에 대해서 종종 문제점이 발생하곤 한다. 즉 BIOS/EFI 상에서 지원하고 이에 대해서 설정이 되어 있어야 하는데, EFI에서는

이에 대한 해결방법으로 parallels forum내의 한 포스팅에서 다음과 같은 방법을 소개하고 있다.

  • rEFIt를 다운로드 한다.
  • Disk Utility 를 이용하여 rEFIt 디스크 이미지를 read/write disk image 로 변환
  • vmx.zip 파일의 압축을 풀어서 새로운 read/write rEFIt 디스크 이미지의 vmx 폴더에 복사
vmx.zip 파일은 가능하면 위의 parallels 의 포럼에서 받으시길 바랍니다.

혹시 해당 링크가 끊어졌을 경우 본 링크를 이용하여 다운.

  • 새로운 rEFIt 디스크 이미지를 cd-rw 에 burning
  • 컴퓨터를 재시동하고 alt/option 키를 눌러서 EFI 메뉴가 나타나도록 함
  • rEFIt item 을 선택
  • rEFIt 메뉴의 shell item 을 선택
  • cd-rw 드라이브로 경로를 변경하기 위해서 fs0: (혹은 ‘fs1:’, ‘fs2:’ 등을 시도) 를 키인
  • ‘cd vmx’ 로 vmx 디렉토리로 이동
  • vmx-var-set.efi 를 실행, 그 후 prompt 로 돌아올때 문제점이 있을 경우 메세지가 출력되니 이에 대한 해결책은 알아서..(?)
  • ‘exit’ 를 입력
  • 컴퓨터가 꺼지면 잠시동안 파워코드를 뽑아놓음
  • 플러그를 다시 꼽고 시동…
  • 그런 후 parallels 를 키고 설치된 guest os 를 구동하여 parallels의 ‘about’ 다이얼로그에 vtx 가 설정되어 동작하고 있는지를 확인…

- 2007년 7월 31일에 쓴 글을 블로그의 이동으로 옮겼습니다.

TAG hvm, xen
Posted by wkoh