메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

스위프트 프로그래밍(3판)

객체지향, 함수형, 프로토콜 지향 패러다임까지 한 번에!(Swift 5)

한빛미디어

집필서

절판

  • 저자 : 야곰
  • 출간 : 2019-10-01
  • 페이지 : 580 쪽
  • ISBN : 9791162242223
  • 물류코드 :10222
  • 초급 초중급 중급 중고급 고급
4.8점 (20명)
좋아요 : 2

문법을 넘어 프로그래밍 패러다임도 익히는 스위프트 5

스위프트 5의 핵심 키워드는 ‘안정화’다. ABI 안정화 덕분에 버전과 환경에 크게 영향받지 않고 더 유연하게 스위프트를 사용할 수 있게 되었다. 최신 패러다임과 다양한 언어의 기능을 흡수하여 언어 전반에 걸쳐 안정화되었다. 기존 스위프트 업데이트의 주된 목적이 새로운 기능 추가였다면, 이번 스위프트 5는 비약적으로 발전한 기능을 세세하게 보정하고 다듬었다. 그렇다고 굵직한 변화가 없는 것은 아니다. 스위프트 언어의 발전은 여전히 현재 진행형이다.

 

 

스위프트 프로그래밍 핵심 패러다임 기반으로 설명

스위프트에는 함수형과 프로토콜 지향 프로그래밍 기법이 포함되어 있다. 이 책은 이 두 가지 패러다임에 맞춰 스위프트로 프로그래밍하는 방법을 설명한다. 스위프트 문법과 프로그래밍 패러다임을 함께 이 해하고 싶다면 이 책은 큰 도움이 될 것이다.

https://www.youtube.com/watch?v=2n-fSlW-jts

 

 

 

출판사 리뷰

 

스위프트를 제대로 이해하고 싶은 개발자를 위한 책

스위프트는  iOS와 macOS용 애플리케이션 개발에 주로 사용하는 프로그래밍 언어입니다. 그런 이유로 보통 스위프트 서적이 출간되면 애플 개발 관련 내용을 중심으로 스위프트를 다룹니다. 하지만 스위프트는 오픈 소스로 공개된 이후 다양한 분야에서 사용하려는 시도가 늘고 있습니다. 이러한 스위프트를 제대로 이해하려면 먼저 스위프트라는 프로그래밍 언어 고유의 특징을 잘 알아야 합니다.

이 책은 ‘스위프트를 제대로 이해하자’라는 콘셉트를 충실히 지키고자 스위프트의 기본 개념과 함께 함수형 및 프로토콜 지향 프로그래밍 패러다임을 이용하는 스위프트 프로그래밍 방법론을 소개합니다. 이러한 방법론을 다양한 예제를 코딩하면서 자연스럽게 익힐 수 있도록 했습니다. 또한 기존 『스위프트 프로그래밍』의 내용을 기반으로 2019년 3월 공개한 스위프트5 스펙에 맞춰 내용을 수정하고 보강했습니다.

 

★ Part 1. 스위프트 기초

스위프트의 역사와 언어의 특징을 소개하고 스위프트를 이해하는 데 반드시 필요한 최소한의 기본 문법을 설명합니다. 더불어 스위프트 코드를 작성하고 실행하는 IDE인 Xcode에 대한 간략한 개요를 살펴봅니다.

 

★ Part 2. 객체지향 프로그래밍과 스위프트

스위프트는 함수형 프로그래밍 패러다임을 강조하지만, 그 못지않게 객체지향 프로그래밍 패러다임도 매우 중요합니다. 애플의 프레임워크는 대부분 객체지향 프로그래밍 패러다임에 근간을 두므로 애플이 스위프트에서 객체지향 프로그래밍 패러다임을 배제하기는 어려웠을 겁니다. 따라서 iOS 및 macOS, tvOS, watchOS 등의 플랫폼 위에서 동작하는 애플리케이션을 작성하려면 객체지향 프로그래밍 패러다임에 대한 이해는 필수입니다. 이번에는 스위프트에서 객체지향 프로그래밍 패러다임을 활용할 수 있는 문법을 알아보겠습니다.

 

★ Part 3. 함수형 프로그래밍과 스위프트

애플은 자사 프레임워크를 모두 객체지향 패러다임으로 구현했습니다. 굳이 새로운 언어에 함수형 프로그래밍 패러다임을 도입할 필요가 없었죠. 하지만 애플은 스위프트를 발표하면서 스위프트를 함수형 프로그래밍 언어라고 표현했습니다. 함수형 프로그래밍은 대규모 병렬처리에 유리한 점, 스레드에 비교적 안전한 점, 콜백 등의 연관처리에 있어서 코드가 분산되는 것을 최소화할 수 있다는 등의 장점이 있습니다. 이런 특성을 객체지향 프로그래밍 패러다임에 더한 스위프트는 훨씬 완성도 높은 프로그래밍 언어로 자리매김할 수 있으리라 봅니다. 기존 애플의 프레임워크에 익숙한 개발자라면 지금부터 함수형 프로그래밍 패러다임의 장점을 익히길 권합니다. 그리고 스위프트의 강력한 기능을 활용하여 기존 객체지향 프로그래밍 패러다임만 사용했을 때 불편했던 부분의 코드를 개선해보도록 합시다.

 

★ Part 4. 확장

스위프트에서 타입의 기능을 확장하는 방법은 많습니다. 기능이나 속성을 물려받아 수직 확장할 수 있는 상속도 있고, 타입에 기능을 추가하여 수평적으로 확장할 수 있는 익스텐션도 있습니다. 다양한 확장 기법을 통해 타입을 더욱 유용하게 사용할 수 있도록 구성하는 방법을 알아봅시다.

 

★ Part 5. 스위프트 고급

지금까지는 스위프트의 기본 문법과 기능 위주로 살펴보았습니다. 이번 파트에서는 기본 문법과 더불어 스위프트를 더욱 강력하고 유용하게 사용하도록 도와줄 기능과 문법을 알아보겠습니다. 또한 메모리 관리를 위해 꼭 알아야 할 ARC(Automatic Reference Counting)에 대해 알아보고, 각종 오류를 제어하기 위한 오류처리 기법도 살펴보겠습니다.

 

★ Etc Part. 동영상 강의도 만나보세요.

다음 3개 사이트에서 이 책의 무료 동영상 강의를 만나볼 수 있습니다.

- GitHub: yagom.github.io/swift_basic/

-구름EDU: edu.goorm.io/lecture/1141/야곰의-스위프트-프로그래밍

- 인프런: inflearn.com/course/스위프트-기본-문법

 

★ 대상 독자

- 스위프트를 처음 배우는 현업 프로그래머

- iOS 애플리케이션 개발 입문자

- 기존 프로그래밍과 스위프트의 차이를 알고 싶은 대학생

 

야곰 저자

야곰

