본문 바로가기
반응형

클린 아키텍처6

Clean Architecture : (5장) 객체 지향 프로그래밍 프롬스의 SWDEVLAB 객체 지향 프로그래밍 좋은 아키텍처를 만드는 일은 객체 지향 설계 원칙을 이해하고 응용하는 데서 출발합니다. 그렇다면 객체 지향이란 무엇인가? 이 질문에 누군가는 "데이터와 함수의 조합" 이라고 답을 하는데, 그다지 만족스러운 대답은 아닙니다. 달과 니가드가 함수 호출 스택 프레임을 힙으로 옮기고 OO를 발명한 1966년 이전부터 프로그래머는 데이터 구조를 함수에 전달해 왔습니다. 또는 "실제 세계를 모델링하는 새로운 방법"이라고 대답하는데, 이 또한 얼버무리는 수준에 지나지 않습니다. 이 답변이 전달하려는 의도는 OO는 현실 세계와 의미적으로 가깝기 때문에 OO를 사용하면 소프트웨어를 좀 더 쉽게 이해할 수 있다는 데 있는 듯 합니다. 하지만 그 정의가 너무 모호합니다. OO의.. 2020. 5. 26.
Clean Architecture : (4장) 구조적 프로그래밍 프롬스의 SWDEVLAB 구조적 프로그래밍 에츠허르 비버 데이크스트라는 1930년대 로테르담에서 태어났습니다. 2차 세계대전을 견디며 1948년에 수학, 물리, 화학, 생물에서 최고 점수를 받으며 고등학교를 졸업하고 1952년 3월, 21살의 나이로 네덜란드 최초의 프로그래머로서 암스테르담의 수학 센터에 취업합니다. 1955년, 그는 이론 물리보다 프로그래밍에 대한 지적 도전이 더 큰 의미가 있다고 생각하고 장기적인 진로로 프로그래밍을 선택합니다. 1957년 마리와 데베츠와 결혼할 때, 자신의 직업을 기입해야 했는데, 프로그래머라는 직업이 인정되지 않아 이론 물리학자로 제출하게 됩니다. 진공관 시대였던 이 때는 컴퓨터가 거대하고, 쉽게 손상되며, 느린 데다가 결과마저 믿을 수 없는.. 그래서 극도로 제한.. 2020. 5. 25.
Clean Architecture : (3장) 패러다임 개요 프롬스의 SWDEVLAB 패러다임 개요 소프트웨어 아키텍처는 코드로부터 시작합니다. 따라서 아키텍처에 대한 논의도 최초로 작성된 시점부터 우리가 코드를 통해 배운 내용을 살펴보는 데서 출발하고자합니다 1938년 엘런 튜링(Alan Turing)은 컴퓨터 프로그래밍이라고 부르는 분야의 토대를 쌓았습니다. 튜링은 프로그래밍이 가능한 머신을 최초로 상상한 사람은 아니었지만, 프로그램을 단순한 데이터라고 이해한 최초의 사람이었습니다. 1945년경 튜링은 사람이 식별할 수 있는 형태의 실질적인 프로그램을 실제 컴퓨터에서 코드로 작성했습니다. 이들 프로그램은 반복문, 부기문, 할당분, 서브루틴, 스택 등 우리에게 익숙한 구조를 사용했습니다. 그리고 바이너리 언어를 사용했습니다. 이 때 이후로 프로그래밍에는 수많은 .. 2020. 5. 24.
Clean Architecture : (2장) 소개 - 두 가지 가치에 대한 이야기 프롬스의 SWDEVLAB 두 가지 가치에 대한 이야기 모든 소프트웨어 시스템은 이해관계자에게 서로 다른 두 가지 가치를 제공합니다. 행위(Behavior)와 구조(Structure)가 바로 그것입니다. 소프트웨어 개발자는 두 가치를 모두 반드시 높게 유지해야 하는 책임을 집니다. 개발자들은 불행하게도 한 가치에만 집중하고, 다른 하나는 배제하거나.. 덜 중요한 가치에 집중하여 쓸모없는 소프트웨어를 만들게 됩니다. 행위 소프트웨어의 첫번째 가치는 바로 행위(Behavior)입니다. 프로그래머를 고용하는 이유는 이해관계자를 위해 기계가 수익을 창출하거나 비용을 절약하도록 만들기 위해서입니다. 이해관계자가 기능 명세서나 요구사항 문서를 구체화할 수 있도록 돕고, 기계가 이러한 요구사항을 만족하도록 코드를 작성.. 2020. 5. 6.
Clean Architecture : (1장) 소개 - 설계와 아키텍처란 ? 프롬스의 SWDEVLAB 설계와 아키텍처란? 설계와 아키텍처 사이에는 오랫동안 많은 혼란이 있었습니다. 두 사이에는 어떤 차이가 있는 것일까? 이 책의 목적은 이러한 혼란을 없애고, 설계와 아키텍처가 무엇인지를 완전하게 정의하는 것입니다. 우선 첫째로 주장하고 싶은 바는 둘 사이에는 차이가 없다는 것입니다. 아무런 차이가 없습니다. 아키텍처는 저수준의 세부사항과는 분리된 고수준의 무언가를 가리킬 때 사용하는 반면, 설계는 저수준의 구조 또는 결정사항 등을 의미할 때가 많습니다. 하지만 아키텍처가 실제로 하는 일을 살펴보면 이러한 구분은 무의미합니다. 새로운 집을 설계하는 아키텍트가 있고 아키텍처를 살펴보면, 집의 형태, 외관, 입면도, 공간이나 방의 배치 등을 볼 수 있습니다. 그리고 자세히 살펴보면 도.. 2020. 5. 6.
Clean Architecture : 서론 프롬스의 SWDEVLAB 서론 두달 전쯤 .. 회사 지원해주는 도서구입 혜택을 누리며 여러 IT 서적을 주문하였지만 .. 자격증 취득이라는 핑계로 미루던 책을 하나하나 보고 있습니다. 예전부터 보려고 했었던 Clean Architecture ! 저녁마다 시간을 내어서 꾸준히 보도록 해야겠습니다 :-) 추천사 아키텍처를 이야기할 때 우리는 무엇에대해 이야기하나요 ? 비유라는 것이 늘 그렇듯이 아키텍처라는 렌즈를 통해 소프트웨어를 살펴보면, 알 수 있는 것만큼이나 숨겨진 것도 있게 마련입니다. 그래서 아키텍처가 실제로 제공할 수 있는 것 이상을 약속하기도 하지만, 약속한 것보다 많은 것을 제공할 때도 있습니다. 아키텍처의 매력은 그 구조에 있다고 합니다. 구조란 패러다임을 지배하고 소프트웨어 개발 논의를 지.. 2020. 5. 6.
반응형