ios 8 App Development Essentials Korean Translation Copyright 2015 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth throug

Size: px
Start display at page:

Download "ios 8 App Development Essentials Korean Translation Copyright 2015 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth throug"

Transcription

1

2 ios 8 App Development Essentials Korean Translation Copyright 2015 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through Agency-One, Seoul. Copyright 2014 Neil Smyth. All rights reserved. 이 책의 한국어판 저작권은 에이전시 원을 통해 저작권자와의 독점 계약으로 제이펍 출판사에 있습니다. 신저작권법에 의해 한국 내에서 보호를 받는 저작물이므로 무단전재와 무단복제를 금합니다. 초판 1쇄 발행 2015년 4월 17일 지은이 닐 스미스 옮긴이 황반석 펴낸이 장성두 펴낸곳 제이펍 출판신고 2009년 11월 10일 제 호 주소 경기도 파주시 문발로 141 뮤즈빌딩 403호 전화 / 팩스 홈페이지 / 이메일 jeipub@gmail.com 편집부 이민숙, 이 슬, 이주원 / 소통 기획팀 현지환 용지 신승지류유통 / 인쇄 한승인쇄 / 제본 광우제책사 ISBN (93000) 값 36,000원 이 책은 저작권법에 따라 보호를 받는 저작물이므로 무단 전재와 무단 복제를 금지하며, 이 책 내용의 전부 또는 일부를 이용하려면 반드시 저작권자와 제이펍의 서면동의를 받아야 합니다. 잘못된 책은 구입하신 서점에서 바꾸어 드립니다. 제이펍은 독자 여러분의 아이디어와 원고 투고를 기다리고 있습니다. 책으로 펴내고자 하는 아이디어나 원고가 있으신 분께서는 책의 간단한 개요와 차례, 구성과 저(역)자 약력 등을 메일로 보내주세요. jeipub@gmail.com

3

4 이 책에 기재한 회사명 및 제품명은 각 회사의 상표 및 등록명입니다. 이 책에서는 c, R, TM 등의 기호를 생략하고 있습니다. 이 책에서 사용하고 있는 실제 제품 버전은 독자의 학습 시점에 따라 책의 버전과 다를 수 있습니다. 책의 내용과 관련된 문의사항은 역자나 출판사로 연락주시기 바랍니다. 역자: 혹은 출판사:

5 차 례 옮긴이 머리말 베타리더 후기 xxx xxxii CHAPTER 1 이책에대하여 _1 1.1 처음 ios 개발을 하는 개발자를 위하여 ios 7 개발자를 위하여 예제 소스 코드 피드백 오탈자 4 CHAPTER 2 Apple ios개발자프로그램에가입하기 _5 2.1 애플 개발자 등록 Xcode 6와 ios 8 SDK 다운로드하기 ios 개발자 프로그램 언제 ios 개발자 프로그램에 가입할까? ios 개발자 프로그램에 가입하기 요약 8 CHAPTER 3 Xcode 6와 ios 8 SDK 설치하기 _ 여러분의 맥이 인텔 기반인지 PowerPC 기반인지 확인하기 Xcode 6와 ios 8 SDK 설치하기 Xcode 시작하기 10 CHAPTER 4 Xcode 6가이드투어 _ Xcode 6 시작하기 ios 앱 사용자 인터페이스 만들기 컴포넌트 속성 변경하기 사용자 인터페이스에 객체 추가하기 Xcode 6에서 ios 8 앱 빌드하고 실행하기 빌드 에러 처리하기 애플리케이션 성능 모니터링하기 사용자 인터페이스 레이아웃 계층구조의 분해도 요약 27 차례 v

6 CHAPTER 5 Xcode 6로 ios 8기기에서앱테스트하기 _ Apple ID로 Xcode 설정하기 인증서 서명 생성하기 디바이스 등록 수동으로 테스트 디바이스 추가하기 등록된 기기에서 애플리케이션 실행하기 요약 35 CHAPTER 6 스위프트 플레이그라운드 소개 _ 스위프트 플레이그라운드란? 새로운 스위프트 플레이그라운드 생성하기 스위프트 플레이그라운드 예제의 기초 플레이그라운드 타임라인 플레이그라운드에서 UIKit으로 작업하기 언제 스위프트 플레이그라운드를 사용하나? 요약 42 CHAPTER 7 스위프트 데이터 타입과 상수, 그리고 변수 _ 스위프트 플레이그라운드 사용하기 스위프트 데이터 타입 스위프트 변수 스위프트 상수 상수와 변수 선언하기 타입 어노테이션과 타입 추론 타입 변환과 타입 검사 스위프트 튜플 스위프트 옵셔널 타입 요약 55 CHAPTER 8 스위프트 연산자와 표현식 _ 스위프트의 표현식 구문 기본 할당 연산자 스위프트 산술 연산자 복합 할당 연산자 증가 연산자와 감소 연산자 비교 연산자 불리언 논리 연산자 범위 연산자 삼항 연산자 비트 연산자 복합 비트 연산자 요약 66 vi 차례

7 CHAPTER 9 스위프트 흐름 제어 _ 반복문 흐름 제어 스위프트 for 문 do... while 반복문 반복문에서 빠져나오기 continue 문 조건부 흐름 제어 if 문 사용하기 if... else... 문 사용하기 if... else if... 문 사용하기 요약 75 CHAPTER 10 스위프트 switch문 _ 왜 switch 문을 사용해야 하나? switch 문 사용하기 스위프트 switch 문 예제 case 문 결합하기 switch 문에서의 매칭 범위 where 문 사용하기 fallthrough 요약 80 CHAPTER 11 스위프트 함수와 클로저의 개요 _ 함수란 무엇인가? 스위프트 함수를 선언하는 방법 스위프트 함수 호출하기 외부 매개변수 이름 선언하기 디폴트 함수 매개변수 정의하기 함수로부터 여러 개의 결과 반환하기 함수 매개변수의 변수 개수 변수인 매개변수 입출력 매개변수로 작업하기 매개변수인 함수 클로저 표현식 스위프트의 클로저 요약 92 CHAPTER 12 스위프트의 객체지향 프로그래밍 기초 _ 객체란 무엇인가? 클래스란 무엇인가? 스위프트 클래스 선언하기 클래스에 인스턴스 속성 추가하기 메서드 선언하기 클래스 인스턴스 선언하고 초기화하기 클래스 인스턴스 초기화하기와 해제하기 97 차례 vii

8 12.8 메서드 호출하기와 속성 접근하기 저장된 속성과 계산된 속성 스위프트의 self 이용하기 요약 102 CHAPTER 13 스위프트의 상속 _ 상속, 클래스, 그리고 하위 클래스 스위프트 상속 예제 하위 클래스의 기능 확장하기 상속받은 메서드 오버라이딩하기 하위 클래스 초기화하기 SavingsAccount 클래스 이용하기 요약 108 CHAPTER 14 스위프트의 배열과 딕셔너리 컬렉션으로 작업하기 _ 가변형 컬렉션과 불변형 컬렉션 스위프트 배열 초기화 스위프트 배열로 작업하기 배열에 항목 추가하기 스위프트 딕셔너리 컬렉션 스위프트 딕셔너리 초기화 요약 116 CHAPTER 15 ios 8애플리케이션개발아키텍처개요 _ ios 8 운영체제 아키텍처 개요 Model View Controller(MVC) 타깃-액션 패턴, IBOutlet과 IBAction 서브클래싱 델리게이션 요약 121 CHAPTER 16 상호작용하는 ios 8앱만들기 _ 새 프로젝트 만들기 사용자 인터페이스 만들기 예제 애플리케이션 빌드하고 실행하기 액션과 아웃렛 추가하기 완성된 애플리케이션을 빌드하고 실행하기 키보드 숨기기 요약 132 CHAPTER 17 ios 8뷰,윈도우,그리고뷰계층이해하기 _ 뷰에 대하여 UIWindow 클래스 뷰 계층구조 134 viii 차례

9 17.4 뷰 타입 요약 137 CHAPTER 18 ios 8자동레이아웃소개 _ 자동 레이아웃의 개요 정렬 고유한 콘텐츠 사이즈 콘텐츠 허깅 우선순위와 압축 제한 우선순위 컨스트레인트를 만드는 세 가지 방법 컨스트레인트에 대한 상세 내용 요약 143 CHAPTER 19 인터페이스 빌더에서 ios 8 자동 레이아웃 컨스트레인트로 작업하기 _ 자동 레이아웃의 간단한 예제 인터페이스 빌더에서 자동 레이아웃 켜고 끄기 인터페이스 빌더에서 새로운 컨스트레인트 생성하기 종횡비 컨스트레인트 추가하기 자동 레이아웃 문제 해결하기 요약 162 CHAPTER 20 ios 8자동레이아웃예제 _ 프로젝트 준비하기 사용자 인터페이스 설계하기 자동 레이아웃 컨스트레인트 추가하기 컨스트레인트 우선순위 조절하기 애플리케이션 테스트하기 요약 170 CHAPTER 21 코드로 ios 8자동레이아웃컨스트레인트구현하기 _ 코드에서 컨스트레인트 생성하기 컨스트레인트를 뷰에 추가하기 자동 리사이징 끄기 예제 애플리케이션 뷰 생성하기 컨스트레인트 생성하기와 추가하기 컨스트레인트 제거하기 요약 178 CHAPTER 22 ios 8에서 교차 계층구조 자동 레이아웃 컨스트레인트 구현하기 _ 예제 애플리케이션 아웃렛 구축하기 이전 컨스트레인트를 제거하는 코드 작성하기 교차 계층구조 컨스트레인트 추가하기 애플리케이션 테스트하기 요약 183 차례 ix

10 CHAPTER 23 ios 8자동레이아웃시각적형식언어이해하기 _ 시각적 형식 언어 소개 시각적 형식 언어 예제 constraintswithvisualformat 메서드 이용하기 요약 188 CHAPTER 24 사이즈 클래스를 이용하여 유니버셜 ios사용자인터페이스설계하기 _ 사이즈 클래스 이해하기 인터페이스 빌더에서의 사이즈 클래스 Any 디폴트 설정하기 인터페이스 빌더에서 사이즈 클래스로 작업하기 유니버셜 사용자 인터페이스 튜토리얼 아이패드 레이아웃 설계하기 유니버셜 이미지 에셋 추가하기 아이폰 레이아웃 설계하기 사이즈 클래스에 특정 이미지 파일 추가하기 중복 컨스트레인트 제거하기 레이아웃 미리 보기 애플리케이션 테스트하기 요약 202 CHAPTER 25 Xcode 6에서 스토리보드 사용하기 _ 스토리보드 예제 프로젝트 만들기 스토리보드 접근하기 스토리보드에 화면 추가하기 스토리보드 Segue 구성하기 스토리보드 전환 구성하기 뷰 컨트롤러와 화면 연결하기 화면들 간에 데이터 전달하기 스토리보드 Segue 되돌리기 프로그램으로 스토리보드 Segue 호출하기 요약 212 CHAPTER 26 Xcode 6의스토리보드를이용한 ios 8탭바애플리케이션만들기 _ 탭 바 개요 멀티뷰 애플리케이션의 뷰 컨트롤러 이해하기 탭 바 예제 애플리케이션 만들기 프로젝트 파일 살펴보기 콘텐트 뷰에 대한 뷰 컨트롤러 추가하기 탭 바 컨트롤러를 스토리보드에 추가하기 뷰 컨트롤러 사용자 인터페이스 설계하기 탭 바 아이템 설정하기 애플리케이션 빌드하고 실행하기 요약 220 x 차례

11 CHAPTER 27 Xcode 6스토리보드와 ios 8테이블뷰의개요 _ 테이블 뷰의 개요 정적 테이블 뷰 vs. 동적 테이블 뷰 테이블 뷰 델리게이트와 데이터소스 테이블 뷰 스타일 셀프-사이징 테이블 셀 동적 타입 테이블 뷰 셀 스타일 테이블 뷰 셀 재사용 요약 228 CHAPTER 28 Xcode 6스토리보드를이용하여프로토타입 테이블 뷰 셀이 있는 동적 테이블 뷰 만들기 _ 예제 프로젝트 생성하기 스토리보드에 테이블 뷰 컨트롤러 추가하기 UITableViewController와 UITableViewCell 하위 클래스 생성하기 셀 재사용 식별자 선언하기 스토리보드 UITableView 프로토타입 셀 설계하기 AttractionTableViewCell 클래스 수정하기 테이블 뷰 데이터소스 생성하기 이미지 파일 다운로드하여 추가하기 애플리케이션 컴파일하고 실행하기 요약 239 CHAPTER 29 Xcode 6에서 스토리보드를 이용한 ios 8테이블뷰내비게이션구현하기 _ 내비게이션 컨트롤러 이해하기 스토리보드에 새로운 화면 추가하기 내비게이션 컨트롤러 추가하기 스토리보드 Segue 구축하기 AttractionDetailViewController 클래스 수정하기 prepareforsegue를 이용하여 스토리보드 화면 간에 데이터 전달하기 애플리케이션 테스트하기 요약 246 CHAPTER 30 ios 8스플릿뷰마스터-디테일예제 _ Split View와 Popover 개요 예제 스플릿 뷰 프로젝트에 대하여 프로젝트 생성하기 프로젝트 다시 살펴보기 마스터 뷰 항목 구성하기 디테일 뷰 컨트롤러 구성하기 마스터 뷰에 선택된 것과 디테일 뷰 연결하기 DetailViewController 클래스 수정하기 253 차례 xi

12 30.9 애플리케이션 테스트하기 요약 255 CHAPTER 31 UIPageViewController를 이용한 페이지 기반의 ios 8애플리케이션구현하기 _ UIPageViewController 클래스 UIPageViewController 데이터소스 내비게이션 방향 스파인 위치 UIPageViewController 델리게이트 프로토콜 요약 259 CHAPTER 32 ios 8 UIPageViewController 예제 애플리케이션 _ Xcode 페이지 기반 애플리케이션 템플릿 프로젝트 만들기 콘텐트 뷰 컨트롤러 추가하기 데이터 모델 만들기 UIPageViewController 초기화하기 UIPageViewController 애플리케이션 실행하기 요약 269 CHAPTER 33 ios 8에서 스위프트로 디렉터리 다루기 _ 애플리케이션 Documents 디렉터리 NSFileManager, NSFileHandle과 NSData 클래스 스위프트의 경로명 이해하기 디폴트 NSFileManager 객체에 대한 참조체 얻기 현재 작업 디렉터리 확인하기 Documents 디렉터리 확인하기 임시 디렉터리 확인하기 디렉터리 변경하기 새로운 디렉터리 만들기 디렉터리 삭제하기 디렉터리의 내용 나열하기 파일 또는 디렉터리의 속성 얻기 276 CHAPTER 34 ios 8에서 파일 다루기 _ NSFileManager 인스턴스 만들기 파일이 존재하는지 확인하기 두 개의 파일 내용 비교하기 파일의 읽기가능/쓰기가능/실행가능/삭제가능 상태 확인하기 파일 옮기기와 이름 바꾸기 파일 복사하기 파일 삭제하기 심볼릭 링크 만들기 NSFileManager로 파일 읽고 쓰기 281 xii 차례

