2014-11-03

Swift의 String을 Python스럽게 만들어보기

Objective-C의 카테고리 기능은 기존 클래스를 확장하는 용도로 많이 사용된다. Swift에서는 비슷한 기능을 Extension 이라는 기능으로 제공하는데, 이를 잘 활용하면 기본 클래스의 기능을 더욱 확장할 수 있어서 좀 더 편한 코딩이 가능하다.

2014-10-31

NSDate를 Swift스럽게 다뤄보기

기존 Objective-C에 비해 Swift가 가지는 장점 중 하나는 오퍼레이터 오버로딩(Operator Overloading) 이라고 생각한다. 이걸 잘 쓰면 코드가 짧아지면서 가독성이 좋아질 수도 있기 때문이다. (물론 반대로 가독성이 나빠질 수도 있지만...)

2014-10-27

맥미니를 요세미티로 업그레이드 하는 도중 문제가 생겼었다

간만에 쓰는 글이 쓸 모 없는 요상한 글이라 찝찝(?)하긴 하지만, 반휴면상태로 보이는 블로그가 살아있다는 표식으로 글을 남겨본다. T^ T. 이 글은 팁이나 가이드가 아니라 일기이다.

현재 사용 중인 맥은 맥북프로 2009LATE, 아이맥 2014, 맥미니 2012LATE 3대이다. 이 머신들은 모두 매버릭스 최신 버전으로 구동 중이었고 요세미티 출시 당일 맥북프로와 아이맥은 아무일 없이 무사히 요세미티로 업그레이드가 되었다.

다만, 마지막으로 남은 맥미니의 OS X를 요세미티로 업그레이드 하는 도중 문제가 발생했다.

2014-09-16

Swift - Xcode 6.1 Beta 2 변경점

Xcode 6.1 Beta 2가 또 한국 시간 화요일에 릴리즈 되었다. 아마도 한국시간 화요일이 릴리즈 날짜임은 확실한 것 같다. -_-;;;;

어쨌거나 이번에도 스위프트(Swift)와 관련한 변화를 살펴본다. 생각보다 양은 적어서 정리하기엔 편한 것 같다.

2014-09-15

Xcode 6 GM에는 OSX 10.10 SDK가 없다?!

지금까지 Xcode 6 베타에서는 꼬박꼬박 Yosemite(10.10) SDK가 포함되어 있었는데, 정작 정식판 후보버전인 GM에는 이 SDK가 빠져있다. 그래서 스위프트(swift)언어를 이용하는 OSX용 프로젝트를 빌드하려하면 SDK가 없다거나 혹은 Deploy 버전이 맞지 않는다는 오류가 발생한다.

2014-09-12

Swift - Xcode 6.1 Beta 변경점

이제 Xcode 6가 GM이 되면서 더 이상 베타가 아니게 되었다. GM 버전은 최종 릴리즈 후보로써 큰 문제가 없다면 바로 정식릴리즈가 되는 버전이다. 그런데 6 GM 버전에는 Swift로 맥(Cocoa) 앱을 개발 할 수 없다는 문제가 있다. 그래서 6.1 베타를 찾아보게 되었다.

2014-09-11

Xcode 6 GM Seed 등장

이번 애플 행사 발표를 위해(?) iOS 8 GM과 Xcode 6 GM Seed가 나왔다.

2014-09-04

Swift - Xcode 6 Beta 7 변경점

늘상 한국시간 기준 화요일에 릴리즈 되길래 이번주는 넘어가나보다 했지만 그 다음날에 베타7이 나와버렸다. 이번에는 변화가 좀 있길래 스위프트(Swift) 언어 위주로 변경된 점을 정리해본다.

2014-09-02

Swift - 옵셔널(Optional) 엑세스

스위프트(Swift)의 옵셔널(Optional)은 '값이 없음(No Value)' 이라는 것을 심어주기 위한 기능이다. 단순하게 사용하려 한다면 그저 nil 초기화 여부를 조사하기 위한 용도로써 쓸 수 있겠지만, 액세스라던가 옵셔널 체인(Optional Chain) 등등을 아무런 지식 없이 쓰다보면 컴파일 에러나 런타임 에러를 종종 보게 될 것 같다. 그래서 약간의 시험과 더불어 개념을 조금 더 파고 들어가 보고자 한다.

2014-08-27

[Python] 클래스 오브젝트 생성 제어

좀 특별한 경우겠지만, 특정 클래스의 오브젝트를 생성 할 때 조건을 만족하지 않으면 생성되지 않고 None이 되게 하고 싶은 경우라고 가정하자. 이렇게 하면 클래스 오브젝트 생성을 이용해 밸리데이션(Validation)이 가능해진다.

하지만 파이썬의 클래스 생성자격인 __init__ 은 값을 리턴 할 수가 없다. (정확히는 None만 리턴이 가능하다) 사실 대부분의 OOP에서 클래스의 생성자는 리턴을 가질 수 없다. Objective-C 같이 특이한 경우를 제외하고는...

2014-08-22

Swift의 기본 프로토콜 세 가지: Equatable, Comparable, Printable

애플의 공식 스위프트 가이드(?)에 언급된 세 가지 프로토콜로 Equatable, Comparable, Printable이 있다. '-able' 이라는 이름이 붙은 걸로 보면 특정 동작이 가능하도록 유도하는 프로토콜로 추측이 가능하다. 이 프로토콜들에 대해 간략히 정리해본다.

2014-08-21

OS X Yosemite DP 에서 Homebrew 실행문제 해결하기

현재 애플에선 한창 개발중인 OS X Yosemite Developer Preview 에서 내부 프레임워크들이 버전업이 됨이 따라 이에 의존성이 있는 소프트웨어들이 영향을 받게 되었다. 그 중에는 Homebrew도 끼어 있다.