로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 
[효율적인 데이터 관리를 위한] 

iOS 코어 데이터

 [에이콘 모바일 프로그래밍 시리즈]
   
지은이 팀 이스테드, 톰 해링턴   |   출판사 에이콘  |   발행일 2014년 09월 30일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 30,000원27,000원 10%
마일리지 5% 1,500원
발행일 2014-09-30
ISBN 8960776106 | 9788960776104
기타정보 국내서 | 408쪽 | 일반
예상출고일 1~2일 이내 (근무일기준)
배송비 무료배송
   
데이터처리
종합지수 1p 54 위
   
이 책의 원서
  Core Data for Iphone: Building Data-Driven Applications for the Iphone and iPod Touch
Addison-Wesley Professional | Tim Isted
 

아이폰, 아이패드에서 데이터를 관리할 때는 속도, 안정성, CPU 부하, 배터리 소모 등 많은 부분을 고려해야 한다. SQL이나 파일 등 데이터를 관리하는 방법이 많지만, 그중에서도 애플이 직접 제공하는 데이터 관리 레이어 ‘코어 데이터’를 사용하면 앞에 열거한 모든 목적을 쉽게 달성할 수 있다. 개발자는 데이터 관리라는 본질에만 집중하면 된다. 경험 많은 iOS 개발자 두 명이 코어 데이터를 효과적으로 다루는 방법을 설명하는 이 책을 통해 코어 데이터를 정복하기 위한 첫걸음을 내딛을 수 있다.



[ 요약 ]



아이폰, 아이패드에서 데이터를 관리할 때는 속도, 안정성, CPU 부하, 배터리 소모 등 많은 부분을 고려해야 한다. SQL이나 파일 등
데이터를 관리하는 방법이 많지만, 그중에서도 애플이 직접 제공하는 데이터 관리 레이어 ‘코어 데이터’를 사용하면 앞에 열거한 모든 목적을
쉽게 달성할 수 있다. 개발자는 데이터 관리라는 본질에만 집중하면 된다. 경험 많은 iOS 개발자 두 명이 코어 데이터를 효과적으로
다루는 방법을 설명하는 이 책을 통해 코어 데이터를 정복하기 위한 첫걸음을 내딛을 수 있다.





[ 이 책에서 다루는 내용 ]



■ 코어 데이터의 기능, 클래스, 상호 작용 이해

■ MVC 기반 iOS 앱 개발에 코어 데이터를 사용하는 방법

■ 관계형 데이터를 객체 모델에 매핑하고, 엑스코드 4 데이터 모델러에서 빌드하는 방법

■ 관리 객체를 다루는 방법과 UITableView에 표시하는 방법

■ 프리디케이트를 생성해 숫자, 데이터, 객체에 매칭하는 방법

■ 앱의 데이터 모델 버전 간 호환성 유지

■ 뷰 콘트롤러 간 관리 객체 콘텍스트 추적

■ 코어 데이터의 자동 실행 취소 기능

■ 추상 엔티티, 엔티티 상속, 다중 뷰 콘트롤러를 사용한 앱 개발

■ iOS 디바이스의 한정적 메모리를 위한 최적화

■ 일반적인 코어 데이터 문제점 분석과 해결





[ 이 책의 대상 독자 ]



이 책은 중급에서 고급 iOS 개발자에 초점을 맞추며, 독자가 iOS 애플리케이션 프로그래밍 지식이 어느 정도 있을 것이라 가정한다.
특히 애플의 기본개발 도구(엑스코드), 오브젝티브C 언어, 코코아 터치(Cocoa Touch) 프레임워크를 사용하는 데 어려움을 느끼지
않아야 한다. 이 책에 포함된 대부분의 정보는 iOS 디바이스와 맥 OS X(10.4 이상)에 모두 적용되는 일반적인 코어 데이터를
다루지만, 데스크탑 환경에서 코어 데이터를 다뤄본 적이 있다는 가정은 하지 않는다. iOS에서 코어 데이터를 무리 없이 사용할 수 있게
되면, 동일한 도구(엑스코드의 데이터 모델러)와 거의 비슷한 코드(NSFetchedResultsController는 iOS 전용이다)로
데스크탑용 코어 데이터 애플리케이션을 만들 수 있다.

