800===Dev Docs and License 56

클래스 설계의 5가지 원칙 - SOLID

GPT 설명SOLID 원칙은 유지보수성, 유연성 및 확장성을 촉진하는 객체 지향 프로그래밍 및 소프트웨어 개발의 5가지 설계 원칙입니다. 이러한 원칙은 로버트 C. 마틴(일명 밥 아저씨라고도 함)에 의해 소개되었으며 소프트웨어 개발 커뮤니티에서 널리 채택되고 있습니다. SOLID의 약어는 다음과 같습니다:단일 책임 원칙(SRP)개방형/폐쇄형 원칙(OCP)리스코프 대체 원칙(LSP)인터페이스 분리 원칙(ISP)의존성 반전 원칙(DIP)각 원칙을 자세히 살펴보겠습니다:단일 책임 원칙(SRP):클래스가 변경해야 할 이유가 하나만 있어야 한다는 원칙으로, 클래스는 하나의 책임만 가져야 한다는 의미입니다. 이 원칙을 따르면 separation of concerns로 코드를 더 모듈화하고 이해, 유지 관리 및 수정..

Java - 디자인 패턴

요약상품(객체) 공장을 어떻게 만들고 구성하고 어떻게 운영할까? 설명서 같은 것생성 패턴접근점에 인터페이스 사용, 역할 분리추상 펙토리 패턴 :독립적인 객체들을 생성하기 위한 인터페이스를 제공하는 이걸 토대로 구체적인 클래스를 지정하는 패턴빌더 패턴 : 복합 객체의 생성과정과 표현과정을 분리시켜 동일한 생성과정에서 다양한 표현을 생성할 수 있는 패턴입니다.팩토리 메소드 패턴 : 자식 클래스가 객체를 생성하고 부모 클래스는 생성 메소드만 선언만하는 인터페이스 역할을 한다.싱글톤 패턴 : 클래스의 인스턴스가 하나임을 보장하고 접근할 수 있는 전역적인 접근점을 제공하는 패턴구조 패턴용도변화, 트리구조 사용, 인터페이스로 통합어댑터 패턴 : 용도에 맞게끔 인터페이스를 바꿔주는 어댑터 클래스를 사용. 다른 곳에서..

만들면서 배우는 클린 아키텍쳐

계층형 아키텍쳐의 문제?계층형 아키텍쳐란웹 계층에서는 요청을 받아서 도메인 혹은 비즈니스 계층에 있는 서비스로 요청을 보낸다.서비스에서 필요한 비즈니스 로직을 수행하고, 도메인 엔티티의 현재 상태롤 조회하거나 변경하기 위해 영속성 계층의 컴포넌트를 호출한다.약점DB 주도 설계를 유도 (웹 계층은 도메인 계층에 의존하고, 도메인 계층은 영속성 계층에 의존하기 때문에 자연스럽게 DB 의존하게 된다.)하지만 우리가 만드는 앱은 보통 상태가 아니라 행동 중심으로 모델링한다.비즈니스 관점에서는 도메인 로직이 DB 구조보다 우선이 된다.영속성 계층의 단점모든 것에 접근이 가능하기 때문에 시간이 지나면서 점점 비대해진다.테스트가 어려워진다 (하나의 필드를 조작하더라도 돔메인 로직을 웹 계층에 구현하게 된다. -> 유..

CORS 이해 및 설명

CORS 정의CORS는 웹 브라우저에 구현된 보안 기능인 Cross Origin Resource Sharing의 약자야.이 기능을 사용하면 한 도메인에서 실행 중인 웹 애플리케이션이 다른 도메인의 리소스에 액세스할 수 있어.CORS의 주요 목적은 다른 도메인의 리소스에 대한 액세스를 제한하여 악성 스크립트가 다른 도메인의 중요한 데이터를 자신도 모르게 훔치는 것을 방지하는 것이야.CORS는 리소스를 제공하기 전에 브라우저에서 확인하는 서버 응답에 몇 가지 HTTP 헤더를 설정하여 구현돼.이런 헤더에는 Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers 등이 포함되는데.웹 애플리케이션에 CORS를 사용..

DB 관계형 데이터 모델의 구성 요소

구조릴레이션/테이블연산관계 대수관계 :대수(학) : (수학적 구조들의 일반적인 성질을 연구하는 수학의 분야) 연산자 집합일반 집합 연산자연산자설명합집합 (UNION,∪)이항 연산으로 관계성이 있는 두개의 릴레이션을 합집합하여 하나의 릴레이션을 만들어 내는 연산교집합 (INTERSECT,∩)이항 연산으로 관계성이 있는 두개의 릴레이션에서 중복되어 있는 내용을 선택하여 새로운 릴레이션을 만들어 내는 연산차집합 (DIFFERENCE, - )이항 연산으로 관계성이 있는 두개의 릴레이션이 있을 때 그 중 하나의 릴레이션에서 또 다른 릴레이션의 내용과 겹치는 내용을 제거해서 새로운 릴레이션을 생성하는 연산카티션 프로덕트 (CARTESIAN PRODUCT, × )이항 연산으로 두 릴레이션의 현재 투플로 구성 가능한 ..

네트워크 프로토콜: ARP, ICMP, IGMP 역할

ARP (Address Resolution Protocol)하드웨어 주소 연결 규약IP 주소를 물리적 네트워크 주소로 대응(bind)시키기 위해 사용되는 프로토콜동작 원리같은 네트워크 세그먼트에 있는 두 IP 장비가 통신할 때 사용네트워크에서 이용하는 특정 매체에 맞게 정의된 하위 계층 프로토콜과 주소 지정 방식 사용예시이더넷 환경에서의 통신:IP 시스템 통신 시 먼저 로컬 장비가 속한 네트워크에 연결된 다른 장비의 하드웨어 주소 확인ARP가 IP 주소를 해당 하드웨어(MAC) 주소로 변환하는 서비스 제공ICMP개요IP는 신뢰성을 보장하지 않음네트워크 장애나 중계 라우터 등의 에러에 대처하기 위한 프로토콜주요 기능오류 정보를 발견하여 송신측에 메시지 전달네트워크 문제 진단 및 보고활용 예: pingICM..

728x90
반응형