1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

리눅스에서 하는 스위프트 개발-기본 문법부터 클로저, 프로토콜, HTTP 통신까지
저자 : 존호프만 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 권석기

2018.02.28 ㅣ 480p ㅣ ISBN-13 : 9791161751238

정가35,000
판매가34,650(1% 할인)
적립금 700원 (2%)
배송일정 05월 09일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 기타 규격
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > OS > 리눅스
리눅스에서 스위프트를 설치하는 방법부터 시작해, 스위프트의 전반적인 기능을 설명한다. 적절하고 풍부한 예제를 곁들어, 반드시 알아야 할 만한 내용을 정리하고 있어 쉽게 이해할 수 있다. 처음에 누구에게나 생소할 수 있는 옵셔널과 클로저도 잘 설명하는 책이다.
펼쳐보기

[목 차]

1장. 스위프트 첫걸음
__스위프트 소개
____스위프트 기능
____리눅스에 스위프트 설치
____스위프트 언어 문법
____주석
____세미콜론
____괄호
____중괄호
____할당 연산자는 값을 반환하지 않는다
____조건문과 할당문에서 공백문자는 선택 사항
__Hello World
__스위프트 코드 실행
__스위프트와 스위프트 REPL
__스위프트 컴파일러
__스위프트 패키지 매니저 사용
__스위프트 편집기
__요약


2장. 변수, 상수, 문자열, 연산자
__변수와 상수
____상수와 변수 선언
____타입 안전
____타입 추론
____명시적 타입
____숫자 타입
____불리언 타입
____문자열 타입
____옵셔널 변수
____열거형
__연산자
____할당 연산자
____비교 연산자
____산술 연산자
____나머지 연산자
____복합 할당 연산자
____삼항 조건 연산자
____논리 NOT 연산자
____논리 AND 연산자
____논리 OR 연산자
__요약


3장. 스위프트 컬렉션과 튜플
__스위프트 컬렉션 타입
__가변성
__배열
____배열 생성과 초기화
____배열 요소 액세스
____배열 카운트
____빈 배열 검사
____배열 요소 추가
____배열 요소 삽입
____배열 요소 교체
____배열 요소 제거
____두 배열 합치기
____배열 뒤집기
____배열에서 서브배열 검색
____배열 요소 한꺼번에 변경
____배열 알고리즘
____배열 순회
__딕셔너리
____딕셔너리의 생성과 초기화
____딕셔너리 값 액세스
____딕셔너리의 키-값 카운팅
____빈 딕셔너리
____키-값 업데이트
____키-값 쌍 추가
____키-값 쌍 제거
__집합
____집합 초기화
____집합에 항목 삽입
____집합의 항목 개수
____집합의 항목 포함 여부 체크
____집합 순회
____집합에서 항목 제거
____집합 연산
__튜플
__요약


4장. 흐름 제어와 함수
__지금까지 배운 것
____중괄호
____괄호
__흐름 제어
____조건 구문
____for 루프
____while 루프
____switch문
____조건문에서의 case와 where문
____제어 이동문
__함수
____단일 파라미터 함수
____다중 파라미터 함수
____파라미터 기본 값
____여러 값 반환 함수
____옵셔널 값 반환
____외부 파라미터명 추가
____가변 파라미터 사용
____inout 파라미터
____중첩 함수
__종합 예제
__요약


5장. 클래스와 구조체
__클래스와 구조체
____클래스와 구조체의 유사점
____클래스와 구조체의 차이점
____값 타입과 참조 타입
__클래스 및 구조체 생성
____프로퍼티
____저장 프로퍼티
____연산 프로퍼티
____프로퍼티 옵저버
____메소드
__커스텀 이니셜라이저
____내부와 외부 파라미터명
____실패 가능 이니셜라이저
__상속
__메소드와 프로퍼티 오버라이딩
____메소드 오버라이딩
____프로퍼티 오버라이딩
____오버라이드 방지
__프로토콜
__프로토콜 문법
____프로퍼티 요구 사항
____메소드 요구 사항
__익스텐션
__메모리 관리
____ARC 작동 방식
____강한 참조 순환
__요약