iOS 애플리케이션을 개발한다면 데이터를 보존해야 할 필요가 있을 것이다. 매우 단순한 데이터 저장 이상의 기능이 필요한 경우에 파일
기반이나 로우 레벨 SQLite 기반 저장 레이어를 직접 만드는 것보다는 코어 데이터를 사용하는 편이 쉽다. 코어 데이터로 작업해야
한다면 이 책을 읽어야 한다.

코어 데이터를 사용해본 적이 없다면 이 책을 통해서 어디서부터 시작해야 할지 배우게 된다. 프레임워크의기본과 iOS에만 있는
NSFetchedResultsController를 마치고, 코어 데이터 기반 애플리케이션을 만들어보고 나서 성능 관련 팁과 문제 해결
방법을 배운다. 코어 데이터를 사용해본 경험이 있고, 많은 모델 객체를 사용할 때 도무지 앱이 죽는 이유를 모르겠다거나, 특정 상황에서
성능 문제가 왜 생기는지 알고 싶을 때 이 책에서 해답을 얻을 수 있다. 이 책은 프레임 워크의 기본 사항에서 발생하는 문제를 명확히
설명하고, 이런 문제를 해결하는 데 애플의 개발 도구를 사용하는 방법을 알려준다.





[ 이 책의 구성 ]



이 책은 애플의 코어 데이터 프레임워크를 iOS 디바이스에 사용하는 방법을 포괄적으로 다룬다. 기초적인 내용부터 시작해 고급 기술을
배우고, 실제로 사용되는 예제를 알아본다. 이 책의 많은 장은 두 부분으로 나뉜다. 관련정보를 배우는 것으로 시작하고, 샘플 프로젝트를
통해 앞에서 배운 내용을 확인한다.

10장에서는, 코어 데이터에 기반을 둔 메모 애플리케이션을 처음부터 끝까지 만들어본다. 코어 데이터가 어떤 일들을 하는지 당장 궁금하다면
10장에서 읽기를 시작한 후 처음으로 돌아오는 것도 좋다.



1부, 소개

애플의 코어 데이터 프레임워크는 애플리케이션 데이터를 저장하기 위한 강력하고 통합된 솔루션이다. 이 책은 아이폰 SDK 3.0 이상
버전의 iOS에서 이 프레임워크를 사용하는 방법과 포괄적인 레퍼런스를 제공한다. 코어 데이터 기본뿐 아니라 객체 모델링과 데이터 저장,
엑스코드의 데이터 모델링 도구를 사용해 객체 모델을 만드는 방법 등도 배운다.



1장, iOS 디바이스 코어 데이터 개요

1장은 iOS 애플리케이션 개발을 위한 MVC 패턴으로서의 코어 데이터를 소개한다. 웹 개발을 위한 엔터프라이즈 객체
프레임워크(Enterprise Objects Framework)로서 코어 데이터의 간략한 역사와 코어 데이터가 유용한 이유를 알아본다.
코어 데이터를 데스크탑에 사용하는 것과 iOS에 사용하는 것에 차이점이 크지 않은 이유와 iOS의 바인딩(Binding) 지원이 부족한
점도 배운다. 코어 데이터를 사용해 현재 공개돼 있는 iOS 애플리케이션을 열거하는 것으로 개요를 마친다. 머니웰(MoneyWell),
Calcuccino, 어소시에이티드 프레스(Associated Press) 애플리케이션을 여기서 소개한다.



2장, 코어 데이터 기초

