목록it (189)
Dharma
현상은 조금 깁니다. 크롬 관련된 기술을 컴파일할 경우가 있었는데 이게 Android 소스를 컴파일 하는 환경이 Ubuntu 에서만 테스트 되어 있다는 것입니다. 이런 경우는 OS 까지 개발툴 영역으로 보고 OS 환경까지 맞춰서 개발하는 것이 정신 건강상 좋다는 것을 여러번 겪었습니다. 소스를 받고 안드로이드 개발환경을 세팅을 하니 20기가로 할당했던 하드가 부족해서 컴파일이 안되는 현상이 나오는 것입니다. (사실 그전에 소스 개발하니 메모리가 부족해서 다급히 cpu 1개랑 메모리를 증설해줬습니다. 이 모든 것이 VMWare 로 하니 편하긴 하더군요) 메모리랑 씨피유랑 달리 하드는 크기를 늘려준다고 해도 (20G 에서 40G 로 증설) Guest OS 가 바로 인식은 못합니다. 따라서 다른 방법을 써야하..
공짜라고 신나서 Maverick (OSX 10.9) 으로 업그레이드 한 후에 XCode 도 5.0.1 로 업그레이드 했습니다. 그러면 당연히 'Command Line Tools' 를 깔아야지 후훗! 하고 깔아줬습니다. 문제가 발생하더군요 gcc-lvm 이 이번 버젼에서는 포함이 안되어 있더군요. 평소라면 언젠가는 업데이트 되겠지.. 하는 마음으로 느긋하게 기다리겠지만 산더미 처럼 쌓아져 있는 일이 제 마음을 압박하더군요. 주로 작업하는 일들이 open source 를 이용하는 작업들이라 gcc 가 안되면 심각한 문제가 발생합니다. $ xcode-select --install 하면 나오는 팝업창에서 '설치' - '동의' 누르면 설치됩니다. 이게 설치가 되면 brew 를 이용해서 apple-gcc42 버젼을..
원작을 소설로 먼저 접하고 영화로 다시 보게 되면 소설보다 감동이 덜 한 경우가 많습니다. 몰입감에서 차이가 나기 때문이라고 보는데요. 그 차이는 일정 시간안에 느끼는 정보의 양의 차이일 것입니다. 정해진 시간안에 상황을 다 이해해야 하는 영화와 달리 영화보다는 천천히 글을 읽어가며 자신의 상상을 보탤 수 있는 소설의 경우가 몰입감이 더 뛰어날 수밖에 없다고 봅니다. 상상은 (또는 망상까지도) 언제나 빛이 나는법이니까요 그런 의미로 보자면 게임은 정말 지대한 몰입감을 줍니다. 일단 자신이 진행을 하기 때문에 정보를 받아들이는 속도를 조절할 수가 있고 만약 실패한다고 해도 세이브-로드 라는 방법으로 진행 속도 조절뿐 아니라 필요한 부분에 대해서 자세히 진행을 반복할 수가 있습니다. 그렇기 때문에 잘 만들어..
오픈소스를 만지작 거리다 보면 남의 소스를 볼 일이 무지하게 많습니다. 가장 최근만 해도 이동통신 관련한 소스를 줄기차게 보고 있는데 (지금까지 본것중에서 난이도가 openssl 에 필적합니다.) 이러한 소스는 보통 여러 사람이 몇년동안 작업을 한 것이 대부분 이기 때문에 처음부터 전부 이해하려고 하다보면 들어가는 시간이 엄청 걸립니다. 단기간에 필요한 부분만 꺼내서 이용할 수 있는 신공을 익혀야만 제대로 쓸 수가 있다는 이야깁니다. 이러한 오픈소스 (그 중에서 특히 C 로 만들어진) 들이 어려운 이유가 몇가지가 있습니다. 그중에서 개인적으로 어렵게 만드는 요인이라고 볼 수 있는 것 몇가지만 이야기 해 볼까 합니다. 1. 엄청 많은 매크로 코드를 이해하는 것만큼 이 엄청난 수의 매크로도 이해해야 합니다...
작은 노트북을 가지고 다닐 때 소스 코딩 작업을 할 때, 큰 모니터 만큼 편한게 없습니다. 들고 다니기 편하기 때문에 주로 13인치 작은 맥북을 들고 다니기 때문에 회사에서 작업시 항상 큰 모니터를 연결해서 씁니다. 보통 24인치 모니터를 지급 받아서 붙이기 때문에 1080P 정도로도 충분했습니다. 그러나 이번에 지급 받은 것은 27인치를 지급 받았기 때문에 1440P 로 써야 했습니다. 그런데 문제는 일반적으로 맥북프로에서 1440P 를 지원하게 할려면 보통 알려진 방법 (DVI 변환 단자) 으로는 안됩니다. 그냥 결론부터 말하면 맥북프로에서 듀얼모니터로 1440P 를 지원하게 할려면 두가지 방법 밖에 없습니다. 1. '듀얼링크 DVI 커넥터 - MDP' 로 연결하는 방법입니다. 맥북프로에서 쓰이는 듀..
Android NDK (Native Development Kit) 을 이용해서 개발하고 있습니다. NativeActivity 를 이용하고 있습니다. 그런데 작지만 해결하기 어려운 버그가 있습니다. NativeActivity 는 Java 의 Activity 의 일종인데 JNI 를 이용한 Native C/C++ Entry Point 를 쓰레드 (Thread)를 이용해서 호출하는 부분을 잘 감싸서 NDK 를 이용해서 개발하고자 하는 사람들에게 편의를 제공할려는 목적으로 만들어 진것으로 보입니다. 특히나 게임 , 전화, 멀티미디어 용 어플리케이션을 개발하는 사람들은 필히 관심을 가져볼 만합니다. 발생한 이슈는 제가 추천한 책에서 언급된 소스에 다른 모듈을 붙일려고 하는 순간에 발생했습니다. 참고로 만들어본 An..
저는 Command Line 에서 GIT 을 쓰고 있습니다. '뭐든지 가장 기본이 되는 것부터 마스터를 하자!' 라고 평소 떠들고 다니기도 하지만, CLI (Command Line Interface) 가 가장 마음이 편안해 (?) 지는 환경이기 때문이도 합니다. 그러나 Eclipse 에서 개발이 최적화 되어 있는 분들은 어떤 방식이 되도 무조건 Eclipse 에서 돌아가길 원합니다. (진정한 IDE 라고 할 수 있죠) 그런분들에게 추천하고 싶은 포스트가 있습니다. http://www.vogella.com/articles/EGit/ 일단 포스트 주소입니다. 그리고 이 포스트와는 별도로 저 분의 사이트는 안드로이드 개발하는 분들에게 참조가 될 만한 내용을 정말 많이 가지고 있어서 즐겨찾기 해두시고 가끔가다 ..
스티브 잡스가 요즘 일반적으로 사용되는 이메일을 업무적으로 사용해서 팀의 지리적인 거리를 없애고 어떻게 의사 결정자가 CC 만으로 프로젝트에 참여할 수 있는 것인지.. 멀티미디어가 앞으로 '수단'이 되는 것이 당연하며, 절대 목적이 아니며 , 목적은 사람들 간의 커뮤니케이션이 될 것이라고 예언하는 동영상입니다. 다만 제가 이 것을 페북에 올릴 때 '스티브 잡스의 예언' 이라고 안 올리고 '어느 젊은 사업가의 예언' 이라고 올리니 반응이 전혀 없더군요. (물론 젊을 때 모습이라 스티브 잡스의 이미지와 매치가 안되는 경우를 고려했지만..) 그래서 이름이 알려지는 게 얼마만큼 중요한지 새삼 깨닫게 된 작은 실험이였습니다. (속된말로 좋은 프레젠테이션을 하고 싶다면, 유명한 사람을 데려오면 된다.. 라는 진리를..
저는 안드로이드를 Emacs 로 개발하고 있는 중인데요. 외부 jar 가 추가 될 때 자동으로 classpath 에 추가 하고 자동으로 import 기능을 활성화 시키는 방안을 찾는 중인데, 없더군요.. 물론 Eclipse 를 사용하면서 Google AdMob SDK 같은 외부 jar를 사용하기는 쉽습니다. 외부 라이브러리로 추가해 주면 끝이기 때문입니다. 다만 CLI (Command Line Interface) 에서 Ant 를 이용해서 빌드를 할 때는 마구 마구 귀찮아집니다. 하지만 쉽게 하는 방법이 생겼더군요. $(ANDROID_PROJECT_ROOT) 밑에 /libs 라는 디렉토리를 만들고 그 안에다가 GoogleAdMobAdsSdk-6.0.1.jar android-support-v4.jar 두개의..
요즘 Android NDK 를 이용해서 개발을 진행중인데, 화가 나는(?) 일이 발생해서 포스팅을 남기게 되었습니다. $(NDK_HOME)/docs/PREBUILTS.html 에 보면 A prebuilt module does not build anything. However, a copy of your prebuilt shared library will be copied into $PROJECT/obj/local, and another will be copied and stripped into $PROJECT/libs/. 이런 문구가 있습니다. 하지만 시키는 대로 하니 복사는 커녕 어떠한 동작도 발생하지 않는 것을 발견했습니다. 미치는 지 알았습니다. 한 두시간을 구글링 했어도 어디에서도 명확히 답을 주..