로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

Android Application Testing Guide 한국어판: 안드로이드 애플리케이션 테스팅 가이드

 [acorn+PACKT]
   
지은이 디에고 토레스 밀라노 / 현수명 역   |   출판사 에이콘  |   발행일 2012년 03월 30일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 30,000원27,000원 10%
마일리지 5% 1,500원
발행일 2012-03-30
ISBN 8960772879 | 9788960772878
기타정보 번역서 | 352쪽
예상출고일 2~3일 이내 (근무일기준)
배송비 무료배송
   
운영체계(OS)
종합지수 1p 639 위
   
이 책의 원서
  Android Application Testing Guide
Packt Publishing | Diego Torres Milano
 

[출판사서평]

안드로이드 애플리케이션 개발자를 위한 친절한 테스팅 가이드

테스트를 작성하면서 안드로이드 애플리케이션을 개발할 수 있는 실용적인 방법을 소개한다. 테스트 주도 개발 방식으로 안드로이드 애플리케이션을 만들어 보고 안드로이드 테스트 프레임워크를 활용해서 UI 테스트는 물론 성능 테스트까지 다양한 상황에 대한 테스트를 실용적인 예제로 설명한다. 빌드 자동화와 테스트 자동화를 통해 지속적인 통합을 적용해보고 코드 커버리지까지 측정해본다. 이 책을 통해 테스트 코드를 작성하면서 얻게 되는 효율성을 충분히 느낄 수 있을 것이다.


< 소개 >

안드로이드 구조를 오랫동안 분석하고 프로그램을 작성할 때 많은 주의를 기울인다 해도 실수와 버그는 발생하게 마련이다. 이 책은 여러분이 안드로이드 프로젝트를 개발할 때 접할 수 있는 오류를 줄여주고 개발 생산성도 향상시켜 줄 것이다. 또한 문제를 어렵지 않게 회피함으로써 좀 더 빨리 테스팅 단계로 넘어갈 수 있도록 도와줄 것이다.

『Android Application Testing Guide 한국어판』은 안드로이드 애플리케이션 개발 시 유용하게 쓸 수 있는 각종 실용 기술, 프레임워크, 도구를 망라해 소개하는 유일한 책이다. 애플리케이션 테스트를 어떻게 작성하는지 단계별로 설명하고 품질을 제어하는 다양한 방법도 함께 다룬다.


★ 이 책에서 다루는 내용 ★

■ 안드로이드 애플리케이션을 효율적으로 개발하기 위한 테스팅 기술 적용과 도구 활용
■ 단위 테스트와 기능 테스트의 차이점을 알아보고 안드로이드 프로젝트에 적용
■ 테스팅 기술을 경험해보기 위한 샘플 안드로이드 테스트 프로젝트 생성
■ 테스트 주도 개발과 행위 주도 개발 등의 개발 방법론
■ 안드로이드 애플리케이션을 구성하는 액티비티, 컨텐트 제공자, 서비스 등의 컴포넌트 테스트
■ 최상의 애플리케이션 품질 관리를 위한 지속적인 통합 기술 적용
■ 성능 테스트 결과 분석을 통한 애플리케이션 성능 개선
■ 안드로이드 소스를 빌드해서 EMMA 코드 커버리지를 측정한 뒤 여러분의 코드가 얼마나 테스트되고 있는지 분석해보고 로보티움과 로보렉트릭으로 테스트 작성


★ 이 책의 대상 독자 ★

안드로이드 개발자로서 안드로이드 애플리케이션을 테스트하고 싶거나 애플리케이션 개발 과정의 최적화를 원하는가? 그렇다면 바로 당신을 위한 책이다. 애플리케이션 테스팅에 관한 사전지식은 없어도 괜찮다.


★ 이 책의 구성 ★

1장. '테스트'에서는 테스트의 여러 종류와 테스트가 일반적인 소프트웨어 개발 프로젝트, 특히 안드로이드에 어떻게 적용되는지 설명한다.

2장. '안드로이드 테스트'에서는 안드로이드 플랫폼상의 테스트와 단위 테스트, JUnit을 살펴보고 안드로이드 테스트 프로젝트의 생성과 실행을 살펴본다.

3장. '안드로이드 SDK의 기본 구성요소'에서는 테스트를 작성하는 데 필요한 기본 구성요소를 자세히 살펴보고 단언문, TouchUtils, 사용자 인터페이스 테스트, 목 객체, 측정, 테스트 케이스 클래스 계층구조 등을 살펴본다.

