본문 바로가기

반응형

컴퓨터공학

[Clean Architecture] - SOLID 원칙 DIP (5) 오늘은 SOLID 원칙의 마지막, DIP 원칙을 알아본다.  SOLID 원칙 시리즈해당 시리즈는 로버트 C.마틴의 Clean Architecture 책을 보며 쉬운 이해를 위해 ChatGPT와 함께 공부한 내용을 정리해 놓은 글입니다. SRP: 단일 책임 원칙OCP: 개방-폐쇄 원칙LSP: 리스코프 치환 원칙ISP: 인터페이스 분리 원칙DIP: 의존성 역전 원칙DIP: 의존성 역전 원칙- 고수준 모듈이 저수준 모듈에 의존하지 않고, 추상화에 의존하도록 만드는 것- 구체적인 클래스(저수준 구현)에 의존하지 않고, 인터페이스(추상화)에 의존하도록 설계 이번에도 마찬가지로 파이썬 예제를 살펴보며 이해해보자.  아래의 코드에서 Computer는 Keyboard에 의존한다. 만약 컴퓨터가 키보드가 아닌 다른 in.. 더보기
[Clean Architecture] - SOLID 원칙 LSP (3) 이번 장에서는 SOLID 원칙 중 LSP에 대해 다뤄보자.  SOLID 원칙 시리즈해당 시리즈는 로버트 C.마틴의 Clean Architecture 책을 보며 쉬운 이해를 위해 ChatGPT와 함께 공부한 내용을 정리해 놓은 글입니다. SRP: 단일 책임 원칙OCP: 개방-폐쇄 원칙LSP: 리스코프 치환 원칙ISP: 인터페이스 분리 원칙DIP: 의존성 역전 원칙 LSP (Liskov Substitution Principle): 리스코프 치환 원칙- 서브타입(자식 클래스)은 언제나 자신의 기반 타입(부모 클래스)으로 대체할 수 있어야 한다.- 치환 가능성을 조금이라도 위배하면 시스템 아키텍처가 오염되어 상당량의 별도 매커니즘을 추가해야할 수 있다.  위의 문장만 봐서는 딱 와닿지 않으니 아래 예제를 한번 .. 더보기
[Clean Architecture] - SOLID 원칙 OCP (2) 이번 장에서는 SOILD 원칙 2번째, OCP: 개방-폐쇄 원칙을 알아본다.  SOLID 원칙 시리즈해당 시리즈는 로버트 C.마틴의 Clean Architecture 책을 보며 쉬운 이해를 위해 ChatGPT와 함께 공부한 내용을 정리해 놓은 글입니다. SRP: 단일 책임 원칙OCP: 개방-폐쇄 원칙LSP: 리스코프 치환 원칙ISP: 인터페이스 분리 원칙DIP: 의존성 역전 원칙  OCP: 개방-폐쇄 원칙- 소프트웨어 개체의 행위는 확장할 수 있어야 하나, 개체를 변경해서는 안된다. - 살짝 확장하는데 소프트웨어를 엄청나게 수정해야 하는 비효율을 줄이자.  하나의 소프트웨어가 여러 책임을 가지고 있다면, 이를 확실하게 조직화하는 과정이 필요하다. 아래 그림을 보면서 생각해보자.  위의 조직도는 재무재표를.. 더보기
[Clean Architecture] - SOLID 원칙 SRP (1) 해당 시리즈는 로버트 C.마틴의 Clean Architecture 책을 보며 공부한 내용을 정리해 놓은 글이다. 대부분의 파이썬 예제들은 ChatGPT와 함께 공부하며 정리하였다.  오늘은 좋은 아키텍쳐를 정의하는 SOLID 원칙 중 SRP에 대해 다룬다. SOLID 원칙에 대한 다른 포스팅들은 아래 링크에서 확인할 수 있다.  SOLID 원칙 시리즈해당 시리즈는 로버트 C.마틴의 Clean Architecture 책을 보며 쉬운 이해를 위해 ChatGPT와 함께 공부한 내용을 정리해 놓은 글입니다. SRP: 단일 책임 원칙OCP: 개방-폐쇄 원칙LSP: 리스코프 치환 원칙ISP: 인터페이스 분리 원칙DIP: 의존성 역전 원칙 SRP: 단일 책임 원칙- 하나의 모듈은 반드시 하나의 액터에 대해서만 책임져.. 더보기
cl.exe 환경 변수 설정 로컬에 있는 cl.exe 파일 경로를 찾아 환경변수 > 시스템 변수 > path에 추가 버전에 따라 다르겠지만 보통 다음의 경로에 설치되어있다. C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.40.33807\bin\Hostx86\x86  이후 cmd를 다시 실행하여clx86용 Microsoft (R) C/C++ 최적화 컴파일러 버전 19.40.33811Copyright (c) Microsoft Corporation. All rights reserved.사용법: cl [ option... ] filename... [ /link linkoption... ] cl 명령어를 입력하면 다음과 같이 정상적으로 표시된다. 더보기
CUDA toolkit 버전 바꾸는 법 아래와 같이 로컬에 여러개의 cuda toolkit 버전이 설치되어 있을 경우  원하는 버전으로 바꾸려면 다음과 같이 한다.  1. 환경변수 > 시스템 변수 > CUDA_PATH 변경2. 환경변수 > 시스템 변수 > path > 원하는 toolkit version을 상위로 이동3. 재부팅 새로 설치를 원한다면 https://developer.nvidia.com/cuda-toolkit-archive CUDA Toolkit ArchivePrevious releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the releas.. 더보기
wsl2 가상 디스크 파일 삭제 하는 법 wsl 가상 디스크 파일은 아래의 위치에 있다.C:\Users\사용자명\AppData\Local\Packages\우분투\LocalState  cmd를 관리자 모드로 열어 다음과 같이 입력한다diskpartselect vdisk file="가상 디스크 파일 경로/ext4.vhdx"detach vdiskexitdel "가상 디스크 파일 경로/ext4.vhdx" 더보기
wsl docker에서 docker Image를 삭제해도 용량이 남아 있는 경우 docker rm을 이용하여 docker 이미지를 삭제하였으나, 그대로 space를 차지하고 있는 경우 다음과 같이 해결한다.  Docker desktop > 오른쪽 상단 troubleshoot > Clean /Purge data 더보기

반응형