2011년이 된지가 언제인데 이제야 올린다. 과제도 이제 나갔으니 괜찮겠지. 오픈 소스에는 내가 commit 한 change들도 올라가서 내 이름도 막 보이고.

지난 해 과제 개발을 위해 미국 캘리포니아 산호세 랩으로 장기-_-출장을 다녀왔다.
가서 정말정말정말정말 많이 힘들었는데, 그만큼 배운 것들도 있고, 잊고 있던 좋은 코딩 습관들이 다시 생각나서 나름 괜찮았다. 실질적인 수확 중 가장 큰 수확은 git 쓰는 데 익숙해졌다는 것. 다른 수확들은 나중에 더 큰 일을 할 때 도움이 되지 않을까 한다.
가서 일하면서 내가 지금 일하고 있는 회사의 단점들이 더 크게 보였고, 구글의 장점들을 받아들여 일할 수 없는 현실들이 매우 슬프게 느껴진다. 우리네 개발 현장의 현실은 매우 어렵다. 그래서 안타깝다.
사진들은 돌아올 수 없을 것만 같았던 기약 없던 출장에서 드디어 돌아갈 날이 정해진 후에야 찍은 사진들이다. 그때서야 겨우 나는 주위를 둘러볼 수 있었고 그때서야 겨우 웃을 수 있었다.
Google의 New Business Manager, 김현유님을 만나다!

Google이나 실리콘밸리 기업들에 대한 여러 단면들을 보여준다. 또한 개인 커리어 관리에 대한 생각 역시 하게 한다. 국내(내가 다니고 있는 회사를 포함하여)와 실리콘밸리의 기업문화 비교 역시 흥미롭다.

특히 인상적이었던 것들은,

1. 멀리 내다보고 기회 포착을 위해 준비하는 자세
2. 그를 위해 조직을 만들고 이끄는 능력
3. 자신의 경험들에 대한 긍정적인 자세
4. 어려운 설명을 예를 들거나, 쉬운 용어로 쉽게 설명하는 능력
5. 기술적 트렌드에 대한 전망과 그 변화를 읽는 눈
6. 자신이 하고 싶은 일을 차후에 언제, 어떻게 할 수 있을 것 같다는 생각
7. 기업 문화의 장/단점을 포착하는 통찰력, 이를 사회 혹은 조직 전체적인 시각에서 바라보는 눈
8. 자신이 사업 체질인지 커리어 체질인지를 파악하고 인지하고 있다는 점

등이다. 이외에도 블로그를 보면 댓글들에서 상대의 좋은 부분을 꼭 칭찬하는 습관이 있음을 볼 수 있었다.

장점들은 배운다. 그리고 꼭 행동하고 실천하자.

p.s 글에 링크되어 있는 다른 글들 역시 읽어볼만한하다.
구글 안드로이드 관련 문서들을 살펴보다가 괜찮은 문서가 있으면 공부 및 정리 겸 해서 번역하면서 보려고 생각하다가 그냥 번역하고 인터넷 상에 올리면 안될 것 같아서 문서들 아래에 적혀있는 다음과 같은 문구의 링크된 Content License 부분을 눌러서 보게 되었다.

Android 1.5 r3 - 21 Jul 2009 11:19


일단 Content에 대해서 두가지로 나누고 있는데, 먼저, "Documentation content" 라 하여 "Dev Guide" 와 "Reference" 탭에 있는 샘플 코드나 소스코드로 부터 생성된 내용이나 그 외 내용들로 하나를 구분하고, 기타 다른 사이트 상의 모든 내용들, 이렇게 해서 두가지로 구분한다.

Content License 에 따르면, 일단 "Documentaion content"는 Android Open Source Project의 일부로 사용 가능하고, 어떤 코드가 포함된 문서들은 Apache 2.0 라이센스를 따른다고 한다. 물론 그에 앞서 GPLv2나 그 외의 라이센스에 해당하는 소스코드를 포함하는 경우에는 해당 라이센스가 우선된다. Apache 2.0 License에 관해서는 KLDPWiki: 오픈소스 소프트웨어 라이센스 가이드Apache 2.0 라이센스 원문, 그리고 Apache 2.0 라이센스의 번역본(김윤수님의 Apache License Version 2.0 번역 완료) 글을 참조해보기 바란다.

그리고 나머지 사이트 상의 다른 모든 자료들은 Creative Commons Attribution 2.5[우리말] 라이센스를 따른다.
예전에 안드로이드 관련 과제를 진행하면서 보았던 Reference 들이다.


1.2 Reference #

[edit]

1.2.1 Android Hacking #

[edit]

1.2.2 Android Internal #

[edit]

1.2.3 JNI #


이건 아마도 JNI 관련 라이브러리를 만드는 중에 시도했던 삽질 과정 중의 컴파일 옵션들..

  • ./configure --host=arm-none-linux-gnueabi --enable-shared CFLAGS=-fpic CXXFLAGS=-fpic LDFLAGS=-shared
  • ./configure --host=arm-none-linux-gnueabi --enable-shared CFLAGS=-fpic CXXFLAGS=-fpic CPPFLAGS="-fpic -I/usr/local/include/ -I/usr/lib/jvm/java-6-sun/include -I/usr/lib/jvm/java-6-sun/include/linux" LDFLAGS=-shared

이후에 자료들이 많이들 생긴 듯 해서 별로 필요는 없을 듯 하지만, 위키 쪽 자료들을 조금씩 정리하면서 블로그로 옮기고 정리해가자.