목록CS (6)
나의 개발일지
퍼사드 패턴퍼사드 패턴은 라이브러리와 프레임워크, 다른 클래스들의 복잡한 집합에 대한 단순화된 인터페이스를 제공하는 구조적 디자인 패턴입니다.퍼사드 패턴을 사용해야 하는 이유집에 스마트홈을 둔다고 가정해봅니다. 기존의 우리는 집의 환경들을 설정할 때 특정한 상황들에 맞춰 설정합니다. 외출했을 경우, 귀가했을 경우, 영화를 볼 경우 등등 다양한 상황에 맞게 환경들을 직접 설정합니다. 가령 전등을 끄거나 에어컨을 키거나, 알림 시스템을 작동시키는 등의, 이미 정형화 되어 있는 상황들을 위해 같은 일들을 매번 일일히 반복해야 합니다. 하지만 스마트홈을 사용하면 버튼 한번 누르는 것만으로 이 문제를 해결할 수 있습니다. 퍼사드 패턴은 이런 상황에서 스마트홈과 같은 역할을 합니다.정교한 라이브러리나 프레임워크에 ..
팩토리 메소드 패턴 팩토리 메소드 패턴은 생성 디자인 패턴 중 하나로, 객체 생성을 위한 인터페이스를 제공하고 자식 클래스들이 생성될 객체의 유형을 정하도록 하는 디자인 패턴입니다. 팩토리 메소드 패턴을 사용해야 하는 이유 문제 우리가 물류 관리 앱을 개발하고 있다고 가정해봅니다. 처음 개발을 시작할 땐 트럭 운송 기능만 필요했기 때문에 대부분의 코드가 트럭 클래스에 맞춰집니다. 하지만 사업이 발전하고 트럭 뿐만 아니라 해상 운송 기능이나 항공 운송 기능도 추가해야 될 경우, 매번 새로운 클래스를 만들고 트럭에 맞춰 짜여있던 모든 코드들도 수정해야합니다. 해결 팩토리 메소드 패턴은 객체 생성을 공장(Factory) 클래스로 캡슐화 처리하여 대신 생성합니다. 직접 new 연산자를 통해 객체를 생성하는 것이..
싱글톤 패턴(singleton) 싱글톤 패턴은 생성 패턴에 속하는 디자인 패턴입니다. 싱글톤 패턴은 클래스에 인스턴스가 하나만 있도록 하면서 전역에 해당 인스턴스에 대한 접근을 제공합니다. 싱글톤 패턴을 사용해야 하는 이유 한 사무실에서 프린터를 사용해야 한다고 가정해봅니다. 이때 프린터를 사용하려는 사람들은 많지만 같은 사무실 내의 직원들이 프린터를 각각 한대씩 보유하고 사용하기보다는 한대의 프린터를 두고 모두가 공유하는 방식이 효율적일 수 있습니다. 싱글톤 패턴은 이런 상황에서 해결책을 제시합니다. 싱글톤 패턴의 장점 다른 모든 클래스에서 접근할 수 있습니다. 싱글톤으로 구현한 인스턴스는 '전역'이므로, 다른 클래스의 인스턴스들이 데이터를 공유할 수 있습니다. 인스턴스가 하나만 생성됨이..
디자인 패턴이란? 디자인 패턴은 소프트웨어 개발의 일반적인 문제에 대한 해결책입니다. 더 나아가 모든 프로그래밍 언어 및 업계의 개발자가 자주 직면하는 문제에 대한 해결책이기도 합니다. 디자인 패턴은 표준화된 라이브러리들이나 함수들을 코드에 복사해 사용하는 것처럼 패턴들을 붙여넣기식으로 사용할 수는 없습니다. 패턴은 재사용할 수 있는 코드 조각이 아니라 특정 문제를 해결하는 방식을 알려주는 가이드입니다. 우리는 패턴의 세부 개념들을 적용하여 각자의 프로그램에 맞는 해결책을 구현할 수 있습니다. 디자인 패턴을 사용해야 하는 이유 디자인 패턴은 소프트웨어 디자인의 일반적인 문제들에 대해 시도되고 검증된 해결책들을 모은 것입니다. 패턴을 배우게 되면 객체 지향 디자인의 원칙들을 사용해 많은 종류의 문제를 해결..
REST API (Representational State Transfer) 유저 인터페이스(User Interface) 사용자가 어떤 기계의 기능들을 활용할 수 있도록 만든 제어장치 유저 인터페이스의 예 TV의 스크린, 모니터 스크롤바, 슬라이더, 브라우저 창 API(Application Programming Interface) 사용자와 기계가 UI를 통해 명령을 주고 받듯이 소프트웨어가 다른 소프트웨어를 활용할 수 있도록 만든 형식 지정된 형식을 통해 요청, 명령을 받을 수 있다 REST API 서버에 데이터를 요청하거나 입력할 때 개발자들 사이에서 널리 쓰이는 일종의 형식 과거 SOAP란 형식을 대체 사용하는 프로그래밍 언어나 프레임워크에 구애 받지 않는다. REST API의 이점 각 요청이 어떤 ..
고정 소수점과 부동 소수점 실수의 메모리 표현 컴퓨터의 메모리는 2진수 체계를 기반으로 데이터를 저장합니다. 실수도 2진수 체계를 기반으로 데이터를 저장하게 됩니다. 실수의 2진수 표현 실수란 정수와 소수로 이루어진 수를 의미합니다. 정수와 소수는 표기상으론 별다를 바 없어보이는 숫자들의 나열 같지만 이진수 변환에 있어 차이를 가집니다. 정수의 이진수 표현 10진수의 정수를 2진수의 정수로 변환하는 것은 어렵지 않습니다. 아래 그림과 같은 간단한 법칙을 통해 변환이 가능합니다. 아래와 같이 바꾸고 싶은 정수를 1이 될때까지 2로 나눈 후 발생한 나머지들을 역순으로 둔 후 가장 앞자리에 1을 추가해주면 됩니다. 소수의 이진수 표현 소수의 경우 소수점의 이하가 0이 될 때까지 2로 계속 곱해주면서, 정수 부..