출고예상일 안내
주문하신 상품이 한국에서 현지 배송을 위한 출고단계가 이루어질 것으로 예상되는 날짜입니다. 상품을 준비하는 과정에서 내부적인 사정으로 인해 출고예상일에 다소 오차가 생길 수 있습니다.
여러 상품(예약상품포함)을 함께 주문하신 경우 출고예상일이 가장 늦은 날짜에 맞춰 함께 배송됩니다.

스위프트 3의 새로운 기능 - acorn+PACKT 시리즈 신속한 마이그레이션을 위한 기능별 안내서
원제 : Swift 3 New Features
ISBN : 9788960779655 / 180쪽 187 x 235 (㎜)
이 상품에 궁금하신점이 있으세요? 1:1상담문의

-
클리커, 강민혁
-
제임스 러브록
-
칼릭스(손윤석)
-
정그린
- 23,400
- 18,900
- 19,800
- 23,400
출판사 리뷰
출판사 서평 ★ 이 책에서 다루는 내용 ★ ■ 스위프트 2.2 프로젝트를 스위프트 3로 마이그레이션 ■ 스위프트 패키지 관리자 이해 ■ 오브젝티브C에서 스위프트로 임포트할 때 코코아 라이브러리와 상호작용하는 방법 ■ 스위프트 3의 새로운 함수와 연산자 소개 ■ 스위프트 3에서 개선된 부동 소수점, 속성, 타입 작업 방법 ■ 스위프트 API의 변경사항을 확인하고 오브젝티브C 코드를 현재 API에서 다루는 방법 ■ 스위프트 테스팅과 새로운 디버그 기능의 이해를 중심으로 새로운 기능 구현 ■ 스위프트 3로 서버 사이드 애플리케이션 ... ★ 이 책에서 다루는 내용 ★ ■ 스위프트 2.2 프로젝트를 스위프트 3로 마이그레이션 ■ 스위프트 패키지 관리자 이해 ■ 오브젝티브C에서 스위프트로 임포트할 때 코코아 라이브러리와 상호작용하는 방법 ■ 스위프트 3의 새로운 함수와 연산자 소개 ■ 스위프트 3에서 개선된 부동 소수점, 속성, 타입 작업 방법 ■ 스위프트 API의 변경사항을 확인하고 오브젝티브C 코드를 현재 API에서 다루는 방법 ■ 스위프트 테스팅과 새로운 디버그 기능의 이해를 중심으로 새로운 기능 구현 ■ 스위프트 3로 서버 사이드 애플리케이션 개발 ★ 이 책의 대상 독자 ★ 오브젝티브C, 스위프트 2.x대 버전으로 개발프로젝트를 진행하고 있거나, 이미 완료된 프로젝트를 최신 버전으로 전환하고 싶은 개발자라면 이 책이 좋은 안내서가 될 것이다. ★ 이 책의 구성 ★ 1장, ‘도대체 무슨 생각일까?’에서는 스위프트 3를 소개한다. 스위프트는 애플에게 중요한 언어며, 최근까지의 도입률은 놀랍다. 언어 변경 사항의 선택 방법과 커뮤니티에 기여하는 방법을 다룬다. 또한 Swift.org 사이트와 스위프트에서 발생한 모든 것을 저장하는 깃허브 페이지에 대해 다룬다. 2장, ‘신대륙 발견: 드디어 리눅스!’에서는 리눅스 머신에서 스위프트 애플리케이션을 개발하는 방법을 다룬다. 최근까지 스위프트는 맥에서만 개발할 수 있었지만, 스위프트 3는 리눅스 머신에서 스위프트 애플리케이션의 개발과 실행을 지원한다. 2장의 끝에서 맥과 리눅스 머신 양쪽에 개발 환경을 설치하는 방법을 다룬다. 또한 리눅스용 애플리케이션을 작성해본다. 3장, ‘스위프트 3로 마이그레이션’에서는 스위프트 마이그레이터를 사용해서 스위프트 2.2 프로젝트를 업그레이드하는 방법을 알려준다. 예제 프로젝트를 마이그레이터를 사용해 따라 해보고, 스위프트 프로젝트를 마이그레이션할 때 유용한 전략을 알아본다. 4장, ‘스위프트 핵심 변경에 대한 더 많은 궁금증’에서는 훌륭한 스위프트 API를 작성하기 위한 철학을 강조한다. 4장의 나머지 부분에서 오브젝티브C와 C 코드를 스위프트 3로 가져와 스위프트 3에서 오브젝티브C 기능을 사용하고 참조하는 언어의 개선된 부분을 다룬다. 5장, ‘함수와 연산자의 변화: 일 처리의 새로운 방법’에서는 함수 선언, 사용법에서 변화된 부분을 알아보고 더 나은 스위프트 코드로 바꾸는 방법을 검토한다. 또한 언어에서 제거된 몇 가지를 강조하고, 변화된 연산자에 대해 설명한다. 6장, ‘컬렉션과 클로저의 특별한 변화’에서는 스위프트 3에서 변경된 클로저와 컬렉션에 초점을 맞춘다. 컬렉션으로 작업하는 것을 더 재미있게 만들어줄 몇 가지 멋진 기능이 있다. 스위프트 2.2에서 클로저 생성을 혼란스럽게 만드는 부작용을 알아보고 스위프트 3에서 그것들을 어떻게 수정했는지 살펴본다. 7장, ‘타입의 발전된 변화’에서는 정기적으로 사용하지 않는 언어의 개선된 부분을 다룬다. 언세이프 포인터형과 타입 앨리어스, 부동 소수점 연산에 초점을 맞춘다. 8장, ‘파운데이션 프레임워크의 새로운 기능’에서는 새로운 Measurement와 유닛 API에 대해 알아본다. 이후에 measurement 과제를 처리하기 위한 준비를 더 잘하도록 개념 주입을 위해 남겨둔 몇 가지 예제를 사용한다. 9장, ‘엑스코드 서버와 LLDB 디버깅으로 코드 개선’에서는 엑스코드 서버의 지속적인 통합 능력과 테스트 작업 흐름을 향상시키기 위해 포함된 테스트 자동화 방법에 대해 다룬다. 후반부에서는 리눅스에서 코드를 디버깅하기 위한 LLDB 사용법을 설명한다. 10장, ‘서버에서의 스위프트 탐구’에서는 서버에서 스위프트를 실행하는 방법을 다룬다. 리눅스에서 스위프트가 실행되는 것은 매우 중요하고, 서버를 호스팅하고 실행하는 리눅스의 인기는 특별하다. 스위프트 3는 iOS, macOS, tvOS, watchOS용 애플리케이션을 만들기 위해 동일한 스위프트를 사용해 개발자들이 서버 사이드 애플리케이션을 개발할 수 있는 가능성을 열었다. 10장의 끝에서는 리눅스 박스에서 원활하게 실행되는 스위프트로 완벽하게 작성된 서버 사이드 앱을 갖게 될 것이다.
★ 지은이의 말 ★
스위프트 3의 출시와 함께 애플은 스위프트 도입을 확대하려 노력하고 있다. 이 책의 임무는 스위프트 3를 사용하는 신속하고 생산적인 신규 개발자 및 숙련된 개발자를 빠르게 확보하는 것이다. 이 책에서는 표준 라이브러리와 파운데이션에 소개된 주요 기능들을 살펴본다. 또한 스위프트 2.2 프로젝트를 스위프트 3으로 전환하고, 리눅스에서 스위프트로 개발하고 동작시키기 위한 방법도 설명한다.
★ 옮긴이의 말 ★
아이폰 한국 출시와 함께 에이콘을 통해 출간됐던 『아이폰 SDK 애플리케이션 개발』(2010)을 번역한 지 8년이 지났다. 수많은 인디 개발자들과 대형 개발 업체들이 뛰어들면서 사용자에게 앱이 선택된다는 건 모래에서 바늘 찾는 일이 될 정도로 앱스토어 시장은 팽창했다. 하지만 여전히 들리는 누군가의 성공 스토리는 개발자들에게 이 시장이 충분히 매력적으로 보이는 이유일 것이다..
무르익은 시장 환경과 대조적으로 개발 환경은 여전히 폐쇄적이고 배우기가 쉽지 않다. 초보자들이 배우기에 문법은 무척 생소하며 어렵고, 30년의 역사를 가진 오브젝티브C는 다른 언어들이 도입하는 최신 프로그래밍 패러다임을 수용하는데 한계가 있었다. 그에 따라 애플은 개발자 생태계를 자사의 제품만큼이나 매력적으로 만들 필요가 있었고, 2014년 WWDC를 통해 스위프트를 소개했다. 다들 애플이 내놓은 새로운 언어를 신비롭게, 혹은 열광적으로 바라보았다. 게다가 오픈소스라니……
스위프트는 빠른 속도로 발전하는 언어기 때문에 이전 버전의 프로젝트를 최신 버전의 스위프트로 바꾸는 데 시행착오가 필요하다. 오브젝티브C, 스위프트 2.x, 이제 스위프트 3까지 나와 혼란을 가중시키고 있는 상황이다. 이 책이 모든 것을 커버하지는 않지만, 적어도 이런 변화의 시기에 무엇을 하면 되는지 빠르게 살펴볼 수 있을 것이다. 이 책은 무엇이 바뀌었고, 왜 그렇게 바뀌었는지, 스위프트 개발자 커뮤니티의 어떤 제안들을 더 살펴보면 되는지를 알려주는 안내서다.
목차
1장, 도대체 무슨 생각일까?
__스위프트 3에 대한 애플의 목표
__오픈소스 스위프트
__스위프트에 기여
__스위프트 발전 과정
__스위프트 3의 승인된 제안 개요
__요약
2장, 신대륙 발견: 드디어 리눅스!
__스위프트 다운로드
__맥용 스위프트 3
__리눅스용 스위프트 3
__REPL 사용
__스위프트 패키지 관리자
__첫 번째 스위프트 프로그램
__요약
3장, 스위프트 3으로 마이그레이션
__프로젝트 마이그레이션 방법
____옵션 1: 스위프트 3으로 마이그레이션
____옵션 2: 스위프트 2.3으로 마이그레이션
__사전 계획
__스위프트 마이그레이션 도구로 마이그레이션
____문제 해결을 위한 빠른 전략
__요약
4장, 스위프트 핵심 변경에 대한 더 많은 궁금증
__그랜드 리네이밍
____스위프트 3에서 오브젝티브C 코드 참조
____getter,setter 속성으로 오브젝티브C 셀렉터 참조[SE-0064]
________오브젝티브C 키 경로 참조[SE-0062]
__스위프트 3에 오브젝티브C 및 C API에서 코드 가져오기
____스위프트 타입으로 오브젝티브C 상수 가져오기[SE-0033]
________구조체로 가져오기
________열거형으로 가져오기
____오브젝티브C 경량 제네릭 가져오기[SE-0057]
____멤버로 가져오기[SE-0044]
________이니셜라이저 정의
________게터와 세터 생성
________메소드 추가
________정적 변수 생성
__요약
5장, 함수와 연산자의 변화: 일 처리의 새로운 방법
__함수 선언의 변화
____일관성 있는 매개변수 레이블링[SE-0046]
________선언 시 커링 함수 구문 제거[SE0002]
____기본적으로 미사용 결과에 대한 경고[SE-0047]
________함수 매개변수 목록에서 var 제거[SE-0003]
________++, -- 연산자 제거[SE-0004]
________C 스타일 반복문 제거[SE-0007]
________함수에서 암시적인 튜플 스플랫 제거[SE-0029]
________타입 지정 시 조정된 inout 선언[SE-0031]
________속성 인수에 대해 등호를 콜론으로 변환[SE-0040]
________괄호가 필요한 함수 인수 구문 표준화[SE-0066]
________기본 매개변수의 순서 강제[SE-0060]
________오브젝티브C를 위한 선택적 요구 사항 만들기[SE-0070]
__요약
6장, 컬렉션과 클로저의 특별한 변화
__컬렉션과 시퀀스 타입의 변경
____선택적 시퀀스를 위한 지연 FlatMap[SE-0008]
____시퀀스에 first(where:) 메소드 추가[SE-0032]
____sequence(first: next:)와 sequence(state: next:) 추가[SE-0094]
__새로운 collections,indices 모델[SE-0065]
____컬렉션 프로토콜 소개
____컬렉션 프로토콜 따르기
____새로운 범위와 연관 인덱스 타입
__짧은 시사점
__스위프트 3 클로저 변화
____@noescape 클로저의 inout 캡처 제한[SE-0035]
____해결
____기본으로 비이스케이핑 클로저 만들기[SE-0103]
__요약
7장, 타입의 발전된 변화
__Unmanaged, UnsafePointer의 변화
____UnsafePointer 사용을 위한 Unmanaged 변경[SE-0017]
____Optional을 사용한 명시적 UnsafePointer 만들기[SE-0055]
____UnsafeRawPointer 추가[SE-0107]
__타입 별칭과 프로토콜 변화
____제네릭 타입 별칭[SE-0048]
____프로토콜에서의 타입 별칭과 프로토콜 확장[SE-0092]
__부동소수점 변화
____향상된 부동소수점 프로토콜[SE-0067]
____부동소수점 프로토콜의 새로운 반올림 함수[SE-0113]
__요약
8장, 파운데이션 프레임워크의 새로운 기능
__가변성과 파운데이션 값 타입
__값 타입과 참조 타입
__중첩 열거형
__강력한 문자열 열거형
__클래스 속성
__안전한 값 타입 접근
__Measurement와 Unit
____Measurement
____Unit과 Dimension
____사용자 정의 유닛
____사용자 정의 Dimension 타입
____변환 함수
____measurements 포매팅
__요약
9장, 엑스코드 서버와 LLDB 디버깅으로 코드 개선
__엑스코드 서버의 지속적인 통합 개요
____봇 기능
____봇 모니터링과 관리
__엑스코드 서버 설정
____엑스코드 서버에 저장소 추가
____봇 설정
__통합 실행 관리와 모니터링
__LLDB로 디버깅
____LLDB 명령어 구문
__중단점 관리
____중단점 생성
____중단점 나열
____중단점 수정
____중단점 활성/비활성화
____중단점 삭제
____명령어 별칭
__요약
10장, 서버에서의 스위프트 탐구
__IBM 스위프트 패키지 카탈로그
__서버 프로젝트 소개
____프로젝트 설명과 의존성
____환경과 프로젝트 설정
________Vapor 프레임워크
________라우팅
________뷰 생성
________공개 리소스
________shop view 정의
________슬랙 통합
________사용자 정의 통합 만들기
________슬랙에 게시할 서버 업데이트
__요약








