yagom’s blog(http://blog.yagom.net)를 운영하는 iOS 개발자. 2010년부터 iOS 관련 개발에 열정을 쏟고 있습니다. iOS, macOS 개발자 커뮤니티인 맥부기(http://cafe.naver.com/mcbugi) 에서 강좌를 연재했고, OSXDev(http://osxdev.org) 커뮤니티 활동도 합니다. 컴퓨터교육을 전공했으며 비전공자와 학생들에게 컴퓨터 지식을 더 쉽고 재미있게 알리는 데 관심이 많아 후배 프로그래머와 지식을 나누는 데도 힘을 쏟고 있습니다. 내일 걱정은 모레 하는 것이 좋다는 긍정적인 마음가짐을 빼면 시체라고 말하며, 스스로 개발자라고 생각하지 않는 것을 보면 괴짜임이 틀림없습니다. 무엇보다 여행과 요리를 좋아합니다.

저서로는 『iOS 7 핵심 노트』, 『iOS 8 핵심 노트』, 『iOS 9 핵심 노트』, 『만들면서 배우는 Swift』, 『스위프트 프로그래밍』(이상 한빛미디어)이 있습니다. 

[PART I 스위프트 기초]

 

CHAPTER 1 스위프트

__1.1 스위프트의 역사

__1.2 스위프트의 언어적 특성

__1.3 스위프트 실행 환경

 

CHAPTER 2 스위프트 처음 시작하기

__2.1 기본 명명 규칙

__2.2 콘솔 로그

__2.3 주석

__2.4 변수와 상수

 

CHAPTER 3 데이터 타입 기본

__3.1 Int와 UInt

__3.2 Bool

__3.3 Float과 Double

__3.4 Character

__3.5 String

__3.6 Any, AnyObject와 nil

 

CHAPTER 4 데이터 타입 고급

__4.1 데이터 타입 안심

__4.2 타입 별칭

__4.3 튜플

__4.4 컬렉션형

__4.5 열거형

 

CHAPTER 5 연산자

__5.1 연산자의 종류

__5.2 연산자 우선순위와 결합방향

__5.3 사용자 정의 연산자

 

CHAPTER 6 흐름 제어

__6.1 조건문

__6.2 반복문

__6.3 구문 이름표

 

CHAPTER 7 함수

__7.1 함수와 메서드

__7.2 함수의 정의와 호출

__7.3 중첩 함수

__7.4 종료되지 않는 함수

__7.5 반환 값을 무시할 수 있는 함수

 

CHAPTER 8 옵셔널

__8.1 옵셔널 사용

__8.2 옵셔널 추출

 

[PART II 객체지향 프로그래밍과 스위프트]

 

CHAPTER 9 구조체와 클래스

__9.1 구조체

__9.2 클래스

__9.3 구조체와 클래스의 차이

__9.4 구조체와 클래스 선택해서 사용하기

 

CHAPTER 10 프로퍼티와 메서드

__10.1 프로퍼티

__10.2 메서드

 

CHAPTER 11 인스턴스 생성 및 소멸

__11.1 인스턴스 생성

__11.2 인스턴스 소멸

 

CHAPTER 12 접근제어

__12.1 접근제어란

__12.2 접근수준

__12.3 접근제어 구현

__12.4 접근제어 구현 참고사항

__12.5 private와 fileprivate

__12.6 읽기 전용 구현

 

[PART III 함수형 프로그래밍과 스위프트]

 

CHAPTER 13 클로저

__13.1 기본 클로저

__13.2 후행 클로저

__13.3 클로저 표현 간소화

__13.4 값 획득

__13.5 클로저는 참조 타입

__13.6 탈출 클로저

__13.7 자동 클로저

 

CHAPTER 14 옵셔널 체이닝과 빠른 종료

__14.1 옵셔널 체이닝

__14.2 빠른 종료

 

CHAPTER 15 맵, 필터, 리듀스

__15.1 맵

__15.2 필터

__15.3 리듀스

__15.4 맵, 필터, 리듀스의 활용

 

CHAPTER 16 모나드

__16.1 컨텍스트

__16.2 함수객체

__16.3 모나드

 

PART IV 확장

 

CHAPTER 17 서브스크립트

__17.1 서브스크립트 문법

__17.2 서브스크립트 구현

__17.3 복수 서브스크립트

__17.4 타입 서브스크립트

 

CHAPTER 18 상속

__18.1 클래스 상속

__18.2 재정의

__18.3 클래스의 이니셜라이저 – 상속과 재정의

 

CHAPTER 19 타입캐스팅

__19.1 기존 언어의 타입 변환과 스위프트의 타입 변환

__19.2 스위프트 타입캐스팅

__19.3 데이터 타입 확인

__19.4 다운캐스팅

__19.5 Any, AnyObject의 타입캐스팅

 

CHAPTER 20 프로토콜

__20.1 프로토콜이란

__20.2 프로토콜 채택

__20.3 프로토콜 요구사항

__20.4 프로토콜의 상속과 클래스 전용 프로토콜

__20.5 프로토콜 조합과 프로토콜 준수 확인

__20.6 프로토콜의 선택적 요구

__20.7 프로토콜 변수와 상수

__20.8 위임을 위한 프로토콜

 

CHAPTER 21 익스텐션

__21.1 익스텐션이란

__21.2 익스텐션 문법

__21.3 익스텐션으로 추가할 수 있는 기능

 

CHAPTER 22 제네릭

__22.1 제네릭 함수

__22.2 제네릭 타입

__22.3 제네릭 타입 확장

__22.4 타입 제약

__22.5 프로토콜의 연관 타입

__22.6 제네릭 서브스크립트

 

CHAPTER 23 프로토콜 지향 프로그래밍

__23.1 프로토콜 초기구현

__23.2 맵, 필터, 리듀스 직접 구현해보기

__23.3 기본 타입 확장

 

[PART V 스위프트 고급]

 

CHAPTER 24 타입 중첩

__24.1 중첩 데이터 타입

 

CHAPTER 25 패턴

__25.1 와일드카드 패턴

__25.2 식별자 패턴

__25.3 값 바인딩 패턴

__25.4 튜플 패턴

__25.5 열거형 케이스 패턴

__25.6 옵셔널 패턴

__25.7 타입캐스팅 패턴

__25.8 표현 패턴

 

CHAPTER 26 where 절

__26.1 where 절의 활용

 

CHAPTER 27 ARC

__27.1 ARC란

__27.2 강한참조

__27.3 약한참조

__27.4 미소유참조

__27.5 미소유참조와 암시적 추출 옵셔널 프로퍼티

__27.6 클로저의 강한참조 순환 

 

CHAPTER 28 오류처리

__28.1 오류처리란

__28.2 오류의 표현

__28.3 오류 포착 및 처리

 

CHAPTER 29 메모리 안전

__29.1 메모리 접근 충돌의 이해

__29.2 입출력 매개변수에서의 메모리 접근 충돌

__29.3 메서드 내부에서 self 접근의 충돌

__29.4 프로퍼티 접근 중 충돌

 

CHAPTER 30 불명확 타입

 

부록

__A. 스위프트의 주요 프로토콜

__B. 스위프트의 주요 함수

__C. 스위프트의 예약어

__D. 디버깅 식별자

__E. 컴파일러 제어 구문

__F. 사용 가능 조건 확인

__G. 속성

__H. 타입 별칭 및 호환 타입

__I. 알아두면 유용한 타입

스위프트 프로그래밍.png

비슷한 게 많을수록 다른 점도 많이 보인다.

예전에 우연찮게 봤던 오브젝티브-C 코드, 익숙한 분은 사용하는데 크게 어려운 게 없는 것처럼 말씀하셨지만, 복잡하지 않은 실행문조차 너무 거창하게 느꼈습니다. 개발하신 분의 코딩 스타일을 떠나서 언어 구문 자체가 사용하기에 만만치 않겠다는 느낌이었습니다.

스위프트 프로그래밍을 보면서, 그때 보았던 오브젝티브-C에 비하면 스위프트는 아주 심플하다는 느낌을 받았습니다.

스위프트를 읽어 나가면서 언어 설계자는 아마도 ...
- null 때문에 고생을 많이 했다.
- 비동기 처리하기 너무 불편해했다.
라는 생각이 들었었습니다.
다른 언어에서 아쉬웠거나 불편한 부분을 해소하는 스위프트만의 방식을 만날 수 있습니다.
개발의 편리함을 추구하다 너무 많은 것을 넣어버린 느낌도 살짝 듭니다.


프로그래밍을 스위프트로 시작한다면 전략을 잘 세우셔야 할 것 같습니다.
옆에서 도와줄 누군가가 있다면 가장 좋겠지만 그런 행운을 누릴 수 있는 분은 많지 않으리라 생각합니다.
한 번에 모두를 알 수 없다는 사실을 이해하셔야 합니다.
머리로는 끄덕끄덕 하지만 실제 진도를 나가면 답답한 순간을 수도 없이 만나게 될 것입니다.
설계한 사람들도 계속 개선하고 있는데, 처음 접하면 곳곳에서 막히는 건 당연한 것이니 조급해하지 않으셨으면 합니다.

프로그래밍을 해보셨던 분이 새로운 언어를 접하는데 크게 어려움을 느끼지 않는다면, 많은 경우 그것은 단지 새로운 언어의 문법이 기존에 알고 있던 언어의 문법과 비슷하다는 이유뿐이라 생각합니다.
새로운 언어를 이해한 게 아니라 언어가 가진 문법적인 서술 방식에 익숙할 뿐인 것입니다.

'타입 변수 할당' 순서를 가지는 스타일에 익숙하신 분들은 스위프트의 스타일이 생소할 수 있습니다.
이게 머리로는 이해하는데 기존 스타일이 워낙 눈에 익어 있다는 게 문제를 일으킵니다. 스위프트 코드가 조금 복잡해지기 시작하면 코드를 보다가도 어느 순간 기존에 익숙한 스타일과 헷갈려서 혼돈이 올 수 있습니다.
게다가 비슷한 개념인데 용어가 다르고 적용하는 형태가 같으면서도 다른 부분이 있으면 더 힘들 수 있습니다.

그럼에도 불구하고,

익숙한 것과 조금 거리를 두면 새로운 세상이 보인다면 괜찮지 않나요?



 

IMG_3925.jpg

 

IMG_3936.jpg

 

스위프트코드 웹4.png

 

초급을 위한 책이기 때문에 온라인 동영상 강의가 마련되어 있는데 4군데에서 볼 수 있다.

 



주석 남기기 부분을 보자면

 

[주석: 소스코드에 정보를 남기는 목적

Xcode: 말풍선의 형태, 레퍼런스 문서의 요약을 보여주는 퀵헬프 기능 있음]

 

라 설명이 되어있고 코드에 관한 설명을 해준다.

 

Xcode가 궁금해지면 영어단어책처럼 뒤쪽에 있는 찾아보기에서 용어를 찾으면 된다.

Xcode는 애플의 통합 개발 환경인 Xcode는 플레이그라운드 실행 모드가 자동인데 수동으로도 변경할 수도 있다.

 

그림을 삽입해 주어 훨씬 보기가 편하고 형광펜 비침은 없었다.



REPL의 단축키라든지 많이 사용하는 특수문자를 표로 만들어 준 부분도 있기 때문에 이 부분만 보고 암기하기에도 유용하다.

 

 

스위프트 코드는 macOS뿐만 아니라 웹과 모바일에서도 이용 가능한데 틀린 부분을 수정하기도 매우 편리했다.

스위프트는 테일러 스위프트만 알았지 다른 책에 비해 초급이길래 선택을 했는데  확실히 이해하기 편했다.

기본에 충실한 책이라 따라 하기도 훠얼씬 수월했고 이해하기도 어렵지 않았다.

굳이 더 보완할 점이 있다면 예시로 들어준 오류코드 설명 다음에 맞게 고치면 어떤 코드가 되는지도 있으면 초보자는  더욱 비교하기 편할 것 같다.



 

스위프트_프로그래밍

 

책 소개

  • 책 제목 : 스위프트 프로그래밍
  • 글쓴이 : 야곰
  • 출판사 : 한빛미디어
  • 3판 2쇄 : 2020년 09월 04일

책의 특징

  • 초점 : 스위프트를 처음 접하는 사람부터 익숙한 개발자들까지 아우를 수 있는 교본의 역할을 합니다.

  • 설명 방식 : 수능 특강과 유사하게 개념들을 잘 다지며 넘어가고 예제들을 최대한 많이 활용해 정확히 이해할 수 있도록 돕는다.

    • 헷갈릴 수 있는 용어 및 개념에 대해 중간 중간 되짚어준다.
    • 개념을 최대한 잘게 쪼개어 이해하기 쉽도록 돕는다.
    • 코드 예제 하나 하나에 이해하기 쉽도록 세심하게 신경을 썼다.
    • 뚜렷하게 큰 예제는 없지만 세부적인 개념들을 잘 다루고 있기 때문에 개별적으로 큰 목표를 가지는데 문제는 없을 것으로 보인다.
    • 온라인 동영상 강의 사이트를 여러곳에서 제공한다.
    • 오류 처리와 메모리 관리까지 스위프트 개발자라도 다져야 하는 부분을 자세히 다루고 있다.
  • 제공하는 사이트 : 이 책은 동영상 강의 및 학습 사이트를 제공한다.


추천 대상

해당 책은 스위프트를 코딩의 첫발로 디디려고 하는 사람들에게는 좋은 책은 아니다. 그러나, 스위프트를 처음 배우고 싶은 개발자들이나 스위프트 개발자로써 개념을 다시 되새기고 싶다면 매우 좋은 정리본이 될 것이다.

특히나 이 책은 다른 프로그래밍 자습서들과는 다르게 많은 예제들과 떠먹여 준다 싶을 정도로 자세히 개념들을 다루고 있어 스위프트 진입의 문턱을 낮춰주고 스위프트 개발자로 성장하기에 더할나위 없이 좋은 책으로 보인다.

즉, 이미 다른 언어에 한 사람에게는 다소 쉬울 수 있으나, 해당 책은 파이썬 문법에 대한 정리를 용어 노트 등으로도 기술하고 있어 코딩의 기본 개념을 알고 있는 개발자들에게도 오래 기억에 남을 수 있을 것으로 보인다.

단, iOS 앱 개발을 위해 해당 책만을 추천하지는 않는다. 본 책은 안드로이드 개발을 위해 자바를 공부하는 것 과 같듯이 기본이 되는 것이지 해당 책으로 앱 개발이 가능한 것은 아니다.

책의 한줄평

스위프트 프로그래밍의 기본부터 패러다임까지 한 권에 끝내자

 

책은 스위프트 언어에 대해 매우 다루고 있다.

 

IMG_0071.jpeg

 

몇 권의 iOS 앱 개발 책이나 스위프트 책을 봤었지만 이 책만 큼 스위프트라는 언어를 잘 설명한 책은 없었던 것 같다.

 

 

또한 swift언어의 버전이 어떻게 변해왔는지도 대해 간략히 설명을 하고 있어 이전 버전과 비교해 볼수 있다.

 

 

IMG_0070.jpeg

 

iOS앱을 개발하기 위해서는 다양한 방법이 있다.

 

objective-c, swift,  react native, flutter 등 하지만 objective-c와 swift를 모르면은 예외 사항에 대한 대처가 힘들 수 있다.

또한 최근에는 objective-c는 거의 사용을 안하고 스위프트를 많이 사용한다.

그만큼 스위프트를 모르고는 iOS앱을 개발하는데 문제가 발생할 수 있다.

 

하지만 이 책은 앱을 개발하는 방법을 알려주는 책은 아니다.

만약 전반적인 iOS 앱 개발 하는 방법을 공부하고 싶은 사람이라면 다른 책을 봐야 한다.

 

이 책은 스위프트라는 프로그래밍 언어에 대해 다루고 있는 책이다. 

초중급 iOS 및 스위프트 개발자라면 이 책을 강력히 추천한다. 

스위프트 개발을 위한 레퍼런스 책으로 하나 두면 좋을듯 하다.

사실 이전까지 스위프트를 들으면 떠오르는 'iOS 개발언어' 라는 것이었다.

아무래도 시중에 나오는 책들도 그렇고 현재는 주로 사용하고 있는 분야가 iOS 그런지 생긴 인상이 아닐까 싶다.

아직 다른 부분도 부족한데 개발에 관심갖고 손을 때는 아니라고 생각했기에 책을 고르는데 처음에는 많은 망설임이 들었다. 하지만 여러 서점들의 미리보기로 책의 추천사에 등장하는 많은 분들이 보통 스위프트 서적은 iOS 개발을 다루는 방향으로 쓰여져 있는데 책은 언어의 특성 위주로 쓰여져 있다고 하기에 결국 선택하게 되었다! 저자인 야곰님이 언어의 발전에 따라서 꾸준히 변화를 쫓으셨다는 점에서도 신뢰가 가기도 했고 말이다.

책을 펼치고 가장 처음 생각은 핑크핑크 귀여운 이미지와 달리 이거 거의 사전이구나.. 였다. 그만큼 언어를 통해 이런것 저런것을 만드는 것보다는 기본을 충실하게 설명하는데 의의를 가진 책이다. 처음 프로그래밍 언어를 배울 변수 선언부터 심화 단계까지 차근차근 해본 경험이 있다면 책이 바로 그런 책이라고 설명하고 싶다.

스위프트 또한 기존 언어와 동일하거나 비슷한 개념, 혹은 같은 용어를 쓰는 부분이 있었다. 나는 새로운 배울 내가 기존에 알던 것에 대입해 이해해 나가는 방식을 자주 사용한다. 서두에 기존에 알고있는 지식에 스위프트 언어를 맞추려고 하지 말고 스위프트만의 고유함으로 받아들여 달라는 말씀을 하셨는데 이걸 대충 읽고 지나쳤다면 내가 기존에 알고있는 다른 언어를 토대로 스위프트를 이해하려다 혼란스러워지는 부분이 많았을 같다. 물론 완벽하게 그런 이해 방식을 버리고 읽은 것은 아니었지만 나는 백지 상태이다..! 라고 생각하며 받아들이고자 노력했다.

빠른 속독이지만 스위프트라는 언어에 대해 느낀 점은 코드의 로직을 파악하지 못하더라도 코드를 읽는 만으로 글을 읽는 것처럼 어떤 로직인지 다른 사람에게도 읽히게 있는 언어라는 생각이 들었다. 그럼에도 결코 느슨한 언어는 아니라는 ? 첫번째 이유만으로도 매력있는 언어라고 생각한다.

마치 처음 접하는 언어, 라이브러리, 프레임워크 사용 공식 문서를 항상 곁에 두는 것처럼 있는 책이다.

스위프트. 이 언어는 왜 이렇게 빠르게 버전업하는 것인가... 처음 공부하기 시작했을 때가 1.1 버전이었던 것을 기억하는데, 벌써 5.3 버전이라니... 'ㅅ')a 긁적.. // 이 글을 쓰는 이 순간에도 버전업이 되고 있겠지...

 

