========== [ 스터디 멤버 모집 ] ==========

" 안드로이드 플랫폼 부산 스터디" 멤버 모집합니다.

『 모집 대상은 안드로이드에 관심이 많은 누구나 가능하며 특히 배우고자 하는 열정을 가진 사람이라면 대환영입니다. 스터디 장소가 부산 부산대이니만큼 매주 스터디 참석에 지장이 없는 사람이라면 거침없이(?) 지원해주시면 감사하겠습니다. 』

스터디 멤버로 참여를 원하시는 분은 agile.excy골뱅이gmail.com 로 아래와 같은 사항을 기재해서 메일로 보내주세요.

    * 제목 : [스터디참여] 안드로이드 플랫폼 부산 스터디에 참여를 희망합니다.
    * 이름 :
    * 휴대폰 :
    * 이메일/트위터ID :
    * 거주지역 :
    * 자기소개 : (간단한 프로그래밍 실력, 안드로이드 공부 여부 등)
    * 지원동기 : (왜 안드로이드를 공부하려는지? 등등)
 
1.스터디 소개

저희 스터디 모임은 "안드로이드 플랫폼 수원 스터디"의 명맥을 이어받아

매주 토요일 오후 1시30분부터 7시까지 부산대 강의실에서 모여 안드로이드 플랫폼을 공부하는 모임입니다.

- 주  제 : 안드로이드 플랫폼 source 분석
- 방  식 : 스터디 맴버가 오프라인으로 모여 안드로이드 플랫폼 소스를 line by line으로 분석
            기존에 안드로이드 플랫폼을 분석한 자료 최대한 활용
            1. 안드로이드 플랫폼 수원 스터디에서 공개한 자료를 바탕으로 발표 및 토론(사전지식 확보)
            2. 시스템 서비스 분석(h/w, core service)에 관하여 분석 (중국 교재 참고)
- 시작일 : 2010년 5월 1일 오후 1시 30분
- 대  상 : 열린마음과 굿매너를 갖춘 안드로이드 플랫폼에 관심있는 사람 누구나

    (리눅스 및 임베디드에 경험이 있는 분, C, C++ 개발 경험이 있는 분,
    JAVA 개발 경험이 있는 분들이 다양하게 포함되면
    안드로이드 플랫폼 스터디 진행이 원활할 것 같습니다.^^;)

- 시  간 : 매주 토요일 오후 1시 30분 ~ 오후 7시
- 장  소 : 부산대 강의실(확정되면 추후 공지)

2.스터디 목적

"안드로이드 플랫폼 수원 스터디"의 명맥을 이어서 SystemServer 실행시 등록되는 시스템 서비스부터 분석을 시작합니다. 저희 스터디는 안드로이드 애플리케이션 프로그래밍을 공부하는 것이 아니라 안드로이드 플랫폼의 자체 이해를 목적으 로 합니다. 이를 통해 안드로이드 프레임워크의 설계 및 동작 원리를 이해하고 나아가 안드로이드의 내부 구조를 파악함으로써 효율적인 안드로이드 프로그램의 설계 및 구현 할 수 있는 지식을 쌓는 것이 저희 스터디의 목표입니다. 아울러 저희 스터디의 결과물을 안드로이드 개발자 및 관심있는 분들을 위해 공개하여 안드로이드 활성화에 기여하는 것 또한 저희의 중요 목표입니다.

3.스터디 방식

스터디 맴버가 오프라인으로 모여 안드로이드 플랫폼 소스를 line by line으로 분석
안드로이드 시스템 서비스(C++ 레이어, Java 레이어)를 집중적으로 분석함

기존에 안드로이드 플랫폼을 분석한 자료 최대한 활용
1. 안드로이드 플랫폼 수원 스터디에서 공개한 자료를 바탕으로 발표 및 토론
2. 시스템 서비스 분석(h/w, core service)에 관하여 소스 코드를 line by line으로 분석
    (중국 교재 참고)

이 외에도 스터디를 진행하면서 안드로이드 플랫폼 분석에 필요하다고 생각되는 내용

