목록프로그래밍 (2)
study record
Reactive Programming 등장 배경 빅데이터: 빅데이터는 보통 PB(페타바이트) 단위로 구성되고, 거기에 매일 증가해버린다. 다양한 환경: 비슷비슷한 디바이스가 아니라 작은 모바일 디바이스부터 수천 개의 멀티 코어 프로세서로 실행되는 클라우드 클러스터까지 너무도 다양한 환경에 애플리케이션이 배포됨. 사용 패턴: 사용자는 1년 내내 항상 서비스를 사용할 수 있고, ms 단위의 응답시간을 기대한다. 리액티브 프로그래밍에서는 다양한 소스에서 들어오는 데이터의 흐름(스트림)을 비동기적으로 합쳐서 이런 문제를 해결한다. Reactive Programming이란? 리액티브 프로그래밍은 비동기적 데이터의 흐름과 변화의 전달에 관한 프로그래밍 패러다임이다. 리액티브 프로그램은 주변의 환경과 끊임없이 상호작..
*이 글은 책 “스위프트 프로그래밍”을 읽고 작성된 글입니다. 객체지향 프로그래밍 패러다임에 기반을 둔 언어는 대부분 클래스의 상속을 사용해 타입에 공통된 기능을 구현한다. 그런데 스위프트의 표준 라이브러리에서 타입과 관련된 것은 대부분 구조체로 구현되어 있다. 상속이 되지 않는 구조체로 어떻게 다양한 공통 기능을 가질 수 있는지는 프로토콜, 익스텐션, 제네릭의 조화를 통해 이루어진다. 프로토콜 초기 구현 익스텐션은 기존 타입의 기능을 확장하고, 프로토콜은 프로토콜을 채택한 타입이 원하는 기능을 강제로 구현한다. 익스텐션과 프로토콜의 결합을 통해 중복 코드와 유지보수를 해결한다. 프로토콜을 정의할 때는 그 프로토콜을 채택한 타입에서 구현해주어야 하는 프로토콜의 요구사항을 구현할 수 없다. 단지 요구사항을..