쉽게 이해하는 의존성 주입

의존성 주입이라는 개념은 실전 개발에서 굉장히 널리 사용되는 개념입니다. 다만 의외로 그걸 설명하는 것은 힘듭니다. 이는 의존성 주입을 설명하는 용어들이 지나치게 어려워서 그런 것이 아니였나 생각해봅니다. 이번 포스트에서는 이 의존성 주입을 Swift를 이용해서 설명하고자 합니다. Swift는 객체 지향 프로그래밍 뿐 아니라 함수형 프로그래밍의 개념도 어느정도 차용하고 있는데, 이 함수형 프로그래밍을... [Read More]

Currying

이번 포스트에서는 함수형 프로그래밍에서 중요한 개념 중 하나인 커링(Currying)에 대해서 알아보고 이를 swift로 구현을 해보도록 하겠습니다. [Read More]

선점형 스케쥴링&비선점형 스케쥴링

현대의 컴퓨터는 한번에 여러 프로세스가 돌아가는 것을 허용합니다. 하지만 실제로 CPU 코어는 한번에 하나의 프로세스만 실행할 수 있습니다. 코어가 여러개여도 코어의 개수에 비해 실행해야할 프로세스는 많습니다. 이 때 단일 코어를 기준으로, 어떠한 프로세스가 코어에 할당이 될 지를 결정하는 과정이 필요한데 이 과정을 스케쥴링이라고 합니다. 스케쥴링은 또한 선점형과 비선점형으로 나뉘어집니다. 그... [Read More]
Tags: CS OS Scheduling

1급 객체(first-class object)란?

일급 객체라는 말이 요새는 많이 보편화가 된 것 같습니다. 제가 이 말을 처음 들었던 건 자바스크립트에서였는데, 단순히 자바스크립트에 국한된 개념은 아니더군요. 프로그래밍 언어론 수업시간에도 그렇게 강조되지는 않았던 것 같은데 이제는 대부분의 언어가 이 일급 객체 개념을 가지고 가고 있습니다. 오늘은 이 일급 객체에 대해서 알아보도록 하겠습니다. [Read More]