4장. '테스트 주도 개발'에서는 테스트 주도 개발의 원칙을 예제 코드 위주로 살펴보고 일반적인 프로젝트에 적용해본 다음 안드로이드 플랫폼으로 개념을 확장해본다.

5장. '안드로이드 테스트 환경'에서는 테스트를 실행할 수 있는 다양한 환경을 살펴본다. 안드로이드 가상 장치(AVD, Android Virtual Devices)를 생성해보고 환경설정을 통해 다양한 조건으로 애플리케이션을 테스트해본다. 마지막으로 테스트에 사용하는 이벤트를 생성하는 방법인 monkey에 대해서도 살펴본다.

6장. '행위 주도 개발'에서는 행위 주도 개발을 소개하고 테스트를 공통된 용어로 표현함으로써 비즈니스 인력들도 소프트웨어 개발 과정에 참여할 수 있는 개념을 소개한다.

7장. '테스트 레시피'에서는 지금까지 설명했던 원칙과 기법을 적용하면서 만날 수 있는 갖가지 상황을 실제 예제를 통해 설명한다. 쿡북(cookbook) 스타일로 예제가 구성돼있으므로 필요한 부분만 찾아서 사용할 수 있을 것이다. 안드로이드 단위 테스트, 액티비티, 애플리케이션, 데이터베이스, 콘텐트 제공자, 로컬과 원격 서비스, UI, 예외, 파서, 메모리 누수 등의 주제를 다룬다.

8장. '지속적인 통합'에서는 소프트웨어 공학의 애자일 기법 중 하나인 변경을 계속 적용해서 통합시간을 줄이고 테스트를 더 자주 실행해 소프트웨어의 질을 높이고 개발시간을 줄일 수 있는 방법을 소개한다.

9장. '성능 테스팅과 프로파일링'에서는 전통적인 로깅 메소드에서부터 프로파일링 도구로 안드로이드 성능 측정 테스트를 작성하는 부분까지 살펴보고 성능 측정과 프로파일에 대해 살펴본다.

10장. '테스트 전략'에서는 안드로이드 소스를 빌드하는 방법과 엠마(EMMA)를 이용한 코드 커버리지 측정, 로보티움(Robotium), 호스트에서 테스트하는 방법, 로보렉트릭(Robolectric) 등을 살펴본다.


★ 저자 서문 ★

많은 시간을 들여서 안드로이드 구조를 분석하고 프로그램을 작성할 때 많은 주의를 기울인다 해도 실수와 버그는 발생하게 마련이다. 이 책은 여러분이 안드로이드 프로젝트를 작성할 때 접할 수 있는 오류를 줄여주고 개발 생산성도 향상시켜 줄 것이다. 또한 문제를 어렵지 않게 회피함으로써 좀 더 빨리 테스팅 단계로 넘어갈 수 있도록 도와줄 것이다.

『Android Application Testing Guide 한국어판』은 안드로이드 애플리케이션 개발시 유용하게 쓸 수 있는 각종 실용 기술, 프레임워크, 도구를 망라해 소개하는 유일한 책이다. 애플리케이션 테스트를 어떻게 작성하는지 단계별로 설명하고 품질을 제어하는 다양한 방법도 함께 다룬다.

애플리케이션 테스팅 기법을 실제 프로젝트에 적용해본 저자의 경험과 통찰은 여러분이 전문적인 안드로이드 애플리케이션 작성하는 데 큰 도움을 줄 것이다.

이 책은 소프트웨어 개발 과정에서 버그를 빨리 찾을 수 있는 애자일 기법 중 하나인 ‘테스트 주도 개발’을 소개하면서 시작한다. 그리고 샘플 프로젝트에 적용하는 기본적인 단위 테스트부터 복잡한 성능 테스트에 이르기까지 안드로이드 테스팅의 다양한 테스트 기법을 요리책처럼 레시피 방식으로 자세히 설명한다.

다양한 소프트웨어 개발 프로젝트를 경험했으며 이러한 경험과 지식을 바탕으로 이 책을 집필했다. 따라서 안드로이드 테스팅의 세계를 탐험하려는 개발자는 이 책을 통해 유용한 통찰을 얻을 수 있을 것이다.


