[디자인패턴] 커맨드(Command) 패턴이란?
·
공부/소프트웨어공학
Command 패턴은 Behavioral Design Pattern이다. 전등을 키는 버튼을 만든다고 해보자위와 같은 시스템에서 버튼을 눌렀을 때 Lamp가 아니라 Alarm이 켜지도록 하려면 어떻게 해야 하는가? 🤔또는 버튼이 한 번 눌리면 Lamp가 켜지고 두 번 눌리면 Lamp가 꺼지도록 하려면 어떻게 해야 하는가? 🤔➡️ 기존 코드의 Button(theLamp: Lamp)를 Button(theAlarm: Alarm)으로 변경해야 한다. OCP 위반 OCP를 만족하도록변화를 식별한다. 이번 경우에는 request다. 변화하는 것을 클래스로 분리한다. LampOnCommand, AlarmStartCommand변화하는 개념을 포용하는 개념을 추상 클래스나 인터페이스화한다. Command의 등장!2번..
[디자인패턴] 스트래티지(Strategy) 패턴이란?
·
공부/소프트웨어공학
쉽게 말해! 알고리즘의 변화를 캡슐화로 처리하자 Strategy 패턴은 Behavioral Pattern이다. 이처럼 Robot을 extends하는 두 개의 디테일한 로봇 태권브이와 아톰이 있다고 하자. 태권브이의 move는 걷기이며 attack은 미사일을 사용한다. 아톰의 move는 날기이며 attack은 펀치이다.public abstract class Robot { private String name; public abstract void move(); public abstract void attack(); public Robot(String name) { this.name = name; } public String getName() { return name; }}-pub..
[디자인패턴] 싱글톤(Singleton) 패턴이란?
·
공부/소프트웨어공학
싱글톤 패턴은 Creational Design Pattern이다.무엇인가?- 단 하나의 클래스 객체(instance)가 생기도록하는 패턴이다. 어디서나 접근 가능하다.​왜 사용하나?- 어디에서 접근 가능한 객체가 필요한 경우가 생기기 때문이다.최초로 객체를 생성하고 난 뒤에 추가로 객체를 생성할 필요가 없으니 메모리, 속도 면에서 이점이 있다. public static Logger getInstance() { if (instance == null) instance = new Logger(); return instance; }이렇게 ​instance가 null이라면 새로운 instance를 생성하고, instance가 이미 있다면 기존 instance를 사용하는 방식이다. 싱글 스레드에서는 아무 문..
mac python opencv 설치하기
·
카테고리 없음
sudo python3 -m pip install --upgrade pip setuptools wheelsudo pip3 install opencv-python
Defaulting to user installation because normal site-packages is not writeable
·
2024-여름
일반적으로 pip upgrade를 하면 사라지는 오류다pip install --upgrade pip이 코드 실행 후에 다시 pip install 시도한다~
AssertionError: Torch not compiled with CUDA enabled
·
2024-여름
GPU와 Pytorch가 맞지 않아 생기는 오류로 내 GPU는 사용할 수 있는 종류였지만 에러가 사라지지 않았다.https://developer.nvidia.com/cuda-gpus CUDA GPUs - Compute CapabilityExplore your GPU compute capability and CUDA-enabled products.developer.nvidia.com 위 사이트에 들어간다. 자신이 사용하는 GPU 종류에 맞게 클릭해보면 지원 여부를 확인할 수 있다. 기존 torch를 삭제하고 재설치하는 코드다. pip uninstall torchpip cache purgepip install torch -f https://download.pytorch.org/whl/torch_stable...
UnicodeDecodeError: 'cp949' codec can't decode byte 0xec in position 9: illegal multibyte sequence
·
2024-여름
보통 한글을 읽으려 할 때 나는 오류, open('text.txt',encoding='UTF-8') 인코딩 타입을 알려준다!
ModuleNotFoundError: No module named ‘fastai.callback.all’; ‘fastai.callback’ is not a package
·
2024-여름
!pip install fastbook --upgrade fastbook 업그레이드하시면 해결됩니다. 반드시 노트북을 재시작하세요!
IProgress not found. Please update jupyter and ipywidgets.
·
2024-여름
pip install ipywidgets 설치해주시면 정상 사용 가능합니다
pip install 오류 : This error might have occurred since this system does not have Windows Long Path support enabled.
·
2024-여름
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: 'C:\\Users\\SG\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python312\\site-packages\\tensorflow\\include\\external\\com_github_grpc_grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\client_load_reporting_filter.h' HINT: This erro..