국내에서 출시된 스위프트 프로그래밍 도서 중 레퍼런스 서적으로 이 도서와 비교할 다른 선택지는 없다. 그나마 제이펍에서 몇년마다 출시되는 '핵심만 골라배우는 스위프트' 시리즈 도서가 앱 메이킹 튜토리얼 서적으로는 볼만한 편이지만, 스위프트 언어 자체에 대해 이렇게까지 다루는 도서는... 내 생각에 국내에서는 대안이 없다.

 

이러한 레퍼런스 서적류는 language document 의 내용을 그대로 가져와 번역하여 출판하는 경우가 꽤 있는데, 야곰 아저씨(?)는 좀 다르다.. 이 아저씨 분명히 열일하고 있다. 레퍼런스 서적 특성상, 읽기에는 건조한 편이고 필요할 때 해당 부분을 찾아 읽는 정도로 사용케 될 터인데, 그렇다고 해도 지루한 문체는 아니다. 'ㅅ')

 

필자는 몇번의 앱 개발 도중 1판, 2판, 3판 모두 살펴보았고, 

실제로 앱 개발시에 이 도서들로부터 꽤나 도움을 받아왔다. 야곰 아저씨(?)께 심히 감사드린다.

 

다음 버전도 출판해줘요.

기다릴거예요.