★ 옮긴이의 말 ★

좋은 코드란 무엇일까? 간결하고 명확해서 읽기 쉬우며 중복이 없고 수정하기도 쉬운 코드일 것이다. 하지만 이보다 더 좋은 코드는 코드의 동작과 상태를 검증하는 테스트가 함께 있는 코드다.

소프트웨어는 한 번 작성하고 나도 끝이 아니다. 버그는 항상 발생하고 요구사항도 계속 변하게 마련이니 유지보수와 새로운 기능 추가는 피할 수 없다. 결국 코드를 계속 수정할 수 밖에 없다. 이 때 코드가 스파게티처럼 뒤엉켜 있으면 코드 수정은 고되고 피곤한 작업이 될 것이며 코드 하나를 수정할 때마다 버그가 만들어지는 상황이 올지도 모른다. 이래서는 행복하게 개발할 수가 없다.

코드 수정이 스트레스로 다가오지 않는다면 개발자는 조금 더 행복하게 개발할 수 있지 않을까? 지금 수정하고 있는 코드에 대해 든든한 누군가가 옳고 그름 여부를 검증해주고, 기존의 동작을 깨지 않는지도 꼼꼼하게 확인해준다면 한결 편하게 개발할 수 있지 않을까?

그렇다. 행복한 개발을 위해서는 코드를 검증하는 테스트 코드가 필요하다. 테스트가 있으면 코드 수정에 대한 스트레스가 줄어든다. 지금 수정하는 코드가 잘 동작하는지 그리고 기존의 기능에 영향을 주지는 않는지 생각지도 못할 만큼 빨리 확인할 수 있다. 심지어 소스를 한 줄만 고쳐도 전체 테스트를 실행할 수 있다. 이렇게 테스트 코드를 작성하면서 개발하면 유지보수와 기능추가를 빠르고 안정적으로 한결 편하게 할 수 있다.

리팩토링을 할 때도 테스트는 필요하다. 테스트 없이 리팩토링을 한다면 맞게 하고 있는 건지 아닌지를 검증할 방법이 없지 않은가. 코드 한 줄 리팩토링할 때마다 손으로 동작을 검증할 수는 없는 일이다. 그렇다고 머리로만 검증하면 분명히 생각하지 못한 버그가 생겨난다. 결국 테스트 코드 없이는 정확한 리팩토링이 힘들다. 또한 테스트를 작성하면서 개발하다 보면 문제를 작은 보폭으로 짧게 나눠 해결하게 될 것이고 자연스럽게 좋은 디자인을 고민하게 될 것이다.

물론 이를 위해서는 테스트 코드가 계속해서 살아남도록 관심을 갖고 물도 주며 사랑해주는 일이 추가적으로 필요하긴 하다. 하지만 두고두고 살아남아서 코드를 든든히 지켜준다는 점을 생각해보면 이러한 노력은 비할 바가 아니다. 한번 작성한 테스트는 개발 중에는 물론이거니와 유지보수 기간에도 두고두고 살아남아서 기존동작의 유효성을 끝까지 지켜줄 것이다.

좋다. 테스트를 작성하겠다고 마음먹었다고 하자. 이제 어떻게 해야 할까? 테스트에 대한 기본지식과 실무에 적용해볼 수 있는 구체적인 방법을 알아야 한다. 기본지식은 각종 테스트 전문 서적을 통해 습득한다 치더라도 실무에 적용할 수 있는 구체적인 방법은 대부분 알기가 어렵다. 자기가 일하고 있는 분야에 대해서 경험해보고 삽질을 해봐야지만 얻을 수 있는 노하우를 찾기가 어렵기 때문이다.

이 책은 안드로이드 애플리케이션을 개발할 때 테스트를 적용할 수 있는 실용적인 노하우를 공개한 책이다. 기본 개념부터 친절히 설명하므로, 테스트에 대한 기본 개념은 잘 몰라도 괜찮다.

테스트 주도 개발 방식으로 안드로이드 애플리케이션을 하나 만들어 보고 안드로이드에서 제공하는 테스트 프레임워크를 사용해서 UI 테스트는 물론 성능 테스트까지 다양한 상황에 대한 테스트를 실용적인 예제로 설명한다. 여기에 지속적인 통합을 위한 자동 빌드와 테스트 자동화를 적용하고 코드 커버리지까지 측정해본다.