1장을 통해 코어 데이터의 개요를 충분히 습득했으니 2장에서는 코어 데이터의 더 깊숙한 부분까지 들어가 주요 기능을 알아본다. 관리 객체
콘텍스트와 관리 객체의 상호 작용과 영구 저장(Persistent Store)을 여기서 배운다. 또한 프레임워크 클래스를 소개하고, 대개
기본 프레임워크 클래스를 상속받을 필요 없이 매우 적은 코드로 구현할 수 있는 훌륭한 기능을 설명한다. 뒤이어 코어 데이터를 사용해
애플리케이션을 작성하는 과정을 설명한다. 애플의 코어 데이터 iOS 애플리케이션용 엑스코드 템플릿 프로젝트가 어떻게 동작하는지 알아보며
2장을 마친다.



3장, 데이터 모델링

3장에서는 데이터 모델링의 기본적인 내용을 소개한다. 코어 데이터가 데이터베이스 자체가 아니라는 점을 수차례 강조했다. 대신 관계형
데이터베이스 기술(예를 들어 객체 모델 디자인에 적용되는 데이터 정규화)에 대해 설명한다. 또한 관계형 데이터베이스에 저장된 데이터를
객체지향 프로그래밍에 사용할 수 있도록 관계형 객체 모델에 어떻게 매핑되는지 알아보고, 엑스코드의 데이터 모델 에디터(Data Model
Editor)를 사용해 코어 데이터에 객체 모델이 정의되는 방법을 소개하며 3장을 마친다.



2부, 코어 데이터로 작업

2부에서는 iOS에 코어 데이터를 활용하길 원하는 애플리케이션에 적용되는 주제에 대해 집중적으로 다룬다. 프레임워크의 각 측면이나 관련
기술은 개별적인 장으로 나눴으므로, 순서대로 읽어가며 점진적으로 습득할 수도 있고, 관심 있는 주제를 골라서 읽을 수도 있다. 각 장은
두 부분으로 구분된다. 처음에는 특정 기능을 소개하고, 왜, 그리고 언제 이 기능이 유용한지 알려준다. 두 번째 부분에서는 관련 클래스와
메소드를 소개한다. 더 복잡한 기능을 만들기 이전에 간단한 애플리케이션에 기본적인 기능을 추가하는 튜토리얼 형식을 취한다. 튜토리얼
섹션은 실습을 통해 배울 수 있게 하는 것이 목적이지만, 이런 방법을 통해 독자 스스로 애플리케이션을 개발할 때 동일한 기술을 사용하는
데 어려움을 느끼지 않게 된다.



4장, 기본적인 저장과 불러오기

UITableView로 관리 객체를 표시하는 간단한 아이폰 애플리케이션을 만드는 과정을 보여준다. 관리 객체 콘텍스트가 무엇인지, 그리고
기반데이터와 어떻게 연결되는지 배운다. 코어 데이터를 효율적으로 사용하는 데 관리 객체 콘텍스트가 필수적인 이유를 이해하게 된다.
콘텍스트가 무엇인지, 어떻게 사용하는지, 콘텍스트가 어디에서 ‘왔는지’와 서로 상호 작용하는 방법도 배운다. 4장의 샘플 프로젝트는
간단한 추가(Add) 버튼으로 불러온 객체를 추가하고 테이블 뷰에 추가한다. 개발의 용이함을 위해 모든 객체는 임의로 생성된 정보와 함께
미리 생성돼있다.



5장, NSFetchedResultsController 사용

iOS에만 있는 객체인 불러오기 결과 컨트롤러(Fetched Results Controller)를 활용해서 데이터를 불러오고 테이블 뷰에
객체를 표시하는 방법을 배운다. 또한 iOS에서 메모리 관리가 중요한 이유와 NSFetchedResultsController가 어떻게
메모리 내부에 최소한의 객체를 자동으로 유지하는지도 알아본다.



6장, 관리 객체로 작업