IMG_5204.JPG

 

 

이 책에서 가장 놀라운 점은 iOS에 대해 다루지 않는 다는 점입니다.

사실 스위프트를 왜 배우는 지 물어본다면 100명중 98명정도는 iOS 개발을 하고 싶어서라고 대답할 텐데 이 책은 iOS가 아닌 순수하게 스위프트와 스위프트의 특징인 3가지 패러다임에 초점을 맞추고 있습니다

프레임워크로 부터 독립적으로 순수하게 스위프트 자체에 초점이 맞춰져있기 때문에 오히려 함수형 프로그래밍을 입문하기에 최적의 책이 아닐까 싶습니다.

 

iOS 프레임워크에만 빠져서 재밌는 개발이 무엇인지 까먹었다면?

Objective-C 로도 충분한데 굳이 스위프트를 왜 배워야 하는지 잘 모르겠다면?

아직도 스위프트를 Objective-C 스럽게 짜고 있다면?

 

이 책을 통해 함수형 프로그래밍과 프로토콜 지향 프로그래밍스러운 그야말로 스위프트스러운 프로그래밍을 해보고 싶은 분들이라면 이 책을 추천드립니다

스위프트 기초부터 확장, 고급을 공부할 수 있습니다. 아이폰 개발에 초점을 맞춘 스위프트를 풀어내기 보다는 프로그래밍을 스위프트로 할 수 있는 책인 것 같습니다. 그래서 완전 초심자보다는 프로그래밍 기본 문법을 한번은 훝어보고, 웹이든 안드로이드 모바일 앱이든 뭐든 실제로 프로그램을 구현해본 경험이 있는 분이 읽으시면 좋을 것 같습니다. 그럼 이 책을 통해 스위프트만의 특징들을 알아가면서 그에 맞는 효율적인 프로그래밍에 대해 배울 수 있으니까 기존에 사용했던 언어와 비교하면서 재미있게 공부할 수 있습니다.


 

 