안드로이드 애플리케이션을 개발하고 있지만 테스트에 익숙하지 않은 분들에게 이 책을 추천한다. 지속적인 통합에 테스트가 스며들어 만들어내는 효율성도 이 책을 통해 경험해볼 수 있을 것이다. 게다가 테스트에 대한 지식과 경험을 한번 익혀둔다면 개발자의 내공으로 자리잡아 두고두고 활용할 수 있으리라.

무엇인가를 배우고 익히려면 자주 연습하는 수밖에 없다. 소프트웨어 개발자가 무언가를 익히려면 결국 실제 업무에 적용해보는 방법이 가장 빠르다. 그래야지만 자주 연습하고 몸으로 익힐 수 있기 때문이다. 테스트 작성은 쉽지 않은 일이지만 이 책을 통해 테스트를 작성하면서 개발하는 대한민국 안드로이드 애플리케이션 개발자들이 많아진다면 좋겠다. 또한 개발자들의 지식 함양에 조금이라도 도움이 된다면 더 바랄게 없겠다.

이 책과 더불어 테스트에 대한 깊은 지식을 이야기하는 『테스트 주도 개발: 고품질 쾌속개발을 위한』과 『테스트 주도 개발』, 『xUnit 테스트 패턴: 68가지 단위 테스트 패턴을 통한 테스트 코드 리팩토링 기법』 등 테스트 관련 전문 서적을 읽어보길 강력히 추천한다.
1장 테스트
___간략한 역사
___소프트웨어 버그
______프로젝트에 심각한 영향을 미치는 버그
___왜, 무엇을, 어떻게, 언제, 테스트해야 하는가
______테스트 해야 하는 것
_________액티비티 생명주기 이벤트
_________데이터베이스와 파일시스템 연산
_________디바이스의 물리적 특성
___테스트 종류
______단위 테스트
_________테스트 픽스처
_________setUp() 메소드
_________tearDown() 메소드
_________사전조건 테스트
_________실제 테스트
______통합 테스트
______기능 또는 인수 테스트
_________테스트 케이스 시나리오
______성능 테스트
______시스템 테스트
___안드로이드 테스팅 프레임워크
______측정
______테스트 타겟
___요약

2장 안드로이드 테스트
___JUnit
___안드로이드 메인 프로젝트 생성
___안드로이드 테스트 프로젝트 생성
___패키지 탐색기
___테스트 케이스 생성
______특별한 메소드
______테스트 애노테이션
___테스트 실행
______이클립스로 모든 테스트 실행
______이클립스로 하나의 테스트 케이스 실행
______에뮬레이터에서¬ 실행
______커맨드라인에서¬ 테스트 실행
_________모든 테스트 실행
_________특정 테스트 케이스만 실행
_________이름으로 특정 테스트 실행
_________종류별로 특정 테스트 실행
_________성능 테스트 실행
_________시운전
___테스트 디버깅
___그 외 커맨드라인 옵션
___요약

3장 안드로이드 SDK의 기본 구성요소
___데모 애플리케이션
___단언문 상세
______사용자 정의 메시지
______Static Import
___뷰 단언문
___추가적인 단언문
___TouchUtils 클래스
___목 객체
______MockContext
______IsolatedContext 클래스
______파일과 데이터베이스 연산의 대안
______MockContentResolver 클래스
___TestCase 부모클래스
______인자 없는 생성자
______이름 지정 생성자
______setName() 메소드
___AndroidTestCase 부모클래스
______assertActivityRequiresPermission() 메소드
_________설명
_________예제
______assertReadingContentUriRequiresPermission() 메소드
_________설명
_________예제
______assertWritingContentUriRequiresPermission() 메소드
_________설명
_________예제
___Instrumentation
______ActivityMonitor 내부 클래스
_________예제
___InstrumentationTestCase 클래스
______launchActivity와 launchActivityWithIntent 메소드
______sendKeys와 sendRepeatedKeys 메소드
______runTestOnUiThread 도우미 메소드___
___ActivityTestCase 클래스
______scrubClass 메소드
___ActivityInstrumentationTestCase2 클래스
______생성자
______setUp 메소드
______tearDown 메소드
______testPreconditions 메소드
___ProviderTestCase2 클래스
______생성자
______예제
___ServiceTestCase
______생성자
___TestSuiteBuilder.FailedToCreateTests 클래스
___테스트 프로젝트에서¬ 외부 라이브러리 사용
___요약
___TDD 시작

