분류 전체보기
-
훌륭한 객체지향 코드를 얻기 위해서는 클래스가 아니라 객체를 지향해야 한다협력 안에서 객체가 수행하는 책임에 초점을 맞춰야 한다책임이 객체가 수신할 수 있는 메시지의 기반이 된다애플리케이션은 클래스로 구성되지만 메시지를 통해 정의된다. 이번 장은 유연하고 재사용 가능한 퍼블릭 인터페이스를 만드는 데 도움이 되는 설계 원칙과 기법을 살펴보는 것이 주제이다 협력과 메시지객체가 다른 객체에게 접근할 수 있는 유일한 방법은 메시지를 전송하는 것뿐이다.객체는 자신의 희망을 메시지로 전송하고, 이를 수신한 객체는 요청을 적절하게 처리하여 응답한다. 클라이언트-서버 모델두 객체 사이의 협력관계를 설명하기 위해 사용되는 전통적인 클라이언트-서버 모델이다.클라이언트 : 메시지를 전송하는 객체서버 : 메시지를 수신하는 객..
[Object] 6장 : 메시지와 인터페이스훌륭한 객체지향 코드를 얻기 위해서는 클래스가 아니라 객체를 지향해야 한다협력 안에서 객체가 수행하는 책임에 초점을 맞춰야 한다책임이 객체가 수신할 수 있는 메시지의 기반이 된다애플리케이션은 클래스로 구성되지만 메시지를 통해 정의된다. 이번 장은 유연하고 재사용 가능한 퍼블릭 인터페이스를 만드는 데 도움이 되는 설계 원칙과 기법을 살펴보는 것이 주제이다 협력과 메시지객체가 다른 객체에게 접근할 수 있는 유일한 방법은 메시지를 전송하는 것뿐이다.객체는 자신의 희망을 메시지로 전송하고, 이를 수신한 객체는 요청을 적절하게 처리하여 응답한다. 클라이언트-서버 모델두 객체 사이의 협력관계를 설명하기 위해 사용되는 전통적인 클라이언트-서버 모델이다.클라이언트 : 메시지를 전송하는 객체서버 : 메시지를 수신하는 객..
2024.07.09 -
HandlerMethodArgumentResolver 란HandlerMethodArgumentResolver는 Controller Method에서 특정 조건에 맞는 파라미터가 있을 때 원하는 값을 바인딩해 주는 인터페이스이다. Spring 공식 문서에는 아래와 같이 설명되어있다.Strategy interface for resolving method parameters into argument values in the context of a given request.주어진 요청으로부터, method의 parameter를 argument로 주입해 주는 전략 패턴의 interface Spring MVC를 작성할 때, Controller에 정의한 Method들에도 @PathVariable, @RequestPar..
[Spring] HandlerMethodArgumentResolver 사용HandlerMethodArgumentResolver 란HandlerMethodArgumentResolver는 Controller Method에서 특정 조건에 맞는 파라미터가 있을 때 원하는 값을 바인딩해 주는 인터페이스이다. Spring 공식 문서에는 아래와 같이 설명되어있다.Strategy interface for resolving method parameters into argument values in the context of a given request.주어진 요청으로부터, method의 parameter를 argument로 주입해 주는 전략 패턴의 interface Spring MVC를 작성할 때, Controller에 정의한 Method들에도 @PathVariable, @RequestPar..
2024.07.04 -
키-값 저장소는 키-값 데이터베이스라고도 불리는 비 관계형 데이터베이스이다. 이 저장소에 저장되는 값은 고유 식별자를 키로 가져야 한다. 키와 값 사이의 이런 연결 관계를 "키-값" 쌍이라고 지칭한다. 키는 유일해야 한다 값은 키를 통해서만 접근할 수 있다키는 일반 텍스트일 수도 있고 해시값일 수도 있다성능 상의 이유로, 키는 짧을수록 좋다값은 문자열일수도, 리스트일 수도, 객체일 수도 있다ex) 아마존 다이나모, memcached, 레디스 등시스템 컴포넌트 이번 절에서는 키-값 저장소 구현에 사용될 핵심 컴포넌트들 및 기술들을 살펴볼 것이다 데이터 파티션 대규모의 애플리케이션의 경우, 전체 데이터를 작은 파티션으로 분할한 다음 여러 대의 서버에 저장해야 한다. 데이터를 파티션 단위로 나눌 때 다음 문제..
키-값 저장소 설계키-값 저장소는 키-값 데이터베이스라고도 불리는 비 관계형 데이터베이스이다. 이 저장소에 저장되는 값은 고유 식별자를 키로 가져야 한다. 키와 값 사이의 이런 연결 관계를 "키-값" 쌍이라고 지칭한다. 키는 유일해야 한다 값은 키를 통해서만 접근할 수 있다키는 일반 텍스트일 수도 있고 해시값일 수도 있다성능 상의 이유로, 키는 짧을수록 좋다값은 문자열일수도, 리스트일 수도, 객체일 수도 있다ex) 아마존 다이나모, memcached, 레디스 등시스템 컴포넌트 이번 절에서는 키-값 저장소 구현에 사용될 핵심 컴포넌트들 및 기술들을 살펴볼 것이다 데이터 파티션 대규모의 애플리케이션의 경우, 전체 데이터를 작은 파티션으로 분할한 다음 여러 대의 서버에 저장해야 한다. 데이터를 파티션 단위로 나눌 때 다음 문제..
2024.07.02 -
Consistency, Availability, Partition tolerance3가지를 동시에 만족하는 분산 시스템을 설계하는 것은 불가능하다는 정리. 그림에서 가운데 영역에 들어가는 시스템은 존재할 수 없다. 각각의 요소들의 정의를 알아보자consistency 일관성모든 노드가 같은 순간에 같은 데이터를 볼 수 있다모든 노드는 동일한 데이터를 동시에 본다. 추가 읽기를 허용하기 전에 여러 노드를 업데이트하여 일관성을 확보한다분산 시스템에 접속하는 모든 클라이언트는 어떤 노드에 접속했느냐와 관계없이 언제나 같은 데이터를 보게 되어야 한다availability 가용성모든 요청이 성공 또는 실패 결과를 반환할 수 있다하나 이상의 노드가 작동 중지되어도 데이터를 요청하는 클라이언트는 반드시 응답을 받아야 ..
CAP 정리(브루어의 정리)Consistency, Availability, Partition tolerance3가지를 동시에 만족하는 분산 시스템을 설계하는 것은 불가능하다는 정리. 그림에서 가운데 영역에 들어가는 시스템은 존재할 수 없다. 각각의 요소들의 정의를 알아보자consistency 일관성모든 노드가 같은 순간에 같은 데이터를 볼 수 있다모든 노드는 동일한 데이터를 동시에 본다. 추가 읽기를 허용하기 전에 여러 노드를 업데이트하여 일관성을 확보한다분산 시스템에 접속하는 모든 클라이언트는 어떤 노드에 접속했느냐와 관계없이 언제나 같은 데이터를 보게 되어야 한다availability 가용성모든 요청이 성공 또는 실패 결과를 반환할 수 있다하나 이상의 노드가 작동 중지되어도 데이터를 요청하는 클라이언트는 반드시 응답을 받아야 ..
2024.06.29