20200130_105329.jpg

 

현재 언어의 패러다임을 소개한 훌륭한 책이라고 생각합니다.

 

 

단순 스위프트 문법을 소개한것 보다는 그 안에 담겨진 프로그래밍 철학이 담긴 책임.

 

새로운 패러다임을 배우고자 하는 개발자, 고등학생, 대학생들에게 추천합니다.

이 책의 리뷰는 한빛미디어 ‘나는 리뷰어다’로 부터 책을 지원받아 작성된 글입니다.

 

yagom_swift-01.jpeg

 

이번에 한빛미디어에서 스위프트 프로그래밍 개정판(3판)을 출간했다는 소식을 듣고 한번쯤 읽어보고 싶다고 생각했었다. 그런데 때마침 리뷰할 책으로 이 책을 받게 되었다.

확실히 유명한 책들은 그 이유가 있는 것 같다. 책의 구성은 당연히 깔끔하고, 단순한 프로그래밍 문법뿐만 아니라 디자인패턴, 메모리 관리 등 어려운 개념들에 대해서도 이해하기 쉽게 설명해 준다.

이전에 스위프트프로그래밍 2판을 이미 보았었다. 이전판과 비교해보면 스위프트 버전이 올라감에 따라 바뀐 몇가지 문법만 변경되었다고 보면 될 것 같다. 그리고 맨 뒤에 두 챕터정도가 추가되었는데 스위프트를 잘 모르는 나에게는 꽤 유익한 챕터 였다.

다만, 이 책은 IOS 개발을 다루고 있는 책이 아니라 SWIFT 를 다루는 책이기 때문에, 만약 IOS 개발을 해보고 싶은 사람이라면 이 책만이 아니라 다른 책도 봐야 한다는 것을 알려주고 싶다.

이런 점들을 고려해 봤을 때 총 평은 IOS 개발자가 되기 위해 읽어야 할 첫 번째 입문서 라고 하고 싶다.

 

KakaoTalk_Photo_2019-11-17-11-37-41.jpeg

 

책의 구성은 프로그래밍 개념서 답게 문법부터 시작해서 함수작성법 등으로 진행된다. 그 이후에는 스위프트 프로그래밍을 할 때 알아야 할 패턴들, 메모리를 관리하는 방법 등으로 이어진다.

여기서 설명을 할 때, 코드와 함께 진행되며 이해하기 어려운 개념들은 그림과 함께 설명한다. 그래서 이해하는 데 조금 더 도움이 되지 않았나 싶다.

사실 이번 책은 IOS 개발자 사이에서 거의 필독서 수준으로 유명한 책이라서 다른 말을 쓸 필요는 없는 것 같다.

IOS 개발자가 되고 싶을 분이라면 레퍼런스 용으로, 혹은 한번정도는 꼭 정독을 해볼 것을 권하고 싶다.

 

1. 읽으면서 느낀 점

- 이 책은 SWIFT 언어에만 집중한 책입니다. IOS와 관련된 내용은 배제되었습니다.

- 보통 IT 서적은 예제형(따라하기)과 레퍼런스 형으로 나뉘는데, 레퍼런스형에 가까운 책입니다. 하지만 각각의 레퍼런스의 예제들도 충분히 잘 구성되어 있습니다.

- SWIFT가 지향하는 여러가지 패러다임에 대해 충실하게 설명하고 있습니다.

- 레퍼런스 형의 책으로써 언어의 여러가지 면에서 다양하고 충실하게 잘 설명하고 있습니다.

- 특정 언어를 공부하는데 있어 더할 나위 없이 예제가 잘되어 있고, 정리가 잘되어 있는 책이나, 한가지 아쉬운점이 있습니다. 보통 언어를 다루는 기본서들 중에는 마지막에 응용프로그램을 실제로 간단하게 적용하는 예제가 포함되어 있는 경우도 있는데, 마지막 한장 정도는 실제 응용프로그램의 종합적인 예제 챕터가 있었으면 좀더 좋지 않았을까 생각해봅니다.

 

2. 소감요약

-  SWIFT에 처음 진입하거나 현업에서 IOS개발자시면서 좀 더 언어적으로 더욱 업그레이드시키고자 하는 분들에게 적합한 책이라고 생각합니다. 

- 레퍼런스 형의 책으로 항상 옆에 두고 개발해도 좋을만한 서적입니다.

- 한가지 아쉬운점은 종합적인 예제 한 파트 정도 추가 되면 더 좋을 것 같습니다. 

 

스위프트는 애플에서 만든 언어로 보통 애플 전자제품에서 실행될 소프트웨어를 만들기 위해 사용된다.

컴파일 역시 맥 OS에 최적화 되어 있는 언어라(찾아보니 윈도우에서도 실행할 방법이 있긴 한 것 같지만) 쾌적하게 개발하려면 아무래도 애플에서 만든 컴퓨터가 있어야 한다는 부담이 있다. 문법 자체는 파이썬처럼 간단하고 배우기 쉽다지만 좀 다른 의미에서(?) 높은 진입장벽을 가진 언어인 것 같다.

iOS 개발에 관심이 생겨 읽어보았는데 상대적으로 최근에 나온 언어다보니 많이 쓰이는 프로그래밍 언어들의 온갖 장점을 합쳐놓은 듯 해서 매력적인 것 같다.

 

이 책은 기본적인 환경 설정부터 시작해 입문서 치고는 상당히 많은 30챕터에 걸쳐 스위프트 문법의 기초부터 고급까지 잘 설명해준다. 예제 코드도 정말 많다. swich를 예로들면 switch문의 다양한 활용법을 보여주는 예제만 10개 넘게 실려있다. 

저자분이 iOS 교육 분야에서 워낙 유명하신 분이라 믿고 사도 될것 같은 책이다.

하지만 서문에 써있듯 요 책은 이미 다른 프로그래밍 언어를 사용해본 경험이 있는 사람을 주요 독자층으로 삼고 있다.

당장 1장부터 프로그래밍을 전혀 모르는 사람이 보면 다소 불친절하게 느껴질 내용이다.

이미 다른 분야의 개발을 해봤지만 iOS 개발에 도전해보기 위해 적절한 책을 찾는 사람에게 추천한다.

KakaoTalk_Photo_2019-11-16-23-53-27.jpeg

 

 

아이폰 앱을 만들기 위해선 object-c, swift 언어로 개발이 가능합니다. 

최근 개발 트렌드는 swift를 사용을 더 많이 하는 상황인데요. 

함수형 언어로써 object-c에 비해서 간결한 코드를 작성할 수 있기 때문이죠. 


다양한 라이브러리들도 swift로 대체 되는 실정 속에서 실무에선 swift 개발은 필수가 되어가고 있습니다. 


swift에 관련된 책 중 인기 있는 분은 바로 '야곰' 님입니다. 

야곰님의 스위프트 책이 개정돼 소개해 드리려고 합니다. 


이 책은 swift5를 기반으로 써졌습니다. 


스위프트2.jpg

 

 

1) ABI 안정화!

애플에선 swift 5를 공개했는데요.

