목록전체 글 (232)
도찐개찐
1. Windows 10 디스크 이미지 다운로드(ISO 파일) 준비. http://microsoft.com/ko-kr/software-download/windows10ISO Windows 10 디스크 이미지 다운로드(ISO 파일) 요청의 유효성을 검사하는 중입니다. 이 작업은 몇 분 정도 걸릴 수 있습니다. 페이지를 새로 고치거나 뒤로 이동하지 마세요. 그러면 요청이 취소됩니다. www.microsoft.com 2. 8GB이상 USB 디스크 맥에 연결. 기본 윈도우즈10 설치 이미지 크기가 4GB 이상 3. USB 디스크 FAT32로 포맷으로 초기화. 디스크 유틸리티 -> 지우기 -> MS-DOS(FAT32) 지우기 4. 다운로드한 Windows 10 디스크 이미지 다운로드(ISO 파일) 마운트. Fin..
ModuleNotFoundError: No module named 'setuptools.config.expand'; 'setuptools.config' is not a package $ pip install -U pip setuptools
Decorator Pattern 동적으로 추가하거나 수정 할 필요가 있을때 사용하는 구조 패턴. 기본기능에 추가 기능을 연결해 확장성을 향상시키고 코드 중복을 줄일 수 있게 해줍니다. 주로 유연하고 재사용 가능한 코드를 작성 할 때 유용합니다. 사용시점 여러 기능의 조합이 필요 할 때, 여러 기능을 동적으로 추가하거나 제거할 필요가 있을 때. 확장이 예상 되는 경우에, 기능을 쉽게 추가하거나 변경 할 수 있어야 할 때. 기존 클래스를 수정하지 않고 기능을 추가하거나 변경하고 싶을 때. 종류 Concrete Component: 실제 기본 기능을 정의하는 클래스입니다. Abstract Decorator: 모든 데코레이터가 구현해야 하는 인터페이스나 추상 클래스입니다. Concrete Decorator: Ab..
Facade Pattern 사용시점 복잡한 시스템에 단순한 인터페이스가 필요할 때 여러 서브시스템 감의 종속성이 복잡하게 얽혀 있을 때 클라이언트가 서브시스템의 내부 구조를 몰라도 되게 하고 싶을 때 결론 1. 복잡한 시스템의 일부분에 대한 통합된 인터페이스를 제공하는 구조 패턴 2. 클라이언트와 복잡한 시스템 간의 상호작용을 단순화 3. 클라이언트가 시스템의 세부 구조를 몰라도 되게끔 합니다. // 서브 시스템 클래스 public class FileReader { public void readFile(String fileName) { System.out.println("Reading file: " + fileName); } } public class FileWriter { public void writ..
Factory Method Pattern 사용시점: 클래스가 자신이 생성할 객체의 클래스를 예측 할 수 없는 경우: 라이브러리나 프레임워크의 사용자가 제공하는 확장 클래스의 인스턴스를 생성해야 할 때 등에 사용됩니다. 클래스가 하위 클래스에 객체 생성 책임을 위임하고 싶은 경우: 객체 생성 로직을 하위 클래스에게 맡겨 다양한 객체 생성 방식을 구현 코드 중복 최소화: 공통 생성 로직을 부모 클래스에서 구현하고, 세부 로직은 하위 클래스에서 처리하면 코드 중복을 줄일 수 있습니다. 장점: 유연성 증가: Factory Method 패턴은 객체 생성과 사용을 분리하므로, 다양한 객체 생성 전략을 쉽게 교체하거나 확장 할 수 있습니다. 결합도 감소: 클라이언트가 특정 클래스와 직접적으로 결합 되지 않으므로, 코..
Observer Pattern 사용시점 상태 의존성: 하나의 객체의 상태 변경이 다른 객체의 상태나 동작에 영향을 미칠 때 이벤트 발생: 특정 이벤트가 발생했을 때 관찰자들에게 알림을 보낼 필요가 있을 때 코드 결합 최소화: 주제와 관찰자 사이의 결합을 최소화 하고자 할때 종류 푸시 모델: 주제가 관찰자에게 필요한 모든 정보를 직접 보내는 방식, 관찰자는 주제로부터 푸시된 정보만을 이용합니다. 풀 모델: 주제가 변화를 통보만 하고, 관찰자는 필요한 정보를 주제로부터 직접 가져오는 방식입니다. 이 경우 관찰자가 필요한 정보만을 가져올 수 있으며, 주제와 관찰자 사이의 의존성이 낮아 집니다. 결론 상태 변화를 관찰하는 객체들에게 상태 변화를 알려주는 패턴 주로 이벤트 핸들링 시스템에서 사용되며, 하나의 주제..
Singleton Pattern(싱글톤 패턴) 사용시점: 단일 인스턴스 필요시: 로그 파일 작성기, 드라이버 객체, 캐시, 스레드 풀 등과 같이 전체 시스템에서 단 하나의 인스턴스만 유지 되어야 하는 경우에 사용 자원 공유: 여러 클라이언트가 동일한 리소스에 엑세스 해야 하는 경우에 싱글톤 패턴이 유용 비용 절감(재사용): 객체를 생성하는 데 비용이 많이 드는 경우, 싱글톤 패턴을 사용해 한번만 생성하고 재사용 장점: 인스턴스 제어: 인스턴스가 한 개만 생성 되는 것을 보장하므로, 중복 생성으로 인한 리소스 낭비 방지 전역 엑세스 포인트 제공: 싱글톤 객체는 애플리케이션 내에서 쉽게 엑세스 할 수 있는 전역 엑세스 포인트를 제공 자원 공유: 동일한 객체를 여러 클라이언트와 공유 할 수 있으므로, 자원을 ..
State Pattern 사용시점 객체의 행동이 상태에 따라 달라질 때: 객체가 특정 상태에 있을 때만 특정 행동을 해야 하거나, 상태에 따라 동일한 연산이 다르게 동작해야 하는 경우 유용합니다. 코드 중복을 피하고 싶을 때: 상태 패턴을 사용하면 상태를 각각의 클래스로 캡슐화할 수 있으므로, 각 상태에 따른 행동을 재상용 할 수 있고 코드 중복을 줄일 수 있습니다. 상태 전이 로직을 간결하게 만들고 싶을 때: 상태 패턴을 사용하면 상태와 행동을 각각의 클래스로 분리할 수 있으므로, 상태 전이 로직을 더 간결하고 유지 관리하기 쉽게 만들 수 있습니ㅏㄷ. 종류 State Pattern 자체는 특정한 "종류"로 분류 되지 않으며, 대신 상황과 요구 사항에 따라 구현됩니다. 상태 패턴의 구현은 다음과 같은 두..