본문 바로가기

도서 소개

빅 너드 랜치의 스위프트 프로그래밍(제2판)

그동안 읽어주신 분들께 감사드립니다. 이 책은 현재 절판되었습니다.

전 세계인과 함께 배우는 스위프트 교과서!

글로벌 모바일 교육 업체인 빅 너드 랜치의 공식 스위프트 교재!

 

출판사 제이펍

원출판사 Big Nerd Ranch Guides

원서명 Swift Programming: The Big Nerd Ranch Guide(2nd Edition)(원서 ISBN: 9780134610610) 

저자명 매튜 마티아스, 존 갤러거

역자명 배장열

출판일 2017년 9월 7일

페이지 520쪽

판  형 46배판변형(188*245*25)

제  본 무선(soft cover)

정  가 29,000원

ISBN 979-11-85890-93-7 (93000)

키워드 아이폰 프로그래밍 / Xcode / Swift / iPhone / iOS

분  야 프로그래밍 / 모바일

 

관련 사이트

아마존 도서 소개 페이지

원출판사 도서 소개 페이지

 

관련 포스트

■ 2017/08/31 - [출간전 책소식] - 빅 너드 랜치의 스위프트 공식 교재!

 

관련 시리즈

I♥Mobile(아이러브모바일) 시리즈

 

관련 도서

스위프트 쉽게, 더 쉽게: 상세한 설명과 복습으로 마스터하는

핵심만 골라 배우는 iOS 9 프로그래밍

 

관련 파일 다운로드

예제 코드 및 연습문제 해답(영문버전)

 

교재 검토용 증정 안내

■ 학교 및 학원에서 교재 선정을 위해 책을 파일로 검토해보고자 하시는 분들은 다음의 페이지에서 신청 양식을 작성해주시기 바랍니다. 확인 후 연락을 드리도록 하겠습니다. http://goo.gl/vBtPo3

 

강의보조 자료

교재로 채택하신 분들은 메일을 보내주시면 아래의 자료를 보내드리겠습니다: jeipubmarketer@gmail.com

■ 본문의 그림과 표

 

샘플 PDF(차례, 옮긴이 머리말, 감사의 글, 이 책에 대하여, 베타리더 후기, 1장 '시작하기', 5장 'Switch')

빅너드랜치의스위프트프로그래밍(제2판)_sample.pdf
다운로드

 

 

정오표 페이지

■ (등록되는 대로 링크를 걸어드리겠습니다)

 

도서구매 사이트(가나다순)

[강컴]   [교보문고]   [도서11번가]   [반디앤루니스]   [알라딘]   [예스이십사]   [인터파크]

 

도서 소개

전 세계인과 함께 배우는 스위프트 교과서!

글로벌 모바일 교육 업체인 빅 너드 랜치의 공식 스위프트 교재!

 

이 책은 풍부한 강의 경험과 스위프트에 대한 통찰력으로 무장한 두 저자가 왜 스위프트여야 하는지를 다양한 시각과 상황을 통해 깊이 있게 풀어내고 있다. 또한, 세심한 설명과 엄선된 예제는 스위프트 문법뿐만 아니라 효율적인 스위프트 스타일을 독자가 깊이 있게 이해할 수 있도록 도와준다. 참고로, 이 책은 스위프트 4.0을 기준으로 Xcode 9와 애플의 개발 문서를 설명한다. 체계적인 설명과 엄선된 예제는 스위프트에 대한 자신감을 한층 높여 줄 것이다.

 