이번 ABI 안정화를 통해 버전에 영향을 받지 않고 앱 개발하는 Swift를 자유롭게 쓸 수 있습니다.


이번 업데이트는 언어의 표현에 대해선 큰 변화는 없으며, Swift UI 기능 들 추가됐습니다.

기존 UIkit 사용하던 사람들 중 SwiftUI 와 같이 사용을 하려면 UIHostingControlloer를 통해 사용할 수 있습니다. 


스위프트.jpg

 

 

2. 기초 체계적!

책의 핵심은 '기본 충실' 입니다. 

Swift의 언어에 대해 객체지향, 함수형, 프로토콜 지향 패러다임 등을 이해하기 쉬운 예제들과 함께 책을 쓰셨습니다. 


예제들을 볼 때마다 이렇게 설명하면 쉽겠다는 생각을 많이 했는데요.

사진과 곁들여서 제네릭 타입에 대해서 잘 정리 해주셨습니다. 


Ps

Swift는 함수형 언어로 다른 언어 비해 진입장벽이 낮은데요. 

최근 딥러닝 개발에 사용되는 텐서플로에서도 사용되고 있으며, 백엔드 서버 개발에서도 사용해 전망이 밝은 언어로 생각이 듭니다. 

아이폰 개발을 하는 분들에겐 필독서로 자리 잡은 책으로써 언어에 대해서 자세히 이해하고 개발을 하고 싶은 분들에게 추천해드립니다.


스위프트 프로그래밍 책이다.

 

타이틀이 완전 기본서 같은 느낌을 강하게 가져다 주는 책이다.

이 책을 읽을 때도 그런 느낌이었다. 이 언어의 기본부터 일정 패턴까지 훑어주겠다는 의도가 엿보였다.

그래서 꼼꼼한 느낌도 들었고, 하지만, 그렇기 때문에 재미는 덜 한 느낌이 드는 것도 사실이었다.

그래서 이 책은 한번 정독하기는 힘든 책이지만, 책 꽂이에서 쉽게 빼내어 버릴 수도 없는 책이다.

스위프트 프로그래밍에 조금이라도 연관되어 있다면, 언제든 이 책을 레퍼런스 삼아서 진행할 날이 분명이 올 것이라고 생각되기 때문이다.

 

그리고 이 책은 3판인데, 1판 2판 3판 흐름에 따라 책의 표지 컬러가 매번 바뀌었다.

버전에 따라 잘 바뀌는 스위프트 버전 올림이기 때문에, 나름 중요한 부분인것 같기도 하다.

 

 

이 책의 표지

 

앞에서 언급했듯이 이 책은 같은 책의 3판이다. 각 판마다 색이 다르게 되어있기 때문에 이러한 부분은 괜찮은 도입이라고 생각이 든다. 각각 스위프트 3, 스위프트 4, 스위프트 5를 다루고 있다.

이번에는 스위프트 5이다. 그리고 제목이 크게 차지하고 있기 때문에 한눈에 크게 들어오는것도 나쁘진 않았던것 같다. 다만 독자적인 이름이나 시리즈가 별도로 없는 느낌이라 아쉬웠다. 예전 RXJAVA와 같은 시리즈인듯 느낌은 든다.

 

 

 

지은이는 야곰이라는 필명을 사용하시는 분이다.

아마도 iOS와 관련해서는 이미 오랫동안 유명한 분인듯하다. 그래서 신뢰로 이 책을 읽기 시작하게 되는 느낌이 드는 부분이다.

 

 

머릿말에서 저자가 한 이야기 중에 와 닿는 부분이 있어서 발췌하였다.

사실 이건 스위프트 뿐 아니라 어떤 언어에도 해당되는 이야기이다. 당연히 사람은 자신이 알고있는 지식 기반으로 새로운 지식을 받아들이고, 그것으로 계속 지식을 확장해 나간다. 당연히 언어를 습득할 때도 마찬가지이다. 하지만, 스위프트를 배울 땐 그렇게 하지 말아달라는 뜻을 강조하였다. 사실 이 부분이 중요할 수 있는 것은, 모던언어를 배울 때도 마찬가지였지만 그렇게 하면 새로운 개념을 이해하기가 어려워진다. 자신의 패러다임을 바꿔야만 해당 언어에 대한 올바른 사용을 할 수 있게 된다. 한국어 기반으로 백번 영어를 끼워맞춰봐야 영어가 어느 한계에서 더 올라가지 않듯이, 새롭게 받아들어야 한다. 그것에 대해서 강조하였고, 그렇기 때문에 이것을 유의하고 볼 수 있었다.

 

 

목차

 

이 책은 다음의 챕터로 구성되어 있다.

챕터는 30개나 된다. 그래서 파트 위주로 구분하여 생각하는게 좋다.

PART 1. 스위프트 기초

- CHAPTER 1. 스위프트

- CHAPTER 2. 스위프트 처음 시작하기

- CHAPTER 3. 데이터 타입 기본

- CHAPTER 4. 데이터 타입 고급

- CHAPTER 5. 연산자

- CHAPTER 6. 흐름 제어

- CHAPTER 7. 함수

- CHAPTER 8. 옵셔널

PART 2. 객체지향 프로그래밍과 스위프트

- CHAPTER 9. 구조체와 클래스

- CHAPTER 10. 프로퍼티와 메서드

- CHAPTER 11. 인스턴스 생성 및 소멸

- CHAPTER 12. 접근제어

PART 3. 함수형 프로그래밍과 스위프트

- CHAPTER 13. 클로저

- CHAPTER 14. 옵셔널 체이닝과 빠른 종료

- CHAPTER 15. 맵, 필터, 리듀스

- CHAPTER 16. 모나드

PART 4. 확장

- CHAPTER 17. 서브스크립트

- CHAPTER 18. 상속

- CHAPTER 19. 타입캐스팅

- CHAPTER 20. 프로토콜

- CHAPTER 21. 익스텐션

- CHAPTER 22. 제네릭

- CHAPTER 23. 프로토콜 지향 프로그래밍

PART 5. 스위프트 고급

- CHAPTER 24. 타입 중첩

- CHAPTER 25. 패턴

- CHAPTER 26. where 절

- CHAPTER 27. ARC

- CHAPTER 28. 오류처리

- CHAPTER 29. 메모리 안전

- CHAPTER 30. 불명확 타입

부록. A.B.C.D.E.F.G.H.I

 

( 챕터를 너무 잘개쪼갠 느낌이...)

 

 

첫장 첫 내용이다

 

첫 내용을 보면 오는 느낌처럼 매우 기본서 느낌이다. 실전예제중심이 아닐것 같은 느낌이 많이 드는 느낌이다. 교과서를 보면 재미는 없지만 필요하듯이, 이 책도 그러한 느낌이다.

 

 

예제 수록부분

 

예제를 수록한 부분도 같은 느낌이다. xcode를 동작하여 코드 테스트를 진행하기는 하였으나, 거의 인터프리터 언어 테스트 하듯이 작성해도 무방하다. 하나의 프로그램을 만드는 실전예제가 아닌, 각 언어 특성을 보기 위한 테스트 코드이기 때문이다. 그래서 기본에는 매우 도움이 되는 느낌이다. 복합적이지 않기 때문에 각 연산자의 특성을 순수하게 알 수 있도록 도와주었다.

 

 

책의 뒷면

 

