Cocoa의 프레임웍
OSXDEV
시작하기 전에 잠시 딴 이야기를 해보도록 하겠다. 이번 슈퍼컴퓨터 컴퍼런스 2003을 맞이하여 11월 16일자로 슈퍼컴퓨터 Top 500(http://www.top500.org/) 이 재선정 되어서 발표되었다. 여기에 3위로 올라선 시스템이 버지니아 공대에서 올 가을에 제작한 빅맥("Big Mac")이라는 매킨토시 클러스터링 기반의 슈퍼컴퓨터이다. 이것은 IBM의 2Ghz PowerPC 970칩 2개를 장착한 파워맥 1100대를 기가비트 이더넷으로 묶어서 만든 것이다. 기존의 슈퍼컴퓨터 1/10정도의 가격으로 10.28 TFLOPS의 성능을 내면서 3위에 올라간 것이다. 가격 뿐만 아니라 사용된 전체 CPU갯수 면에서도 놀라울 정도로 뛰어나다. 더욱 놀라운것은 여기에 리눅스가 올라간 것이 아니고 MacOS X 10.2 (재규어)가 탑재되어 있다는 것이다. 10.3으로 가면서 전반적으로 성능향상이 크게 있었고 특히나 컴파일러의 개선이 두드러지기 때문에 다음 조사에서는 더 뛰어난 성능을 보여줄 것으로 기대되고 있다. 더욱이 여기에 힘을 얻어 이번에 우리나라 기상청 슈퍼컴퓨터 사업에도 도전하고 있다.
지난 3개월간 오브젝티브 C의 기초부터 고급기능 그리고 실제 MacOS X에서 사용할 수 있는 툴에 대해서 이야기 했었다. 이것만 보고도 실제 코딩이 가능한 사람도 있겠지만 조금 부족한 느낌이 있다. 아직 코코아 프래임웍 자체에 대해서는 이야기 하지 않았기 때문이다. 사실 이때까지 연재 했던 내용은 코코아 프래임웍을 설명하기 위해서였는데 마지막 연재에 와서 보니 용두사미가 된것 같아 마음이 아프다. 제한된 지면에 방대한 분량의 코코아 프래임웍을 모두 설명하는 것은 불가능 할것이고 꼭 알아뒀으면 하는 부분을 위주로 설명하도록 하겠다.
이번회에는 실제적으로 코코아 프래임웍을 사용함에 있어서 부닥칠 수 있는 여러 문제들에 대해서 다뤄보겠다. 어떻게 하면 코코아 프래임웍을 쉽게 이해시킬까 고민하다가 필자는 그 해법을 실제 코코아에 사용되는 파운데이션 프래임웍을 설명하고 또 더 나아가 코코아에서 사용되는 몇몇 디자인 패턴에서 찾기로 했다.