4장 테스트 주도 개발
______테스트 작성
______모든 테스트 실행
______코드 리팩토링
______TDD의 장점
______요구사항 이해
___샘플 프로젝트 생성: 온도 변환기
______요구사항 목록
______사용자 인터페이스 컨셉 디자인
_________프로젝트 생성
___TemperatureConverterActivityTests 프로젝트 생성
______픽스처 생성
______사전 조건 테스트
______사용자 인터페이스 생성
______사용자 인터페이스의 존재 여부 테스트
______정의된 ID 얻기
______요구사항을 테스트로 변환
_________비어있는 입력 창
_________뷰 속성
______Ȭ면 레이아웃
___기능 추가
______온도 변환
______EditNumber 클래스
______TemperatureConverter 단위 테스트
______EditNumber 테스트
______TemperatureChangeWatcher 클래스
______더 많은 TemperatureConverter 테스트
______InputFilter 테스트
___완성된 애플리케이션
___요약

5장 안드로이드 테스팅 환경
___안드로이드 가상 장치 생성
___커맨드라인에서¬ AVD 실행
______UI 없는 에뮬레이터
______키가드 비활성Ȭ
______정리
______에뮬레이터 종료
___에뮬레이터 추가 설정
______네트워크 상황 시뮬레이션
______추가적인 qemu 옵션
___monkey 실행
______클라이언트-서¬버 monkey
___Monkeyrunner를 통한 테스트 스크립트Ȭ
______스크린샷 테스트
______녹Ȭ하고 다시 재생
___요약
___간략한 역사

6장 행위 주도 개발
___Given, When, Then
___FitNesse
______커맨드라인에서¬ FitNesse 실행
______TemperatureConverterTests 서¬브위키 생성
_________서¬브위키에 자식 페이지 추가
_________인수 테스트 픽스처 추가
_________테스트 클래스 지원부 추가
___GivWenZen
______테스트 시나리오 생성
___요약

7장 테스트 레시피
___안드로이드 단위 테스트
___액티비티와 애플리케이션 테스팅
______애플리케이션과 환경설정
_________RenamingMockContext 클래스
_________TemperatureConverterApplicationTests 클래스
______액티비티 테스팅
___파일, 데이터베이스, 콘텐트 제공자 테스팅
______BrowserProvider 테스트
___예외 테스팅
___로컬과 원격 서¬비스 테스팅
___목 객체의 광범위한 사용
______라이브러리 import
______testTextChanged 테스트
______Hamcrest 소개
_________Hamcrest 매처
_________hasToString 매처
___격리시킨 뷰 테스팅
___파서¬ 테스트
______안드로이드 assets
______파서¬ 액티비티
______파서¬ 테스트
___메모리 누수 테스팅
___요약

8장 지속적인 통합
___앤트를 이용한 안드로이드 애플리케이션 수동 빌드
___깃: 빠른 버전 관리 시스템
______로컬 깃 저장소 생성
___허드슨을 이용한 지속적인 통합
______허드슨 설치와 설정
______업무 생성
______안드로이드 테스트 결과 확인
___요약

9장 성능 테스팅과 프로파일링
___Ye Olde Logge 메소드
___안드로이드 SDK의 성능 테스트
______성능 테스트 실행
_________LaunchPerformanceBase instrumentation 생성
_________TemperatureConverterActivityLaunchPerformance 클래스 생성
______테스트 실행
___Traceview와 dmtracedump 플랫폼 도구 사용
___소규모 성능 평가
______캘리퍼 소규모 성능 평가
_________TemperatureConverterBenchmark 프로젝트 생성
_________캘리퍼 실행
___요약