이 책의 뒷면이다. 장점에 대해서도 담백하게 나와있다. 하지만, 조금 아쉽다. 서술형이라서 눈에 크게 들어오지 않았기 때문이다.

 

결론을 내보면

 

장점으로는

- 스위프트의 기본서를 찾는다면 이 책이 제격이다.

- 번역서가 아니기 때문에 오해를 할 부분이 크게 없으며, 저자에게 직접 질문하는 것도 편하다.

- 아주 상세하게는 아니겠지만, 할 수 있는 한 스위프트의 모든 것을 다뤘다.(범위 측면)

- 의지만 있다면 처음 입문부터, 고급 스킬까지 다룰 수 있도록 수록하였다.(난이도 측면)

 

아쉬운 점으로는

- 책이 재미가 좀 없다.(담백하고 건조한 느낌이 든다.)

- 실습하는 방법에 대한 가이드가 구체적인 편은 아니다.

- 무엇을 만들고자 하는 의도를 가지고 이 책을 접하기에 적절한 편은 아니다.

- 도표나 요약을 활용한 부분이 적고, 서술로 기입한 부분이 많아서 잘 눈에 띄지 않는 부분이 있을 수 있다.

 

이 책을 평가해보면 다음과 같다.

가격: 7 / 10

내용: 7 / 10

디자인: 5 / 10

구성: 7 / 10

 

저자: 야곰

 

추천 독자: iOS 개발을 위해 스위프트를 공부해야하는 개발자, 모던 언어 중 하나인 스위프트를 익히고 싶은 개발자(입문자에게는 어려울 수 있음)

 

가격: 32,000원

전체 페이지: 580페이지

 

** 이 리뷰는 "한빛미디어"를 통해 도서를 제공받아 작성하였습니다.

 

20191115_224558.jpg

 

 

C JAVA에 익숙한 나에게 애플의 언어인 스위프트는 어떤 다른점이 있을까 싶어 선택한 책이다.

책 표지에서부터 함수형, 프로토콜 지향 패러다임..?? 이건 뭐지하며 읽기 시작했다

스위프트에 대한 첫인상은 너무 낯선 개념들 그리고 낯선 문법들이었다 ㅋㅋ

책이 묵직한 만큼 알차게 내용이 꽉꽉 들어있고, 기억에남는 부분은

다양한 개발환경을 소개한다는 것?

자바 책들은 주로 이클립스를 사용한다고 하면서 이클립스 설치법 부터 주르륵 나오는데, 이책에서는 다양한 개발환경을 소개해줘서 좋았다. 아이패드에서 돌려볼수 있는 방법까지!

그리고 스위프트 언어의 특징(객체지향, 함수형, 프로토콜..등등)에 대해 먼저 설명해주면서 스위프트가 가진 특징을 먼저 소개해주는 부분이 신선했다. 중간중간 기존 언어들과의 비교도 있어서 독자들이 이해하는데 도움이 될 것 같다. 약간 사전같은 느낌이라 엄청 친절한 기초 책은 아니라는 생각이 들었다.(이건 내가 너무 프로그래밍 초보자라 그런 것 같기도..) 

 

나는 iOS 앱을 만들고 싶어스위프트 공부해야지하는 마음으로 사면 지루할 것이다. iOS 앱을 만들기 위한 책이 아니기 때문이다스위프트 언어에 대해 샅샅이 알고 싶은 사람들을 위한 책!

프로그래밍 입문자보다는 이미 어느정도 프로그래밍 개념이 있고, iOS 개발자로서 스위프트에 도전해보고 싶다거나최신 스위프트 책이 필요한 개발자들이 읽으면 좋을 것 같다. 대상 독자를 꼭 확인하고 사시길! 

 

스위프트 어렵네..하고 읽다가 저자의 말을 다시 보게됐는데 기존언어의 기능에 스위프트를 대입하여 읽으면 난해할 것이라는 내용...ㅎㅎ

스위프트가 처음이라면 13쪽을 꼭 읽어보세요!


 

 

Swift를 아시나요?

 

몇 해 전에 애플에서 발표한 언어라는 것을 기억하곤 있었는데 알고 보니 그때가 벌써 2014년 6월에 베타 버전의 존재를 세상에 발표했었네요. 그 뒤로 꾸준히 발전하여 2019년 9월에 Swift 5.1이 배포된 상태라고 합니다. 언어가 나온 지 5년 정도인데 이 책이 3판까지 나온 것을 보면 업데이트되는 부분에 대해 상당히 빠르게 대응하고 있다는 느낌을 받을 수 있습니다. 책 자체도 거의 580페이지의 분량을 가지고 있으며 Swift의 문법을 집중적으로 다룬 책입니다.

 

스위프트 프로그래밍 표지

 

처음 시작!

 

아직까지 맥에서 Xcode를 사용한 코딩을 해본 적이 없어서 조금 생소하긴 했습니다만 드디어 Xcode를 사용해 보네요.

 

 

몇 번인가 초급자, 입문자용 책들을 보다 보니 변수, 함수, 숫자, 문자, 불리언 등 일정 부분 비슷한 패턴을 발견하곤 합니다. 이전에 이런 개념조차 없을 당시에 비하면 많이 좋아진 것 같다는 생각을 하면서 책을 읽어 내려가지만, 책이 완전히 문법 위주로 이루어져 있기 때문에 재미있다고는 말 못 하겠네요. 이런 이유로 읽는데 진척이 별로 없는 것 같습니다. 꾸준함이 필요할 것 같습니다.

 

이해를 돕기 위한 모식도

 

코드만으로는 이해가 잘 되지 않지만 이런 도식을 통해 이미지화시키면 좀 더 수월하게 이해가 되는 것 같습니다.

기존에 이미 스위프트를 경험하신 분들은 새롭게 바뀐 부분에 대해서, 처음 시작하시는 분들은 스위프트의 개념적인 부분을 시작으로 고급 기술까지 정리된 '스위프트 프로그래밍'을 읽어보시길 권합니다. 물론 끈기가 있으시다면 더더욱 좋겠죠?

 

Github Page

책에서 다루고 있는 소스를 다루고 있습니다.

 

 

Swift 기본문법

야곰의 스위프트 기본 문법 강좌입니다.

yagom.github.io

유튜브

책을 보고 따라하면서 조금씩 지친다는 느낌을 받을 수 있습니다. 이럴 땐 유튜브 채널을 통해 진행하는 것도 좋은 방법일 것 같습니다.

 

 

yagom

야곰의 프로그래밍 채널입니다

www.youtube.com

이 책이 처음 나왔을 때 샀던 기억이 있다. 그때가 2017년도 1월달 쯤이엇나.. 아무튼 나는 그때 iOS개발에 한참 빠져있었어서 swift언어의 매력에 사로잡혀있었었다. 그래서 swift 언어를 비슷하게 개발해보고.. 했었다.
이번에 iOS앱을 보수해야 하는 상황이 생겨서 swift관련 래퍼런스 책이 필요했다. 최신 버전 swift에 맞게 책이 다시 개정되었다. 그래서 신청하게 되었다.항상 보는 부분이지만, 클로저 부분은 헷갈리는 것 같다. 내가 함수형 프로그래밍 언어에 친하지 않아서 항상 어려운 것 같다. 클로저가 진짜 써보면 좋다는 것을 느끼는 것 같다. C++에서도 요즘 람다를 많이 써먹고 있다. 이 책은 스위프트의 클로저와 함수형 프로그래밍에 대해서 상세히 설명해주고 있다. 친절해서 좋다.map, filter, reduce 3박자는 마치 삼위일체와 같다고나 할까,, 기존의 많은 for loop으로 작업해야 했던 것들을 쉽게 함수 몇번으로 코드를 엄청나게 줄일 수 있다는 점이 참 좋다. linq같은 기능인 것 같다. 근데 랭귀지에서 지원해주는 거라 걍 array에서 쓸 수 있는게 좋은 것 같다.