이 책의 구성

  • 시작하기: 이곳에서는 스위프트 코드를 작성할 때 필요한 도구에 초점을 맞추고, 스위프트의 문법을 소개한다.
  • 기초 지식: 기초 지식에서는 스위프트 개발자로서 매일같이 사용하게 될 기본 데이터 타입을 소개한다. 또한, 코드가 실행되는 순서를 제어하기 위한 제어 흐름을 다룬다.
  • 컬렉션과 함수: 서로 연관된 데이터가 애플리케이션에 필요할 때가 많다. 그런 데이터는 그만의 방식으로 처리하게 된다. 이곳에서는 이를 수월하게 하기 위한 컬렉션과 함수를 다룬다.
  • 열거형, 구조체, 클래스: 이곳에서는 데이터의 구체화(모델링) 방식을 다룬다. 열거형과 구조체, 클래스의 다른 점을 언급하고, 언제 어떤 것을 사용할지 그 기준을 제시한다.
  • 스위프트 고급: 스위프트는 현대적 언어로서 우아하고 읽기 쉬우며 효율적인 코드를 작성하기 위한 고급 기능을 다양하게 제공한다. 이곳에서는 이런 스위프트의 요소들을 사용하여 더욱더 전문적인 개발자가 되기 위한 공용 코드를 어떻게 작성할 수 있는지 언급한다.
  • 이벤트 구동 방식 애플리케이션: 이곳에서는 첫 macOS 애플리케이션과 첫 iOS 애플리케이션을 작성한다. 이전 OS X이나 iOS 애플리케이션 개발을 경험한 독자들을 위해 오브젝티브-C와 스위프트의 상호운영 방식을 언급하며 이 책을 마무리한다.

 

이 책의 대상 독자

  • 스위프트를 처음으로 배우려는 개발자
  • iOS 앱 개발 경험이 있으면서 스위프트를 확실하게 다지려는 모바일 개발자
  • 안드로이드 앱 개발 경험은 있지만 iOS 앱은 처음인 개발자

 

지은이 소개

매튜 마티아스(Matthew Mathias)

빅 너드 랜치의 교수 부장이자 iOS 강사다. 이전에는 사회학으로 박사 학위를 받았고, 대학 강의를 하기도 했다. 현재는 빅 너드 랜치의 역량 있는 저자, 강사들과 함께하며 최고의 프로그래밍 교재와 강의를 제공하고 있다. 자전거 타기와 만화, 게임을 좋아한다.

 

존 갤러거(John Gallagher)

소프트웨어 엔지니어이자 빅 너드 랜치의 강사다. 고객용 앱 개발 이외에도 초소형 임베디드 시스템 및 초대형 슈퍼컴퓨터에 많은 노력을 쏟고 있다. 새로운 프로그래밍 언어를 즐기며 이들을 혼합하여 사용할 수 있는 방법을 찾고 있기도 하다. 그 외의 시간은 주로 아내와 세 딸과 함께 보낸다.

 

옮긴이 소개

배장열

개인 개발자이자 IT 전문 번역자다. 요즘은 좋은 책을 소개하는 데 도움이 되고자 번역에 더 많은 정성을 기울이고 있다. 옮긴 책으로는 《스케치로 시작하는 아두이노 프로그래밍(제2판)》, 《마인크래프트로 배우는 파이썬 프로그래밍》, 《리눅스 바이블(제9판)》 등을 비롯하여 20여 종이 있다.

 

차례

1부 시작하기

1장 시작하기 _ 3

    Xcode 시작하기 3

    플레이그라운드에서 ‘플레이’하기 6

    변수의 값 변경하기와 콘솔로 출력하기 7

    아직 끝나지 않았다! 10

    예선 과제 10

더보기

2장 타입, 상수, 변수 _ 11

    타입 11

    상수 vs. 변수 13

    문자열 삽입 15

    예선 과제 16

 

2부 기초 지식

3장 조건 _ 19

    if/else 19

    삼항 연산자 22

    중첩된 if 23

    else if 24

    예선 과제 25

 

4장 수 _ 26

    정수 26

    정수 인스턴스 만들기 29

    정수 연산 30

    다른 정수 타입으로 전환하기 34

    부동소수점수 36

    예선 과제 38

 

