Swift는 함수형 패러다임을 적용한 언어입니다. 이 과정에서 함수형 언어의 영향을 많이 받았는데, 그중에서도 하스켈의 영향을 많이 받았습니다. 하스켈이란 언어에서 가장 인상적인 개념을 하나 꼽으라고 한다면 단연 모나드(Monad)를 꼽을 수 있습니다. 이번 포스트에서는 하스켈의 모나드 개념을 최대한 간략히 살펴보고, Swift에서 이것이 어떻게 활용되는 지 알아보도록 하겠습니다.
[Read More]
Optional 살펴보기
Swift는 모든 변수가 값을 반드시 가지도록 강제합니다. 변수를 선언만하고 초기화를 하지 않으면 컴파일 단계에서 오류를 발생시키죠. 하지만 때로는 ‘값이 없는 상태’를 표현해야 할 때가 있는데, 이를 위해 Swift는 Optional이라는 기능을 제공합니다.
[Read More]
Equatable, Comparable, Hashable
swift에서는 사용자 지정 타입에서도 라이브러리에서 제공하는 여러가지 기능을 사용할 수 있게 만들 수 있습니다. 이러한 기능을 사용하기 위해서는 사용자 지정 타입이 특정 메세지를 처리할 수 있는 지 여부를 알아야 하는데, Swift는 컴파일 타임에 이를 파악할 수 있도록 이를 프로토콜로 만들어 제공합니다. 프로그래머는 이렇게 제공되는 프로토콜을 사용자 지정 타입에서 채택하고 구현하기만...
[Read More]
상호 배타적 집합-union-find
정의
상호 배타적 집합(disjoint set)은 전체 집합에서 공통 원소를 가지지 않는 여러 부분 집합들을 저장하고 조작하는 자료구조입니다.
[Read More]
카카오 에디터 SDK 지원 후기
저는 올해부터 취업준비를 시작했습니다. 처음이다보니 욕심을 내보고 싶어서 큰 곳을 우선적으로 썼는데, 그 중에서 비록 합격은 못했지만 가장 높이 올라간 지원 경험을 나누려고 합니다.
[Read More]