본문 바로가기

함수형 프로그래밍2

클린 아키텍처 6장, 7장 리뷰 6장 함수형 프로그래밍(FP) FP 패러다임의 람다(lambda)계산법으로 1930년 발명 정수를 제곱하기 리스프에서 파생한 클로저(Clojure)는 함수형 언어 Java는 가변 변수(Mutable Variable) 사용 - 가변 변수는 프로그램 실행중에 상태가 변할 수 있다. 클로저는 이러한 가변 변수 존재 X 함수형 언어에서는 변수는 한 번 초기화되면 절대로 변하지 않는다. 불변성(Immutable)과 아키텍처 가변 변수에 의해 아키텍처에서 발생하는 문제 Race Condition DeadLock 동시 업데이트(Concurrent Update) 아키텍트는 동시성(Concurrency) 문제에 대해 고려할 줄 알아야한다. 가변성의 분리 불변성과 관련하여 가변 컴포넌트와 불변 컴포넌트를 분리하는 것이 중.. 2022. 12. 25.
클린 아키텍처 1장, 2장, 3장, 4장, 5장 리뷰 클린 아키텍처 1장. 설계와 아키텍처 설계(design) vs 아키텍처(architecture) 전체 설계의 구성요소 관점에서는 설계와 아키텍처를 구분지을 필요 X 아키텍처는 고수준, 설계는 저수준의 세부사항이라고 하지만 건축/SW 설계에서는 개별적으로 존재할 수 없다. 좋은 SW 설계의 목표 필요한 시스템을 만들고 유지보수하는데 투입되는 리소스를 최소화 새로운 feature 때마다 비용이 증가한다면 나쁜 설계 나쁜 신호 직원이 많아지지만, 코드 생산성(LoC)가 그대로라면 생산성은 떨어지는 것 시스템 급하게 개발, 코드와 설계의 구조를 클린하게 하고자하지 않으면 생산성은 떨어짐 토끼 개발자와 거북이 개발자 토끼 개발자 : 일만 계속하지만, 설계의 중요성을 알고서도 실천하지않음. 생산성 유지할 수 있을 .. 2022. 12. 11.