독서 12월 2~3주, 서평 발행 12월 4주
나의 이해도 안에서 앱 개발을 하는것은 무리지만 전체적인 아키텍쳐를 보고, 향후 필요시에 약간의 개발을 해보거나 이해하는데 있어서 매우 유용한 책이었다. 연구기획을 업으로 하는 자로서 과제를 기획할때에 사용자 친화적으로 안드로이드 앱을 기획하거나 딥러닝을 활용할때 구체적으로 볼수 있겠다.
이 책이 2021년 마지막 한빛출판사 마지막 서평이 되겠다.
1장. 안드로이드와 텐서플로 라이트 입문
2장. 처음 만드는 안드로이드 앱
3장. 안드로이드 앱 UI 구성
4장. 텐서플로 라이트 모델 개발
5장. 텐서플로 라이트 모델을 이용한 안드로이드 앱 개발
6장. 프레임워크를 활용한 이미지 분류 앱 개발
7장. 실시간 이미지 처리
8장. 텐서플로 라이트 모델의 성능 개선
9장. 텐서플로 라이트 모델 최적화
1장에 포함되는 상세 내용 아래 첨부한 책장의 차례를 자세히 살펴보면 된다.
안드로이드 플랫폼 아키텍쳐
플랫폼을 이해하려면 최소한 이런 아키텍쳐를 기본적으로 설명을 해줘야 잘 알 수 있다.
크게 커널, 하드웨어 추상화 계층, 안드로이드 런타임, 네이티브 C/C++ 라이브러리, 자바 API프레임워크, 시스템 앱으로 구성된것을 알 수 있다.
액티비티
액티비티는 안드로이드에서 가장 중요한 구성 요소로, 사용자에게 보이는 화면을 담당한다. 모든 안드로이드 앱은 적어도 하나의 액ㅂ=티비티를 가지고 있으며, 앱을 실행하면 지정된 액티비티의 코드가 생명주기에 맞추어 호출된다. 아래 그림은 액티비티의 생명주기 이다.
2장. 처음 만드는 안드로이드 앱
안드로이드 빌드 프로세스
안드로이드의 소스가 APK로 빌드되는 과정은 아래 그립과 같다. 먼저 컴파일러 app 모듈에서 작성된 소스코드를 바이트 코드인 DEX 파일로 컴파일하고 리소스도 컴파일한다. APK packaget는 DEX 파일과 컴파일된 리소스를 하나로 묶어 APK를 만드는데 Key Store를 이용하여 APK를 서명한다. Gadle 빌드 프로세스는 아래와 같다.
엡 서명
앱 서명은 배포된 앱의 실행 파일이 정단한 제작자에 의해 제작되고 위/변조 되지 않았음을 확인하여 무결성을 보장하는 기술이다. 앱 서명을 이용하면 정당한 제작자가 서명한 앱이 위/변조되지 않았는지 설치 과정에서 검증을 통해 확인할 수 있다. 앱 서명의 원리는 아래 그림과 같다.
텐서플로 라이트 모델 추론 결과
책에서 수록된 코드를 안드로이드 기기에서 직접 테스트를 해보기 위해 Run app을 클릭하여 시시에서 앱을 실행하고 숫자 0~9까지 손글씨로 쓰고 Classify를 클릭하면 아래와 같은 추론 결과를 얻을 수 있다.
신기한 부분이라고 생각된다. 손글씨를 추출할 수 있다니~~
실습이 가능한 다양한 코드와 앱 메뉴를 활용하여 결과를 바로 송출하여 보여 줄 수 있어서 딥러닝이 앱 개발에 활용되는 사례에 대한 이론과 실습을 동시에 배울 수 있는 실용적인 책이다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."