4.스터디 규정

    * 스터디의 모든 결과물은 공유한다. ( http://andstudy.springnote.com )
    * 스터디의 참석 유무를 스터디 게시판를 통해 성실하게 멤버들에게 알린다.
    * 스터디 멤버 가입시 5천원의 회비가 있습니다.  --> 스터디 운영비로 사용됩니다.
    * 스터디 지각시는 벌금 1천원이 있습니다.

   * 스터디 참석 유무는 금요일 자정까지 이곳 게시판에 스터디 공지의 댓글로 남김니다.

      만약 위 원칙을 어겼을 경우는 벌금 5000원을 부과합니다.


    특별규칙 : 위 원칙을 3회이상 연속으로 어기거나 잦은 위반시는 스터디 멤버에서 탈퇴시킵니다.


5.스터디 관련 Q&A

 * 안드로이드 애플리케이션 개발에 대한 스터디는 안하나요?
   네. 계획이 없습니다. 저희는 안드로이드 플랫폼의 이해를 목적으로 하는 스터디 모임입니다.

* 스터디 교재는 없나요?
"안드로이드 플랫폼 수원 스터디"에서 공개한 자료를 빠르게 습득합니다.
동시에 플랫폼을 소스 레벨에서 분석 하면서 필요한 참고 자료 및 정리 자료는 저희가 직접 만듭니다.
(중국에서 발간된 안드로이드 플랫폼 분석책을 참고 합니다.)

* 실력이 많이 중요한가요?
사실 저희도 그렇게 실력이 좋진 않습니다. ^^ 스터디는 강사들이 설명해주는 세미나나 강의와는 다르게 멤버들이 같이 만들어 가는 것입니다. 얼마나 많이 알고 있느냐도 물론 중요하지만 얼마나 열심히 참여하느냐가 더욱 더 중요합니다.

============ [ 스터디 내용 ] ===========

"안드로이드 플랫폼 부산 스터디"에 포함될 내용을 대략적으로 정리해 보면 아래와 같습니다.

1장은 리눅스, 리눅스 드라이버, 디바이스에 관한 내용입니다.

5장의 Hardware Service를 분석할 때 서비스<--> 리눅스 드라이버가 연결될 것 같습니다.
5장 스터디 진행시 필요한 부분을 숙제/발표/전문가 초빙 형식으로 진행하면 좋을 것 같습니다. 리눅스 및 임베디드에 경험이 있는 분과 임베디드 장비가 있으면 스터디에 큰 도움이 될 것 같습니다.

2장은 안드로이드에서 사용하는 라이브러리에 관한 내용입니다.
안드로이드에는 너무 많은 라이브러리가 포함되어 있어 이를 직접 분석하기 보다는 스터디를 진행하면서 특정 모듈에서 사용되는 중요 라이브러리가 있으면 숙제/발표 형식으로 진행하면 좋을 것 같습니다.C, C++ 개발 경험이 있는 분이 스터디 멤버에 포함되면 좋겠습니다.

3장과 4장은 runtime walkthrough에 관한 내용입니다.
        안드로이드 플랫폼 수원 스터디에서 공개한 자료를 바탕으로 발표 형식으로 진행합니다.

5장은 안드로이드의 Hardware Service 부분입니다.
이 부분을 분석하기 위해서는 1~4장까지의 지식이 모두 사용되며 추가로 해당 H/W에 대한 배경지식도 필요합니다.

<그림1>를 보면 안드로이드에서는 서비스가 3가지 방식으로 동작합니다.


<그림 1> 안드로이드 서비스의 레이어별 인터랙션

3가지 방식 중 첫번째 방식을 사용하는 LocationManager Service를 예를 들어 보겠습니다.
( 그림2 참고 )

1. Application 레이어(자바)에서 바인더 IPC를 통하여 Application Framework 레이어의 LocationManagerService(자바)를 호출합니다.
2. LocationManagerService(자바)는 GpsLocationProvider를 호출하고 이 호출은 JNI를 통하여 Libraries 레이어의 GpsLocationProvider를 호출합니다.
3. libgps.so 파일을 동적으로 로딩합니다. 해당 라이브러리에서 리눅스 커널의 드라이버를 이용하여 요청된 기능을 수행합니다.

< 그림 2> LocationManagerService 레이어별 호출 전달 방식

헉...헉...헉... 복잡함에 숨이 탁! 탁! 막히지 않습니까?
아니면... "오~~ 신기한데... 한번 덤벼볼까?"라는 도전 정신이 드시나요?
그 런데 어쩌죠? 아직 끝이 아닙니다.

6장은 자바로 구현된 시스템 서비스입니다.
SDK를 이용하여 안드로이드 애플리케이션을 개발할 때 사용하는 대부분의 기능을 제공해 주는 내부 구현체입니다. ActivityManager, Window Manager, View System 등 안드로이드 애플리캐이션이 동작하는 원리를 깨우칠 수 있습니다. Java 언어 개발 경험이 있는 분이 스터디 멤버에 포함되면 좋겠습니다.

============= [ 스터디 참고 자료 선정 ] ==============

  수원에서 처음 플랫폼 스터디를 진행할 당시에는 소스 코드 이외에는 안드로이드 플랫폼 관련 교재가 없었습니다. 부산에서 플랫폼 스터디를 진행할 지금은 2010년 1월에 중국에서 출판된 플랫폼 관련 도서가 국내에 소개 되었습니다. 아래는 국내 최고의 리눅스 전문가이신 분들께서 책에 관해 평가해 주신 내용입니다. 평가글로 판단하건데 참고자료로서는 현재 다른 대안이 없어 보입니다.

이숍의 리더! 고현철님 교재 관련 의견
http://www.aesop.or.kr/?mid=Board_AboutAESOP_Notice&document_srl=204539

이숍의 고수 이제현님의 평가글

"지극히 짧은 한자 실력으로 봐야 얼마나 봤겠습니까마는... 내용 구성이 좋습니다.

안드로이드 프레임웍의 구석구석을 훑으면서 전체적인 숲을 파악할 수 있더군요.

저도 번역판이 꼭 하나 있으면 좋겠습니다."


책의 순서는 < 그림 3> 안드로이드 시스템 스택을 아래(Linux)부터 위쪽(Application Framework)까지 설명하고 있습니다.


<그림 3> 안드로이드 시스템 스택