6장. 프로토콜과 프로토콜 확장
__타입으로의 프로토콜
__프로토콜의 다형성
__프로토콜과 타입 캐스팅
__프로토콜 확장
__요약


7장. 프로토콜 지향 설계
__요구 사항
__객체지향 설계
__프로토콜 지향 설계
____프로토콜 상속
____프로토콜 컴포지션
____Animal: 프로토콜 지향 설계
____프로토콜과 where문
__요약


8장. 에러 처리 기능을 가진 안전한 코드 작성
__스위프트 2.0 이전까지의 예러 처리
__네이티브 에러 처리
____에러 표현
____에러 던지기
____에러 잡기
__요약


9장. 커스텀 서브스크립팅
__서브스크립트 소개
__스위프트 배열 서브스크립트
__서브스크립트 읽고 쓰기
__읽기 전용 커스텀 서브스크립트
__연산 서브스크립트
__서브스크립트 값
__서브스크립트 외부 이름
__다차원 서브스크립트
__서브스크립트를 쓰지 않아야 하는 경우
__요약


10장. 옵셔널 타입
__옵셔널 소개
__옵셔널을 사용하는 이유
____옵셔널 선언
____옵셔널 사용
__옵셔널 체이닝
____nil 병합 연산자
__요약


11장. 제네릭
__제네릭 소개
__제네릭 함수
__제네릭 타입
__연관 타입
__요약


12장. 클로저
__클로저 소개
__간단한 클로저
__클로저 간편 문법
__스위프트 배열 알고리즘과 함께 사용하는 클로저
__기능 변경
__결과에 따른 클로저 선택
__강한 참조 사이클 생성
__요약


13장. C 라이브러리
__모듈
__커스텀 모듈 생성
__Cpcap 모듈 생성
__Cpcap 모듈 사용
__리눅스 man pages
__요약


14장. 동시성과 병렬성
__스위프트에서 동시성과 병렬성
__GCD
__헬퍼 함수
__요약


15장. 스위프트 코어 라이브러리
__애플 URL 로딩 시스템
____URLSession
____URLSessionConfiguration
____URLSessionTask
____URL
____URLRequest
____HTTPURLResponse
____REST 웹 서비스
____HTTP GET 요청 만들기
____HTTP POST 요청 만들기
__포매터
____DateFormatter
____NumberFormatter
____FileManager
__요약


16장. 싱글보드 컴퓨터와 스위프트
__비글본 블랙
__비글본 블랙의 확장 헤더
__스위프트 설치
__SwiftyBones3
__Sources 디렉토리
__SwiftyBuild
__SBDigitalGPIO를 이용한 LED 점멸
__SBAnalog 타입과 TMP36 온도 센서
__자율 로봇
__요약


17장. 스위프트 형식과 스타일 가이드
__프로그래밍 스타일 가이드
__자신만의 코딩 스타일
____구문 끝에 세미콜론을 쓰지 마라
____조건문에서 중괄호를 뺀다
____이름 짓기
____주석
____self 키워드
____상수와 변수
____옵셔널 타입
____타입 추론 사용
____컬렉션 간편 선언
____다중 if문 대신 switch문을 사용하라
____주석 처리된 코드를 그대로 두지 마라
__요약


18장. 스위프트에서 디자인 패턴 적용
__디자인 패턴 소개
__생성 패턴
____싱글턴 디자인 패턴
____빌더 디자인 패턴
__구조 디자인 패턴
____브리지 패턴
____파사드 패턴
____프락시 디자인 패턴
__행위 디자인 패턴
____커맨드 디자인 패턴
____스트래티지 패턴
__요약
펼쳐보기
★ 이 책에서 다루는 내용 ★

■ 리눅스 플랫폼에서의 스위프트
■ 스위프트 언어의 강력함
■ 적절한 스위프트 설계 테크닉
■ 스위프트 코어 라이브러리의 이해
■ 유명한 디자인 패턴 구현
■ C 라이브러리 연동
■ 싱글보드 컴퓨터에서 스위프트 사용
■ GCD를 이용한 애플리케이션 동시성 구현
■ 스위프트 제네릭 사용
■ 프로토콜 지향 디자인 패러다임의 이해