13 34.10 NSFileHandle 클래스로 파일 작업하기 NSFileHandle 객체 만들기 NSFileHandle 파일 오프셋과 검색하기 파일에서 데이터 읽기 파일에 데이터 쓰기 파일 자르기 요약 285 CHAPTER 35 ios 8디렉터리관리및파일입출력예제 _ 예제 애플리케이션 애플리케이션 프로젝트 설정하기 사용자 인터페이스 설계하기 애플리케이션 시작 시 데이터 파일 체크하기 액션 메서드 구현하기 예제 애플리케이션 빌드하고 실행하기 289 CHAPTER 36 ios 8앱에서iCloud저장소사용준비하기 _ 아이클라우드 데이터 저장소 서비스 아이클라우드 저장소 사용할 애플리케이션 준비하기 ios 8 애플리케이션을 위해 아이클라우드 지원 활성화하기 아이클라우드 권한 파일 확인하기 여러 개의 아이클라우드 컨테이너 접근하기 아이클라우드 컨테이너 URL 요약 295 CHAPTER 37 ios 8 UIDocument클래스로파일관리하기 _ UIDocument 클래스의 개요 UIDocument 클래스의 하위 클래스 만들기 충돌 해결과 도큐먼트 상태 UIDocument 예제 애플리케이션 UIDocument 하위 클래스 생성하기 사용자 인터페이스 설계하기 애플리케이션 데이터 구조 구현하기 contentsfortype 메서드 구현하기 loadfromcontents 메서드 구현하기 앱 시작 시에 도큐먼트 로드하기 문서에 내용 저장하기 애플리케이션 테스트하기 요약 305 CHAPTER 38 ios 8 애플리케이션에서 icloud저장소사용하기 _ 아이클라우드 사용 가이드라인 아이클라우드 접근을 위한 icloudstore 애플리케이션 준비하기 뷰 컨트롤러 구성하기 viewdidload 메서드 구현하기 308 차례 xiii

14 38.5 metadataquerydidfinishgathering 메서드 구현하기 savedocument 메서드 구현하기 아이클라우드 도큐먼트와 데이터 저장소 활성화하기 아이클라우드 애플리케이션 실행하기 아이클라우드 기반의 문서 확인하고 삭제하기 로컬 파일을 어디서나 사용할 수 있게 만들기 요약 316 CHAPTER 39 icloud를이용한 ios 8키-값데이터동기화하기 _ 아이클라우드 키-값 데이터 저장소 애플리케이션 간의 데이터 공유 데이터 저장소의 제약 충돌 해결 키-값 변경 알림 받기 아이클라우드 키-값 데이터 저장소 예제 아이클라우드 키-값 데이터 저장소를 위해 애플리케이션 활성화하기 사용자 인터페이스 설계하기 뷰 컨트롤러 구현하기 viewdidload 메서드 수정하기 알림 메서드 구현하기 savekey 메서드 구현하기 애플리케이션 테스트하기 323 CHAPTER 40 아카이빙을이용한 ios 8데이터영구저장 _ 아카이빙 개요 아카이빙 예제 애플리케이션 사용자 인터페이스 설계하기 시작 시 아카이브 파일 존재 확인하기 액션 메서드에서 객체 데이터 아카이빙하기 애플리케이션 테스트하기 요약 330 CHAPTER 41 SQLite를이용한 ios 8데이터베이스구현 _ SQLite란? 구조적 질의 언어(SQL) 맥 OS X에서 SQLite 사용하기 SQLite 연동을 위한 ios 애플리케이션 프로젝트 준비하기 SQLite, 스위프트, 그리고 래퍼 FMDB 클래스 데이터베이스 생성하기와 열기 데이터베이스 테이블 생성하기 데이터베이스 테이블에서 데이터 가져오기 SQLite 데이터베이스 닫기 요약 337 xiv 차례

15 CHAPTER 42 스위프트와 FMDB를이용한 SQLite기반iOS 8애플리케이션예제 _ SQLite 애플리케이션 예제에 대하여 SQLite 애플리케이션 프로젝트 준비 및 생성하기 FMDB 소스 코드 체크아웃하기 사용자 인터페이스 설계하기 테이터베이스와 테이블 만들기 SQLite 데이터베이스에 데이터를 저장하는 코드 구현하기 SQLite 데이터베이스에서 데이터를 가져오는 코드 구현하기 애플리케이션 빌드하고 실행하기 요약 346 CHAPTER 43 코어데이터를이용한 ios 8데이터베이스작업 _ 코어 데이터 스택 매니지드 객체 매니지드 객체 콘텍스트 매니지드 객체 모델 영구 저장소 코디네이터 영구 객체 저장소 엔티티 디스크립션 정의 매니지드 객체 콘텍스트 얻기 엔티티 디스크립션 얻기 매니지드 객체 하위 클래스 만들기 매니지드 객체의 속성 설정하기 매니지드 객체 저장하기 매니지드 객체 가져오기 조건에 따른 매니지드 객체 가져오기 가져온 매니지드 객체의 데이터 접근하기 요약 354 CHAPTER 44 ios 8코어데이터튜토리얼 _ ios 코어 데이터 예제 애플리케이션 코어 데이터 기반의 ios 애플리케이션 만들기 엔티티 디스크립션 만들기 매니지드 객체 하위 클래스 생성하기 엔티티 클래스 이름 수정하기 사용자 인터페이스 설계하기 매니지드 객체 콘텍스트 접근하기 코어 데이터를 이용하여 영구 저장소에 데이터 저장하기 코어 데이터를 이용하여 영구 저장소에서 데이터 가져오기 예제 애플리케이션 빌드하고 실행하기 요약 363 CHAPTER 45 ios 8 CloudKit 데이터 저장소 소개 _ CloudKit 개요 CloudKit 컨테이너 365 차례 xv

16 45.3 CloudKit 공용 데이터베이스 CloudKit 개인 데이터베이스 데이터 저장소와 전송량 할당 CloudKit 레코드 CloudKit 레코드 아이디 CloudKit 참조체 CloudKit 에셋 레코드 존 CloudKit 구독 아이클라우드 사용자 정보 얻기 CloudKit 대시보드 요약 373 CHAPTER 46 ios 8 CloudKit예제 _ 예제 CloudKit 프로젝트에 대하여 CloudKit 예제 프로젝트 만들기 사용자 인터페이스 설계하기 아웃렛과 액션 구축하기 공용 데이터베이스 접근하기 키보드 숨기기 selectphoto 메서드 구현하기 클라우드 데이터베이스에 레코드 저장하기 notifyuser 메서드 구현하기 레코드 저장 메서드 테스트하기 클라우드 데이터베이스 레코드 검색하기 클라우드 데이터베이스 레코드 업데이트하기 클라우드 레코드 삭제하기 애플리케이션 테스트하기 요약 386 CHAPTER 47 ios 8 CloudKit 구독 예제 _ 푸시 알림과 CloudKit 구독 푸시 알림을 받기 위해서 앱 등록하기 CloudKit 구독 구성하기 원격 알림 처리하기 didreceiveremotenotification 메서드 구현하기 클라우드 데이터베이스에서 레코드 가져오기 didfinishlaunchingwithoptions 메서드 구현하기 애플리케이션 테스트하기 요약 395 CHAPTER 48 ios 8멀티터치,탭,그리고제스처에대하여 _ 리스펀더 체인 다음 리스펀더로 이벤트 전달하기 제스처 397 xvi 차례

17 48.4 탭 터치 터치 알림 메서드 요약 399 CHAPTER 49 ios 8터치,멀티터치,그리고탭애플리케이션 _ ios 8 탭과 터치 예제 애플리케이션 ios Touch 프로젝트 생성하기 사용자 인터페이스 설계하기 뷰에서 멀티터치 활성화하기 touchesbegan 메서드 구현하기 touchesmoved 메서드 구현하기 touchesended 메서드 구현하기 터치 좌표 구하기 Touch 예제 애플리케이션 빌드하고 실행하기 404 CHAPTER 50 ios 8터치스크린제스처감지하기 _ ios 8 제스처 예제 애플리케이션 예제 프로젝트 만들기 사용자 인터페이스 설계하기 touchesbegan 메서드 구현하기 touchesmoved 메서드 구현하기 touchesended 메서드 구현하기 제스처 예제 빌드 및 실행하기 요약 409 CHAPTER 51 ios 8 Gesture Recognizers를 통한 제스처 식별하기 _ UIGestureRecognizer 클래스 인식기 액션 메시지 불연속 및 연속 제스처 제스처에서 데이터 얻기 탭 제스처 인식하기 핀치 제스처 인식하기 회전 제스처 인식하기 팬과 드래깅 제스처 인식하기 스와이프 제스처 인식하기 롱 터치(터치 앤 홀드) 제스처 인식하기 요약 414 CHAPTER 52 ios 8 Gesture Recognition 튜토리얼 _ 제스처 인식 프로젝트 만들기 사용자 인터페이스 설계하기 액션 메서드 구현하기 제스처 인식 애플리케이션 테스트하기 요약 418 차례 xvii

18 CHAPTER 53 ios 8앱에서터치아이디인증구현하기 _ Local Authentication 프레임워크 터치아이디 가능 여부 검사하기 터치아이디 정책 판단하기 터치아이디 예제 프로젝트 터치아이디 사용 가능 여부 확인하기 터치아이디 인증 검색하기 애플리케이션 테스트하기 요약 426 CHAPTER 54 ios 8컬렉션뷰와플로우레이아웃의개요 _ 컬렉션 뷰의 개요 UICollectionView 클래스 UICollectionViewCell 클래스 UICollectionReusableView 클래스 UICollectionViewFlowLayout 클래스 UICollectionViewLayoutAttributes 클래스 UICollectionViewDataSource 프로토콜 UICollectionViewDelegate 프로토콜 UICollectionViewDelegateFlowLayout 프로토콜 셀과 뷰 재사용 요약 436 CHAPTER 55 ios 8스토리보드기반의컬렉션뷰튜토리얼 _ 컬렉션 뷰 예제 프로젝트 생성하기 템플릿 뷰 컨트롤러 제거하기 컬렉션 뷰 컨트롤러를 스토리보드에 추가하기 프로젝트에 컬렉션 뷰 셀 클래스 추가하기 셀 프로토타입 설계하기 데이터 모델 구현하기 데이터 소스 구현하기 애플리케이션 테스트하기 셀 항목에 대한 크기 설정하기 스크롤 방향 변경하기 추가적인 뷰 구현하기 추가적인 뷰 프로토콜 메서드 구현하기 요약 451 CHAPTER 56 ios 8컬렉션뷰플로우레이아웃의하위클래스만들기와확장하기 _ 예제 레이아웃 클래스에 대하여 UICollectionViewFlowLayout 클래스의 하위 클래스 만들기 새로운 레이아웃 클래스 확장하기 메서드 구현하기 layoutattributesforelementsinrect 메서드 구현하기 modifylayoutattributes 메서드 구현하기 456 xviii 차례

19 56.7 새로운 레이아웃과 핀치 제스처 인식기 추가하기 핀치 인식기 구현하기 이미지 잘림 피하기 애플리케이션 테스트하기 요약 461 CHAPTER 57 코어 그래픽스로 ios 8 2D그래픽그리기 _ 코어 그래픽스와 쿼츠 2D 소개 drawrect 메서드 점, 좌표, 그리고 픽셀 그래픽 콘텍스트 쿼츠 2D로 색 작업하기 요약 465 CHAPTER 58 인터페이스빌더라이브뷰와 ios 8임베디드프레임워크 _ Embedded 프레임워크 인터페이스 빌더 라이브 뷰 예제 프로젝트 생성하기 임베디드 프레임워크 추가하기 프레임워크에 드로잉 코드 구현하기 설계할 수 있는 뷰 만들기 관리할 수 있는 변수 만들기 요약 473 CHAPTER 59 코어그래픽스와코어이미지를사용하는 ios 8그래픽튜토리얼 _ ios 드로잉 예제 애플리케이션 새로운 프로젝트 만들기 UIView의 하위 클래스 만들기 UIView 하위 클래스에 drawrect 메서드 만들기 선 그리기 경로 그리기 사각형 그리기 타원 및 원 그리기 색으로 경로 채우기 호 그리기 차 베지어 곡선 그리기 차 베지어 곡선 그리기 점선 그리기 그림자 그리기 그라데이션 그리기 그래픽 콘텍스트에 이미지 그리기 코어 이미지 프레임워크를 통한 이미지 필터링 요약 496 차례 xix

20 CHAPTER 60 코어애니메이션을이용한 ios 8애니메이션기초 _ UIView 코어 애니메이션 블록 애니메이션 커브 이해하기 애니메이션 종료 시 알림 받기 아핀 변환 수행하기 아핀 변환 결합하기 애니메이션 예제 애플리케이션 만들기 변수 구현하기 UIView에 그리기 화면 터치 감지하기와 애니메이션 수행하기 애니메이션 애플리케이션 빌드하고 실행하기 요약 504 CHAPTER 61 ios 8 UIKit다이나믹스개요 _ UIKit 다이나믹스 이해하기 UIKit 다이나믹스 아키텍처 ios 8 애플리케이션에서 UIKit 다이나믹스 구현하기 다이나믹 애니메이터 초기화 중력 동작 설정하기 충돌 동작 설정하기 부착 동작 설정하기 스냅 동작 설정하기 푸시 동작 설정하기 UIDynamicItemBehavior 클래스 커스텀 동작을 생성하기 위하여 동작들을 결합하기 요약 516 CHAPTER 62 ios 8 UIKit다이나믹스 튜토리얼 _ UIKit 다이나믹스 예제 프로젝트 생성하기 다이나믹 항목 추가하기 다이나믹 애니메이터 인스턴스 생성하기 뷰에 중력 추가하기 충돌 동작 구현하기 앵커 포인트에 뷰 붙이기 두 개의 뷰 사이에 스프링 연결 구현하기 요약 525 CHAPTER 63 ios 8스프라이트킷프로그래밍개요 _ 스프라이트 킷이란? 스프라이트 킷 게임의 핵심 요소들 예제 스프라이트 킷 게임 계층구조 스프라이트 킷 게임 렌더링 루프 스프라이트 킷 레벨 편집기 요약 532 xx 차례

21 CHAPTER 64 ios 8스프라이트킷레벨편집기게임튜토리얼 _ 스프라이트 킷 데모 게임에 대하여 SpriteKitDemo 프로젝트 생성하기 SpriteKit 게임 템플릿 프로젝트 리뷰하기 인터페이스 방향 제한하기 GameScene 스프라이트킷 화면 파일 수정하기 궁수 화면 생성하기 궁수 화면으로 전환하기 텍스처 아틀라스 추가하기 궁수 화면 설계하기 궁수 화면 준비하기 애니메이션 텍스처 아틀라스 준비하기 궁수 스프라이트 노드 애니메이션하기 화살 스프라이트 노드 생성하기 화살 쏘기 공 스프라이트 노드 추가하기 요약 551 CHAPTER 65 ios 8스프라이트킷충돌핸들링튜토리얼 _ 카테고리 비트 마스크 정의하기 카테고리 마스크를 스프라이트 노드에 할당하기 충돌과 접촉 마스크 구성하기 접촉 델리게이트 구현하기 노드들 간에 물리 연결 구현하기 게임 오버 요약 559 CHAPTER 66 ios 8스프라이트킷파티클이미터튜토리얼 _ 파티클 이미터란? 파티클 이미터 편집기 SKEmitterNode 클래스 파티클 이미터 편집기 사용하기 파티클 이미터 노드 속성들 파티클 이미터 편집기 경험해보기 파티클 이미터 효과를 이용하여 공 터트리기 터지는 파티클 이미터 효과 추가하기 요약 570 CHAPTER 67 ios 8앱에 iad연동하기 _ 애플리케이션 내에서 iad 실행할 준비하기 iad 광고 형식 iad 아이폰 예제 애플리케이션 만들기 Xcode 프로젝트에 iad 프레임워크 추가하기 배너 광고 활성화하기 삽입 광고 구현하기 579 차례 xxi