데이터 검증 같은 NSManagedObject가 제공하는 기능을 소개한다. 대개 NSManagedObject를 서브클래싱할 필요는
없지만, 6장은 왜, 그리고 언제 그렇게 해야 하는지 설명한다. 관리 객체의 라이프 사이클을 배우고 모델링한 속성의 서로 다른 타입을
알아본다. 또한 접근자 메소드 코드를 간단히 하는 오브젝티브C 2.0의 기능을 다루고, 사용자 정의 검증 로직을 살펴보며 설명을 마친다.



7장, 프리디케이트로 작업

NSPredicate 생성의 기본부터 시작하며, 간단한 프리디케이트(predicate) 형식문자열에 대해 알아본다. 숫자나 날짜 같은
스칼라 값과 매칭하는 데 프리디케이트를 사용하는 방법과, 특정 부서에서 일하는 사원을 추출할 때 같이 특정 관계의 객체에 매칭하는 방법을
배운다. 특히 대소문자를 구별하는 정보를 포함하는 문자열과 작업하는 내용을 다룬 절이있고, SQLite 저장소에 쿼리하기 위해 코어
데이터가 생성하는 로(raw) SQL문을 조사하는 방법을 살펴본다.



8장, 데이터 이전과 버전 관리

구 버전과 신 버전 애플리케이션의 데이터 모델 간 호환성을 지키기 위한 버전, 데이터 이전 기능을 다룬다. 기본적으로 새로운 버전의
모델을 사용해 만든 애플리케이션은 구 버전의 모델을 열 수 없지만, 데이터 자동 이전을 사용하면 업그레이드 이후 시점에서도 기존 자료를
계속해서 사용할 수 있다. 코어 데이터 프레임워크가 데이터 모델 버전을 다른 것에 관련지어 주는 간단한 데이터 이전과, 매핑 모델과
엔티티 이전 정책을 사용해서 직접 데이터를 이전하는 방법을 배운다.



9장, 다중 뷰 컨트롤러와 실행 취소

최대한 간단한 예제를 제공하기 위해 이전 장까지 살펴본 모든 프로젝트는 단일 뷰 컨트롤러를 사용했다. 9장에서는 다중 뷰 컨트롤러에서
관리 객체 콘텍스트를 추적하는 방법과, 수정 뷰 컨트롤러(editting view controller)를 사용해 기존 관리 객체의 값을
바꾸는 방법을 알아본다. 또한 여러 개의 관리 객체 콘텍스트를 사용하는 방법과, 여러 콘텍스트에서 관리 객체를 참조하는 방법도 배운다.
그 후에는 코어 데이터가 제공하는 자동 실행 취소(Undo) 기능이 얼마나 사용하기 쉬운지 알아본다.



3부, 간단한 코어 데이터 애플리케이션 제작

3부에서는 코어 데이터를 사용해서 완전한 애플리케이션을 만드는 과정을 독자에게 보여준다.



10장, 샘플 애플리케이션: Note Collector

지금까지 배운 코어 데이터 지식을 활용해서 지금까지 만들었던 애플리케이션보다 더 안정성 높은 애플리케이션을 만들어본다. 추상 엔티티와
엔티티 상속, 다중 뷰 컨트롤러를 사용해서 노트를 기록하고 콜렉션에 정리하는 메모 애플리케이션을 만드는 과정을 보여준다. 로(raw)
SQLite 파일을 조사해서 코어 데이터가 어떤 작업을 수행 중인지 살펴보는 방법을 배우고, 사용자가 애플리케이션을 처음으로 실행했을 때
샘플 데이터를 볼 수 있게 미래 생성해둔 데이터를 포함시키는 방법을 알아본다. 또한 실행 시 애플리케이션 상태를 유지하는 방법을
알아보는데, 이 과정을 통해 뷰 컨트롤러의 내비게이션 기반 스택을 재생성하기 위한 관리 객체 정보를 얻는 방법을 배운다.



4부, 최적화와 문제 해결

4부에서는 성능 관련 이슈를 다룬다. iOS 디바이스의 제한적인 메모리를 최적화하는 방법과, iOS 코어 데이터 개발 도구를 사용해
디버깅하는 방법을 배운다.