5장 switch _ 39

    switch가 무엇일까? 39

    switch 실전 40

    switch vs. if/else 50

    예선 과제 52

    본선 과제 53

 

6장 루프 _ 54

    for-in 루프 55

    타입 추론에 관해 짚고 넘어가기 59

    while 루프 59

    repeat-while 루프 61

    제어권 전달문, 다시 보기 61

    본선 과제 65

 

7장 문자열 _ 67

    문자열 다루기 67

    유니코드 69

    예선 과제 76

    본선 과제 76

 

8장 옵셔널 _ 77

    옵셔널 타입 77

    옵셔널 바인딩 80

    암묵적으로 언래핑된 옵셔널 83

    옵셔널 체이닝 84

    옵셔널을 준비된 상태로 수정하기 85

    nil 결합 연산자 86

    예선 과제 88

    예선 과제, 시즌2 88

 

3부 컬렉션과 함수

9장 배열 _ 91

    배열 만들기 91

    배열 액세스하기와 수정하기 93

    배열의 등가 100

    변경할 수 없는 배열 101

    문서 102

    예선 과제 103

    본선 과제 104

    결승 과제 104

 

10장 딕셔너리 _ 105

    딕셔너리 만들기 106

    딕셔너리에 내용물 넣기 107

    딕셔너리 액세스하기와 수정하기 107

    값 추가하기와 제거하기 110

    루프 적용하기 112

    변경할 수 없는 딕셔너리 113

    딕셔너리를 배열로 변환하기 113

    본선 과제 114

    결승 과제 115

 

11장 집합 _ 116

    Set란 무엇인가? 116

    Set 준비하기 117

    집합 다루기 119

    예선 과제 123

    본선 과제 123

 

12장 함수 _ 124

    함수의 기초 124

    함수의 파라미터 125

    가변 파라미터 129

    결과 리턴하기 132

    함수의 중첩과 영역 133

    복수 리턴값 135

    옵셔널 리턴 타입 136

    함수에서 중도에 빠져나오기 137

    함수의 타입 138

    예선 과제 139

    본선 과제 140

    호기심을 누르지 못하는 독자를 위해: Void 140

 

13장 클로저 _ 142

    클로저의 문법 구조 142

    클로저 수식 문법 144

    리턴 타입 역할을 하는 함수 147

    인수 역할을 하는 함수 148

    클로저, 값을 붙잡다 151

    클로저는 참조 타입이다 153

    함수형 프로그래밍 155

    예선 과제 158

    결승 과제 159

 

4부 열거형, 구조체, 클래스

14장 열거형 _ 163

    열거형 기본 163

    원시값 열거형 167

    메서드 170

    연동되는 값 174

    재귀적 열거형 176

    예선 과제 180

    본선 과제 180

 

15장 구조체와 클래스 _ 181

    새 프로젝트 181

    구조체 187

    인스턴스 메서드 190

    클래스 192

    무엇을 사용해야 할까? 198

    예선 과제 199

    본선 과제 199

    호기심을 누르지 못하는 독자를 위해: 타입 메서드 199

    호기심을 누르지 못하는 독자를 위해: 변경용 메서드 201

 

16장 프로퍼티 _ 208

    기본 저장형 프로퍼티 209

    중첩 타입 210

    지연 저장형 프로퍼티 211

    계산형 프로퍼티 214

    프로퍼티 관찰자 217

    타입 프로퍼티 218

    액세스 제어 222

    예선 과제 226

    본선 과제 226

    결승 과제 226

 

17장 초기화 _ 228

    이니셜라이저의 문법 228

    구조체의 초기화 229

    클래스 초기화 236

    실패 가능 이니셜라이저 247

    초기화, 조금 더 깊게 250

    본선 과제 251

    결승 과제 251

    호기심을 누르지 못하는 독자를 위해: 이니셜라이저의 파라미터 251

 

