음성메신저 hay 개발 후기
Post on 15-Apr-2017
256 Views
Preview:
TRANSCRIPT
음성메신저 Hay 개발 후기
네오위즈게임즈김태우
발표 내용 ?
발표 내용 !
1. Hay 서비스 개요
2. 클라이언트의 화면 구성
3. 서버 - 클라이언트 구성도
4. 스크럼 개발방법론 적용 후의 반성
5. 클라이언트 개발시 TDD 적용 후의
반성
6. 적용한 오픈 소스 라이브러리 소개
7. 당면했던 문제 및 해결 방법
1. Hay 서비스 개요
How are you?
지인과의 비실시간 음성 커뮤니케이션 서비스
음성 변조 , 음성 스티커로 재미 요소 강화
2. 클라이언트의 화면 구성 (1)
2. 클라이언트의 화면 구성 (2)
2. 클라이언트의 화면 구성 (3)
2. 클라이언트의 화면 구성 (4)
3. 서버 - 클라이언트 구성도
4. 스크럼 적용 후의 반성 (1)
스크럼 ?
4. 스크럼 적용 후의 반성 (2)
기획 디자인 개발 QA
기존 개발 방법
4. 스크럼 적용 후의 반성 (3)
스크럼이란 ?
애자일
짧은 개발주기의 반복을 통한 점진적 개발방법론
4. 스크럼 적용 후의 반성 (4)
개발 과정 요약1) 구성 : 제품 책임자 , 스크럼 마스터 , 팀원
2) 제품 백로그를 만든다 .3) 스프린트 계획회의를 통해 스프린트와
스토리들을 정하고 스프린트 백로그를 만든다 .4) 일일 스크럼을 진행한다 .5) 스프린트의 목표가 달성되었거나 , 정해진
시간이 되었다면 , 데모한다 .6) 스프린트에 대하여 회고한다 .
4. 스크럼 적용 후의 반성 (5)
1) 독립적인 팀 구성 필요
( 의사결정의 범위가 팀을
벗어나지 않아야 한다 .)2) 기획 , 디자인 , 개발 단계의 통합
다시 한다면 ?
5. 클라이언트 개발시 TDD 적용 후의 반성(1)
TDD 란 ?
1) Test Driven Development( 테스트 주도 개발 )
2) 어떻게 테스트할지를 먼저
고민한다 .3) 테스트케이스를 먼저 만든다 .
5. 클라이언트 개발시 TDD 적용 후의 반성(2)어려웠던 점
1) UI 에 대한 테스트케이스는 비용 대비
효과가 낮다 .(UI 개발 70% + 서비스 로직 개발
30%)2) 앱의 생명주기와 관련한 동작 테스트
3) 라이브러리가 시스템 자원을
비동기적으로 사용하는 경우
5. 클라이언트 개발시 TDD 적용 후의 반성(3)TDD 보다는 TBD?1) Test Based Development2) 테스트를 우선하자는 전제를 버리고 ,
테스트를 기반으로 개발하면 ,행복해진다 !
3) 테스트 프로젝트와 TestActivity 병행
6. 적용한 오픈소스 라이브러리 소개
1) MP3 인코딩 : LAME => libmp3lame (jni)
2) MP3 디코딩 : JLayer => jl1.0.1.jar
3) 음성 변조 : soundtouch (jni)
7. 당면했던 문제 및 해결 방법 (1)
음성 변조에 대한 사용자 반응성 개선
문제 ) 1 분짜리 음성을 변조하는데 20 초 ??해결 ) 여러 조각으로 나누고 , 한조각씩 결과 파일에 반영한다 !주의사항 ) 1) 완료전 다른 파일을 변조할 경우 기존 동작은 종료 처리2) 변조후 조각이 작아질 수 있다 .
7. 당면했던 문제 및 해결 방법 (2)
음성 변조 과정에서의 메모리 문제 해결
문제 ) 메시지 전송시 OutOfMemory 오류 발생
해결 ) 많은 메모리를 요하는 작업은 다른 프로세스의 Service 에서 실행한다 .
감사합니다 .
top related