22 67.8 iad 테스트 설정하기 요약 582 CHAPTER 68 ios 8멀티태스킹,백그라운드전송서비스,그리고패칭 _ ios 애플리케이션 상태 이해하기 멀티태스킹 애플리케이션의 생명주기에 대한 개념 멀티태스킹 지원 체크하기 ios 애플리케이션을 위한 멀티태스킹 활성화하기 지원되는 백그라운드 실행 형태 백그라운드 패치의 개요 원격 알림의 개요 로컬 알림의 개요 백그라운드 전송 서비스의 개요 백그라운드 실행 규칙 요약 591 CHAPTER 69 ios 8로컬알림예약하기 _ 로컬 알림 앱 프로젝트 생성하기 프로젝트에 사운드 파일 추가하기 퍼미션 요청하기 애플리케이션 델리게이트 메서드 위치시키기 로컬 알림 예약하기 애플리케이션 테스트하기 예약된 알림 취소하기 즉시 로컬 알림 호출하기 요약 596 CHAPTER 70 ios 8애플리케이션상태보존과복원의개요 _ 보존과 복원 절차 보존과 복원 선택하기 복원 식별자 할당하기 UIKit의 디폴트 보존 기능들 추가적인 상태 정보 저장하기와 복원하기 복원 절차 이해하기 일반적인 애플리케이션 상태 저장하기 요약 604 CHAPTER 71 ios 8상태보존과복원튜토리얼 _ 예제 애플리케이션 생성하기 상태 보존이 없는 애플리케이션 만들기 상태 보존 적용하기 복원 식별자 설정하기 뷰 컨트롤러 상태를 인코딩과 디코딩하기 스토리보드에 내비게이션 컨트롤러 추가하기 세 번째 뷰 컨트롤러 추가하기 611 xxii 차례

23 71.8 복원 클래스 생성하기 요약 614 CHAPTER 72 MKMapItem을이용하여 ios 8애플리케이션과지도통합하기 _ MKMapItem과 MKPlacemark 클래스 순방향 및 역방향 지오코딩에 대한 소개 MKPlacemark 인스턴스 생성하기 MKMapItem으로 작업하기 MKMapItem 옵션들과 턴 방식 길찾기 활성화하기 상세 항목을 MKMapItem에 추가하기 요약 621 CHAPTER 73 ios 8 MKMapItem 애플리케이션 예제 _ MapItem 프로젝트 생성하기 사용자 인터페이스 설계하기 순방향 지오코딩을 이용하여 목적지 변환하기 지도 실행하기 애플리케이션 빌드하고 실행하기 요약 627 CHAPTER 74 ios 8코어로케이션프레임워크를이용하여위치정보얻기 _ 코어 로케이션 매니저 위치 접근 허가 요청하기 로케이션 정확도 설정하기 거리 필터 구성하기 로케이션 매니저 델리게이트 위치 업데이트 시작하기 CLLocation 객체에서 위치 정보 얻기 거리 계산하기 위치 정보와 멀티태스킹 요약 633 CHAPTER 75 ios 8로케이션예제애플리케이션 _ ios 8 로케이션 예제 애플리케이션 만들기 사용자 인터페이스 설계하기 CLLocationManager 객체 만들기 Usage Description Key 설정하기 액션 메서드 구현하기 애플리케이션 델리게이트 메서드 구현하기 로케이션 애플리케이션 빌드와 실행하기 639 CHAPTER 76 MapKit과 MKMapView클래스를이용하여iOS 8에서 지도 다루기 _ MapKit 프레임워크에 대해 Map Regions 이해하기 642 차례 xxiii

24 76.3 MKMapView 튜토리얼에 대하여 지도 프로젝트 만들기 Xcode 프로젝트에 MapKit 프레임워크 추가하기 내비게이션 컨트롤러 추가하기 MKMapView 인스턴스와 툴바 생성하기 위치 정보 퍼미션 얻기 Usage Description Key 설정하기 맵 뷰 설정하기 MapView 영역 변경하기 지도 형식 변경하기 아이폰 MapView 애플리케이션 테스트하기 사용자 이동에 따른 맵 뷰 업데이트하기 요약 650 CHAPTER 77 ios 8에서 MapKit 로컬 검색 사용하기 _ ios 8 로컬 검색 개요 MapSample 애플리케이션에 로컬 검색 추가하기 로컬 검색 텍스트 필드 추가하기 로컬 검색 수행하기 애플리케이션 테스트하기 요약 658 CHAPTER 78 ios 8맵길찾기와경로를얻기위하여 MKDirections이용하기 _ MKDirections 개요 MapSample 애플리케이션에 길찾기와 경로 추가하기 프로젝트에 새로운 클래스 추가하기 결과 테이블 뷰 구성하기 결과 테이블 뷰 segue 구현하기 경로 화면 추가하기 경로와 방향 얻기 경로 segue 구축하기 애플리케이션 테스트하기 요약 669 CHAPTER 79 ios 8익스텐션소개 _ ios 익스텐션 개요 익스텐션 타입 익스텐션 생성하기 요약 677 CHAPTER 80 ios 8투데이익스텐션위젯튜토리얼 _ 익스텐션 위젯 예제에 대하여 예제 프로젝트 생성하기 프로젝트에 익스텐션 추가하기 익스텐션 파일 리뷰하기 682 xxiv 차례

25 80.5 위젯 사용자 인터페이스 설계하기 코드로 원하는 콘텐츠 사이즈 설정하기 위젯 뷰 컨트롤러 수정하기 익스텐션 테스트하기 익스텐션에서 포함하는 앱 열기 요약 690 CHAPTER 81 ios 8포토에디팅익스텐션생성하기 _ 포토 에디팅 익스텐션 생성하기 포토 에디팅 익스텐션 접근하기 Info.plist 파일 설정하기 사용자 인터페이스 설계하기 PHContentEditingController 프로토콜 포토 익스텐션과 조정 데이터 콘텐츠 받기 필터 액션 구현하기 이미지를 사진 앱으로 반환하기 애플리케이션 테스트하기 요약 704 CHAPTER 82 ios 8액션익스텐션생성하기 _ 액션 익스텐션의 개요 액션 익스텐션 예제에 대하여 액션 익스텐션 프로젝트 생성하기 액션 익스텐션 프로젝트 생성하기 액션 익스텐션 설정하기 액션 익스텐션 사용자 인터페이스 설계하기 콘텐츠 받기 수정된 데이터를 호스트 앱에 돌려보내기 익스텐션 테스트하기 요약 716 CHAPTER 83 ios 8액션익스텐션에서데이터받기 _ 예제 프로젝트 생성하기 사용자 인터페이스 설계하기 애플리케이션에 공유 버튼 추가하기 애플리케이션에 공유 버튼 추가하기 익스텐션으로부터 데이터 받기 애플리케이션 테스트하기 요약 723 CHAPTER 84 날짜와위치기반의미리알림제작을위한iOS 8 Event Kit이용하기 _ Event Kit 프레임워크의 개요 EKEventStore 클래스 데이터베이스에 있는 캘린더 접근하기 727 차례 xxv

26 84.4 미리 알림 생성하기 알람 생성하기 예제 프로젝트 생성하기 날짜/시간 기반의 미리 알림 화면을 위한 사용자 인터페이스 설계하기 미리 알림 코드 구현하기 키보드 숨기기 위치 기반 미리 알림 뷰 설계하기 위치 기반 미리 알림 생성하기 Usage Description Key 설정하기 애플리케이션 테스트하기 요약 738 CHAPTER 85 ios 8카메라와포토라이브러리접근하기 _ UIImagePickerController 클래스 UIImagePickerController 인스턴스 만들고 구성하기 UIImagePickerController 델리게이트 구성하기 디바이스의 지원 여부 확인하기 무비와 이미지 저장하기 요약 744 CHAPTER 86 ios 8카메라예제애플리케이션 _ 예제 애플리케이션에 대하여 카메라 프로젝트 만들기 사용자 인터페이스 설계하기 액션 메서드 구현하기 델리게이트 메서드 구현하기 애플리케이션 빌드하고 실행하기 750 CHAPTER 87 AVPlayer와 AVPlayerViewController를 이용하여 ios 8비디오재생하기 _ AVPlayer 클래스와 AVPlayerViewController 클래스 ios 무비 플레이어 예제 애플리케이션 AVKit 프레임워크를 Xcode 프로젝트에 추가하기 사용자 인터페이스 설계하기 비디오 재생 초기화하기 애플리케이션 빌드하고 실행하기 코드로 AVPlayerViewController 인스턴스 생성하기 요약 756 CHAPTER 88 AVAudioPlayer를이용하여 ios 8에서 오디오 재생하기 _ 지원하는 오디오 포맷 재생 알림 받기 재생 제어하기와 모니터링하기 오디오 예제 애플리케이션 만들기 759 xxvi 차례

27 88.5 프로젝트 리소스에 오디오 파일 추가하기 사용자 인터페이스 설계하기 액션 메서드 구현하기 AVAudioPlayer 객체 만들고 초기화하기 AVAudioPlayerDelegate 프로토콜 메서드 구현하기 애플리케이션 빌드하고 실행하기 요약 763 CHAPTER 89 AVAudioRecorder로 ios 8에서 오디오 녹음하기 _ AVAudioRecorder 튜토리얼의 개요 녹음 프로젝트 만들기 사용자 인터페이스 설계하기 AVAudioRecorder 인스턴스 생성하기 액션 메서드 구현하기 델리게이트 메서드 구현하기 애플리케이션 테스트하기 769 CHAPTER 90 ios 8애플리케이션에트위터와페이스북통합하기 _ UIActivityController 클래스 Social 프레임워크 Accounts 프레임워크 UIActivityViewController 클래스 이용하기 SLComposeViewController 클래스 이용하기 요약 776 CHAPTER 91 UIActivityViewController를이용한 ios 8페이스북통합튜토리얼 _ 페이스북 소셜 앱 생성하기 사용자 인터페이스 설계하기 아웃렛과 액션 생성하기 selectimage와 델리게이트 메서드 구현하기 키보드 감추기 페이스북에 메시지 포스팅하기 소셜 애플리케이션 실행하기 요약 782 CHAPTER 92 SLRequest를이용한 ios 8페이스북과트위터통합 _ SLRequest와 Accounts 프레임워크 이용하기 SLRequest를 이용한 트위터 통합 SLRequest를 이용한 페이스북 통합 요약 789 CHAPTER 93 SLRequest를이용한 ios 8트위터통합튜토리얼 _ TwitterApp 프로젝트 생성하기 사용자 인터페이스 설계하기 790 차례 xxvii

28 93.3 인터페이스 파일 수정하기 트위터 API 접근하기 gettimeline 메서드 호출하기 TableView 델리게이트 메서드 애플리케이션 빌드하기와 실행하기 요약 797 CHAPTER 94 SKStoreProductViewController 클래스로 판매하기 _ SKStoreProductViewController 클래스 예제 프로젝트 생성하기 사용자 인터페이스 생성하기 스토어 킷 제품 뷰 컨트롤러 표시하기 델리게이트 메서드 구현하기 애플리케이션 테스트하기 요약 803 CHAPTER 95 ios 8 애플리케이션에 앱 내 결제 구축하기 _ 앱 내 결제 옵션들 앱 스토어가 호스팅하도록 콘텐츠 업로드하기 앱 내 결제 아이템 구성하기 제품 요청 전송하기 Payment Queue 접근하기 트랜잭션 감시자 객체 결제 시작하기 트랜잭션 처리 트랜젝션 복원 앱 내 결제 테스트 요약 810 CHAPTER 96 앱내결제를위한 ios 8애플리케이션준비하기 _ 예제 애플리케이션에 대하여 Xcode 프로젝트 생성하기 앱 내 결제를 위한 AppID 등록하고 활성화하기 itunesconnect에서 애플리케이션 설정하기 앱 내 결제 아이템 생성하기 요약 815 CHAPTER 97 ios 8앱내결제튜토리얼 _ 애플리케이션 사용자 인터페이스 스토리보드 설계하기 결제 뷰 컨트롤러 생성하기 앱 델리게이트 클래스에 Home View Controller 저장하기 ViewController 클래스 완성하기 PurchaseViewController 클래스 완성하기 애플리케이션 테스트하기 824 xxviii 차례

29 97.8 문제 해결 요약 826 CHAPTER 98 ios 8앱내결제를위하여앱스토어가호스팅하는 콘텐츠 구성하고 생성하기 _ 앱 내 결제에서 호스팅된 콘텐츠를 위한 애플리케이션 구성하기 콘텐츠 패키지를 호스팅하는 앱 내 결제 해부하기 콘텐츠 패키지를 호스팅하는 앱 내 결제 생성하기 호스팅될 콘텐츠 패키지 아카이빙하기 호스팅될 콘텐츠 패키지 검증하기 호스팅될 콘텐츠 패키지 업로드하기 요약 831 CHAPTER 99 ios 8애플리케이션을앱스토어에등록할준비하기와 제출하기 _ ios 배포 인증서 검증하기 앱 아이콘 추가하기 시작 화면 설계하기 프로젝트를 팀에게 할당하기 배포를 위해 애플리케이션 아카이브하기 itunes Connect에서 애플리케이션 설정하기 애플리케이션 검증하기와 제출하기 리뷰를 위해 앱 설정하고 제출하기 839 찾아보기 841 차례 xxix

30 옮 긴 이 머 리말 애플의 8번째 모바일 운영체제인 ios 8은 2014년 6월 2일 Worldwide Developers Conference (WWDC)에서 발표되었습니다. 전 세계에 배포된 것은 같은 해 9월 17일이었죠. 제가 느끼기에 는 2014 WWDC는 스티브 잡스 이후로 가장 큰 행사가 아닐까 싶을 정도로 성대하게 치러졌 습니다(iOS 8을 발표하던 팀 쿡은 세션을 마치면서 U2 의 13번째 앨범(Songs of Innocence)을 itunes Store 에서 무료로 배포하는 깜짝 이벤트도 열었고, 저 역시 이때다 싶어서 얼른 itunes Store에 접속하여 내려받 았죠). ios 8이 개발자인 우리에게 전하는 메시지는 무엇이며, 어떤 기능들을 구현할 수 있도록 해주었을까요 ios 8에서 가장 눈에 띄는 특징 중 하나가 새로운 프로그래밍 언어인 Swift(스 위프트)의 도입일 것입니다. 애플은 차세대 ios 앱을 개발하기 위한 언어로 스위프트를 발표하 였습니다(물론, 여전히 오브젝티브 C 언어로도 개발할 수 있습니다). 개발자 대부분은 프로그래밍이 좋아서, 그리고 내 손으로 무언가를 만든다는 것이 좋아서 개 발자의 길을 걷고 있을 겁니다. 저도 그러합니다. 그렇게 개발을 좋아하는 개발자들이라도 가 능하다면 피하고 싶은 것 중에 하나가 새로운 언어를 배우는 것일 겁니다 WWDC에서 스위프트의 발표를 보고 저는 흥분과 짜증( )을 동시에 느꼈습니다. 스위프트를 배워야 하긴 할 텐데, 새로운 언어를 배운다는 것 자체가 큰 부담이었기 때문입니다. 게다가 오브젝티브 C 로 코딩해도 된다고 하지 않았는가 아마도 저처럼 이런저런 이유를 들며 스위프트를 반기면 서도 배우기를 꺼리는 개발자들이 많을 것으로 생각됩니다. 새로운 언어를 배운다는 것 자체가 힘든 것은 아닙니다. 정말로 힘든 것은 배운 것을 적절하게 사용하는 방법을 모른다는 점과 정말로 모르는 부분이 나오면 어떻게 해결해야 하는지조차도 모른다는 점입니다. 누군가 이런 얘기를 해준 적이 있습니다. 배워서 하려면 어렵지만, 하면서 배우기는 쉽다. 그렇습니다. 하면서 배우기는 쉽습니다. 저는 이 책뿐만 아니라 이 책의 이전 버전들도 번역했었는데, 개인적으로 이 책의 내용과 구성을 좋아합니다. 제가 번역해서 애착 xxx 옮긴이 머리말