★ 이 책의 대상 독자 ★

스위프트는 애플이 만든 현대적이고 빠른 오픈소스 언어다. 이 책은 리눅스 개발자가 데스크톱과 서버, 임베디드 리눅스 플랫폼용 애플리케이션을 빠르게 만들기 위해 스위프트 사용법을 배울 수 있다. 읽고 코딩하면서 배우는 데 익숙하다면 이 책은 당신을 위한 책이다. 모든 주제는 예제 코드를 통해 실력 향상을 도모할 수 있다.


★ 이 책의 구성 ★

1장, '스위프트 첫걸음'에서는 스위프트 언어를 간략히 소개한다. 기본 스위프트 언어 문법과 적절한 언어 스타일도 알아본다.
2장, '변수, 상수, 문자열, 연산자'에서는 변수와 상수 사용법을 알아본다. 스위프트의 여러 가지 데이터 타입과 연산자 사용법도 다룬다.
3장, '스위프트 컬렉션과 튜플'에서는 관련 데이터를 저장하기 위해 컬렉션 타입의 사용법을 알아본다. 컬렉션에는 딕셔너리와 배열, 집합이 있다.
4장, '흐름 제어와 함수'에서는 흐름 제어와 함수에 대해 알아본다. 이후 내용들을 이해하기 전에 4장의 개념을 이해하는 것은 필수적이다. 간단한 Hello World 예제가 이 책의 목표는 아니다. 이 책에서 작성할 모든 애플리케이션은 흐름제어문과 함수에 매우 크게 의존한다.
5장, '클래스와 구조체'에서는 클래스와 구조체를 비슷하게 만들거나 차이 나게 만드는 것이 무엇인지 알아본다. 또한 접근 제어와 객체지향 디자인에 대해서도 살펴본다. 마지막으로 스위프트의 메모리 관리에 대해 다룬다.
6장, '프로토콜과 프로토콜 확장'에서는 프로토콜과 프로토콜 확장을 매우 자세히 알아본다. 프로토콜 관련 개념이 스위프트에서 매우 중요하기 때문에 확실히 이해하면 유연하고 재사용 가능한 코드를 작성하는 데 도움이 된다.
7장, '프로토콜 지향 설계'에서는 스위프트로 작성하는 프로토콜 지향 설계 모범 사례를 알아본다. 또 다른 저서 『Swift 3 Protocol-Oriented Programming』(Packt, 2016)도 간략히 소개한다.
8장, '에러 처리 기능을 가진 안전한 코드 작성'에서는 스위프트의 에러 처리 기능을 알아본다. 이는 안전한 코드를 작성하기 위해 매우 중요한 부분이다. 에러를 처리하고 대응할 때는 일관된 방식이 중요하다. 단, 사용자 타입(custom types)에서는 이 기능을 반드시 사용하지 않아도 된다. 애플 또한 자체 프레임워크에서 에러 처리 기능을 사용하기 시작했다. 여러분의 코드에서도 에러 처리를 사용하길 강력히 추천한다.
9장, '커스텀 서브스크립팅'에서는 클래스, 구조체, 열거문에서 커스텀 서브스크립트(Custom Sub--script)를 사용하는 방법을 알아본다. 스위프트 서브스크립트를 사용해 컬렉션 요소를 액세스할 수 있다. 클래스와 구조체, 열거형에서 커스텀 서브스크립트를 정의하는 방법도 다룬다.
10장, '옵셔널 타입'에서는 옵셔널의 정의와 옵셔널을 벗기는 방법, 옵셔널 체이닝에 대해 알아본다. 초보 스위프트 개발자가 처음 만날 가장 혼란스러운 개념 중 하나가 바로 이 옵셔널일 것이다.
11장, '제네릭'에서는 코드 중복을 피하면서도 매우 유연하고 재사용 가능한 코드를 작성할 수 있는 제네릭에 대해 알아본다.
12장, '클로저'에서는 코드에서 클로저를 정의하고 사용하는 방법을 알아본다. 스위프트의 클로저는 오브젝티브C의 블록과 비슷하지만 훨씬 깔끔하고 문법이 쉽다. 클로저 사용 시 강한 참조 사이클을 피하는 방법도 다룬다.
13장, 'C 라이브러리'에서는 스위프트 애플리케이션에서 표준 C 라이브러리를 링크하고 사용하는 방법을 알아본다. 이를 통해 스위프트 개발자는 리눅스 개발자가 사용할 수 있는 동일한 라이브러리를 모두 액세스할 수 있다.
14장, '동시성과 병렬성'에서는 GCD(Grand Central Dispatch)를 사용해 애플리케이션에 동시성과 병렬 처리 기능을 추가하는 방법을 알아본다. 앱에 동시성이나 병렬성을 추가하면 사용자 경험이 매우 향상된다.
15장, '스위프트 코어 라이브러리'에서는 파일 읽고 쓰기 및 네트워크 기본 요소, JSON 파싱을 포함하는 라이브러리에 대해 알아본다.
16장, '싱글보드 컴퓨터와 스위프트'에서는 IoT 디바이스와 로봇 개발에 스위프트를 적용하는 방법을 알아본다. 이때 싱글보드 컴퓨터를 이용한다.
17장, '스위프트 형식과 스타일 가이드'에서는 스위프트 언어 스타일 가이드를 정의하고 사용하는 방법을 알아본다. 이는 스타일 가이드가 필요한 엔터프라이즈 개발자를 위한 템플릿을 만드는 데 도움이 될 것이다. 기업 대부분은 자체 개발한 다양한 언어에 대한 스타일 가이드를 갖고 있기 때문이다.
18장, '스위프트에서 디자인 패턴 적용'에서는 스위프트에서 구현하는 좀 더 일반적인 디자인 패턴을 알아본다. 디자인 패턴은 일반적인 소프트웨어 개발 문제점을 파악하고, 이에 대한 대처법을 제공한다.

