Doyub Kim

Computer graphics, software development, web,
photography, and graphic design




Main     Research     Photography     Blog     About




2009/08

Mac OS X 10.6 Snow Leopard - Day 1 by doyub (2) 2009/08/29
Sony Pictures Imageworks Open Source by doyub 2009/08/23
김대중 전 대통령 서거 by doyub 2009/08/18
SCons - Working with Windows by doyub 2009/08/13



Pages

1  



Mac OS X 10.6 Snow Leopard - Day 1


Snow Leopard

아 귀여워


개발자 입장에서 시스템 로그 기준 정확히 2:16시간 사용한 후기


0. 설치는 Mac Pro Dual Xeon 2.8 GHz 기준  대략 30분 소요.
-> 런칭 행사에서는 15분이라고 주장. 업그레이드시 기존의 사용자화된 구조를
컨버팅하는데, 이게 좀 복잡할 수록 시간이 많이 소요되는 것 같음-_-;
아예 새로 깔아보니 절반가까이 시간이 단축됨.


1. 기존의 Xcode 3.1 installer는 버려라 (8월 28일 기준으로 ADC에 있는 버전 포함).
반드시 DVD에 동봉된 버전으로 설치해야 10.6 SDK가 설치되며 (즉, GCD나 OpenCL등을
포함한..) gcc, g++등의 툴들이 터미널에서 제대로 실행된다. 물론, ADC 유료 회원이라면
SDK를 웹에서도 받을 수 있는 것 같긴 하지만.. 그냥 주는대로 깔자.
방금 ADC가 업데이트되어서 이제 Xcode 3.2를 무료로 다운받을 수 있음. 예제 코드도 공개.


2. OpenCL은 매우 훌륭하다. 1시간 공부해서 구현한 벤치 마킹 프로그램에서
GeForce 8800GT를 사용, BLAS1수준의 간단한 벡터 연산의 반복 시 아주 인상적인 퍼포먼스를 보임.
CUDA처럼 컴파일타임 컴파일-_-;이 아니라 GLSL처럼 런타임에 컴파일 한다는 것은 살짝 좀 거시기 하지만,
뭐, 추가적인 컴파일러가 없어서 좋은 점도 있다. 이래저래 GLSL이랑 거의 유사하고 함수만 매핑해놓은 것
같은 기분이다. 윈도우 context가 필요 없는 GLSL 같음. 물론 덕분에 CUDA환경설정처럼 쌩쑈는 안해도 된다.
세팅하고 사용하기는 OpenGL만큼 편하다.


3. TextMate상에서 Cmd + Left/Right Arrow가 먹통이다. 대체 왜 그런것일까.
TextMate의 텍스트 에디터는 기존의 텍스트뷰를 쓰지 않은 것인가? 코드 폴딩 때문에?
현재 메일링 리스트에 질문만 올라와있는 상태. 이 쓰레드에서 임시 해결법을 제시하고 있음.
Snow Leopard Compatibility.zip에서 번들을 받아 설치하면 위의 문제는 해결된다.
->이 문제는 8월 29일자 revision (1509) 에서 해결되었음.

[2009-08-29: REVISION 1509]
[FIXED] Remove “interactive input” dylib (as it fails with Snow Leopard) — ticket FAB08510.
[FIXED] Add local key bindings for command + arrows (as there are no defaults in Snow Leopard) - ticket 0FDE7076.
[FIXED] Random crash from WebKit when re-running commands - ticket C754B8FF.



4. Xcode는 매우 정갈해졌고, 에디터는 1, 2버전 이전의 비주얼 어시스트 수준의 스마트함을 보여준다.
신택스 컬러링도 개선되었다.


5. 이제 gcc 4.2.1이 기본이다. 4.0.x가 옵션 사항으로 바뀜.
OpenMP 쓰려고 기본 컴파일러 일일이 안바꿔도 됨.
...그래봤자 페도라는 이미 4.4던데...


6. Xcode project를 생성하면 x86_64가 기본으로 뜬다. 올레!
참고로 활성 상태 보기를 실행시켜보라. 1, 2개 항목을 제외하고는 죄다 64비트.


7. 바탕화면이 많이 추가되었다. 코딩에 지친 눈을 눈고냥을 보며 달래자-_-;


8. 그 밖에 python은 2.6이 기본이고 scons 1.2.0도 잘 되고, svn도 잘 되고, svnX는 10.5때와 마찬가지로
bin path에서 local만 빼주면 잘 돌아간다. 뭐 당연한 것들.


9. Safari는 같은 4.0.3인데 레오파드때보다 더 빨라진 기분이 든다-_-; 64비트의 힘?


10. Quicktime은 Pro와의 구별이 사라졌고, 인코더도 내장이다. 스크린 녹화도 기본으로 지원.
시연 동영상 만드려고 토런트를 헤매일 일은 사라졌다.
2009/08/29 02:03 2009/08/29 02:03


No Trackback |  2 Comments

Comments


dooseon

2009/09/04 10:46 edit / delete reply

진리의 눈표범 ㅇ_ㅇ
아니 근데 아이폰은 대체 언제나옴??

>   doyub

2009/09/04 11:57 edit / delete reply

눈표범, 그거슨 진리.
아이폰은 포기했다 타블렛이나 나와라


Have your say







Sony Pictures Imageworks Open Source


User image

Sony Pictures의 Imageworks에서 개발한 프로젝트의 일부가 오픈소스로 공개되고 있네요.

opensource.imageworks.com