31 이 가는 것이 아니라, 앞에서 말했던 하면서 배우는 방법을 사용하는, 즉 개발자의 입장에서 너무 보기 좋은 책이기 때문입니다. 이 책은 스위프트 언어와 문법에 대한 설명을 포함하고 있으며, 모든 예제 애플리케이션 역시 스위프트 언어를 사용하여 만들어졌습니다. 간단한 Hello World 부터 시작해서 심도 있는 주 제까지를 스위프트 언어로 어떻게 코딩하는지 보여주고 있습니다. 이 책은 스위프트 언어만 을 가르치고 끝내는 책이 아니라 어떻게 애플리케이션을 만들어갈 것인지도 보여줍니다. 물론, Xcode 6와 ios 8에 새롭게 도입된 기능들(예를 들어, 터치아이디(TouchID) 인증, 익스텐션 등)에 대 한 예제와 설명도 포함되어 있습니다. 어찌 보면 이 책은 새로운 언어인 스위프트에 대한 학습 과 ios 8의 새로운 기능을 구현하는 방법에 대한 습득이라는 두 가지 큰 목표를 두고 있습니 다. 이 책을 가장 먼저 읽어본 독자의 입장에서 감히 말씀드리자면, 여러분이 이 책을 끝까지 읽고 책을 덮을 때쯤에는 스위프트와 ios 8 애플리케이션 개발이라는 두 마리 토끼를 다 잡게 될 것입니다. 여러분의 성공과 멋진 앱을 기대하고 응원하겠습니다. 저의 개발 경험과 지식을 바탕으로 이 책을 먼저 읽고 우리말로 옮기는 작업을 하였지만, 저 역시 부족한 사람임을 잘 알고 있습니다. 이 책이 출간되어 여러분 손에 들려 있는 그 순간까 지 저를 포함한 여러 사람이 읽고 또 읽으면서 원서와 대조하기도 하고, 다시 번역도 해보면서 매의 눈으로 다듬은 결과물입니다. 하지만, 어쩌면 여러분이 이 글을 읽고 있는 지금도 아~ 라는 짧은 탄식과 함께 부족함을 발견하고 발을 동동 구르고 있을지도 모르겠네요. 이러한 아 쉬움을 조금이나마 채우고자 인터넷 카페( 운영하고 있습니다. 많 이 놀러와 주세요. :) 부끄럽게도 저의 이름만이 표지에 있지만, 이 책이 나오기까지 많은 분의 관심과 노력이 없었 다면 불가능했음을 잘 압니다. 언제나 가야 할 길을 보여주시고 인도하시는 하나님께 감사와 찬양을 드립니다. 임신 중에도 항상 응원해주고 힘을 불어넣어 준 최고의 아내(강승희)에게 더 없이 큰 사랑과 고마움을 전합니다. 그리고 이제는 세상에 나와서 온 가족의 사랑과 귀여움을 독차지하고 있는 사랑하는 나의 딸(단비)에게도 사랑을 전합니다. 힘든 상황 속에서도 열정으 로 달리고 있는 트렌디앱( 모두에게 격려와 박수를 보냅니다. 지금 이 시 각에도 멋진 책을 만들고 있는 제이펍 과 베타 리더들에게도 감사의 마음을 전합니다. 그리고 늘 보고 싶고, 그립고, 존경하는 제 아버지. 사랑합니다, 아버지! 2015년 따뜻한 봄에 황반석 옮긴이 머리말 xxxi

32 베 타 리 더 후 기 애플이 스위프트 언어를 발표한 지 1년이 다 되어가는데도 국내 서적이 몇 권 되지 않아 아쉬 웠는데, 이렇게 번역서가 나오게 되어 너무 반가웠습니다. 이 책을 통해 초보자는 개발환경을 구축하고 애플리케이션을 만드는 전 과정에 대해 알아볼 수 있을 것 같고, ios를 개발해본 사 람들은 기존에 사용했던 오브젝티브 C와 다른 새로운 기능을 이 책을 통해 빠르게 습득할 수 있을 것 같습니다. ios 프로그래밍 입문 초보자도 쉽게 다가갈 수 있게 스위프트부터 ios 8 SDK까지 잘 설명되 어 있었습니다. ios 8으로 할 수 있는 기본적인 내용이 모두 수록되어 있어서 ios 프로젝트 진 행 시 필요한 부분을 찾아보기에도 좋습니다. 또한, 책의 구성도 이론을 설명하는 장과 실습 할 수 있는 장이 나란히 배치되어 있어서 각각의 내용을 살펴보고 곧바로 구현해볼 수 있는 것도 강점으로 보입니다. 스위프트 기반으로 정말 다양한 ios의 기능을 다루는 책입니다. 스위프트 기본 문법부터 시 작하여 icloud 저장소, 데이터베이스, 멀티터치 및 탭, iad, 로케이션 등 ios의 기능 대부분을 소개하고 개발 예제를 다룹니다. 특히 튜토리얼에 대한 자세한 설명은 이해를 한층 도와줍니 다. 이러한 친절한 설명으로 ios 개발을 처음 시작하는 사람도 자신이 필요한 내용을 쉽게 찾 아 참조할 수 있을 것으로 보입니다. xxxii 옮긴이 머리말

33 NHN 실제 앱 개발에 필요한 핵심적인 내용으로 구성되어 있어서 필요한 부분만 그때그때 골라봐도 도움이 될 것으로 생각됩니다. 애플에서 새롭게 내놓은 스위프트 언어를 이용하여 쉽고 빠르 게 앱 개발을 해보고 싶은 사람들에게 추천합니다. 비교적 최근에 발표된 스위프트 언어와 ios 8 앱 개발에 대해 번역서가 아직 많이 없는 시점에 서 궁금한 점, 중요한 점을 시원하게 긁어주는 책이라고 생각합니다. 이 책으로 인해 좀 더 많 은 앱이 스위프트로 작성되길 바랍니다. 버킷 리스트 중 하나인 책 저술, 번역에 앞서 이렇게 베타 리딩이라는 좋은 방법으로 발을 내디딘 것 같아 만족스러운 기회였습니다. 스위프트 언어를 처음 접하거나 아이폰 개발을 염두에 두고 있다면 좋은 참고서로 생각됩니 다. 저자는 Xcode의 소개부터 개발자 등록, 스위프트 언어의 특징적 기능/예시, UI 구성에 화 두가 되고 있는 스토리보드/유니버셜 앱 제작 등을 포함해 앱 개발에 사용되는 기술 전반을 다루고 있습니다. 또한, 번역된 용어의 혼선이 예상되는 단어는 영어로 병기하신 역자의 센스 도 돋보입니다. >_< ios 8에는 상당히 많은 변화가 있었습니다. 또한, 스위프트라는 새로운 언어도 함께 나왔습니 다. 이런 변화를 빠르게 살펴보고 배우려면 이 책을 추천합니다. 제목 그대로 핵심만 나와 있 어서 입문서로는 부족할지도 모르겠지만, 기존에 ios 개발자에게는 딱 맞는 책입니다. 변화에 빠르게 적응할 필요가 있습니다. 이제 스위프트를 시작할 때입니다. 제이펍은 책에 대한 애정과 기술에 대한 열정이 뜨거운 베타리더들로 하여금 출간되는 모든 서적에 사전 검증을 시행하고 있습니다. 옮긴이 머리말 xxxiii

34

35 C H A P T E R 1 이책에대하여 이 책의 목적은 ios 8 SDK와 Xcode 6, 그리고 스위프트(Swift) 프로그래밍 언어를 이용하여 ios 애플리케이션을 생성하는 데 필요한 기술을 가르치는 것이다. 여러분이 ios 개발에 처음인지, 아니면 ios 7으로 작업한 경험이 있어서 ios 8의 기능들과 스 위프트 프로그래밍 언어를 빠르게 습득하고자 하는지에 따라 이 책의 활용 방법이 크게 달라 질 것이다. 하지만 이 책은 양쪽 모두를 대상으로 하고 있으니 안심해도 좋다. 1.1 ios 만일 여러분이 ios 개발에 처음이라면 이 책의 전체 내용이 여러분에게 필요할 것이다. 기초부터 시작하는 이 책은 ios 개발환경을 구축하는 데 필요한 전반적인 내용을 제공하며, ios 애플리케이션과 사용자 인터페이스 설계에 관하여 자세히 살펴본 다음, ios 8의 아키텍처와 스위프트 프로그래밍에 관해 소개한다. 더불어서 파일 핸들링, 데이터베이스 관리, 앱 내 결제 (In App Purchase), 그래픽 드로잉, 그리고 애니메이션을 다루며, 터치 스크린 핸들링, 제스처 인식, 멀티태스킹, iad 통합, 위치 관리, 로컬 노티피케이션, 카메라 접근, 그리고 비디오 및 오디오 재 생에 관한 지원도 다룬다. 이 외에도 자동 레이아웃, 트위터 및 페이스북 통합, 이벤트 미리 알 림, 앱 내 결제 내용을 관리하는 앱 스토어, 컬렉션 뷰 등을 포함한 다른 기능들도 다룬다. 게다 가 스프라이트 킷(Sprite Kit) 기반의 게임 개발, 로컬 맵 검색, 그리고 UIKit 다이나믹스를 이용한 1

36 사용자 인터페이스 애니메이션 등을 포함한 다른 기능들도 다룬다. 스위프트 플레이그라운드, 사이즈 클래스를 이용한 유니버셜 사용자 인터페이스 설계, 인터페 이스 빌더 라이브 뷰, 임베디드 프레임워크, 클라우드킷(CloudKit) 데이터 저장소, 그리고 터치 아이디(TouchID) 인증을 포함하여 ios 8 SDK와 Xcode 6의 새로운 핵심 기능들도 다룰 것이다. 따라서 이 책의 목표는 여러분의 ios 8용 앱을 만드는 데 필요한 기술들을 가르치는 것이다. 이 책은 여러분이 ios 8 SDK와 Xcode를 다운로드한 상태이며, 인텔 기반의 맥과 함께 개발하 려는 어떤 아이디어로 시작할 준비가 되었다고 가정한 채 진행할 것이다. 1.2 ios 7 여러분이 핵심만 골라 배우는 ios 7 프로그래밍 (제이펍) 책을 이미 읽었거나 ios 7 SDK에 대 한 경험이 있다면, ios 8의 새로운 내용들을 바로 읽어보고 싶을 것이다. ios 8과 Xcode 6에 도입된 모든 변경 사항과 특징을 반영하기 위하여 이 책의 모든 내용이 업 데이트되었다. 이전 버전의 책에 포함되지 않았거나 ios 8과 Xcode 6와 관련하여 다시 집필된 장들은 다음과 같다. 스위프트 플레이그라운드 (Playground) 소개 스위프트 데이터 타입과 상수, 그리고 변수 스위프트 연산자와 표현식 스위프트 흐름 제어 스위프트 Switch 구문 스위프트 함수와 클로저(Closure)의 개요 스위프트의 객체지향 프로그래밍 기초 스위프트 상속 소개 스위프트의 배열(Array)과 딕셔너리(Dictionary) 컬렉션으로 작업하기 사이즈 클래스(Size Class)를 이용하여 유니버셜(Universal) ios 사용자 인터페이스 설계하기 ios 8의 CloudKit 데이터 저장소 소개 ios 8 CloudKit 예제 ios 8 CloudKit 구독 예제 ios 8 앱에 터치아이디 (TouchID) 인증 구현하기 2 CHAPTER 1 이 책에 대하여

37 인터페이스 빌더 라이브 뷰(Live View)와 ios 8 임베디드(Embedded) 프레임워크 ios 8의 익스텐션(Extension) 소개 ios 8 투데이(Today) 익스텐션 위젯 튜토리얼 ios 8 포토 에디팅(Photo Editing) 익스텐션 생성하기 ios 8 액션(Action) 익스텐션 생성하기 ios 8 액션 익스텐션으로부터 데이터 받기 또, 다음의 내용이 변경되었다. 이 책의 모든 장은 새로워진 Xcode 6를 반영하기 위하여 필요한 모든 내용을 업데이트하 였다. 이 책의 모든 내용과 예제는 오브젝티브 C 대신에 스위프트 (Swift)를 사용한다. 테이블뷰 (TableView) 예제는 셀프 사이징(self sizing) 테이블 셀과 동적(dynamic) 타입을 반영 하도록 업데이트되었다. 스프라이트킷 (SpriteKit) 장은 새로워진 Xcode 6의 스프라이트킷 레벨 편집기(SpriteKit Level Editor) 환경을 사용하도록 업데이트되었다. SQLite 장은 FMDB 래퍼 (wrapper) 클래스를 사용하도록 업데이트되었다. 비디오 재생 장은 AVPlayerViewController와 AVPlayer 클래스를 사용하도록 변경되었다. 1.3 이 책에 포함된 예제의 소스 코드와 Xcode 프로젝트 파일은 다음의 URL에서 다운로드받을 수 있다. URL 혹은 이 책 소개페이지 1.4 여러분이 이 책을 선택한 것에 만족하기를 바란다. 혹시 이 책에 오류가 있거나 언급할 사항, 또는 질문 등이 있다면 feedback@ebookfrenzy.com(저자) 혹은 naya.peter@gmail.com(역자)으로 연 락하길 바란다. 1.4 피드백 3

38 1.5 이 책 내용의 정확성을 위해 많은 노력을 했지만, 다양하고 복잡한 주제를 다루는 책은 몇몇 오류와 실수가 있을 수 있다. 이 책에 대해 알려진 모든 오탈자와 그 해결책은 다음의 URL에 서 설명한다. URL 혹시 위의 URL에 있지 않은 에러를 발견했다면 우리의 기술 지원팀의 이메일 주소인 보내주길 바란다. 번역서에 대한 오탈자는 역자의 인터넷 카페( 확인할 수 있다. 4 CHAPTER 1 이 책에 대하여

39 C H A P T E R 2 Apple ios개발자프로그램에 가입하기 ios 8 기반의 아이폰 애플리케이션 개발의 첫 번째 단계는 등록된 애플 개발자(Registered Apple Developer)와 ios 개발자 프로그램 회원(iOS Developer Program Member)의 차이점에 대하여 확실히 이해하는 것이다. 차이점에 관해 이해하고 나면 어떤 종류의 ios 개발자 프로그램에 비용을 내고 가입하는 것이 좋은지 결정할 수 있을 것이다. 이번 장에서는 두 종류의 개발자 프로그 램에 대한 차이점과 비용, 혜택 등에 관해 살펴보고 등록하는 각 과정을 알아보기로 하자. 2.1 애플 개발자로 등록하는 데에는 별도의 비용이 들지 않는다. 간단하게 다음의 웹 페이지를 방 문하여 등록 절차를 시작하면 된다. URL 아이튠즈나 애플 스토어에서 사용하는 애플 ID를 가지고 있다면 그 계정을 가지고 등록할 수 있다. 등록 과정이 완료되면 온라인 문서나 튜토리얼과 같은 개발자 자료에 접근할 수 있으며, 이전 버전의 ios SDK와 Xcode 개발환경을 다운로드받을 수도 있다. 5

40 2.2 Xcode 6 ios 8 SDK 최신 버전의 ios SDK와 Xcode는 맥용 앱 스토어(App Store)에서 무료로 다운로드받을 수 있다. Xcode가 무료라서 ios 개발자 프로그램으로 업그레이드할 것인지, 아니면 그대로 등록된 애 플 개발자로 남아 있을지 결정해야 한다. 그래서 ios 개발자 프로그램이 주는 혜택이 무엇인 지를 이해하는 것이 중요하다. 2.3 ios ios 개발자 프로그램의 멤버십은 현재 1년에 99달러다. 멤버십에는 앞에서 말한 최신 버전의 ios SDK와 Xcode 개발환경을 다운로드받을 수 있는 권한이 포함되어 있다. 하지만 멤버십이 주는 혜택은 등록된 애플 개발자 수준을 훨씬 뛰어넘는다. 개발자 프로그램에 포함된 주요한 혜택들 중 한 가지는 실제 기기에서 애플리케이션을 테스트 할 수 있는 프로비저닝 프로파일과 인증서를 만들 수 있다는 점이다. Xcode에는 디바이스 시 뮬레이터가 있어서 대부분의 테스트를 수행할 수 있지만, 위치 추적과 터치아이디(TouchID) 인 증, 그리고 디바이스의 움직임과 같은 특정 기능들은 실제 기기에서만 테스트할 수 있다. 그리 고 중요한 점은 아이클라우드(iCloud) 접근과 미리 알림(Reminders), 그리고 앱 내 결제 관련 애 플리케이션은 실제 기기에서만 테스트할 수 있다는 것이다. 또한, ios 개발자 프로그램 멤버는 최신 ios SDK와 관련된 모든 종류의 지침서나 튜토리얼에 접근할 수 있으며, 더 중요한 것은 (1년에 단 두 번의 문의만 무료이긴 하지만) 애플의 ios 기술 지 원 엔지니어에게 기술 문의를 할 수 있다는 점이다. 가장 중요한 점은 ios 개발자 프로그램 멤버만이 앱 스토어를 통한 애플리케이션 판매 및 배 포를 할 수 있다는 점이다. 따라서 앱 스토어에 애플리케이션을 올리려면 어느 특정 시점에서는 개발자 프로그램 멤버에 가입해야 한다. 그렇다면 언제 가입해야 할까 2.4 ios ios 개발자 프로그램 멤버십이 여러 혜택을 제공하며, 특히 애플리케이션을 판매하기 위해서 는 필수적이라는 것이 분명해졌다. 그렇다 하더라도 지금 가입할지 아니면 나중에 가입할지는 6 CHAPTER 2 Apple ios 개발자 프로그램에 가입하기

41 개인적인 상황에 따라 다를 것이다. 만약 여러분이 ios 애플리케이션 개발에 관해 공부를 하 는 첫 단계이거나 아직까지 멋진 아이디어가 없다면, 등록된 애플 개발자 패키지가 제공하는 것이면 충분하다. 개발 관련 기술을 습득하고 애플리케이션 개발에 관한 아이디어를 충분히 가다듬은 후에 개발자 프로그램에 가입해도 늦지 않다. 반면에 조만간 프로그램 개발이 끝나고 배포를 계획하고 있거나 실제 기기에서 테스트해야 하 는 기능이 있다면 가능한 빨리 개발자 프로그램에 가입해야 한다. 2.5 ios 만약 지금 여러분이 속한 회사에서 사용할 ios 애플리케이션을 개발하려고 하는 것이라면, 회사가 이미 멤버십 가입을 했는지 확인하는 것이 필요하다. 가입되어 있다면 회사의 프로 그램 관리자에게 연락하여 개발 팀원으로 참여할 수 있도록 ios 개발자 프로그램 멤버 센터 의 초대장을 요청하자. 이 과정이 진행되면 멤버십을 활성화시킬 수 있는 링크가 포함된 You Have Been Invited to Join an Apple Developer Program 이라는 제목의 이메일을 애플로부터 받을 것이다. 여러분의 회사가 개발자 프로그램 멤버십 가입을 하지 않았다면 다음의 링크를 통해 가입할 수 있다. URL 애플은 가입 옵션으로 기업과 개인의 두 가지 방법을 제공한다. 개인으로 가입하려면 신분을 증명하기 위한 신용카드 정보를 제공해야 한다. 기업으로 가입하려면 사업자등록증 및 법인에 대한 정보를 제공해야 한다. 개인용 멤버 등록은 보통 24시간 이내에 애플로부터 활성화(activation) 이메일이 올 것이다. 기 업용 멤버 등록은 추가적인 확인 사항이 많기 때문에 훨씬 긴 시간이 필요하며, 경우에 따라 수주 또는 수개월이 걸릴 수도 있다. 활성화를 기다리는 동안에도 아래 URL을 통해 애플 ID와 암호를 사용하여 로그인하면, 제한 적이긴 하지만 자료 접근이 가능하다. URL 로그인한 후 화면 상단의 Your Account 탭을 선택하면 개발자 프로그램 가입 상태가 Enrollment Pending 으로 보일 것이다. 2.5 ios 개발자 프로그램에 가입하기 7

42 2 1 활성화 이메일을 받은 후에 멤버 센터에 접속하면 그림 2 2와 같은 다양한 형태의 자료에 접근 이 가능하다 ios 8 애플리케이션 개발 초기 단계에서 중요한 부분인, 등록된 애플 개발자 및 ios 개발자 프 로그램 멤버십 가입 시점에 대해 알아보았다. 이 장에서는 두 가지 프로그램의 개략적인 차이 와 개발자 프로그램에 대해 주의해야 할 점 및 등록 과정에 대해 간략하게 알아보았다. 다음 단계에서는 ios 8 SDK 및 Xcode 6 개발환경을 다운로드받고 설치하는 방법에 대해 알아보자. 8 CHAPTER 2 Apple ios 개발자 프로그램에 가입하기

43 C H A P T E R 6 스위프트 플레이그라운드소개 애플은 ios 8과 Xcode 6뿐만 아니라, ios 앱 개발의 기본인 오브젝티브 C를 대체하는 새로운 스위프트(Swift) 프로그래밍 언어를 발표하였다. 이 책에서는 9개의 장에 걸쳐 새로운 언어인 스위프트 기초에 대해 소개할 것이다. 또한, 이 책의 모든 샘플들은 새로운 프로그래밍 언어 인 스위프트를 이용하여 개발되었다. 스위프트 프로그래밍 언어에 대한 설명을 하기 전에 스위프트 플레이그라운드(Swift playground)를 먼저 살펴보도록 하자. 플레이그라운드는 Xcode 6에서 도입된 새로운 기능들 중 하나로, 훨씬 더 쉽게 스위프트를 배우고 ios 8 SDK를 경험할 수 있도록 해준다. 이번 장에서는 이후의 수 많은 스위프트 샘플에서 사용하게 될 개념들을 다룰 것이다. 6.1 플레이그라운드는 스위프트 코드를 입력할 수 있고 실행할 수 있으며, 실시간으로 그 결과를 볼 수 있는 대화형 환경이다. 이것은 표준 Xcode ios 프로젝트에서 일반적으로 이뤄지는 코딩/ 컴파일/실행/디버그 과정 없이 스위프트 구문을 배울 수 있도록 가상 환경을 만들어준다. 36

44 6.2 새로운 플레이그라운드를 생성하기 위해서 Xcode를 실행하고, 환영 화면(welcome screen)에서 Get started with a playground 옵션을 선택하거나 File New Playground 메뉴를 선택한다. 그 다음에 나온 화면에서 플레이그라운드 이름을 LearnSwift라고 하고 Platform 메뉴를 ios로 설 정한다. 설정이 끝났으면 Next를 클릭하고 저장될 적당한 위치를 선택하자. 플레이그라운드가 생성되었다면 다음과 같이 스위프트 코드를 입력할 수 있는 화면이 나타날 것이다. A B 6 1 화면의 왼쪽 패널(그림 6 1에서 A 로 표시된 부분)은 스위프트 코드가 입력되는 플레이그라운드 에 디터(playground editor)다. 오른쪽 패널(그림 6 1에서 B 로 표시된 부분)은 결과 패널(result panel)이라고 부르며, 플레이그라운드 에디터 패널에 입력한 스위프트 코드의 결과가 표시된다. 플레이그라운드 환경에 익숙해지려면 간단한 예제를 만들어보는 것이 가장 빠른 방법일 것이다. 6.3 아마도 모든 프로그래밍 언어에서의 가장 간단한 예제는 한 줄의 텍스트를 출력하는 코드를 작성하는 것이다. 스위프트 역시 예외는 아니다. 플레이그라운드 화면의 에디터 패널에 있는 현재 스위프트 코드를 삭제하자. 6.3 스위프트 플레이그라운드 예제의 기초 37

45 var str = "Hello, playground" 그런 다음, 다음과 같이 스위프트 코드를 입력한다. println("welcome to Swift") 위의 코드는 문자열 매개변수를 받아서 콘솔에 표시하는 내장된 스위프트 함수인 println을 호 출한다. 다른 프로그래밍 언어에 익숙한 독자라면 코드 끝에 세미콜론이 없다는 것을 알아차 렸을 것이다. 스위프트에서 세미콜론은 선택사항이며, 한 줄에 여러 개의 코드가 있을 때 그 것들을 구분하기 위해서만 사용된다. 위의 코드를 입력했다면 그림 6 2와 같이 에디터 패널 오른쪽의 결과 패널에 println을 호출한 결과가 보일 것이다 플레이그라운드는 스위프트로 알고리즘을 만들고 테스트할 때 유용하며, 플레이그라운드 타 임라인 어시스턴트(Playground Timeline Assistant)와 결합하여 사용하면 특히 유용하다. 플레이그 라운드 에디터에서 위에 작성한 println 구문 아래에 다음의 코드를 입력하자. var x = 10 for index in { let y = index * x -- } 38 CHAPTER 6 스위프트 플레이그라운드 소개

46 앞의 코드는 산술식을 수행하는 루프가 20번 반복한다. 위의 코드를 에디터에 입력했다면 플 레이그라운드는 루프를 실행할 것이며, 결과 패널에 몇 번 수행되었는지 표시될 것이다. 여기 서 흥미로운 점은 결과 패널에 나타난 결과 부분으로, 마우스 포인터로 가져가면 그림 6 3과 같이 두 개의 버튼이 나타난다는 것이다. 6 3 두 개의 버튼 중에 왼쪽에 있는 버튼은 퀵 룩(quick look) 버튼으로, 이를 선택하면 결과를 표시 하는 팝업 패널이 나타날 것이다. 현재는 그냥 (20 times) 라는 메시지만 보여주고 있지만, 나중 에 하게 될 사용자 인터페이스 뷰(view)나 그래픽 드로잉 코드를 가지고 작업할 때 더욱 유용 할 것이다. 오른쪽에 있는 버튼은 밸류 히스토리(value history) 버튼으로, 이것을 선택하면 플레이 그라운드 타임라인 어시스턴트 패널이 표시될 것이다. 지금은 타임라인 패널에 루프에서 생성 된 결과 값을 표시하는 그래프가 나타난다. 6 4 타임라인은 플레이그라운드 에디터 패널의 모든 표현식에 대한 밸류 히스토리를 기록하고 표 시한다. 예를 들면, 우리가 맨 처음에 입력한 println 구문도 항목으로 포함하고 있다. 6.4 플레이그라운드 타임라인 39

47 타임라인 패널의 하단에 있는 슬라이더(slider)를 움직이면 각 지점에서의 결과를 확인할 수 있 다. 예를 들어, 슬라이더를 왼쪽으로 움직이면 그래프의 여러 값들이 표시되는 것을 볼 수 있 을 것이다 UIKit 플레이그라운드 환경은 간단한 스위프트 코드 구문만 할 수 있는 것이 아니다. 대부분의 ios 8 SDK를 플레이그라운드에서 테스트할 수도 있다. 위에서 플레이그라운드를 생성했을 때 ios UIKit 프레임워크를 임포트하는 코드가 이미 추가 되어 있었다. UIKit 프레임워크는 ios 애플리케이션용 사용자 인터페이스를 구현하는 데 필요 한 대부분의 클래스를 포함하고 있으며, 이 책에서 자세하게 설명할 부분이기도 하다. 플레이 그라운드의 가장 강력한 특징은 ios 8 SDK에 포함된 다른 프레임워크와 함께 UIKit을 사용할 수 있다는 것이다. 예를 들어, 다음의 코드는 UILabel 인스턴스를 생성하고 색상과 텍스트, 그리고 폰트 속성을 설정한다. let mylabel = UILabel(frame: CGRectMake(0, 0, 200, 50)) mylabel.backgroundcolor = UIColor.redColor() mylabel.text = "Hello Swift" mylabel.textalignment =.Center mylabel.font = UIFont(name: "Georgia", size: 24) mylabel 40 CHAPTER 6 스위프트 플레이그라운드 소개

48 위의 코드를 플레이그라운드 에디터에 입력하고, 결과 패널에서 마지막에 있는 레이블 객체 의 밸류 히스토리 버튼을 클릭하면 다음과 같이 표시될 것이다. 6 6 이번 예제는 퀵 룩 기능을 유용하게 사용할 수 있는 좋은 예제다. 이번 예제에서의 각 코드 줄 은 UILabel 인스턴스의 모양을 구성하는 스위프트 코드다. 첫 번째 줄의 퀵 룩 버튼을 클릭하 면 비어 있는 뷰가 표시될 것이다. 왜냐하면 레이블을 생성하긴 했지만 아직 시각적으로 보이 는 속성을 주지 않았기 때문이다. 하지만 배경색을 설정한 그 밑에 있는 퀵 룩 버튼을 클릭해 보면 빨간색 레이블이 표시될 것이다. 6 7 마찬가지로, 텍스트 속성을 설정하는 줄의 퀵 룩 버튼을 클릭하면 Hello Swift 라는 텍스트가 빨간색 레이블의 왼쪽에 정렬되어 표시될 것이다. 6 8 폰트를 설정하는 퀵 룩 버튼을 클릭하면 중앙 정렬된 Georgia 폰트의 레이블이 표시될 것이다. 6 9 mylabel 6.5 플레이그라운드에서 UIKit으로 작업하기 41

49 6.6 스위프트 플레이그라운드는 스위프트 프로그래밍 언어로 프로그래밍하는 방법을 배우기 위 한 이상적인 환경을 제공하며, 이후의 스위프트에 대해 설명하는 장에서는 플레이그라운드를 사용하길 권장한다. 스위프트의 기초를 배운 후에도 한동안은 플레이그라운드를 사용하는 것이 유용할 것이며, ios 개발에서 조금 더 고급 기술을 사용할 때도 많은 도움이 될 것이다. ios 8 SDK는 프레임워크들과 클래스들의 거대한 집합이다. 따라서 숙련된 개발자라도 프로젝 트에 코드를 추가하기 전에 익숙하지 않은 ios 기능들을 테스트해보게 될 것이다. 지난 경험 들을 비춰보면 원하는 기능을 구현하기 위해서 임시로 ios 프로젝트를 생성하고 코딩과 컴파 일, 그리고 실행을 반복하곤 했었다. 여러분도 이런 식으로 하기보다는 프로젝트를 할 때 플레 이그라운드에서 테스트를 하면서 프로젝트를 진행할 것을 권장한다. 6.7 이번 장에서는 스위프트 플레이그라운드에 대한 개념을 설명하였다. 플레이그라운드는 스위 프트 코드를 입력할 수 있는 환경과 동적으로 그 결과를 볼 수 있는 환경을 제공한다. 이것은 스위프트 프로그래밍 언어를 배우기 위한 환경을 제공할 뿐만 아니라 임의의 Xcode 프로젝트 를 생성하지 않고도 ios 8 SDK에 포함된 많은 클래스와 API를 테스트할 수 있게 해준다. 42 CHAPTER 6 스위프트 플레이그라운드 소개

50 C H A P T E R 34 ios 8에서파일다루기 이전 장에서는 Foundation 프레임워크의 NSFileManager, NSFileHandle과 NSData에 대해 알 아보았으며, 특히 ios 8 애플리케이션에서 NSFileManager를 이용하여 어떻게 디렉터리를 다루 는지에 대해 알아보았다. 또, ios에서 사용하는 파일 시스템 구조에 대해 다루었으며, 특히 각 애플리케이션에 할당되는 Documents 디렉터리와 임시 디렉터리에 대해 알아보고 애플리케이 션 코드에서 해당 디렉터리를 확인하는 방법에 대해 살펴보았다. 이번 장에서는 ios 8 SDK에서 파일을 처리하는 방법에 대해 알아보겠다. 파일 처리에 대한 이 론을 배운 다음, 다음 장에서 예제 애플리케이션을 만들어보자 NSFileManager 진행하기에 앞서 다시 한 번 애플리케이션의 NSFileManager 인스턴스를 얻는 방법에 대해 알 아보자. 앞 장에서 언급한 것처럼 NSFileManager 클래스는 클래스의 인스턴스를 얻는 데 사 용되는 defaultmanager라는 클래스 메서드를 가지고 있다. 예를 들면, 다음과 같다. let filemgr = NSFileManager.defaultManager() 파일 매니저 객체를 얻었다면 이를 이용하여 기본적인 파일 처리 작업을 수행할 수 있다. 278

51 34.2 NSFileManager 클래스는 fileexistsatpath라는 인스턴스 메서드를 가지고 있으며, 이 메서드는 특정한 파일이 존재하는지를 체크한다. 이 메서드는 존재를 확인하고 싶은 파일 경로를 포함 한 파일명을 값으로 가진 NSString 객체를 인자로 가지며, 해당 파일이 존재하는지를 불리언 (Boolean) 값으로 반환한다. if filemgr.fileexistsatpath("/applications") { println("file exists") } else { println("file not found") } 34.3 contentsequalatpath 메서드는 두 개의 파일 내용이 같은지를 체크한다. 이 메서드는 비교할 두 개의 파일의 경로명을 인자로 받으며, 비교 결과를 불리언 값으로 반환한다. if filemgr.contentsequalatpath(filepath1, andpath: filepath2) { println("file contents match") } else { println("file contents do not match") } 34.4 대부분의 운영체제는 파일 접근 제어 수준을 제공한다. 일반적인 경우 파일에 대한 사용 자 혹은 사용자 그룹의 접근 수준을 속성의 형태로 제공한다. 그러므로 여러분의 프로그램 이 특정한 파일에 대해 쓰기, 읽기, 삭제 및 이름변경 권한이 있을 수도 있고 없을 수도 있 다. 프로그램에서 특정 파일에 대한 권한을 쉽게 확인할 수 있는 방법은 isreadablefileatpath, iswritablefileatpath, isexecutablefileatpath, isdeletablefileatpath 메서드를 이용하는 것이다. 각 메서드는 체크할 파일의 경로를 인자로 받으며, 결과를 불리언 값으로 리턴한다. 다음의 예 는 파일에 쓰기 권한이 있는지를 확인한다. if filemgr.iswritablefileatpath(filepath1) { println("file is writable") } else { println("file is read-only") } 34.4 파일의 읽기가능/쓰기가능/실행가능/삭제가능 상태 확인하기 279

52 위의 예제에서 다른 접근 권한을 체크하고 싶으면 위의 코드에서 iswritablefileatpath에 해당 하는 메서드 이름만 적절하게 바꿔주면 된다 적절한 권한이 있다면 moveitematpath 메서드를 사용하여 파일 이름을 바꿀 수 있다. 이 메 서드는 불리언 값을 반환하며, 인자로는 옮겨질 파일의 경로명, 목적 경로명과 에러가 발생했 을 때 에러 정보를 저장할 NSError 객체를 가질 수 있다. 에러 정보가 필요하지 않으면 이 인 자는 nil로 설정한다. 해당 경로에 파일이 이미 존재하면 메서드 수행은 실패한다. var error: NSError? if filemgr.moveitematpath(filepath1, topath: filepath2, error: &error) { println("move successful") } else { println("moved failed with error: \(error!.localizeddescription)") } 34.6 파일의 복사는 copyitematpath 메서드를 통해 수행된다. 이동 메서드와 마찬가지로 소스, 목 적지 경로명과 선택적인 NSError 객체를 인자로 갖는다. 메서드 실행의 성공 여부는 반환되는 불리언 값으로 알 수 있다. var error: NSError? if filemgr.copyitematpath(filepath1, topath: filepath2, error: &error) { println("copy successful") } else { println("copy failed with error: \(error!.localizeddescription)") } 34.7 removeitematpath 메서드는 지정한 파일을 파일 시스템에서 제거한다. 이 메서드는 삭제할 파 일의 경로명과 선택적인 NSError 객체를 인자로 갖는다. 불리언 형식의 반환 값으로 메서드 수 행의 성공 여부를 확인할 수 있다. 280 CHAPTER 34 ios 8에서 파일 다루기

53 var error: NSError? if filemgr.removeitematpath(filepath1, error: &error) { println("remove successful") } else { println("remove failed: \(error!.localizeddescription)") } 34.8 심볼릭 링크(symbolic link)는 createsymboliclinkatpath 메서드에 의해 만들어지는 특별한 파 일이다. 이 메서드는 심볼릭 링크의 경로명, 심볼릭 링크가 가리킬 파일의 경로명과 선택적인 NSError 객체를 인자로 갖는다. var error: NSError? if filemgr.createsymboliclinkatpath(filepath2, withdestinationpath: filepath1, error: &error) { println("link successful") } else { println("link failed: \(error!.localizeddescription)") } 34.9 NSFileManager NSFileManager 클래스는 기본적인 파일 읽기와 쓰기 기능을 갖고 있다. 이들 기능은 NSFileHandle 클래스가 제공하는 기능에 비해 제한적이긴 하지만, 그래도 대부분의 경우 사 용할 수 있다. 먼저, contentsatpath 메서드를 이용하여 파일의 내용을 읽어 NSData 객체에 저장한다. let databuffer = filemgr.contentsatpath(filepath1) NSData 객체에 파일의 내용을 저장했다면 createfileatpath 메서드를 이용하여 새로운 파일을 만들 수 있다. filemgr.createfileatpath(filepath2, contents: databuffer, attributes: nil) 34.9 NSFileManager로 파일 읽고 쓰기 281

54 앞의 코드에서는 기존 파일의 내용을 읽어 새로운 파일에 썼다. 그렇지만 이 방법은 얼마나 많 은 데이터를 읽고 쓰는지 제어를 할 수 없으며, 기존 파일의 뒷부분에 데이터를 추가하는 방법 도 제공하지 않는다. 위의 예제에서 가리키는 파일 이 이미 존재하는 파일이고 어떠한 내용을 가지고 있다면 파일의 내용으로 덮어쓰게 된다. 따라서 좀 더 유연한 기능이 필요한데, 파운데 이션 프레임워크(Foundation Framework)의 NSFileHandle 클래스가 이를 제공한다 NSFileHandle NSFileHandle 클래스는 파일과 관련된 좀 더 고급적인 메커니즘을 제공하기 위해 설계된 다 양한 메서드를 제공한다. 이 클래스는 파일뿐 아니라 디바이스나 네트워크 소켓(network socket) 을 다루는 데 사용될 수도 있다. 이어지는 절에서 이 클래스에 대해 알아보자 NSFileHandle NSFileHandle 객체는 파일 읽기, 쓰기 혹은 갱신(읽고 쓰기)을 위하여 파일을 오픈할 때 만들어 질 수 있다. 오픈된 파일은 작업이 끝나면 반드시 closefile 메서드를 통해 닫아야 한다. 파일을 오픈하는 시도가 실패했다면(파일이 없는 경우 등) 이 메서드는 nil을 반환한다. 다음의 예제는 읽고 쓰기를 위해 파일을 단순히 열고 닫는 코드다. let file: NSFileHandle? = NSFileHandle(forReadingAtPath: filepath1) } if file == nil { println("file open failed") } else { file?.closefile() NSFileHandle NSFileHandle 객체는 파일에서 현재의 위치를 가리키는 포인터를 관리한다. 이는 오프셋(offset) 이라고 불린다. 파일이 처음 오픈되었을 때 오프셋은 0(파일의 맨 앞)이다. 따라서 NSFileHandle 인스턴스 메서드를 이용하여 파일을 읽거나 쓸 때 오프셋은 0이다. 파일의 다른 위치에서 작 업이 필요할 때(예를 들면, 파일의 제일 끝에 데이터를 추가할 때)는 먼저 오프셋을 이동해야 한다. 생성될 파일로, 예제 코드에서는 filepath2를 말한다. 282 CHAPTER 34 ios 8에서 파일 다루기

55 예를 들면, 현재의 오프셋에서 파일의 끝으로 이동하는 경우 seektoendoffile 메서드를 사용 한다. seektofileoffset 메서드는 이동할 오프셋의 위치를 지정할 수 있다. 마지막으로, 현재의 오프셋은 offsetinfile 메서드를 사용하여 확인할 수 있다. 대용량의 파일을 처리하기 위해 오프 셋은 unsigned 64비트 정수형으로 저장된다. 다음의 예제는 읽기 위해 파일을 오픈하고 오프셋을 여러 위치로 이동하면서 그 시점의 오프 셋을 출력하기 위한 메서드들을 수행한다. let file: NSFileHandle? = NSFileHandle(forReadingAtPath: filepath1) if file == nil { println("file open failed") } else { println("offset = \(file?.offsetinfile)") file?.seektoendoffile() println("offset = \(file?.offsetinfile)") file?.seektofileoffset(30) println("offset = \(file?.offsetinfile)") file?.closefile() } 오프셋은 NSFileHandle 클래스를 이용하여 파일을 다루는 작업에서 중요한 개념이므로 이에 대해 충분히 이해해야 한다. 현재의 오프셋의 위치를 알지 못한다는 것은 데이터를 읽거나 써 야 할 파일의 위치가 어디인지 알지 못한다는 것이다 파일이 오픈되고 파일 핸들이 할당되면 현재 오프셋에서 파일의 내용을 읽을 수 있다. readdataoflength 메서드는 지정한 바이트의 데이터를 파일의 현재 오프셋부터 읽는다. 예 를 들면, 다음의 코드는 파일의 오프셋 10부터 5바이트의 데이터를 읽는 것이다. 이 데이터는 NSData 객체에 캡슐화되어 반환된다. let file: NSFileHandle? = NSFileHandle(forReadingAtPath: filepath1) if file == nil { println("file open failed") } else { file?.seektofileoffset(10) let databuffer = file?.readdataoflength(5) file?.closefile() } 파일에서 데이터 읽기 283

56 반면, readdatatoendoffile 메서드는 현재 오프셋부터 파일의 끝까지 모두 읽는다 writedata 메서드는 NSData 객체의 데이터를 현재의 오프셋부터 파일에 쓴다. 해당 오프셋에 이미 데이터가 있으면 내용을 삽입하는 것이 아니라 덮어쓰게 된다. quickfox.txt라는 파일이 다음과 같은 내용을 가지고 있다고 가정하자. The quick brown fox jumped over the lazy dog 이제 갱신을 위해 파일을 오픈하고 오프셋을 10으로 이동시킨 후 그 위치에 데이터를 쓴다. let file: NSFileHandle? = NSFileHandle(forUpdatingAtPath: filepath1) if file == nil { println("file open failed") } else { let data = ("black dog" as NSString).dataUsingEncoding(NSUTF8StringEncoding) file?.seektofileoffset(10) file?.writedata(data!) file?.closefile() } 위의 프로그램을 실행하면 quickfox.txt 파일의 내용은 다음과 같이 바뀔 것이다. The quick black dog jumped over the lazy dog truncatefileatoffset 메서드를 사용하여 지정한 오프셋에서 파일을 잘라낼 수 있다. 전체 파일 의 내용을 잘라내려면 오프셋을 0으로 설정하고 이 메서드를 호출하면 된다. let file: NSFileHandle? = NSFileHandle(forUpdatingAtPath: filepath1) if file == nil { println("file open failed") } else { file?.truncatefileatoffset(0) file?.closefile() } 284 CHAPTER 34 ios 8에서 파일 다루기

57 34.16 다른 운영체제와 마찬가지로 ios도 사용자와 애플리케이션의 파일과 데이터를 저장하기 위해 파일 시스템을 제공한다. 이전 장과 이번 장에서 파일과 디렉터리를 다루는 방법에 대해 알아 보았다. 다음 장인 35장 ios 8 디렉터리 관리 및 파일 입출력 예제 에서는 ios의 파일과 디렉터리 처리를 위한 예제 프로그램을 만들 것이다 요약 285

58 찾 아보기 숫자 및 기호.Down 413.exit 333.FiresOnce 391.FiresOnRecordUpdate 391.Left 413.Right 413.storyboard 확장자 17.swift 확장자 16.tables 333.Up 413.xcdatamodeld 356 // MARK: Table view data source 472 [Environment: Sandbox] 824? 문자 52 <app id> 273 <device id> 273 <user name> 273 A absolute path names 271 ACAccountStore 784 ACAccountType 784 Accounts 탭 28, 30 Accounts 프레임워크 771, 783, 784, 790 accountswithaccounttype 785 ACFacebookAudienceEveryone 788 ACFacebookAudienceFriends 788 ACFacebookAudienceKey 787 ACFacebookAudienceOnlyMe 788 ACFacebookPermission 787 Action Extension 674, 707 Action 119, 120, 126 Activate 692 activity view controller 672 ad refresh rate 581 AdBannerView 574 ADBannerViewDelegate 574, 578 Add Apple ID 29 Add Attribute 356 Add Attribute 버튼 350 Add Entity 356 Add Entity 버튼 350 Add Missing Constraints 376 addchildbehavior 516 addconstraint 173 addgesturerecognizer 411 addimage 775 addurl 775 adjustmentdata 703 afconvert 툴 758 Affected by Gravity 545 Affine transformations 500 AirPlay 752 alarmwithabsolutedate 728 alarmwithrelativeoffset 728 Align 메뉴 22 Alignment 167 All Frames in Container 22 allowablemovement 414 Allows Rotation 545 allowsediting 740 allowsrotation 515 찾아보기 841

iOS ÇÁ·Î±×·¡¹Ö 1205.PDF

iOS ÇÁ·Î±×·¡¹Ö 1205.PDF iphone ios 5 DEVELOPMENT ESSENTIALS Copyright 2011 Korean Translation Copyright 2011 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through Agency-One, Seoul. i iphone ios

More information

iphone ios 6 DEVELOPMENT ESSENTIALS Copyright c 2012 Neil Smyth. All rights reserved. Korean Translation Copyright c 2013 by J-Pub. co. The Korean edi

iphone ios 6 DEVELOPMENT ESSENTIALS Copyright c 2012 Neil Smyth. All rights reserved. Korean Translation Copyright c 2013 by J-Pub. co. The Korean edi iphone ios 6 DEVELOPMENT ESSENTIALS Copyright c 2012 Neil Smyth. All rights reserved. Korean Translation Copyright c 2013 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

iphone ios 6 DEVELOPMENT ESSENTIALS Copyright c 2012 Neil Smyth. All rights reserved. Korean Translation Copyright c 2013 by J-Pub. co. The Korean edi

iphone ios 6 DEVELOPMENT ESSENTIALS Copyright c 2012 Neil Smyth. All rights reserved. Korean Translation Copyright c 2013 by J-Pub. co. The Korean edi iphone ios 6 DEVELOPMENT ESSENTIALS Copyright c 2012 Neil Smyth. All rights reserved. Korean Translation Copyright c 2013 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

ios 7 App Development Essentials Korean Translation Copyright c 2014 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth thro

ios 7 App Development Essentials Korean Translation Copyright c 2014 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth thro ios 7 App Development Essentials Korean Translation Copyright c 2014 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through Agency One, Seoul. Copyright c 2013 Neil Smyth.

More information

iOS9_내지(최종)_4도_160412.indd

iOS9_내지(최종)_4도_160412.indd ios 9 App Development Essentials by Neil Smyth Copyright 2015 Neil Smyth. All rights reserved. Korean Translation Copyright 2016 by J.Pub. co. The Korean edition was published by arrangement with Neil

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

SIGIL 완벽입문

SIGIL 완벽입문 누구나 만드는 전자책 SIGIL 을 이용해 전자책을 만들기 EPUB 전자책이 가지는 단점 EPUB이라는 포맷과 제일 많이 비교되는 포맷은 PDF라는 포맷 입니다. EPUB이 나오기 전까지 전 세계에서 가장 많이 사용되던 전자책 포맷이고, 아직도 많이 사 용되기 때문이기도 한며, 또한 PDF는 종이책 출력을 위해서도 사용되기 때문에 종이책 VS

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

iOS5_1±³

iOS5_1±³ IDG Deep Dive ios 5 2 3 4 5 6 7 8 9 10 11 12 ios 5 토어 버튼이 상단 좌측에 추가되어 아이튠즈 스토 어의 적합한 영역으로 연결해 준다. 또한 블루투스의 원격제어 기능인 AVRCP(AV Remote Control Profile)가 1.3 버전으로 업데이 트되어 음악을 블루투스로 스트리밍할 때 트랙과 아티스트, 앨범 정보를

More information

13Åë°è¹é¼Ł

13Åë°è¹é¼Ł 이면은빈공간입니다. National Statistics White Paper 2012 National Statistics White Paper ii _ STATISTICS KOREA 2012 _ iii 2012 National Statistics White Paper 1 26 2 27 3 28 4 29 5 30 6 31 7 32 8 33 9 34 10 35

More information

wtu05_ÃÖÁ¾

wtu05_ÃÖÁ¾ 한 눈에 보는 이달의 주요 글로벌 IT 트렌드 IDG World Tech Update May C o n t e n t s Cover Story 아이패드, 태블릿 컴퓨팅 시대를 열다 Monthly News Brief 이달의 주요 글로벌 IT 뉴스 IDG Insight 개발자 관점에서 본 윈도우 폰 7 vs. 아이폰 클라우드 컴퓨팅, 불만 검증 단계 돌입 기업의

More information

소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기

소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기 소규모 비즈니스를 위한 YouTube 플레이북 YouTube에서 호소력 있는 동영상으로 고객과 소통하기 소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기

More information

동북아 문화공동체 형성을 위한 한 중 일 대중문화 교류의 현황 및 증진 방안 연구 동북아 문화공동체 특별연구위원회 구 분 성 명 소 속 및 직 위 위 원 장 김 광 억 서울대 인류학과 교수 김 우 상 연세대 정치외교학과 교수 박 준 식 한림대 사회학과 교수 전 영 평 대구대 도시행정학과 교수 위 원 정 진 곤 한양대 교육학과 교수 정 하 미 한양대 일본언어

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

1

1 1 2 3 4 5 6 b b t P A S M T U s 7 m P P 8 t P A S M T U s 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chapter 1 29 1 2 3 4 18 17 16 15 5 6 7 8 9 14 13 12 11 10 1 2 3 4 5 9 10 11 12 13 14 15

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집 Modern Modern www.office.com ( ) 892 5 : 1577-9700 : http://www.microsoft.com/korea Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

Microsoft Word - 문필주.doc

Microsoft Word - 문필주.doc 포커스 포커스 모바일 광고기능을 갖는 아이폰 애플리케이션 문필주* 이요섭** 최근의 모바일 광고 시장은 이동통신사 중심의 SMS 발송 형태에서 아이폰의 등장과 앱 스토어(App Store)의 성공에 의한 콘텐츠 내의 플랫폼(App-vertising) 형태로 변해 가고 있다. 본 고에서는 모바일 광 고 아이폰 애플리케이션을 활용할 수 있는 방법에 대해 논의하고자

More information

학위논문홍승아.hwp

학위논문홍승아.hwp 印 印 印 - iv - - v - - vi - - vii - - viii - -1- -2- -3- -4- -5- -6- - -7- vii - - -8- viii - -9- 1) --10- x - --11- xi - --12- xii - -13- -14- -15- -16- -17- -18- -19- -20- --21- xxi - -22- - -23- xxiii

More information

PowerPoint Presentation

PowerPoint Presentation FAST CAMPUS 2014년 6월 2일 애플(Apple)이 세계개발자대회 (WWDC 2014)에서 ios와os X 기반의 애플리케이션 개발을 위해 새로운 프로그래밍 언어 스위프트 를 선보였습니다. 보통 프로그램 언어의 경우 사람이 사용하는 말과 유사할수록 성능은 떨어지는데 이는 사람의 말과 유사할 경우 컴퓨터가 이해하도록 바꾸는 데 시간이 많이 걸리기 때문입니다.

More information

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

PathEye 공식 블로그 다운로드 받으세요!!   지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는

More information

<BEC6BFF4BCD2BDCCBAB8B0EDBCAD28C3D6C1BE29303831302E687770>

<BEC6BFF4BCD2BDCCBAB8B0EDBCAD28C3D6C1BE29303831302E687770> 동아시아역내 일본자동차산업의 아웃소싱 시장 분석을 통한 국내자동차부품기업의 진출방안 연구 2008. 8. 29. 한일산업기술협력재단 연구 참여자 책임연구자: 김도훈(한일산업기술협력재단 일본기업연구센터 연구위원) 연 구 자: 오재훤(메이지대학 국제일본학부 준교수) 연 구 자: 김봉길(도야마대학 경제학부 교수) 연 구 자: 정성춘(대외경제정책연구원 일본팀장) 연

More information

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

1

1 2/33 3/33 4/33 5/33 6/33 7/33 8/33 9/33 10/33 11/33 12/33 13/33 14/33 15/33 16/33 17/33 5) 입력을 다 했으면 확인 버튼을 클릭합니다. 6) 시작 페이지가 제대로 설정이 되었는지 살펴볼까요. 익스플로러를 종료하고 다시 실행시켜 보세요. 시작화면에 야후! 코리아 화면이 뜬다면 설정 완료..^^

