2014년 6월 11일 수요일

Swift - 튜플(Tuple)

개인적으로 스위프트(Swift)에서 가장 편한 기능을 꼽자면 튜플(Tuple) 타입을 꼽고 싶다. 굉장히 단순한 기능임에도 활용에 따라 엄청난 효율을 줄 수 있기 때문이다. 혹시 파이썬의 튜플을 알고 있다면 그것과 매우 닮은 타입이다.

2014년 6월 10일 화요일

Swift - 기본 공통사항

Swift의 기본이라는 제목을 달고 있긴 하지만 기본이라기 보단 그냥 앞으로 쓸 글들을 이해하는데 필요한 공통적인 내용을 별도의 글로 뽑아낸 글이다.

Swift - 변수와 상수 그리고 타입

변수(Variable)와 상수(Constant Variable) 그리고 타입(Type)은 모든 언어에서 가지는 공통적인 요소다. 아주 기초적인 내용이라고도 볼 수 있지만 스위프트의 특징이 드러나는 만큼 적는 김에 관련 정보를 적어본다.

Swift - 옵셔널(Optionals)

옵셔널(Optionals) 이라는 개념은 스위프트(Swift) 만의 독특한 특징이라고 생각된다. 변수나 상수가 왜 nil을 가질 수 없는지 그리고 어떻게 하면 nil을 가질 수 있는지에 대한 질문에는 이 옵셔널이 해답을 준다.

Swift - 문자열(String)

문자열은 일반적으로 문자(Character)가 2개 이상 모여서 이루어진 사람이 인식하기 위한 글자를 모두 표현하는 String 타입을 의미한다. 그냥 대충 더블쿼터로 묶인 "블라 블라" 이런거다. -_-;; (참고로 이 글은 Swift 4 기준으로 수정되었다)

2014년 6월 9일 월요일

Homebrew로 설치한 Macvim 에서 Python 관련 이상증상

상황은 약간 제한적인데, OS X 에서 Homebrew를 이용해 Python과 Macvim 등을 설치해서 사용하는 과정에서 언젠가 이런 오류가 발생 할 수 있다. (Ruby도 관련이 있을지도 모르겠다)

2014년 6월 8일 일요일

Swift 루프 퍼포먼스 테스트

Swift는 Objective-C를 대체하기 위해 나온 언어라서 그런지 둘 간의 퍼포먼스 벤치마크가 약간씩 나오고 있는 것 같다. 물론 Objective-C가 좀 더 low-level 이라서 퍼포먼스가 잘 나오는건 당연한거라 생각되지만, 어쩌면 Swift 코드를 잘못 짜서 결과가 더 벌어지는게 아닐까 하는 생각이 들 때도 있었다.

퍼포먼스 비교 시 루프를 이용해 특정 횟수로 테스트를 하는건 일반적이다. 하지만 루프를 어떻게 짜느냐에 따라 속도도 차이가 벌어질 수 있다. 그래서 확인 할 겸 Swift로 몇 가지 루프 코드를 짜서 실행 속도를 비교해 봤다.

2014년 6월 7일 토요일

Xcode 6 플레이그라운드 시작

이번 WWDC 발표에서 가장 눈길을 끄는 것은 Swift 라는 새로운 언어의 등장이라고 생각한다. 물론 그와 함께 플레이그라운드(Playground) 라는 기능의 등장도 개인적으론 굉장한 것이라고 생각한다. 이번 글은 간단하게 플레이그라운드에 대해 겉보기만 해 보려 한다.

Xcode 6 Beta를 설치해보다

나에게 엄청난 똥(...)을 엄청나게 안겨준 Swift를 구경해 볼 겸 Xcode6 베타를 설치해 봤다. 혹시 다운로드나 설치와 관련된 정보가 필요하신 분이 계실지도 모르겠기에 관련된 사항을 정리해 본다.

2014년 5월 9일 금요일

[iOS/OSX] NSNotification, NSNotificationCenter 기초 가이드

말이 약간 어렵지만 '앱 내부에 시그널 패스가 연결되지 않은 곳에 메시지를 어떻게 던질 것인가' 라는 의문이 나온다면 NSNotificationCenter 를 쓰는 것이 답이다. 좀 더 단순히 이야기 하자면, 앱 내에서 아무 데서나 메시지를 던지면 앱 내의 아무데서나 이 메시지를 받을 수 있게 해 주는 것이 NSNotificationCenter 의 역활이다. 그리고 이 메시지 내용을 감싸는 껍데기가 NSNotification 오브젝트이다.