지금 공개된 프로젝트는 총 5개로, 쉐이더 라이브러리인 Open Shading Language,

DB 매니져인 Scala Migrations, 유체나 볼륨렌더링을 위한 Field3D 자료구조 라이브러리,

Python의 스트링 함수들을 std::string으로 구현한 pystring, Maya에서의 카메라 가이드를 위한

Maya Reticle이 있습니다.

개별 프로젝트 이름부터 자극적(?)인데요, 특히 Field3D 나 pystring 같은건

내가 짜기는 귀찮고 있으면 좋겠고 싶은 기능들이 아닌가 합니다-.-a

Maya Reticle의 경우도 아직 다운받아보진  않았지만 꽤 재밌을 것 같네요.

그 중에서도 Open Shading Language가 정말 기대가 되는데,

아쉽게도 아직 svn 저장소만 만들어져있고 소스가 업데이트 된 것 같지는 않습니다.

그리고 물론 사실 핵심 기술적인 부분들은 공개되지 않았고, 일종의 유틸리티 성격의 프로젝트들만

공개된 것으로 보입니다. Field3D도 '자료구조' 라이브러리지, 실제 시뮬레이터는 공개되지 않았죠.

살짝 생색내기같긴 합니다만, 그래도 스튜디오에서 주도적으로 오픈소스 프로젝트를 열었다는 것은

꽤 고무적인 일이네요.
2009/08/23 12:52 2009/08/23 12:52


No Trackback |  No Comment

Comments

Have your say







김대중 전 대통령 서거

User image

1924/1/6 ~ 2009/8/18

2009/08/18 22:03 2009/08/18 22:03


No Trackback |  No Comment

Comments

Have your say







SCons - Working with Windows


이번 글에서는 Windows에서 SCons와 MSVC를 사용한 컴파일을 해보도록 하겠습니다.


1. 설치 및 설정

우선 Windows에는 기본적으로 Python이 설치되어있지 않습니다. 당연히. 짜증나게도.
그래서 가장 먼저 해줄 일은 Python을 설치하는 것인데, 설치 파일을 그대로 실행하면
친절히 알아서 모든 작업을 다 해줍니다.
하지만 당연히 되어야 할 부분 같은데, 제가 설치할 시에는 Python의 bin폴더가 PATH에 등록되지 않아
cmd상에서 python이라고 치면 실행되지 않습니다. 이건 간단히 시스템 속성에서 환경 변수 PATH에
python의 설치 디렉토리를 추가해주면 되겠습니다.
그리고 SCons를 받아 설치하게 되면 이 역시 설치 자체는 매우 간단하나, PATH가 잡혀있지 않으므로
SCons가 설치되는 C:\Python 디렉토리\Scripts를 역시 PATH 변수에 추가해줍니다.
그리고 마지막으로 cmd를 띄워서 scons -v라고 입력해봅니다. 제대로 버전이 뜨면 성공입니다!


2. Windows에서 컴파일하기

Windows에서 간단하게 SConstruct를 다음과 같이 입력하고 실행시키면
env Environment()
env.Program('test', 'test.cpp')
다음과 같은 에러 메시지가 뜨게 됩니다.
LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
scons: *** [main.exe] Error 1104
scons: building terminated because of errors.
아... 짜증나죠.
분명히 Visual Studio command prompt로 실행하여 환경 변수를 설정해주었음에도 불구하고,
이런 기초적인 문제가 발생하는 이유는 환경 변수만 설정 되었을 뿐, 이러한 사항들을 SCons에서
전혀 인지하고 있지 못하기 때문입니다 (하여간 Windows만 오면 문제가 복잡해짐-.-).
Visual Studio 역시 옵션을 열어보면 기본 포함/라이브러리/실행 디렉토리에 각종 환경변수들이
자리잡고 있으며, 사용자가 지정해주지 않아도 프로젝트 링커 속성에서 명령줄을 살펴보면
다양한 기초 라이브러리들이 기본적으로 링킹되고 있음을 볼 수 있습니다.
이를 해결하기 위해서는 SConstruct를 아래와 같이 작성합니다.
import os

env = Environment()

env['ENV']['PATH'] = os.environ['PATH']
env['ENV']['INCLUDE'] = os.environ['INCLUDE']
env['ENV']['LIB'] = os.environ['LIB']
env['ENV']['LIBPATH'] = os.environ['LIBPATH']
env['ENV']['WindowsSdkDir'] = os.environ['WindowsSdkDir']
env['ENV']['VCINSTALLDIR'] = os.environ['VCINSTALLDIR']

env.Program('test', 'test.cpp')
os는 매우 유용한 자료를 많이 담고 있는데, 위에서 보듯이 environ을 통해 현재 플랫폼의 다양한
환경 변수들을 가져올 수 있습니다. SCons가 MSVC에 적절한 환경 변수를 전달해주기 위해서는
위와 같은 os.environ의 정보들을 사용자가 직접 넣어주어야 합니다.
이렇게 입력한 다음 scons를 실행시키면
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
link /nologo /OUT:main.exe main.obj
scons: done building targets.
아름답게 컴파일이 이루어집니다.
2009/08/13 23:27 2009/08/13 23:27


No Trackback |  No Comment

Comments

Have your say




Pages

1  


Copyright ⓒ 2010 Doyub Kim. All rights reserved.
Powered by Textcube, Blueprint CSS Framework 0.8 and script.aculo.us 1.8.2

Entries RSS | Comments RSS