More information

사용하기 전에 2

사용하기 전에 2 SM-T255S 사용 설명서 www.samsung.com/sec 사용하기 전에 2 표기된 기호 설명 저작권 등록상표권 애플리케이션 호환 안내 3 4 시작하기 6 8 8 9 13 14 16 18 18 19 19 19 기본 기능 익히기 20 21 24 25 26 28 29 31 32 33 34 34 34 37 38 38 39 차례 보기 40 42 소통하기 43

More information

- i - - ii - - iii - - iv - - v - - vi - - vii - - viii - - ix - - x - - xi - - xii - - xiii - - xiv - - xv - - xvi - - xvii - - xviii - - xix - - xx - - xxi - - xxii - - xxiii - - xxiv - - 3 - - 4 -

More information

untitled

untitled Content Ⅰ. 기본방향 1. 목 적 3 2. 적용범위 3 Ⅱ. 사회복지관 운영 1. 사회복지관의 정의 7 2. 사회복지관의 목표 7 3. 사회복지관의 연혁 7 4. 사회복지관 운영의 기본원칙 8 Ⅲ. 사회복지관 사업 1. 가족복지사업 15 2. 지역사회보호사업 16 3. 지역사회조직사업 18 4. 교육 문화사업 19 5. 자활사업 20 6. 재가복지봉사서비스

