profile
하루하루 꾸준히

저자의 글

TDD란 프로그래밍 도중 내린 결정과 그 결정에 대한 피드백 사이의 간격을 인지하고, 또한 이 간격을 통제할 수 있게 해주는 기술을 말한다.일주일 간 종이에다 설계한 다음 코드를 테스트 주도로 개발한다고 하더라도 이것은 TDD이다.결정과 그에 대한 피드백 사이의 간격을

2021년 12월 11일
·
0개의 댓글
·

타락한 객체

테스트를 작성한다. 마음속에 있는 오퍼레이션이 코드에 어떤 식으로 나타나길 원하는지 생각해보라.이야기를 써내려가는 것이다.원하는 인터페이스를 개발하라.올바른 답을 얻기 위해 필요한 이야기의 모든 요소를 포함시켜라.실행 가능하게 만든다.다른 무엇보다도 중요한 것은 빨리

2021년 12월 11일
·
0개의 댓글
·
post-thumbnail

다중통화를 지원하는 Money 객체

1부에서는 완전히 테스트에 의해 주도되는 전형적 모델 코드를 개발할 것이다.1부의 목표는 테스트 주도 개발(TDD)의 주기를 보도록 하는 것이다.재빨리 테스트를 하나 추가한다.모든 테스트를 실행하고 새로 추가한 것이 실패하는지 확인한다.코드를 조금 바꾼다.모든 테스트를

2021년 12월 11일
·
0개의 댓글
·
post-thumbnail

도전적이며 실현 가능한 제안

💡 기본소득은 모든 사회 구성원 혹은 거주자 개인에게, 유급고용에 참여하고자 하는 의지 여부와 관계없이, 가난하든 부유하든 따지지 않고(개인의 다른 수입원과 독립적으로), 가정이라는 영역 내의 동거 형태와 무관하게 국가에 의해 주어진다.기본소득지구네트워크 정의💡 기

2021년 11월 21일
·
0개의 댓글
·
post-thumbnail

상속 2 (클래스의 이니셜라이저 상속과 재정의)

참조 타입인 클래스의 이니셜라이저 위임은 지정 이니셜라이저와 편의 이니셜라이저로 역할을 구분한다.값 타입의 이니셜라이저는 상속을 고려할 필요가 없지만 클래스는 상속이 가능하므로 상속받았을 때 이니셜라이저를 어떻게 재정의하는지에 대한 규칙을 알아야 한다.지정 이니셜라이저

2021년 11월 14일
·
0개의 댓글
·

상속 1 (클래스 상속 / 메서드, 프로퍼티, 프로퍼티 감시자 / 재정의 방지)

다른 클래스로부터 상속을 받지 않은 클래스를 기반클래스(Base Class)라고 한다.상속은 기반클래스를 다른 클래스에서 물려받는 것을 말한다.클래스는 메서드나 프로퍼티 등을 다른 클래스로부터 상속 가능하다.상속은 스위프트의 다른 타입과 클래스를 구별 짓는 클래스만의

2021년 11월 14일
·
0개의 댓글
·

프로토콜

프로토콜은 특정 역할을 하기 위한 메서드, 프로퍼티, 기타 요구사항 등의 청사진을 정의한다.어떤 프로토콜의 요구사항을 모두 따르는 타입은 '해당 프로토콜을 준수한다'고 표현한다.타입에서 프로토콜의 요구사항을 충족시키려면 프로토콜이 제시하는 청사진의 기능을 모두 구현해야

2021년 11월 11일
·
0개의 댓글
·
post-thumbnail

접근제어

접근제어란? 객체지향 프로그래밍 패러다임에서 은닉화를 구현하기 위한 핵심 기능이다. 접근제어란 코드끼리 상호작용시 파일 간 또는 모듈 간에 접근을 제한할 수 있는 기능이다. 접근제어를 통해 코드의 상세 구현은 숨기고 허용된 기능만 사용하는 인터페이스를 제공할 수 있다

2021년 11월 11일
·
0개의 댓글
·
post-thumbnail

커맨드 패턴

메소드 호출을 캡슐화하여 인보커와 리시버를 분리시켜, 인보커(리모컨 같이 계산하는 코드를 호출한 객체)는 자신이 구체적으로 어떤 작업을 하는지에 대해 전혀 신경쓰지 않도록 하는 것이 핵심입니다.💡 NOTE커맨드 패턴을 이용하면 요구사항을 객체로 캡슐화 할 수 있으며,

2021년 11월 9일
·
0개의 댓글
·

싱글턴 패턴

애플리케이션에서 단 하나의 인스턴스만 만들수 있도록 하고, 멀티 스레드 환경에서도 안전한 싱글턴 패턴 구성 방법을 살펴봅니다.💡 싱글톤 패턴은 해당 클래스의 인스턴스가 하나만 만들어지고, 어디서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴입니다. 구현 원리클래