11장, iOS 성능 최적화와 메모리 요구 사항

성능, 최적화, 속도에 관련된 이야기를 한다. 애플리케이션의 실행 속도를 높이는 방법과, 사용 가능한 모든 메모리를 소비하거나 배터리
소모를 높이지 않으면서도 사용자의 동작에 즉각적으로 반응하는 애플리케이션을 만드는 몇 가지 간단한 요령을 배운다. 코어 데이터와
직접적으로 관련이 있지는 않지만, 11장은 독자가 리테인 카운트(retain count)와 객체가 해제되는 시점에 대해 잘 이해하고
있다고 가정한다.



12장, 코어 데이터 문제 해결

코어 데이터를 사용하는 도중 문제가 발생하면 해당 증상이나 에러 메시지를 이해하기 쉽지 않다. 어떤 부분이 잘못됐는지 이해하지 못한다면
코드를 수정하기란 불가능에 가깝다. 12장에서는 코어 데이터를 사용할 때 가장 빈번히 발생하는 문제를 진단하고 해결하는 방법을 알아본다.
코어 데이터 자체가 아닌 다른 부분이 문제를 야기할 수도 있다는 점을 기억해야 한다. 예를 들어 메모리 관리 에러는 어떤 코코아객체에든
영향을 줄 수 있고, 관리 객체도 예외가 아니다. 하지만 12장은 코어 데이터에 관련 있는 문제에만 집중한다.



I부 소개
1장 iOS 코어 데이터 개요
__역사
____코어 데이터의 탄생
__iOS에서 코어 데이터를 사용해야 하는 이유
____관계 관리
____관리 객체와 데이터 검증
____실행 취소와 상태 관리
__iOS와 데스크탑의 차이점
____불러오기 결과 컨트롤러
__코어 데이터 사례 연구
____아이폰용 머니웰
____Calcuccino
____어소시에이티드 프레스

2장 코어 데이터 기초
__디스크에 객체 기록
__코어 데이터 방식
____엔티티와 관리 객체
____관계
____관리 객체 콘텍스트
____객체 불러오기
____폴팅과 유니큐잉
____영구 저장소와 영구 저장소 코디네이터
__엑스코드 코어 데이터 템플릿
____내비게이션 기반 프로젝트 테플릿
____데이터 모델러
____코어 데이터 스택 설정
____애플리케이션 실행
____RootViewContoller 코드
__정리

3장 데이터 모델링
__관리 객체와 엔티티
__데이터를 엔티티로 나누기
____모델-객체 용어에서의 코어 데이터
____데이터 정규화
____바이너리 데이터 저장
__엑스코드 데이터 모델러 다루기
____엔티티 작성
____프로퍼티 작성
____관계 작성
__정리

II부 코어 데이터로 작업
4장 기본적인 저장과 불러오기
__새 관리 객체 작성
____콘텍스트 저장
__저장된 관리 객체 불러오기
__관리 객체 삭제
__테이블 뷰 작업
____Random Dates 애플리케이션 프로젝트
____Random Dates 데이터 모델
____기본 RootViewController 동작
____임의의 날짜 객체 불러오기
____RandomDate 객체 표시
____RandomDate 객체 삭제
__커스텀 관리 객체 서브클래스
____관리 객체를 위한 커스텀 클래스 생성과 설정
__정리

5장 NSFetchedResultsController 사용
__NSFetchedResultsController 소개
__NSFetchedResultsController 생성
__테이블 뷰에 정보 공급
____열과 섹션의 수
____인덱스 경로의 셀 반환
____섹션 정보 반환
____기반 데이터 변화 처리
____정보 캐싱
__Random Dates 애플리케이션에 NSFetchedResultsController 사용
____NSFetchedResultsController 서브클래스
__정리