18장 값 타입 vs. 참조 타입 _ 253

    값의 세만틱스 253

    참조의 세만틱스 256

    상수의 값 타입과 참조 타입 258

    값 타입과 참조 타입 함께 사용하기 261

    복사하기 262

    동일성 vs. 정체성 264

    무엇을 사용해야 할까? 266

    호기심을 누르지 못하는 독자를 위해: 쓰기 시 복사 267

 

5부 스위프트 고급

19장 프로토콜 _ 279

    데이터 테이블 만들기 279

    프로토콜 283

    프로토콜 준수 288

    프로토콜 상속 289

    프로토콜 구성 290

    변경용 메서드 292

    본선 과제 293

    결승 과제 293

 

20장 오류 처리 _ 294

    오류의 범주 294

    입력 문자열 분석하기 295

    오류 잡아내기 305

    Token 배열 파싱하기 307

    눈 가리고 아웅 격으로 오류 처리하기 311

    스위프트의 오류 처리 철학 314

    예선 과제 316

    본선 과제 316

    결승 과제 317

 

21장 확장 _ 318

    기존 타입 확장하기 319

    직접 만든 타입 확장하기 320

    예선 과제 326

    본선 과제 326

 

22장 제네릭 _ 327

    제네릭 데이터 구조 327

    제네릭 함수와 메서드 330

    타입 제한 조건 333

    연결되는 타입 프로토콜 334

    타입 제한 조건의 where 절 338

    예선 과제 340

    본선 과제 340

    결승 과제 340

    호기심을 누르지 못하는 독자를 위해: 옵셔널 이해하기 341

    호기심을 누르지 못하는 독자를 위해: 파라미터 다형성 341

 

23장 프로토콜 확장 _ 343

    Exercise 구체화하기 343

    Exercise 확장하기 345

    프로토콜 확장과 where 절 347

    프로토콜 확장의 기본 구현 348

    사물에 이름 짓기: 조심 또 조심 351

    예선 과제 353

    결승 과제 353

 

24장 메모리 관리와 ARC _ 355

    메모리 할당 355

    강한 참조 주기 356

    강한 참조 주기를 부숴 약한 참조로 만들기 361

    클로저의 참조 주기 363

    클로저 이스케이프/비이스케이프 처리하기 368

    예선 과제 371

    본선 과제 371

    호기심을 누르지 못하는 독자를 위해:

    인스턴스의 참조 횟수를 조회할 수 있는가? 371

 

25장 Equatable과 Comparable _ 372

    Equatable 준수하기 373

    Comparable 준수하기 376

    Comparable의 상속 379

    예선 과제 380

    본선 과제 380

    극기훈련 381

    호기심을 누르지 못하는 독자를 위해: 커스텀 연산자 381

 

6부 이벤트 구동 방식 애플리케이션

26장 첫 코코아 애플리케이션 _ 389

    VocalTextEdit 시작하기 390

    모델-뷰-컨트롤러 392

    뷰 컨트롤러 설정하기 393

    인터페이스 빌더에서 뷰 설정하기 395

    연결하기 403

    VocalTextEdit에서 소리 내어 읽기 406

    문서 저장하기와 로드하기 409

    타입 변환 411

    본선 과제 419

    결승 과제 420

 

27장 첫 iOS 애플리케이션 _ 421

    iTahDoodle 시작하기 422

    사용자 인터페이스 배치하기 423

    할 일 리스트 형상화하기(modeling) 432

    UITableView 설정하기 437

    TodoList 저장하기와 로드하기 439

    예선 과제 443

    본선 과제 443

    결승 과제 443

 

28장 상호운영성 _ 445

    오브젝티브-C 프로젝트 446

    오브젝티브-C 프로젝트에 스위프트 추가하기 455

    오브젝티브-C 클래스 추가하기 468

    본선 과제 475

    결승 과제 476

 

29장 결론 _ 477

    이제 앞으로 나아갈 곳은? 477

    염치가 없지만 477

    초대 478

 

찾아보기 _ 480