2014년 7월 10일 목요일

Swift - let(상수선언)에 대해 파고들기

스위프트(Swift)의 변수와 상수 선언에 관한 글에서 이미 var 와 let에 대해 거론한 적이 있다. 기본적으로 이 둘은 ‘변수'와 ‘상수’를 선언하기 위한 명령어이다. 여기서 let 이라는 상수를 선언하기 위한 명령어에 대해 아주 약간만 더 깊이(?) 파고들어 가볼까 한다.

2014년 7월 8일 화요일

Swift - Xcode 6 Beta 3 변경점

시도때도 없이 죽어나가는 Xcode 6 베타 2의 플레이그라운드와 빌드 시 시도때도 없이 죽어나가는 Swift 컴파일러를 애처롭게 자주 보다보니 '다음 베타는 도데체 언제 나오냐' 라는 생각만 가득했다. 그런데 우연찮게 애플 개발자 홈페이지를 들어가보니 Beta 3 가 나와있었다. 으어 -_-

2014년 6월 30일 월요일

Xcode Playground Killer Codes

Xcode Playground Killer Codes in Swift Language (from Xcode 6 Beta 2)

Objective-C에서 Swift로 넘어가기 #2

앞서 썼던 Objective-C에서 Swift로 넘어가기 위한 글에 이어서 이번에도 스위프트로 넘어갈 때 알아두면 크게 손해보지는 않는(?) 사항 몇 가지를 정리해 본다. 이번 글은 NSFileManager를 다루면서 겪었던 다수의 짜증(?) 해결 과정을 담고 있다.

2014년 6월 23일 월요일

예제로 보는 스위프트(Swift) - MyDatetime 클래스

스위프트(Swift) 가이드 글을 올리고 나니 ‘안그래도 형편없는 글들인데 나눠져 있어서 찾아 보기도 힘들겠구나’ 라는 생각만 잔뜩 들었다. 그래서 차라리 동작 가능한 풀소스 예제를 올려보는게 더 낫겠다는 생각이 들어서 새롭게 글을 써 본다. 이번 예제는 심심해서 만들어 본 MyDatetime 클래스이다.

2014년 6월 18일 수요일

Swift - 병렬 프로그래밍(Concurrency Programming) 가이드

병렬 프로그래밍(Concurrency Programming) 이란 멀티스레딩 혹은 멀티프로세싱이란 말과 비슷한 개념이다. 백그라운드(background) 혹은 비동기(Asynchronous)로 작업을 처리한다던가, 동시에 여러가지 일을 처리하도록 하려면 이 병렬 프로그래밍에 대해 알아야한다. 여기서는 Swift에 한정해서 다룬다.

Swift - GCD(Grand Central Dispatch) 기초

GCD(Grand Centeral Dispatch)라는 표현을 정확히 뭐라고 표현해야 할지는 모르겠다. 대충 클로져(Objective-C 에서는 블럭) 단위로 병렬 프로그래밍(Concurrency Programming) 혹은 멀티 스레딩(Multi Threading)을 하기 위한 기술로 생각하고 있다. 물론 이 기술은 기존 Objective-C 에서도 잘 사용하던 기술인데 C API로 구성되어 있어서 스위프트에서도 비슷하게 이용이 가능하다.

물론 그 중심에는 Dispatch Queue 라는 개념이 있다. 큐 기반 병렬 프로그래밍은 잘 알려진 기법 중 하나이기도 하다.

Update: 예제 코드를 Swift 3 기반의 문법으로 업데이트 하였다.

Swift - NSOperationQueue 병렬 프로그래밍 기초

NSOperationQueue는 큐에 작업을 쌓아두고 이 작업들을 병렬로 처리하기 위한 클래스이다. 큐(Queue)라고 해서 한번에 하나씩 처리가 될 거라고 생각될 수도 있겠지만, 개별 작업을 개별 스레드에서 가능한 만큼 병렬로 한번에 실행시키려고 하는 기특한 녀석이다.

Swift - NSThread 병렬 프로그래밍 기초

병렬 프로그래밍(Concurrency Programming)의 전통적인 강자라면 역시 스레드(Thread)가 있겠다. 이번에는 NSThread에 관한 소개글을 메모한다.