★ 지은이의 말 ★

2015년 12월, 애플은 스위프트를 깃허브(GitHub) 페이지에 오픈소스 프로젝트로 릴리스했다. 이 릴리스를 통해 애플은 리눅스를 위한 스위프트 버전도 함께 릴리스했다. 스위프트는 범용 프로그래밍 언어로써 현대적인 개발 방향을 지향한다.
스위프트는 애플이 만든 현대적이고 빠르고 안전한 프로그래밍 언어다. 스위프트로 코드를 작성하는 것은 역동적이고 재미있다. 문법은 간결하지만 매우 풍부하게 표현할 수 있으며, 코드는 빛의 속도로 실행된다. 스위프트는 과감히 오픈소스를 채택했고, 리눅스 플랫폼 진영에서도 점점 많이 채택하고 있다.
이 책은 스위프트 언어의 소개부터 데스크톱 및 서버, 리눅스 플랫폼을 위한 애플리케이션 작성에 필요한 모든 주요 개념을 다룬다. 디자인 패턴 및 프로토콜 지향 프로그래밍을 통해 스위프트 애플리케이션 설계에 필요한 모범 사례를 배운다. 더 나아가 애플리케이션에서 발생하는 에러의 대응 방법과 처리 방법을 배운다.
스위프트에 대한 풍부한 지식을 얻을 때쯤, 싱글보드 컴퓨터 위에 스위프트를 올려 IoT와 로봇 프로젝트를 만드는 방법도 살펴본다. 이 책을 다 보면 리눅스용 스위프트 언어에 대해 깊이 이해하게 될 것이며, 아주 쉽게 자신만의 애플리케이션을 작성할 수 있을 것이다.



★ 옮긴이의 말 ★