아무튼 오랜만에 스위프트 책을 보니까 문법이 참 독특하고 간단하고 쉬운 것 같다. 스위프트가 파이썬보다 훨씬 나은 것 같다. 좀 더 흥했으면 좋겠다ㅠㅠ 윈도우에 안돌아가는 것은 흠이다.

애플에서 Objective-C 다음으로 사용하는 언어가 스위프트(SWIFT)입니다. 애플에서 최근에 만든 프로그래밍 언어라 그런지 다양한 패러다임(개발 방법)을 지원합니다. 개발을 할 때 필요한 최신 기능을 거의 다 집어넣은 것 같네요. 이 스위프트를 배우려고 책을 고르면 아이폰 iOS 프로그래밍을 하기 위해 간단히 소개만 하는 경우가 많은데, 이번에 본 책은 조금 다릅니다. ‘SWIFT 스위프트 프로그래밍 3판’은 스위프트 언어만 집중해서 배울 수 있는 책입니다. 아이폰 개발을 바로 하고 싶은 분이라면 다른 책을 봐야겠지만, 이 책으로 스위프트를 제대로 정복한다면 아이폰 개발에도 큰 도움이 될 것입니다.
 
‘SWIFT 스위프트 프로그래밍 3판’은 스위프트 입문서, 기본서라고 할 수 있습니다. iOS, macOS, watchOS, tvOS 등 플랫폼에 종속되지 않고, 언어의 순수 기능을 집중해서 배울 수 있는 책입니다. 개발 환경은 다른 걸 사용해도 되지만 여기서는 맥에서 Xcode로 개발을 진행합니다.
 
책은 총 5개의 파트로 되어 있습니다. 각 파트에서 무얼 배우는지 키워드를 나열해보면 다음과 같습니다.
 
파트1 스위프트 기초 
스위프트 역사, 데이터 타입, 연산자, 제어, 함수, 옵셔널 
 
파트2 객체지향 프로그래밍과 스위프트 
구조체, 클래스, 프로퍼티, 메서드, 인스턴스, 접근제어 
 
파트3 함수형 프로그래밍과 스위프트 
클로저, 옵셔널 체이닝, 빠른 종료, 맵, 필터, 리듀스, 모나드 
 
파트4 확장 
서브스크립트, 상속, 타입캐스팅, 프로토콜, 익스텐션, 제네릭, 프로토콜 지향 프로그래밍 
 
파트5 스위프트 고급 
타입 중첩, 패턴, where 절, ARC, 오류처리, 메모리 안전
 
하나의 언어를 제대로 공부를 한 사람이라면 거의 다 많이 들어본 내용들인데 옵셔널이나 프로토콜, 인스텍션 등은 최신 프로그래밍 스타일을 모르는 사람에게는 생소하게 느껴집니다. 이 책에 나오는 내용을 제대로 이해한다면 최신 개발 트렌드도 따라 잡을 수 있으리라 생각합니다.
 
보통 프로그래밍 언어 문법을 설명하는 책은 지루하고 딱딱하기 쉬운데 ‘SWIFT 스위프트 프로그래밍 3판’은 부드럽게 잘 읽히는게 특징입니다. 번역서가 아니라 우리나라 사람이 직접 지은 책이고, 3판까지 오면서 내용이 잘 다듬어져서 그런 것 같습니다.


<나는 리뷰어다> 10월 이벤트 당첨으로 작성한 리뷰 입니다.


[한줄평]

스위프트로 함수형과 객체지향 프로그래밍 기법을 이책에서 배울수 있습니다.


[목차구성]

[PART I 스위프트 기초]

CHAPTER 1 스위프트

CHAPTER 2 스위프트 처음 시작하기

CHAPTER 3 데이터 타입 기본

CHAPTER 4 데이터 타입 고급

CHAPTER 5 연산자

CHAPTER 6 흐름 제어

CHAPTER 7 함수

CHAPTER 8 옵셔널


[PART II 객체지향 프로그래밍과 스위프트]

CHAPTER 9 구조체와 클래스

CHAPTER 10 프로퍼티와 메서드

CHAPTER 11 인스턴스 생성 및 소멸

CHAPTER 12 접근제어


[PART III 함수형 프로그래밍과 스위프트]

CHAPTER 13 클로저

CHAPTER 14 옵셔널 체이닝과 빠른 종료

CHAPTER 15 맵, 필터, 리듀스

CHAPTER 16 모나드


[PART IV 확장]

CHAPTER 17 서브스크립트

CHAPTER 18 상속

CHAPTER 19 타입캐스팅

CHAPTER 20 프로토콜

CHAPTER 21 익스텐션

CHAPTER 22 제네릭

CHAPTER 23 프로토콜 지향 프로그래밍


[PART V 스위프트 고급]

CHAPTER 24 타입 중첩

CHAPTER 25 패턴

CHAPTER 26 where 절

CHAPTER 27 ARC

CHAPTER 28 오류처리

CHAPTER 29 메모리 안전

CHAPTER 30 불명확 타입


[대상 독자]

- 스위프트를 처음 배우는 현업 프로그래머

- iOS 애플리케이션 개발 입문자

- 기존 프로그래밍과 스위프트의 차이를 알고 싶은 대학생



[주요 내용]

Part 1. 스위프트 기초

Part 2. 객체지향 프로그래밍과 스위프트

Part 3. 함수형 프로그래밍과 스위프트

Part 4. 확장

Part 5. 스위프트 고급


[서평]

이책은 정말 스위프트 프로그래밍을 제대로 입문하고 싶은 개발자에 맞게 설계된 책입니다. 처음 스위프트로 개발을 하는 사람에게 객체지향, 함수형, 프로토콜 지향 패러다임까지 한번에 학습 할수 있습니다. 프로그램 설치 부터 시작해서 코딩을 어떻게 해야 하는지 정확히 알려 줍니다. 개발자가 실수 할 부분이 있는 곳에 잘 설명을 해줍니다. 입문자의 눈높이에서 가장 많이 어려워 하는 부분에 대해서 잘 설명한 책입니다. 

스위프트를 제대로 이해할수 있도록 기본 개념과 스위프트 프로그래밍 방법론을 상세히 설명 합니다. 예제 통해서 코딩을 하면서 자연스럽게 몸에 익힐수 있습니다.

 

이 책을 통해서 스위프트 프로그래밍 능력을 한단계 업그레이드 할수 있을 것이라 생각하여 강력 추천 합니다.



이미지 1.jpg

 

 

유튜브 주소 : https://youtu.be/2n-fSlW-jts

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
스위프트 프로그래밍(3판)
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
스위프트 프로그래밍(3판)
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
스위프트 프로그래밍(3판)
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1