2011년 11월 29일 화요일

LIFE IS SHORT.









This IS YOUR LIFE.
DO what you LOVE, and DO it OFTEN.


If you don't like something, CHANGE IT.
If you don't like your JOB, QUIT.


If you don't have enough time, stop watching TV.
If you are looking for the love of your LIFE, STOP; They will be waiting for you when you START DOING THINGS YOU LOVE.


Stop over analyzing, all emotions are BEAUTIFUL.
When you EAT, APPRECIATE every LAST BITE.


LIFE IS SIMPLE.


Open your MIND, ARMS, and HEART to NEW THINGS and PEOPLE, We are UNITED in our DIFFERENCES.


Ask the next person you see what their PASSION IS, and SHARE your INSPIRING DREAM with THEM.


TRAVEL OFTEN; Getting LOST will help you FIND YOURSELF.


Some opportunities only come ONCE, SEIZE them.


Life is about the PEOPLE you MEET, and the things you CREATE WITH THEM so go out and START CREATING.


LIFE IS SHORT.


LIVE your DREAM and SHARE YOUR PASSION.











페이스북 타임라인을 보다가, 과거에 어느 블로그에서 보고 퍼왔던 글을 보고 느낌이 또 새로워서 블로그에도 올려 봅니다.
과거에 이 글귀를 봤던 블로그는...




2011년 11월 19일 토요일

AdMob 4.3.1 설치시 빌드 타겟 설정. "You must have AdActivity declared in AndroidManifest.xml with configChanges"


이미지는 내용과 아무 상관 없습니다.


AdMob의 현재 최신 버전은 4.3.1이다.
여기선 프로젝트가 com.google.ads.AdActivity 라는 Activity를 AndroidManifest에 선언하길 요구하는데, 이와 함께 다음의 configChanges 속성을 요구한다.
keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize

문제는 상당수의 속성들이 3.2 이상에서 지원된다는 것. 때문에 빌드 에러가 난다.

3.2 이상에서만 지원되는 속성을 삭제하면 빌드는 되지만, 광고가 나오지 않고, 까만 박스에 "You must have AdActivity declared in AndroidManifest.xml with configChanges" 라는 문구만 빨간 색으로 나오게 된다.
AdMob 문서에서 설명한 모든 configChanges 속성을 요구하기 때문이다.


3.2 이상 앱을 개발하면 되겠지만, 이 경우 하위 호환성에 문제가 생길 수밖에 없다.






해결책은, 앱의 실행환경 타겟은 그대로 두고, 빌드 시에만 3.2 이상 SDK를 사용하는 것이다.
참고로, 앱의 실행환경 타겟은 AndroidManifest 의 uses-sdk 항목에서 설정 가능하다. 이걸 변경시키면 문제는 해결 안되고, 하위 호환만 안된다.


먼저, SDK Manager 를 이용해 3.2 이상의 Android SDK를 받고,
사용 중인 빌드 시스템을 이용해, 빌드 시에 3.2 이상의 SDK를 이용하도록 하면 되겠다.


이는 사용 중인 빌드 시스템에 따라 달라지겠는데, 이클립스에서 개발중이라면, project.properties 라는 파일이 생성되어 있을 것이다.
여기에 보면 target 이라는 값이 있는데, 그 값을 android-13으로 수정해 주면 된다.
target=android-13
참고로, AdMob 광고가 나타나기 위해선 약간 시간이 필요하다. "You must have AdActivity declared in AndroidManifest.xml with configChanges" 문구만 나오다가 이젠 아무것도 안나온다면 문제가 해결된 것이다. 좀 더 기다려 보자.





빌드 시 사용할  SDK 타겟만 바꿨으므로, 하위 버전의 Android 기기에서도 3.2 SDK 에서 제공하는 하위 호환이 된다. 기본적으로 Android 는 하위 호환을 지키기 때문에 큰 문제는 발생하지 않는데, 3.2에서 deprecated 되거나 한 하위 버전 SDK의 API는 사용이 불가능하다.
이를 위해선 또다른 꼼수가 필요한데, 아래 참조 링크에서는, 3.2 에서 deprecated 된, 우리가 사용하고자 하는 API를 호출하는 library를 하위 버전 SDK를 이용해서 빌드하고, 이 library를 이용하는 방법을 이용했다.