이제는 스위프트가 애플 생태계를 벗어나려 몸부림치는 것이 절실히 느껴진다. 이미 오픈소스화된 것도 있겠지만, IBM에서도 리눅스와 스위프트를 함께 쓸 수 있는 기술을 적극적으로 개발하고 있다. 스위프트로 개발된 IBM 웹 서버만 보더라도 스위프트는 이제 애플이라는 회사에서만 다루는 폐쇄적인 언어가 아님을 보여준다.
이 책을 통해 애플 플랫폼에서의 개발 경험과 아무런 상관없이 리눅스에서 애플리케이션 및 서버 개발의 기초를 다질 수 있기를 바란다. 번역하면서 가능한 한 원문의 의도를 곡해하지 않으려 많은 노력을 기울였다. 특히 번역하면 오히려 이상해지는 문장은 원문을 병행 표기했다. 이 책은 백과사전식 나열을 지양하고 필요한 핵심을 정리해준 느낌이다. 읽는 데 큰 어려움이 없겠지만, 종종 한 번에 이해되지 않는 부분도 있을 것이다. 그런 내용은 반드시 코딩해본 후에 읽어볼 것을 권한다. 크게 어려운 개념은 아니지만, 코딩해보지 않으면 감이 오지 않는 부분도 있을 것이다. 저자도 언급한 사항이지만, 특히 옵셔널 부분은 더욱 실습이 필요한 부분이다. 코딩 없이 정독하는 것은 피아노 교본만 읽고 연주를 해보지 않는 것과 비슷하다고 생각한다.
사실상 이 책은 입문서에 해당하지만 원제의 ‘Mastering’이 뜻하는 것처럼 얕은 지식 전달에만 그치지는 않는다. 1장부터 순서대로 읽어나가도 큰 무리는 없을 것이다. 하지만 스위프트를 처음 접하는 경우나 전체적인 느낌을 알고 싶다면, 우선 빠르게 일독하고 흥미가 가는 내용부터 다시 읽어보길 권한다. 특히 옵셔널, 제네릭, 클로저를 처음 접하는 개발자도 있을 것인데, 이 주제는 먼저 읽어보고 처음부터 진도를 나가는 것도 하나의 방법이 될 수 있을 것이다. 모쪼록 스위프트를 시작하는 독자들에게 이 책이 많은 도움이 되기를 바란다.


펼쳐보기
존호프만
정보통신 기술 분야에서 20년이 넘는 경력을 보유하고 있다. 20년이 넘도록 시스템 관리, 네트워크 관리, 네트워크 보안, 애플리케이션 개발과 설계 분야에서 근무해 왔다. 현재는 신테크 시스템즈(Syn-Tech Systems)에서 시니어 소프트웨어 엔지니어로 근무 중이다.
2008년부터 iOS 플랫폼으로 다양한 제품을 개발해 왔다. 이 중에서 몇 가지는 앱스토어에 등록된 앱이고, 서드파티와 여러 엔터프라이즈 애플리케이션도 포함돼 있다.
2014년 1월에 팩트출판사에서 첫 번째 저서인 『iOS and OS X Network Programming Cookbook』을 출간했다.
정보통신 기술 분야에서의 도전이야말로 삶의 원동력이며, 이러한 도전을 이겨내는 것을 최고의 기쁨으로 여기고 있다. 다른 취미로는 야구 경기 관람(힘내라 삭스)과 농구 경기 관람(힘내라 셀틱)이 있다. 또한 태권도를 진정으로 즐기며, 2014년 초에는 큰 딸인 케일리(Kailey)와 함께 검은 띠를 따기도 했다. 2014년 겨울에는 아내인 킴(Kim)이 검은 띠를 땄으며, 최근에는 막내딸이 검은 띠를 따려고 노력하고 있다.
옮긴이 권석기
하드웨어 및 모바일 소프트웨어 엔지니어로 십여 년간 일했고, Pantech USA 주재원으로 미국 Verizon Wireless, NEC 등과 함께 일했다. RayWenderlich.com 한국어 번역 공식 멤버로 활동했다. 코딩과 납땜으로 밤샘하던 시절, 센세이셔널했던 아이팟을 발견한 순간부터 앱스토어에 습작을 하나둘 올리기 시작했다. 요즘은 머신 러닝과 블록체인도 건드려보고 있다. 언제나 흥미로운 기술들이 넘쳐나서 고민이다.


펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기