본문 바로가기

Maemo 5 개발환경 Maemo 5 개발환경 1. 마에모 소개 마에모는 리눅스에 기반한 모바일 디바이스를 위한 오픈소스 개발 플랫폼이다. 마에모 5는 기본적으로 GNU/Linux 와 Gnome/GTK+ 기술을 기초로 하며 이들을 모바일 특성에 맞게 최적화하였다.(마에도 6 부터는 QT 기반으로 바뀔 예정임) 마에모 5는 현재 노키아 N900 에 실려 있으며 텍사스 인스트루먼트의 OMAP 3430 이 장착되어 있으며, 칼짜이쯔 렌즈를 가지는 고성능 카메라를 내장하고 있다. 2. 개발 환경 마에모는 데스크탑에서 모바일에 이르기까지 일관된 프로그래밍이 가능한 인프라스트럭처를 가지고 있으며 크로스 플랫폼 환경에서 개발된 소프트웨어들이 쉽게 포팅될 수 있다. 마에모는 크로스 플랫폼 위젯 툴인 GTK+ 를 유저 인터페이스로 사용하며, .. 더보기
QT 기반으로 새로 태어나는 Maemo 6 QT 기반으로 새로 태어나는 Maemo 6 아이폰 열풍이 채 가시기도 전에 안드로이드의 새로운 열기가 다가오고 있다. 모바일 컴퓨팅이 데스크탑 환경과의 차이를 좁히면서 프로그래밍 측면에서도 관심을 갖지 않을 수 없게 되었다. 안드로이드가 매력적인 프로그래밍 환경이기는 하지만 차세대 모바일 플랫폼으로 자리잡을 수 있을지에 대해서는 의견이 엇갈리고 있다. 제한된 자원을 효과적으로 활용하는 것이 핵심인 모바일 운영체제는 대 여섯개 정도의 플랫폼이 경쟁을 벌이면서 치열한 각축전을 벌일 것으로 예상된다. 한가지 특이한 점은 데스크 탑 운영체제를 제패한 MS가 모바일 환경에서는 죽을 쑤고 있는 상황이다. 전세계적으로 7% 대로 점유율이 떨어지며 퇴출 위기까지 몰린 윈도모바일은 유독 한국에서만 90%가 넘는 점유율을.. 더보기
LuxRender - 또 하나의 Unbiased Renderer LuxRender - 또 하나의 Unbiased Renderer 최근에 정확한 광학 법칙에 따라 렌더링을 수행하는 이른바 Unbiased Renderer 들이 많이 소개되고 있는데, 대표적인 상용 프로그램인 Maxwell Render 는 2.7 버전이 발표되었고, 그외에 Fry Render, 그리고 최근에 상용으로 돌아선 indigo 등이 있다. 이들 렌더러들은 Global Illumination 과 재질의 표현에 있어서 실제 물리 법칙을 이용한 계산을 통하여 실사와 구별하기 힘든 이미지들을 만들어 낸다. "Unbiased" 렌더러란, 렌더링된 이미지가 현실 이미지와 차이(bias)가 나지 않는 렌더러를 말한다. 물론 현실과 같은 이미지를 만드는 것은 불가능하며 다만 실제 이미지에 수렴해 갈 뿐이다. 때.. 더보기
Closure in C++ Closure in C++ Closure 는 Lexical binding 을 지원하는 함수형 언어에서 주로 쓰이던 개념으로서, 코드 블럭이 자신이 정의될 때의 주변 환경(코드 블럭이 정의될 때의 로컬 변수들의 값)을 기억하여 나중에 수행될 때도 원래의 환경에 따라 수행되는 것을 말한다. 보통 closure를 람다 함수(익명 함수)와 혼동하는 경우가 많은데 둘은 완전히 다른 개념이며 구분해서 사용해야 한다. 이러한 혼동이 생기는 이유는 closure 가 익명함수와 묶여서 사용되는 경우가 많기 때문이다. 또 closure 를 함수의 인수 또는 결과값으로 사용될 수 있는 코드 블록이라 이해하는 것은 closure 자체에 대한 이해라기 보다는 closure 용도에 대한 이해에 해당한다. C++ 은 대표적인 절차.. 더보기
김대중 노무현의 분노, 이명박의 미소 김대중 전대통령이 돌아 가셨다. 노무현이 죽은지 석달만에. 이명박 패거리가 주장하는 잃어버린 10년의 주역들이 모두 없어졌으니, 그들의 입가에는 미소가 흐를 것이다. 두 사람은 후회없는 삶을 살다 갔지만, 남은 사람은 그저 우울하기만 하다. 더보기
안드로이드 플랫폼에서 Clojure 실행 안드로이드 플랫폼에서 Clojure 실행 안드로이드 플랫폼은 자바의 바이트 코드와는 다른 Dalvik 의 독자적인 바이트 코드를 사용하기 때문에 자바 VM 에서 컴파일한 Clojure 코드가 그대로 실행되지 않는다. 하지만 간단한 패치를 통해 안드로이드에서 Clojure 실행에 성공했다는 소식이 들려왔다. http://riddell.us/tutorial/clojure_android/clojure_android.html 비슷한 플랫폼인만큼 Clojure 를 안드로이드 플랫폼에 적용하는 것이 어렵지는 않을것 같은데, Dalvik 프로그램을 굳이 LISP 로 만드는 것이 잇점이 있는지는 좀 더 생각을 해봐야 되겠다. 더보기
노무현 대통령의 명복을 빕니다. 저에게는 전대통령이 아닌 현재, 그리고 영원한 미래의 대통령입니다. 치졸한 이명박 패거리와 조중동이 없는 세상에서 편안히 쉬세요. 더보기
Clojure Data Structure Clojure Data Structure Clojure 의 데이타는 수, 문자열과 같은 개별 데이타 (Atom)와 이들을 묶어 놓은 Collection 으로 구성된다. Clojure 의 모든 데이타와 Collection 은 immutable 하며 일단 생성되면 다른 메소드에 의해 변경되지 않는다. Numbers Clojure 는 정수, 실수, 분수를 지원한다. Example Expression Return Value (+ 5 8) 13 (/ 5 8) 5/8 (/ 5 8.0) 0.625 (def a 3) (= a 3) true Strings Example Expression Return Value (print "Hello.") Hello.nil Symbol Symbol은 일반적으로 값을 binding 하.. 더보기