아키텍처가 중요한 이유왼쪽 사진은 아키텍처를 생각하지 않고 코드를 작성해 자주 변하는 잉크병에 상대적으로 자주 변하지 않는 것들이 의존하고 있는 상황입니다.잉크병은 잉크를 다 쓰거나 다른 색이 필요할 때마다 교체해 줘야 합니다. 잉크병을 교체할 때마다 잉크병에 의존하고 있는 것들은 잉크병의 변화에 영향을 받아 묶인 끈을 풀고 다시 묶어줘야 합니다.오른쪽 사진처럼 자주 변하지 않는 것들을 자주 변하는 잉크 병에 의존하지 않게 아키텍처를 개선한다면 잉크 병을 교체할 때마다 다른 것들에 영향을 미치지 않고 잉크병만 교체할 수 있습니다.최근 다양한 아키텍처들의 특정디테일은 다르지만 다음 규칙들을 지키려고 노력하고 있습니다.소프트웨어의 layer를 나누어 관심사의 분리를 하려고 노력합니다.나누어진 layer는 D..
iOS/TIL

최근 함수형 프로그래밍이 주목받는 이유 동시성 프로그래밍(Concurrency Programming)시 공유 자원에 동시에 쓰는(write) 상황이 발생하면 예상하지 못한 문제가 발생할 가능성이 높습니다. 병렬 처리 과정에서 공유 자원의 상태가 변경돼 발생하는 문제를 방지하기 위해 불변성(immutable)과 순수함수(pure function)을 사용하다 보니 함수형 프로그래밍의 패러다임과 동일해져 최근 다시 주목받고 있습니다. 함수형 프로그래밍(Functional Programming) 이란 함수형 프로그래밍은 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임입니다. 상태 값을 갖지 않고 순수 함수로만 동작해 어떤 상황에서도 일정한 결과를 반환하고 상태값을 ..