참고 링크 :
http://stackoverflow.com/questions/7947165/admob-implementation-error/7951412#7951412
http://code.google.com/intl/ko/mobile/ads/docs/android/fundamentals.html

2011년 11월 7일 월요일

Hackers - 해커, 그 광기와 비밀의 기록


스티븐 레비의 작품, Hackers.
1970년대 MIT의 최초 해커들부터 하드웨어 해커(80년대), 게임 해커(90년대)로 대변되는 해커들의 이야기를 다루고 있다.
해커 특유의 문화에 대한 이야기가 많기 때문에, 컴퓨터 범죄자가 아닌 해커 자체에 대해 궁금증을 가지고 있다면 읽을 만 하다.
소프트웨어 개발을 단순히 돈을 벌기위한 수단이 아니라 즐거움의 대상으로 여기고 있는 분이라면 자신과 같은 성향의 선배들의 이야기를 재밌게 읽을 수 있을 것이다.

보통은 하드웨어 해커 이야기에서 나오는 스티브 와즈와 스티브 잡스의 애플 이야기, 빌게이츠와 홈브루 클럽의 소프트웨어 저작권 이야기 등에 흥미를 얻을 수 있고, 90년대 게임 해커 시대 이야기에선 어린 시절 90년대 초 어드벤쳐 컴퓨터 게임을 즐겼던 사람이 추억을 되살릴 수도 있을 것이다. 리처드 게리엇 이야기도 나온다.

하지만, 해커 자체에 대한 심도 깊은 이야기를 원한다면 역시 해커 문화의 성격과 태동을 다룬 70년대 MIT 철도 클럽(TMRC) 로부터 시작한 해커들 이야기를 재밌게 읽을 수 있을 것이다.
마지막 에피소드에서는 그 해커 문화가 어떻게 비극에 처하고 위험에 빠지는지도 슬프지만 담담하게 이야기 하고 있다.

개정본도 나와 있는데, 개정본은 번역본은 아직 없다. 개정본에선 마지막 챕터에서 짧게나마 이후의 동향과 페이스북의 마크 주커버그에 대한 이야기도 있다.

아래는 그중 일부 부분의 발췌.




이들의 단골 식사메뉴는 거의 언제나 중국요리였다. 중국요리는 값싸고 양이 많다는 이점도 있었지만, 그들이 이것을 즐긴 가장 큰 이유는 한밤중에도 배달된다는 점이었다. ... 중국음식은 일종의 시스템이었고 해커들은 마치 새로운 리스프 컴파일러를 발견했을 때와 마찬가지로 이 시스템에 대해 지칠 줄 모르는 호기심을 발동시켰다. - "그린블러트와 고스퍼", p.102 -



"옛날에 내가 선더랜드 밑에서 일하던 시절, 나는 8시부터 5시까지 시계바늘처럼 시간을 지켜 일하는 것에 대해 불평을 늘어놓곤 했습니다(그것은 해커의 모드, 즉 자유로운 작업 방식이 아니었으니까요). 그런데 이제는 내가 8시부터 5시까지 일할 수 있는 프로그래머를 필요로 하고 있습니다. 그것은 마치 히피에서 자본가로 혹은 어떤 다른 것으로 변모하는 것과 마찬가지였습니다. 나는 자신이 배반당했다는 느낌을 가지고 있는 프로그래머들이 무수히 많다는 생각을 갖고 있었습니다"
 - "마법사 대 마법사", 켄 윌리엄스, p.539 -



"저는 소프트웨어가 소유될 수 있다는 생각을 믿을 수가 없었습니다. 왜냐하면 그런 관습이야말로 인류 전체에 대한 사보타지이기 때문입니다. 그것은 사람들이 프로그램의 존재 자체로부터 얻을 수 있는 최대한의 이익을 가로막는 저열한 행위입니다."
 - "에필로그 - 진정한 해커의 종말", 리처드 스톨맨, p.563 -


"... 그 책은 '최후의 인디언 이시'라는 제목이었습니다. 그것은 한 인디언 부족의 마지막 생존자에 대한 내용이었는데, 처음에는 그와 그의 가족들이 있었지만 마침내 그들은 하나씩 하나씩 죽어갔습니다."
 그 마지막 인디언이 느꼈던 감정이 바로 스톨맨의 느낌이었다.
