151. 비즈니스 모델 캔버스는 창업자들이 생각한 가설이고,
고객 개발은 창업자들이 생각해낸 해결책을 검증하기
보다는 창업자들이 가정한 문제가 진짜 고객의 문
제인지 검증하는 것이다!
Steve Blank
Lean Startup의 아버지
Customer Development Method 저자
155.
서드 파트 라이브러리 때문에 앱의 성
능에 문제가 생기는 경우가 많다. 직접
개발한 코드가 아니기 때문에 동적으로
분석해서 문제를 해결할 수 밖 에 없는
데 기존 분석 툴로는 정확한 정보를 얻
기가 굉장히 힘들다.
기존에 DDMS를 이용해서 성능분석을
하지만 한 번에 볼 수 있는 차트가 부족
하고 히스토리를 쉽게 남길 수가 없어
서 이전 분석과 이후 분석에 대해서 비
교가 쉽지 않다.
대부분 개발이 NDK로 이루어지는 상태
이다. 미디어 프레임워크에 대한 성능
분석을 자바 레벨과 Native 레벨에서 모
두 하고 싶지만 통합해서 쉽게 할 수 있
는 방법이 현재 없는 상태인 것 같다.
너무 많은 툴들이 분산되어있고 빠르게
정리해서 볼 수가 없다.
기존 크래시 리포트는 배포 후 end 유
저의 보고를 통해서만 알 수 있다. 스타
트업의 경우 빠르게 배포 후 고쳐나가
는 게 맞지만 배포 전에 적은 비용으로
미리 이러한 문제를 예측하고 해결할
수 있다면 좋을 것 같다.
알람 앱이 오작동하는 버그는 크래쉬가
아니기 때문에 잡을 수 없다. 미리 상황
을 예측하거나 오작동할 때 end user의
앱 상태를 관찰할 수 있는 방법이 없다.
빠르게 앱 개발을 해야 하는 일정에서
배포 전에 전체적으로 앱의 퀄리티를
향상시킬 수 있는 방법이 있으면 좋겠
다.
빠르게 앱 개발을 해야 하는 일정에서
배포 전에 전체적으로 앱의 퀄리티를
향상시킬 수 있는 방법이 있으면 좋겠
다.
193. 1) Purpose Goal 수립
목적
목표
• 성능분석 솔루션 브랜드를 가지
고 싶다
• Android 성능 분석
• 사용자의 느낌 – 실제 런칭 전에
사전문제를 점검
• 다른 사람에게 도움이 되는 글 발
표
• 많은 개발자들이 App 개발, 배포
전 필수적으로 사용되는 Product
가 되기를 희망
• 런칭 후에 다른 사람들에게 피드
백을 받고 싶다
194. 2) Why Why not Buy?
사야 되는 이유와 사지 않는 이유를
각자 30개씩 적고 그룹화 한다
196. 3) Simple Value Proposition
Offer
성능이슈해결
개발 및 유지보수
비용 감소
학습비용 최소화
소스코드에서 메모리에 영향을
주는 부분을 체크하고 실시간
메모리 추적을 통해 메모리
누수를 측정한다
Value
버전별 Test를 통해 해당 A
pp의 Android 버전별
분석 결과를 알려준다
Android App의 성능에 악영
향을 끼치는 문제의 원인과
해결책을 보여주고 이에
기반한 App 등급을 보여준다
해당 App의 CPU사용률을
수치화하여 분석결과를 보여준
다
문제의 원인이 되는 소스
코드의 정확한 지점을 알
려준다
환경에 구애받지 않고 어디에
서든 사용할 수 있는
웹 기반이다
App이 컨텐츠(이미지, 동영상
등)를 처리하는 과정에서 발생
할 수 있는 문제를 찾아준다
내가 원하는 Test시나리오
를 만들고, 저장하고, 재사
용할 수 있다
부가적인 설정없이 클릭만으
로 처음쓰는 사람도
쉽게 사용 가능
200. 5) Convergence
Offer
웹에서 자동으로 설정파일을 만
들어주고 전체과정을 순서대로
따라할 수 있도록 함으로써 환경
에 구애받지 않고 설정과 학습곡
선을 줄여준다
소스코드에서 메모리에
영향을 주는 부분을
체크하고 실시간 메모리
추적을 통해 메모리 누수를 측
정한다
Value
App이 예상치 못하게 종료되
거나 느려지는 원인을 조기에
찾아준다
정상적으로 동작하지 않는 버전이나 시나
리오를 찾아 그 원인과 해결책을 종류별로
그룹화하여 심각성이 높은 순서대로 보여
준다
버전별 Test를 통해 해당 App의
Android 버전별 분석 결과를 알려준다
환경에 구애받지 않고 어디에서
든 사용할 수 있는
웹 환경이다.
해당 App의 CPU사용률을 수
치화하여 분석결과를
보여준다
문제가 되는 소스코드의 정확한 위치와 해
결책을 종류별로 그룹화하여
심각성에 따라 우선순위를 부여하여
높은 순서대로 보여주고 이를 기반으로
App등급을 매겨준다
원하는 기능을 선택하면 자동으
로 이에 대한 완성된 설정파일을
제공함으로써 기존에
요구되던 복잡한 설정과정을
없앤다
내가 원하는 Test시나리오를 만들고,
저장하고, 재사용할 수 있다
포커싱과 따라하기 기능을
통해 전체 과정을 Step by Step으
로 따라가는 환경을
제공하여 학습곡선을 줄인다
App이 컨텐츠
(이미지, 동영상 등)를 처리하
는 과정에서 발생할 수 있는
문제를 찾아준다
850. Aop를 이용한 자동 코드 삽입
시나리오 수집 로직
Weaving
리스너 메소드
호출 시점
851. 컴파일로 보는 Weaving시점
Compile Time Weaving
java
class
Class Loading
Weaving
Runtime
Weaving
JVM
Compile Time Weaving
java
class
dex
apk
Dalvik
Java ByteCode가 아닌 Dalvik Code를 사
용