6장 관리 객체로 작업
__기본 관리 객체 서브클래스 파일
____Random People 프로젝트 생성
____관리 객체 클래스 인터페이스
____관리 객체 클래스 구현
__Random People 애플리케이션 환경 설정
____정보 표기
__데이터 검증
____개별 프로퍼티 검증
____다른 프로퍼티에 기반을 둔 검증
____삭제 전 검증
____Random People 애플리케이션 수정
__일시적 속성으로 작업
____데이터 모델 수정
____AWPerson 인터페이스와 구현에 추가
____일시적 프로퍼티용 게터 메소드 추가
____일시적 프로퍼티용 세터 메소드 추가
____UIColor 프로퍼티 사용
__변형 가능한 속성으로 작업
__관리 객체 라이프 사이클
____비지속 프로퍼티 초기화
__정리

7장 프리디케이트로 작업
__프리디케이트 기본
____서식 문자열을 사용한 프리디케이트 작성
____프리디케이트 변수
____프리디케이트 비교 연산자
____키 경로
__문자열 비교
__복합 프리디케이트
____NSCompoundPredicate
__집합과 관계
__SQL 쿼리 조사
__검색 창 컨트롤러 추가
____불러오기 프리디케이트 설정
____검색 프리디케이트 수정
____검색 스코프 바 필터 추가
__정리

8장 데이터 이전과 버전 관리
__데이터 이전 문제
____데이터 모델 수정
__다중 데이터 모델 버전과 가벼운 이전
____데이터 모델 버전 생성
____가벼운 이전 활성화
__엔티티와 속성 이름 변경
____이름 변경 식별자 제공
____여러 버전 관리
__매핑 모델
__커스텀 엔티티 이전 정책
__정리

9장 다중 뷰 컨트롤러와 실행 취소
__관리 객체 수정
____수정 중인 관리 객체의 트랙 유지
____관리 객체 프로퍼티 갱신
____관리 객체 검증
__실행 취소 작업
__다중 관리 객체 콘텍스트
____관리 객체 콘텍스트 변동 사항 병합
____컨트롤 값이 변할 때 관리 객체 값 변경
____관리 객체 콘텍스트 리셋
__에디터 컨트롤러로 새로운 객체 추가
__정리

III부 간단한 코어 데이터 애플리케이션 제작
10장 샘플 애플리케이션: Note Collector
__Note Collector 애플리케이션
____Note Collector 프로젝트 생성
__애플리케이션 데이터 모델
____추상 엔티티 모델링
____서브엔티티 모델링
____관리 객체 클래스 파일 생성
__RootViewController 설정
__컬렉션 내용 표시
____화면에 표시할 컬렉션 기억
____로 데이터 파일 내용 검사
__아이템 이름 설정, 수정
____새로운 뷰 컨트롤러 생성
__노트 화면 표시와 수정
__미리 생성한 데이터 스토어 제공
____애플리케이션 번들 내부 데이터로 작업
__정리

IV부 최적화와 문제 해결
11장 iOS 성능 최적화와 메모리 요구 사항
__성능, 최적화, 속도
__데이터 저장소 종류
____바이너리와 메모리 데이터 저장소
____SQLite 데이터 저장소
____SQLite 저장소 모니터링
__불러오기 최적화
____불러오기 제한 설정
____프리디케이트 최적화
____관계 미리 불러오기
____기타 객체 미리 불러오기
____프로퍼티 값 미리 불러오기
____NSFetchedResultsController와 섹션
__폴팅 관리
____폴트 없이 ‘안전한’ 메소드
____프로퍼티 로딩 예방
____배치 폴팅
____객체 다시 폴팅
__BLOB 관리
____BLOB을 사용하는 엔티티에 넣기
____BLOB을 별도 엔티티에 넣기
____BLOB을 외부 파일에 넣기
__Instruments로 코어 데이터 모니터링
__코어 데이터를 사용하지 말아야 할 때
__기타 메모리 관리 팁
____필요한 상황에만 실행 취소 관리자 사용
____관리 객체 콘텍스트 리셋
__정리