"저는 죽어버린 문화의 최후의 생존자였습니다. 그리고 저는 더 이상 세상에 속하지 않는 사람이었습니다. 어떤 의미에서 저는 죽어야만 한다고 생각했습니다."
 - "에필로그 - 진정한 해커의 종말", 리처드 스톨맨, p.575 -

[감상] 개발자를 부탁해



우연히 어느 블로그에서 서평을 접한 후, 재밌겠다 싶어 책을 질렀다.

책은 기본적으로 남중-남고-공대의 길을 걸은 평범한 남성 개발자의 독특한 특성을 바탕으로 연애, 취업, 직장생활 등, 사회에서 겪게 되는 이야기를 하고 있다.

개발자 개무시 시대에 발맞춰 출간된 책으로 보이고, 소비자 층을 자극하기 위해 개발자의 연애에 대한 조언이라는 부분을 홍보에 집중시킨 것으로 보이는데,
저자가 스스로 자신은 타고난 개발자는 아니고, 어쩌다 보니 이쪽으로 발을 들이게 된 여성이라 이야기 하는 부분에서는 조금 몰입도가 떨어지고(원하지 않았는데 어쩌다 보니 개발에 발을 들이게 된 개발자들이라면 오히려 더욱 몰입이 될 것 같다),
연애 파트는 공감이 심하게 가고 굉장히 재미있게 읽을 수 있지만, 사실 다 머리로는 알고 있는 내용들인지라 크게 와닿지는 않는다.

오히려 취업, 직장생활 등에 대한 저자의 경험이 듬뿍 담긴 부분들이 많이 와닿는다.
저자의 영국 이민/이직기는 특히 본인도 많은 괴로움과 번민을 느끼며 시도했기 때문인지, 상당히 정보가 구체적이어서 외국으로의 이직을 생각하는 사람은 한번쯤 볼만할 것 같다.

직장생활 이야기도 저자의 생생한 경험을 바탕으로 취업하기 전의 개발자들이 일반적으로 생각하는 회사 생활과 실제 생활하게 되면 느끼게 되는 회사 생활, 그 안에서 주의해야 할 것들이 상당히 꼼꼼하게 묘사되고 있다.


하지만 뭐니뭐니 해도 이 책의 가장 멋진 부분은, 저자가 여성이기 때문인지는 몰라도 자신의 경험을 이야기 하고 털어놓는 가운데, 단순히 꼼꼼하고 생동감 있는 정도가 아니라, 직장생활 선배로서 후배를 진심으로 위하는 마음으로 쓴 것 같은 세심한 배려가 느껴진다.
이 부분이 사실을 가능한 객관적이고 사실적으로 전달하는게 목표가 되곤 하는, 개발자 대상 서적들(대부분 개발자 대상 서적은 개발자가 쓰고, 개발자의 일반적 글쓰기 목표가 그러하기 때문이리라)과 다른 부분인 것 같다.

마지막으로, 읽으면서 나름 인상깊었던 부분을 발췌해 본다.
"응, 나 하버드 갈 정도의 성적이랑 SAT 점수도 나왔어. 아이큐로만 보면 뭐든지 할 수 있었다고도 해. 하지만 가능성은 가능성일 뿐이고, 가능성에 매달리다가 인생 말아먹는 건 27년으로 족하다고 봤어. 내 가능성을 보고 알아달라고, 나 보이는 것보다는 훨씬 대단한 사람이라고 인정해 달라는 투정도 이젠 그냥 그만두기로 했어."
이제는 안다. 현실을 그대로 받아들이기보다는 다른 것에 매달리면서 현실을 미래로 밀어버리는 쪽을 택하려 했다는 것. 식당에서 그냥 웨이터로 일하는 것보다는 뭔가 대단한 시험 공부를 하면서 '이건 그저 임시로 할 뿐이야'하는 쪽이 마음이 편하기 때문에, 난 평생을 그렇게 살아왔다는 것. 하버드 입시 준비를 하는 동안은 하버드에 갈 수도 있는 사람이지만, 그냥 저임금 평사원으로 취업해 버리면 내 가능성은, 내 꿈은, 내 인생은 거기에서 끝나버리는 것 같아서 그걸 놓기가 힘들었다고.