More information

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 언어 변환 1.4. 기대 효과 4.4. 프로그램 Restructuring 4.5. 소스 모듈 관리 2. SeeMAGMA 적용 전략 2.1. SeeMAGMA

More information

09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 38 10 중간착취의 금지 41 - 대판 2008.9.25, 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 2003.3.14, 2002도3883 [남녀고용평등법위

09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 38 10 중간착취의 금지 41 - 대판 2008.9.25, 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 2003.3.14, 2002도3883 [남녀고용평등법위 01 노동법 법원으로서의 노동관행 15 - 대판 2002.4.23, 2000다50701 [퇴직금] (한국전력공사 사례) 02 노동법과 신의성실의 원칙 17 - 대판 1994.9.30, 94다9092 [고용관계존재확인등] (대한조선공사 사례) 03 퇴직금 청구권 사전 포기 약정의 효력 19 - 대판 1998.3.27, 97다49732 [퇴직금] (아시아나 항공

More information

°æÁ¦Àü¸Á-µ¼º¸.PDF

°æÁ¦Àü¸Á-µ¼º¸.PDF www.keri.org i ii iii iv v vi vii viii ix x xi xii xiii xiv xv 3 4 5 6 7 8 9 10 11 12 13 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 47 48 49 50 51 52 53

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

<BFDCB1B9C0CE20C5F5C0DAB1E2BEF7C0C720B3EBBBE7B0FCB0E82E687770>

<BFDCB1B9C0CE20C5F5C0DAB1E2BEF7C0C720B3EBBBE7B0FCB0E82E687770> 외국인 투자기업의 노사관계 요 약 i ii 외국인 투자기업의 노사관계 요 약 iii iv 외국인 투자기업의 노사관계 요 약 v vi 외국인 투자기업의 노사관계 요 약 vii viii 외국인 투자기업의 노사관계 요 약 ix x 외국인 투자기업의 노사관계 요 약 xi xii 외국인 투자기업의 노사관계 요 약 xiii xiv 외국인 투자기업의 노사관계

More information

H3250_Wi-Fi_E.book

H3250_Wi-Fi_E.book 무선 LAN 기능으로 할 수 있는 것 2 무선 LAN 기능으로 할 수 있는 것 z q l D w 3 Wi-Fi 기능 플로우차트 z q l D 4 Wi-Fi 기능 플로우차트 w 5 본 사용 설명서의 기호 설명 6 각 장별 목차 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 목차 1 2 3 4 8 목차 5 6 7 8 9 9 목차 10 11 12

More information

노트북 IT / 모바일 데스크탑 34 올인원PC 35 PC 소프트웨어 포터블SSD / SSD / 메모리카드 36 태블릿 37 휴대폰 39 PC 솔루션 IT / 모바일 IT / 모바일 노트북 29 삼성전자는 Windows 를 권장합니다. 삼성전자만의 편리하고 다양한 소프트웨어를 통해 초보자도 보다 쉽고 빠르게 이용 가능합니다. Easy Settings 삼성 패스트

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

슬라이드 1

슬라이드 1 1 도구 개요 2 도구 설치 방법 3 도구 기능 소개 4 도구 활용 예제 5 FAQ 6 도구 평가 7 용어집 목차 1. 도구 개요 2. 도구 설치 방법 2.1 OpenProj 다운로드 2.2 OpenProj 설치하기 4. 도구 활용 예제 4.1 예제 설명 4.2 일정 관리 4.3 인적 자원 관리 4.4 프로젝트 진행 4.5 프로젝트 변경 관리 3.1 OpenProj

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

유니 앞부속

유니 앞부속 Published by Ji&Son Inc. Printed in Korea. Unityによる3Dゲ-ム : iphone/android/webで ゲ-ムプログラミング (JAPAN ISBN 978-4873115061) Authorized translation from the Japanese language edition of Unityによる3Dゲ- ム. 2011 the

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 IDIS Mobile ios 사용설명서 Powered by 사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다.

More information

1111111111.PDF

1111111111.PDF 표지와 같은 면지 19대 총선평가 학술회의 일 시: 2012년 4월 25일(수) 13:30 18:00 장 소: 국회입법조사처 대회의실 (국회도서관 421호), 제1세미나실 (427호) 주 최: 국회입법조사처/한국정당학회 전체일정표 대회의실 제1세미나실 1:30 ~ 1:50 pm 개회식 1:50 ~ 3:50 pm 1패널 19대 총선평가와 전망 3:50 ~ 4:00

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

Web Scraper in 30 Minutes 강철

Web Scraper in 30 Minutes 강철 Web Scraper in 30 Minutes 강철 발표자 소개 KAIST 전산학과 2015년부터 G사에서 일합니다. 에서 대한민국 정치의 모든 것을 개발하고 있습니다. 목표 웹 스크래퍼를 프레임웍 없이 처음부터 작성해 본다. 목표 웹 스크래퍼를 프레임웍 없이 처음부터 작성해 본다. 스크래퍼/크롤러의 작동 원리를 이해한다. 목표

More information

<5BC6EDC1FD5DBEEEBEF7C0CCC1D6B3EBB5BFC0DAC0CEB1C7BBF3C8B2BDC7C5C2C1B6BBE7C3D6C1BEBAB8B0EDBCAD28BAB8C0CCBDBABEC6C0CC292E687770>

<5BC6EDC1FD5DBEEEBEF7C0CCC1D6B3EBB5BFC0DAC0CEB1C7BBF3C8B2BDC7C5C2C1B6BBE7C3D6C1BEBAB8B0EDBCAD28BAB8C0CCBDBABEC6C0CC292E687770> 어업 이주노동자 인권상황 실태조사 2012년도 국가인권위원회 인권상황 실태조사 연구용역보고서를 제출합니다 2012. 10. 연구수행기관 한양대학교 글로벌다문화연구원 연구책임자 오경석 연 구 원 이한숙 김사강 김민정 류성환 윤명희 정정훈 연구보조원 최상일 이 보고서는 연구용역수행기관의 결과물로서, 국가인권위원회의 입장과 다를 수 있습니다 연구요약 이 연구는 연근해

More information

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서 커알못의 커널 탐방기 2015.12 이 세상의 모든 커알못을 위해서 개정 이력 버전/릴리스 0.1 작성일자 2015년 11월 30일 개요 최초 작성 0.2 2015년 12월 1일 보고서 구성 순서 변경 0.3 2015년 12월 3일 오탈자 수정 및 글자 교정 1.0 2015년 12월 7일 내용 추가 1.1 2015년 12월 10일 POC 코드 삽입 및 코드

More information

정부3.0 국민디자인단 운영을 통해 국민과의 소통과 참여로 정책을 함께 만들 수 있었고 그 결과 국민 눈높이에 맞는 다양한 정책 개선안을 도출하며 정책의 완성도를 제고할 수 있었습니다. 또한 서비스디자인 방법론을 각 기관별 정부3.0 과제에 적용하여 국민 관점의 서비스 설계, 정책고객 확대 등 공직사회에 큰 반향을 유도하여 공무원의 일하는 방식을 변화시키고

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

IRISCard Anywhere 5

IRISCard Anywhere 5 이 빠른 사용자 가이드는 IRISCard Anywhere 5 및 IRISCard Corporate 5 스캐너의 설치와 시작을 도와 드립니다. 이 스캐너와 함께 제공되는 소프트웨어는: - Cardiris Pro 5 및 Cardiris Corporate 5 for CRM (Windows 용) - Cardiris Pro 4 (Mac OS 용) Cardiris 의

More information

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드] Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

RHEV 2.2 인증서 만료 확인 및 갱신

RHEV 2.2 인증서 만료 확인 및 갱신 2018/09/28 03:56 1/2 목차... 1 인증서 확인... 1 인증서 종류와 확인... 4 RHEVM CA... 5 FQDN 개인 인증서... 5 레드햇 인증서 - 코드 서명 인증서... 6 호스트 인증... 7 참고사항... 8 관련링크... 8 AllThatLinux! - http://allthatlinux.com/dokuwiki/ rhev_2.2_

More information

1809_2018-BESPINGLOBAL_Design Guidelines_out

1809_2018-BESPINGLOBAL_Design Guidelines_out 베스핀글로벌 디자인 가이드라인 베스핀글로벌은 경험과 기술을 바탕으로 고객에게 신뢰를 주는 기업이기를 지향합니다. 모든 서비스와 소통채널에서 우리의 가치를 일관되게 표현하도록 합니다. SIGNATURE SIGNATURE + SLGAN SIGNATURE [CHINA] SIGNATURE + SYMBL 2018년 1.ver 베스핀글로벌 디자인 가이드라인 디자인 가이드라인을

More information

*BA_00

*BA_00 Published by Ji&Son Inc. Printed in Korea Copyright 2010 by Ji&Son Inc. Authorized translation of the English edition of Beautiful Architecture 2009 O Reilly Media, Inc. This Translation is published and

More information

CSG_keynote_KO copy.key

CSG_keynote_KO copy.key 101. 3 Shutterstock 4 Shutterstock 5 Shutterstock? 6? 10 What To Create 10 Ways to Find Trends and Inspiration 12 15 17 :. 21 24 Shutterstock 26 29 -. 31 Shutterstock : 36 " " 37! 39 41 45 46 47 49 Copyright

More information

- I - - II - - III - - IV - - V - - VI - - VII - - VIII - - IX - - X - - XI - - XII - - XIII - - XIV - - XV - - XVI - - XVII - - XVIII - - XIX - - XX - - XXI - - XXII - - XXIII - - 1 - - - - 3 - - - -

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

SH100_V1.4

SH100_V1.4 User Manual VLUU SH100 1 2 3 4 5 6 m m 7 8 9 10 11 12 13 15 16 17 x y 18 19 1 4 z x 20 2 o 5 o 6 3 7 10 11 21 8 12 o 9 o 22 1 m 2 3 2 1 3 23 24 o 25 1 2 o 1 2 3 26 1 2 1 2 27 1 28 2 1 3 29 2 4 30 1 m

More information

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리 ArcGIS for Desktop 10.4 Single Use 설치가이드 Software: ArcGIS for Desktop 10.4 Platforms: Windows 10, 8.1, 7, Server 2012, Server 2008 ArcGIS for Desktop 10.4 시스템 요구사항 1. 지원 플랫폼 운영체제 최소 OS 버전 최대 OS 버전 Windows

More information

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가 수업주제 경찰 출동! (버튼, LED, 버저 사용하기) 9 / 12 차시 수업의 주제와 목표 본 수업에서는 이전 차시에 배웠던 블록들의 기능을 복합적으로 활용한다. 스위치 기능을 가진 버튼을 활용하여 LED와 버저를 동시에 작동시키도록 한다. 각 블록들을 함께 사용하는 프로젝트를 통해 각각의 기능을 익히고 보다 다양한 활용 방법을 구상할 수 있다. 교수 학습

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사 IDIS Mobile Android 사용설명서 Powered by 사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사양 및 버전에 따라 일부

More information

<5BB1E2BABB5D5FB0F8B0F8BACEB9AE5FBDC3B0A3C1A6B1D9B9ABBFCD5FC0B0BEC6C8DEC1F7BFA15FB5FBB8A55FB4EBC3BCC0CEB7C25FC8B0BFEBB0FAC0C75FBFACB0E8B9E6BEC85F2D5FB9AEB9CCB0E62E687770>

<5BB1E2BABB5D5FB0F8B0F8BACEB9AE5FBDC3B0A3C1A6B1D9B9ABBFCD5FC0B0BEC6C8DEC1F7BFA15FB5FBB8A55FB4EBC3BCC0CEB7C25FC8B0BFEBB0FAC0C75FBFACB0E8B9E6BEC85F2D5FB9AEB9CCB0E62E687770> 2012 연구보고서-23 공공부문 시간제근무와 육아휴직에 따른 대체인력 활용과의 연계방안 연구책임자 : 문미경(본원 선임연구위원) 공동연구자 : 김복태(본원 연구위원) 금창호(한국지방행정연구원 선임연구위원) 박미연(본원 위촉연구원) 발 간 사 본 연구는 유연근무제의 여러 형태 중 최근 공공부문에서 가장 관심을 보이 고 있는 시간제 근무에 초점을 맞추어, 육아휴직

More information

캐빈의iOS프로그램팁01

캐빈의iOS프로그램팁01 캐빈의 ios 프로그램팁 글쓴이 : 안경훈 (kevin, linuxgood@gmail.com) ios 로프로그램을만들때사용할수있는여러가지팁들을모아보았다. 이글을읽는독자는처음으로 Objective-C 를접하며, 간단한문법정도만을알고있다고생각하여되도록그림과함께설명을하였다. 또한, 복잡한구현방법보다는매우간단하지만, 유용한프로그램팁들을모아보았다. 굳이말하자면 ios

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

Windows Live Hotmail Custom Domains Korea

Windows Live Hotmail Custom Domains Korea 매쉬업코리아2008 컨퍼런스 Microsoft Windows Live Service Open API 한국 마이크로소프트 개발자 플랫폼 사업 본부 / 차세대 웹 팀 김대우 (http://www.uxkorea.net 준서아빠 블로그) Agenda Microsoft의 매쉬업코리아2008 특전 Windows Live Service 소개 Windows Live Service

More information

코코아36-37_3차(460-475)

코코아36-37_3차(460-475) C o c o a P r o g r a m m i n g f o r M A C O S X Hello, iphone! 최근에 국내에서 코코아 프로그래밍에 관심이 커진 이유는 맥 사용자 층이 늘어 나 맥 개발의 핵심인 코코아 프로그래밍에 관심이 많아진 것도 있지만, 아이폰 때 문이기도 하다. 그래서 특별히 원서에는 없는 내용이긴 하지만, 아이폰 개발 입문 을 위한

More information

- i - - ii - - iii - - iv - - v - - vi - - vii - - viii - - ix - - x - - xi - - xii - - xiii - - xiv - - xv - - xvi - - xvii - - xviii - - xix - - xx - - xxi - - xxii - - xxiii - - xxiv - - xxv - - I

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

untitled

untitled ISBN 89-90077-98-2 93300 2005 UNDP 워크샵 한국과 동남아시아의 성 인지적 문화정책을 찾아서 주 관: 한국문화관광정책연구원 한국동남아연구소 후 원: 문화관광부 과학기술부 UNDP 2005 UNDP 워크샵 : 한국과 동남아시아의 성 인지적 문화정책을 찾아서 연구진 연구책임자: 류정아 (한국문화관광정책연구원 문화정책팀장) 공동연구자: 김민정

More information

<5B33B9F8B0FAC1A65D20B9E6BCDBBDC9C0C7BDC3BDBAC5DB20B0B3BCB1B9E6BEC8BFACB1B82DC3D6C3D6C1BE2E687770>

<5B33B9F8B0FAC1A65D20B9E6BCDBBDC9C0C7BDC3BDBAC5DB20B0B3BCB1B9E6BEC8BFACB1B82DC3D6C3D6C1BE2E687770> KCSC 2015-003 방송심의시스템 개선방안 연구 시청자참여심의제 도입 가능성을 중심으로 2015. 12. 이 보고서는 2015년 방송통신심의위원회의 심의정책 연구개발 사업의 연구결과로서 보고서의 내용은 연구자의 견해이며, 방송통신심의위원회의 공식 입장은 아닙니다. 방송심의시스템 개선방안 연구 - 시청자참여심의제 도입 가능성을 중심으로 - 연 구 진 연구수행기관

More information

© Rohde & Schwarz; R&S®CDS Campus Dashboard Software

© Rohde & Schwarz; R&S®CDS Campus Dashboard Software Product Brochure Version 03.00 R&S CDS Campus Dashboard Software 멀티 유저 실험, 실습실을 위한 교육용 소프트웨어 CDS_bro_ko_3607-9308-16_v0300.indd 1 18.02.2019 10:28:33 R&S CDS Campus Dashboard Software 개요 R&S CDS Campus

More information

미디어 및 엔터테인먼트 업계를 위한 Adobe Experience Manager Mobile

미디어 및 엔터테인먼트 업계를 위한 Adobe Experience Manager Mobile Adobe Experience Manager Mobile 앱 제작을 넘어 고객, 파트너 및 직원과의 유대 관계 형성 매년 모바일 디바이스에서 읽고 듣고 교류하는 사람들이 증가하고 있습니다. 미디어 및 엔터테인먼트 조직은 모바일 디바이스를 통해 고객, 직원, 파트너 및 광고주와 직접 교류할 수 있는 새로운 기회를 얻을 수 있는데, 이 기회를 민첩하게 활용하는

More information

4S 1차년도 평가 발표자료

4S 1차년도 평가 발표자료 모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components

More information

xviii EBS 수능강의 서비스를 활용하는 이유는 수능시험에 연계되기 때문이라는 응답 이 학생 61.7%, 학부모 73.2%로 가장 많았고, EBS 수능강의 서비스를 활용하 지 않는 이유는 학생의 경우 사교육 때문이라는 응답이 26.9%, 혼자 공부하는 것으로 충분하

xviii EBS 수능강의 서비스를 활용하는 이유는 수능시험에 연계되기 때문이라는 응답 이 학생 61.7%, 학부모 73.2%로 가장 많았고, EBS 수능강의 서비스를 활용하 지 않는 이유는 학생의 경우 사교육 때문이라는 응답이 26.9%, 혼자 공부하는 것으로 충분하 xvii 요 약 1. 수요자 설문조사 분석 가. 설문지 제작 및 조사 방법 설문 영역: 수능강의 이용 현황, 수능강의 평가, 수능 교재, 사교육 이용 등 조사 대상: 일반고, 자율고, 외국어고 학생 및 그의 학부모 각각 6,480명 표본 추출 방법 : 층화표집(지역 규모별 108개교 표집 후 학생 무선표집) 조사 방법 : 설문지 조사 응답률 : 학생 96.5%(6,250명),

More information

2. 4. 1. 업무에 활용 가능한 플러그인 QGIS의 큰 들을 찾 아서 특징 설치 마 폰 은 스 트 그 8 하 이 업무에 필요한 기능 메뉴 TM f K 플러그인 호출 와 TM f K < 림 > TM f K 종항 그 중에서 그 설치 듯 할 수 있는 플러그인이 많이 제공된다는 것이다. < 림 > 다. 에서 어플을 다운받아 S or 8, 9 의 S or OREA

More information

<3036C7E2BCF6C3D6C1BEBABB2E687770>

<3036C7E2BCF6C3D6C1BEBABB2E687770> 문화향수실태조사 SURVEY REPORT ON CULTURAL ENJOYMENT 2006 문화관광부 한국문화관광정책연구원 Ministry of Culture & Tourism Korea Culture & Tourism Policy Institute 서문 우리나라 국민들이 문화와 예술을 얼마나, 그리고 어떻게 즐기고 있는지를 객관적으 로 파악하기 위하여, 1988년부터

More information

슬라이드 1

슬라이드 1 모바일소프트웨어프로젝트 지도 API 1 조 20070216 김성수 20070383 김혜준 20070965 이윤상 20071335 최진 1 매시업? 공개 API? 2 매시업 웹으로제공하고있는정보와서비스를융합하여새로운소프트웨어나서비스, 데이터베이스등을만드는것 < 최초의매시업 > 3 공개 API 누구나사용할수있도록공개된 API 지도, 검색등다양한서비스들에서제공 대표적인예

More information

User Guide

User Guide HP ThinUpdate 관리자 설명서 Copyright 2016 HP Development Company, L.P. Windows는 미국 및/또는 기타 국가에서 Microsoft Corporation의 등록 상표 또는 상표입 니다. 기밀 컴퓨터 소프트웨어. 소유, 사용 또는 복사 에 필요한 유효한 사용권을 HP로부터 취득했 습니다. FAR 12.211 및

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

정책연구개발사업 2010-위탁 대학 등록금의 합리적 책정을 위한 실행방안 연구 연 구 책 임 자 공 동 연 구 자 송동섭(단국대학교) 이동규(충남대학교) 이창세(재능대학) 한창근(인하공업전문대학) 연 구 협 력 관 장미란(교육과학기술부) 교육과학기술부 이 연구는 201

정책연구개발사업 2010-위탁 대학 등록금의 합리적 책정을 위한 실행방안 연구 연 구 책 임 자 공 동 연 구 자 송동섭(단국대학교) 이동규(충남대학교) 이창세(재능대학) 한창근(인하공업전문대학) 연 구 협 력 관 장미란(교육과학기술부) 교육과학기술부 이 연구는 201 제 출 문 교육과학기술부장관 귀하 본 보고서를 대학 등록금의 합리적 책정을 위한 실행방안 연구 최종 보고서로 제출합니다. 2010년 12월 일 주관연구기관명:단국대학교 연구기간:2010. 7. 19-2010. 12. 18 주관연구책임자:송 동 섭 참여연구원 공동연구원:이 동 규 이 창 세 한 창 근 연 구 조 원:심 재 우 정책연구개발사업 2010-위탁 대학

More information

언리얼엔진4_내지_150126.indd

언리얼엔진4_내지_150126.indd C 2015. 박승제 All Rights Reserved. 초판 1쇄 발행 2015년 2월 10일 지은이 박승제 펴낸이 장성두 펴낸곳 제이펍 출판신고 2009년 11월 10일 제406 2009 000087호 주소 경기도 파주시 문발로 141 뮤즈빌딩 403호 전화 070 8201 9010 / 팩스 02 6280 0405 홈페이지 www.jpub.kr / 이메일

More information

2016년이렇게달라집니다_ 전체 최종 1223.indd

2016년이렇게달라집니다_ 전체 최종 1223.indd Contents 2016 ii iii Contents 2016 iv v Contents 2016 vi vii Contents 2016 viii ix Contents 2016 x xi Contents 2016 xii xiii Contents 2016 xiv xv Contents 2016 xvi xvii Contents 2016 3 xviii xix Contents

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id=entitymanagerfactory class=org.springframework.orm.jpa.localentitymanagerfactorybean p:persistenceunitname= JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc DVR HDD PC Viewer Guide ADVR6000 / SWI5000 선운정보통신 소개 본 매뉴얼은 DVR의 하드디스크 PC 뷰워의 설명서입니다. 이 프로그램은 DVR에 장착되어 미리 포맷되고 녹화된 HDD에 저장된 영상들을 사용자의 PC에서 직접 보여줄 것입니다. DVR의 하드디스크-랙에서 분리된 하드디크스가 사용자의 PC에 연결됐다면 이 응용프로그램은

More information

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

vRealize Automation용 VMware Remote Console - VMware

vRealize Automation용 VMware Remote Console - VMware vrealize Automation 용 VMware Remote Console VMware Remote Console 9.0 이문서는새버전으로교체되기전까지나열된각제품버전및모든이후버전을지원합니다. 이문서에대한최신버전을확인하려면 http://www.vmware.com/kr/support/pubs 를참조하십시오. KO-002230-00 vrealize Automation

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

<5BB0EDB3ADB5B55D32303131B3E2B4EBBAF12DB0ED312D312DC1DFB0A32DC0B6C7D5B0FAC7D02D28312E28322920BAF2B9F0B0FA20BFF8C0DAC0C720C7FCBCBA2D3031292D3135B9AEC7D72E687770>

<5BB0EDB3ADB5B55D32303131B3E2B4EBBAF12DB0ED312D312DC1DFB0A32DC0B6C7D5B0FAC7D02D28312E28322920BAF2B9F0B0FA20BFF8C0DAC0C720C7FCBCBA2D3031292D3135B9AEC7D72E687770> 고1 융합 과학 2011년도 1학기 중간고사 대비 다음 글을 읽고 물음에 답하시오. 1 빅뱅 우주론에서 수소와 헬륨 의 형성에 대한 설명으로 옳은 것을 보기에서 모두 고른 것은? 4 서술형 다음 그림은 수소와 헬륨의 동위 원 소의 을 모형으로 나타낸 것이. 우주에서 생성된 수소와 헬륨 의 질량비 는 약 3:1 이. (+)전하를 띠는 양성자와 전기적 중성인 중성자

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

새로운 지점에서 단이 시작하는 경우 기둥코로 시작하라고 표시합니다. 기둥코(standing stitch)로 시작하는 방법은 YouTube 에서 찾아볼 수 있습니다. 특수 용어 팝콘뜨기: 1 코에 한길긴뜨기 5 코, 바늘을 빼고 첫번째 한길긴뜨기코의 앞에서 바늘을 넣은

새로운 지점에서 단이 시작하는 경우 기둥코로 시작하라고 표시합니다. 기둥코(standing stitch)로 시작하는 방법은 YouTube 에서 찾아볼 수 있습니다. 특수 용어 팝콘뜨기: 1 코에 한길긴뜨기 5 코, 바늘을 빼고 첫번째 한길긴뜨기코의 앞에서 바늘을 넣은 Desire Copyright: Helen Shrimpton, 2016. All rights reserved. By: Helen at www.crystalsandcrochet.com 12 인치 모티브 worsted/aran(10ply), 5mm 바늘 사용 약 10인치 Double Knitting(8ply), 4mm 바늘 사용 미국식 용어를 사용합니다. 약어

More information

<28BCF6BDC320323031352D31332920B0E6B1E2B5B520C1F6BFAABAB020BFA9BCBAC0CFC0DAB8AE20C1A4C3A520C3DFC1F8C0FCB7AB5FC3D6C1BE2830312E3036292E687770>

<28BCF6BDC320323031352D31332920B0E6B1E2B5B520C1F6BFAABAB020BFA9BCBAC0CFC0DAB8AE20C1A4C3A520C3DFC1F8C0FCB7AB5FC3D6C1BE2830312E3036292E687770> 수시과제 2015-13 경기도 지역별 여성일자리 정책 추진 전략 연구책임자 : 최 윤 선 (본원선임연구위원) : 남 승 연 (본원연구위원) 연 구 지 원 : 이 상 아 (본원위촉연구원) 연 구 기 간 : 2015. 9 ~12 2015 발 간 사 여성 일자리는 사회 내 여성과 남성간의 차이를 좁히고 개개인의 삶을 윤택하게 만드는 중요 한 부분입니다. 이에 정부는

More information