의존성 주입이라는 개념은 실전 개발에서 굉장히 널리 사용되는 개념입니다. 다만 의외로 그걸 설명하는 것은 힘듭니다. 이는 의존성 주입을 설명하는 용어들이 지나치게 어려워서 그런 것이 아니였나 생각해봅니다. 이번 포스트에서는 이 의존성 주입을 Swift를 이용해서 설명하고자 합니다. Swift는 객체 지향 프로그래밍 뿐 아니라 함수형 프로그래밍의 개념도 어느정도 차용하고 있는데, 이 함수형 프로그래밍을...
[Read More]
Currying
이번 포스트에서는 함수형 프로그래밍에서 중요한 개념 중 하나인 커링(Currying)에 대해서 알아보고 이를 swift로 구현을 해보도록 하겠습니다.
[Read More]
선점형 스케쥴링&비선점형 스케쥴링
현대의 컴퓨터는 한번에 여러 프로세스가 돌아가는 것을 허용합니다. 하지만 실제로 CPU 코어는 한번에 하나의 프로세스만 실행할 수 있습니다. 코어가 여러개여도 코어의 개수에 비해 실행해야할 프로세스는 많습니다. 이 때 단일 코어를 기준으로, 어떠한 프로세스가 코어에 할당이 될 지를 결정하는 과정이 필요한데 이 과정을 스케쥴링이라고 합니다. 스케쥴링은 또한 선점형과 비선점형으로 나뉘어집니다. 그...
[Read More]
1급 객체(first-class object)란?
일급 객체라는 말이 요새는 많이 보편화가 된 것 같습니다. 제가 이 말을 처음 들었던 건 자바스크립트에서였는데, 단순히 자바스크립트에 국한된 개념은 아니더군요. 프로그래밍 언어론 수업시간에도 그렇게 강조되지는 않았던 것 같은데 이제는 대부분의 언어가 이 일급 객체 개념을 가지고 가고 있습니다. 오늘은 이 일급 객체에 대해서 알아보도록 하겠습니다.
[Read More]