10장 또 다른 테스트 전략
___안드로이드 소스 빌드
______코드 커버리지
_________엠마 기능
______시스템 요구사항
______안드로이드 소스 코드 내려 받기
_________리포 설치
_________저장소 복사본 생성
_________빌드 과정
___TemperatureConverter 코드 커버리지
______코드 커버리지 분석 보고서¬ 생성
______인스턴스 상태 복구 커버
______예외 커버
______접근 제한 우회
______옵션 메뉴 커버
___문서¬È¬되지 않은 앤트 커버리지 타겟
___로보티움 소개
______로보티움 내려 받기
______프로젝트 설정
______테스트 케이스 생성
_________testFahrenheitToCelsiusConversion() 테스트
_________testOnCreateOptionsMenu() 다시보기
___호스트의 JVM 기반 테스팅
______TemperatureConverterJVMTest 프로젝트 생성
______성능 비교
______안드로이드에 적용
___로보렉트릭 소개
______로보렉트릭 설치
______새로운 자바 프로젝트 생성
______테스트 작성
___요약
디에고 토레스 밀라노 (Diego Torres Milano)
안드로이드가 세상에 나오기 시작한 2007년 말부터 안드로이드 플랫폼을 분석했으며 주로 사용자 인터페이스 분야에서 단위 테스트, 인수 테스트, 테스트 주도 개발을 플랫폼에 적용할 수 있는 방법을 연구해왔다.
이 책은 저자의 블로그(http://dtmilano.blogspot.com) 글과 다양한 학회에 강사로 활동한 그의 경험을 모아 엮은 책이다. 저자는 네덜란드의 암스테르담 모바일 데브 캠프 2008, 도쿄에서 열린 일본 리눅스 심포지엄 2009, 드로이드컨(Droidcon) 런던 2009, 런던 스킬스매터(Skillsmatter) 2009와 같은 여러 컨퍼런스에서 강사로 활동하고 유럽의 다양한 회사에서 안드로이드 교육을 진행했다.
그 전에는 여러 오픈 소스 프로젝트의 파운더(founder)이자 개발자로 참여했으며 주로 CULT Universal Linux Thin 프로젝트(cult-thinclient.sf.net)와 매우 유명한 PXES Universal Linux Thin Client 프로젝트(나중에 2x 소프트웨어에 인수)에 참가했다. PXES는 리눅스 기반 운영체제로 전 세계 수백에서 수천 명이 사용하는 가벼운 클라이언트에 특화된 운영체제다. 이 프로젝트는 2005년 소스포지에서 방문자수 3,500만과 40만 건의 다운로드 등 큰 인기를 끌었으며 두 가지 큰 성과를 보였다. 유럽의 큰 회사들이 향상된 보안과 효율성을 인정했으며, 최소한의 하드웨어로 모든 사람에게 컴퓨터를 제공할 수 있는 강력한 점 때문에 미국, 아프리카, 아시아의 조직∙기관∙학교들도 이 프로젝트를 선택했다.
Autoglade, Gnome-tla, JGlade와 같은 오픈 소스 프로젝트에도 참여했으며 레드햇, 페도라, 우분투와 같은 다양한 리눅스에도 기여해왔다.
또한 리눅스 월드(Linux World), LinuxTag, GUADEC ES, 부에노스 아이리스 대학교 등에서 강의를 진행해왔다.
15년 동안 오픈 소스 프로젝트에 참여하면서 소프트웨어를 개발해왔고 전세계 각종 기업의 자문가로 활동했다.
저자와는 이메일 dtmilano@gmail.com로 연락할 수 있다.


[역자소개]
현수명

장인 개발자를 꿈꾸는 견습 개발자. 함께 배우고 토론하며 지식 공유하기를 좋아한다. 신나고 즐겁게 개발하기 위해 노력 중이며 현재 삼성전자에서 모바일 서비스를 개발하고 있다.
등록된 서평이 없습니다.
실무로 배우는 시스템 성능 최적화...
권문수
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
이것이 우분투 리눅스다...
우재남
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
ARM Cortex-M3/M4 구조와 응용 (개정판)...
김재일
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
Diego Torres Milano 의 최근 저서
 
Android Application Testing Guide
55,800원
(15%↓+1%)
 
에이콘 출판사의 신간
실전 증강 현실
스티븐 옥스타칼니스 저
31,500원
(10%↓+5%)
 
셸 스크립트 프로그래밍 입문 4/e
스티븐 코찬, 패트릭 우드 저
31,500원
(10%↓+5%)
 
OpenCV를 위한 머신 러닝
마이클 베이어(Michael Beyeler) 저
36,000원
(10%↓+5%)
 
Windows Server Container 시작하기
스리칸스 마히라지 저
31,500원
(10%↓+5%)
 
데이터 과학 입문자를 위한 R
재리드 랜더 저
36,000원
(10%↓+5%)
 
이메일주소수집거부