2021년 11월 7일
·
0개의 댓글
·
post-thumbnail

빠져 있는 장

이 장은 시몬 브라운이 기고한 것으로, 클린 아키텍처를 실전에 도입시(코드화) 맞딱뜨릴 문제점과 해결책에 대해 설명한다.따라서 클린 아키텍처는 잠시 한쪽으로 제쳐 놓고, 설계나 코드 조직화와 관련된 몇 가지 접근법을 살펴보자.전형적인 계층형 아키텍처는 웹, 업무규칙,

2021년 11월 5일
·
0개의 댓글
·
post-thumbnail

사례연구: 비디오 판매

사례를 통해 지금까지 살펴 보았던 아키텍처에 대한 규칙과 견해를 종합적으로 살펴본다.뛰어난 아키텍트가 일을 처리하는 과정과 결정을 내리는 모습을 볼 수 있다.제품은 웹 사이트에서 비디오를 판매하는 소프트웨어이다.판매하길 원하는 비디오가 있으며, 개인과 기업에게 웹을 통

2021년 11월 5일
·
0개의 댓글
·

프레임워크는 세부사항이다

프레임워크 제작자는 나를 위해서가 아니라 자신이나 자신의 동료와 친구들의 문제를 해결하기 위해 프레임워크를 제작한다.나는 프레임워크를 위해 헌신해야 하지만, 프레임워크 제작자는 나를 위해 헌신하지 않는다.대개의 경우 프레임워크 제작자들은 나의 애플리케이션이 가능하면 프

2021년 11월 5일
·
0개의 댓글
·

웹은 세부사항이다

모든 연산 능력을 중앙 서버에 두는 방식과 모든 연산 능력을 단말에 두는 방식 사이에서 끊임없이 움직여 왔다.웹 또한 이러한 진동을 겪고 있다. 연산능력의 위치는 아래와 같이 반복된다. 서버 팜(server farm) → 브라우저에 애플릿 추가 → 동적처리 서버로

2021년 11월 5일
·
0개의 댓글
·

데이터베이스는 세부사항이다.

관계형 데이터베이스는 데이터를 저장하고 접근하는 데 탁월한 기술이다.그러나 관계형 데이터베이스도 결국 아키텍처 관점에서 보자면 세부사항이다.따라서 데이터를 테이블에 행 단위로 배치한다는 자체는 아키텍처적으로 볼 때 전혀 중요하지 않다.애플리케이션의 유스케이스는 이러한

2021년 11월 5일
·
0개의 댓글
·

테스트 경계

여러 테스트 종류가 있지만 중요한 것은 아키텍처 관점에서 모든 테스트가 동일하다는 점이다.테스트는 아키텍처에서 가작 바깥쪽 원으로 생각할 수 있다.시스템 내부의 어떤 것도 테스트에는 의존하지 않으며, 테스트는 시스템의 컴포넌트를 향해, 항상 원의 안쪽으로 의존한다.테스

2021년 11월 5일
·
0개의 댓글
·
post-thumbnail

'크고 작은 모든' 서비스들

서비스 지향 아키텍처 / 마이크로서비스 아키텍처가 유행이다.다음과 같은 이유로.상호 결합이 철저하게 분리된다.개발과 배포 독립성을 지원한다.그러나 이 두가지 이유는 일부만 맞는 말이다.서비스의 역할이 단순히 애플리케이션의 행위를 분리하는 것이라면 값비싼 함수를 호출하는

2021년 11월 5일
·
0개의 댓글
·

메인(Main) 컴포넌트

메인 컴포넌트는 궁극적인 세부사항으로, 가장 낮은 수준의 정책이다.메인은 클린 아키텍처에서 가장 바깥 원에 위치하는 ,지저분한 저수준 모듈이다.메인은 고수준의 시스템을 위한 모든 것을 로드한 후, 제어권을 고수준의 시스템에게 넘긴다.움퍼스 사냥 게임의 메인은 입력 스트

2021년 11월 5일
·
0개의 댓글
·
post-thumbnail

계층과 경계

시스템 컴포넌트 크게 3가지(UI / 업무규칙 / 데이터베이스)로 구성된다고 생각할 수 있으나, 실제로 대규모 시스템에서는 그 이상이 될수도 있다. 다양한 언어로 지원되는 게임이며 게임 규칙은 어떤 언어 UI로 사용 되더라도 의존성을 잘 관리하면 그림과 같이 게임임 규

2021년 11월 5일
·
0개의 댓글
·
post-thumbnail

부분적 경계

아키텍처 경계를 완벽하게 만들기 위해선 많은 비용이 든다.쌍방향의 다형적 Boundary 인터페이스, Input과 Output을 위한 데이터 구조 생성, 두 영역을 독립적으로 컴파일하고 배포할 수 있는 컴포넌트로 격리하는 데 필요한 모든 의존성 관리르 해야 하기 때문.

2021년 11월 5일
·
0개의 댓글
·