12장 코어 데이터 문제 해결
__코어 데이터 에러 첫 대면
____찾을 수 없는 모델
____클래스를 찾을 수 없음?
__코어 데이터 스레딩 이슈
____코어 데이터 멀티스레딩 기초
____스레드 간 데이터 코디네이팅
____스레드 간 충돌, 데이터 간 충돌 처리
____조심하자! 임시 ID!
__관리 객체 문제점
____프로퍼티 값을 설정할 때 발생하는 크래시
____커스텀 접근자 메소드가 호출되지 않는 경우
____관리 객체 무효화
____실행할 수 없는 폴트
__객체 불러오기 문제점
____불러오는 동안 데이터 정렬 문제
____최근 변화를 보여주지 않는 불러오기 결과
__정리

저자 : 팀 이스테드

저자 팀 이스테드(Tim Isted)는 1995년부터 매킨토시(Macintosh) 컴퓨터 소프트웨어를 개발했다. 또한 레일즈(Rails), PHP, 닷넷을 사용한 웹 애플리케이션을 개발했고, 윈도우 개발자로도 알려졌다. 프로 음악가이자 노래 선생님이며, 지휘, 연주, 강의, 프로그래밍에 동일한 시간을 투자하기 위해 많은 노력을 기울인다. 데스크탑용 코어 데이터 개발에 관련된 블로그 포스팅을 www.timisted.net에서 찾을 수 있다. 유럽과 미국에서 열리는 맥 개발자 컨퍼런스인 NSConference의 공동주최자이기도 하다.



저자 : 톰 해링턴

저자 톰 해링턴(Tom Harrington)은 주로 임베디드 시스템과 리눅스 프로그램을 작성했지만, 2002년 아토믹 버드 유한회사(Atomic Bird, LLC)를 시작하면서 맥 OS X 프로그래밍으로 옮겨왔다. 이후 6년 동안 수준 높은 맥 소프트웨어를 개발하다가 2008년부터 아이폰 개발을 시작했다. 주로 계약을 맺은 여러 클라이언트를 위한 iOS 소프트웨어를 개발했다. 또한 콜로라도 주에서 열리는 iOS 개발자 이벤트를 주최하기도 한다. 소프트웨어를 작성하지 않을 때면 종종 산악자전거를 탄다. 홈페이지는 www.atomicbird.com이다.



역자 : 정승원

역자 정승원은 LG전자 미디어 연구소를 거쳐 현재 2K 스포츠Sports에서 소프트웨어 엔지니어로 일하고 있다. 옮긴 책으로는 에이콘출판사에서 펴낸 『The Python Standard Library by Example 한국어판』(2012), 『아이폰 위치 기반 애플리케이션 개발』(2013), 『Python Design Patterns』(2014)가 있다.


등록된 서평이 없습니다.
데이터 분석 전문가 가이드(ADP)(ADsP) [개정판]...
한국데이터진흥원
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
패턴인식과 기계학습(기초부터 활용까지)...
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
『Windows Debugging 2/e: WinDbg로 배우는 윈도우 디버깅』
최바울, 이태화, 김희준, 김성현 저
49,500원
(10%↓+5%)
 
『C++ 멀티스레딩 정복하기: 견고하면서도 병렬성과 병행성을 가지는 애플리케이션 작성법』
마야 포쉬 저
22,500원
(10%↓+5%)
 
『타이핑 슈팅 액션 게임 개발 with 유니티 2/e : 유니티 상급 개발자로 올라서기』
앨런 쏜 저
36,000원
(10%↓+5%)
 
『파이썬과 비즈니스 자동화: 파이썬 레시피와 함께하는 비즈니스 자동화 프로그래밍 개발』
체탄 기리다 저
27,000원
(10%↓+5%)
 
『*OS Internals Vol.3: 애플 운영체제의 보안과 취약점』
조나단 레빈 저
45,000원
(10%↓+5%)
 
이메일주소수집거부