Computer Science

DTO(Data Transfer Object)는 화면 과의 통신시 인터페이스와 비즈니스 로직 간의 데이터 전달을 담당하는 객체입니다 DTO 유효성 검사는 다음과 같은 목적을 가지고 수행 됩니다 1. 데이터의 유효성 확인 DTO 객체의 데이터 필드에 입력 된 값이 올바른 형식, 범위, 제약 조건을 충족하는지 확인합니다 숫자 필드에 숫자가 입력 되고, 문자열 필드에는 문자열이 입력 되어야 합니다 2. 비즈니스 규칙 준수 확인 DTO 객체가 비즈니스 규칙을 준수하는지 검사합니다. 주문을 나타내는 DTO에서 수량 필드는 음수가 될 수 없고, 가격 필드는 0 이상이어야 한다는 비즈니스 규칙이 있다면 검증 해야 합니다 3. 보안 검사 DTO 객체의 데이터가 보안 요구사항을 충족하는지 확인합니다 사용자의 비밀번호를 ..
Service - 비즈니스 로직에 대한 책임을 가진다 서비스는 일반적으로 비즈니스 로직을 포함하는 레이어입니다. 데이터베이스에서 데이터를 가져오거나 변형하거나 다른 서비스를 호출하거나 다양한 애플리케이션의 비즈니스 로직을 구현하는 역할을 합니다. 즉, 서비스 레이어는 비즈니스 로직을 캡슐화하여 레포지토리와 컨트롤러 사이에 위치합니다. 이 레이어는 비즈니스 규칙과 워크플로를 수행하고, 데이터를 가져와 가공하는 일을 담당합니다. 예제 앞서 Repository에서 정의한 UserRepository를 사용하여 User에 대한 비즈니스 로직을 처리하는 UserService를 만들어봅시다. @Service public class UserService { private final UserRepository userR..
Repository - 데이터 접근에 대한 책임을 갖는다 레포지토리는 데이터에 접근하는 방법을 캡슐화하는데 사용되는 설계 패턴입니다. 레포지토리 패턴은 일관된 방식으로 데이터에 접근하도록 해주며, 도메인 로직에서 데이터 저장소의 세부 정보를 분리하여 응용 프로그램의 테스트 및 유지 관리를 용이하게 해줍니다. 예제 예를 들어, 사용자 데이터를 저장하는 경우를 생각해보겠습니다. 우리는 User라는 엔티티를 가지고 있고, 이를 데이터베이스에 저장하려고 합니다. 이를 위해 UserRepository 인터페이스를 정의하고 필요한 메소드를 선언할 수 있습니다. @Repository public interface UserRepository extends JpaRepository { User findByUsername..
생성자 Vs 빌더 패턴 1. 생성자(Constructor) 사용하기 CartRespFindAllDTO responseDTO = new CartRespFindAllDTO(productDTOList, 104500); 생성자를 사용하면 객체를 만들기 위해 필요한 파라미터를 모두 제공해야 합니다. 생성자를 통한 객체 생성은 간단하고 직관적입니다. 위 예시에서는 productDTOList와 104500이라는 두 개의 파라미터를 이용해 CartRespFindAllDTO 인스턴스를 생성합니다. 단점은 생성자에 전달된 파라미터의 순서나 의미를 즉시 이해하기 어려울 수 있습니다. 또한, 파라미터의 수가 많아지면 관리하기 어려워집니다. 2. 빌더 패턴(Builder 패턴) 사용하기 CartRespFindAllDTO res..
Builder 패턴 Builder 패턴은 객체 생성에 관련된 디자인 패턴으로, 객체를 생성하는 방법과 표현하는 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 합니다. DTO에 Builder를 사용하는 주요 이유는 다음과 같습니다: 1. 가독성 향상 객체 생성시에 원하는 매개변수를 선택적으로 입력하고 가독성 좋은 코드를 작성할 수 있습니다. 생성자에 많은 수의 매개변수가 있는 경우, 어떤 값이 어떤 변수에 할당되는지 이해하기 어렵습니다. 반면, Builder 패턴을 사용하면 각 변수에 어떤 값이 설정되는지 명확하게 파악할 수 있습니다. // Without Builder Product product = new Product(1, "Book", 1500, "Good book", "..
Cloud 클라우드는 언제 어디서든 원하는 만큼 네트워크를 통해 접근 할 수 있는 서비스를 의미합니다. 핵심 특징 On-Demand Self Service 사용자가 필요에 따라 컴퓨팅 자원을 자동으로 제공받을 수 있는 서비스입니다. Broad Network Access 다양한 표준 장치를 통해 네트워크에 접근이 가능합니다. Resource Pooling 사용자에게 동적으로 할당되며 다시 재할당 될 수 있는 공유 풀을 이용하는 서비스입니다. Rapid Elasticity 요구에 따라 신속하게 및 유연하게 자원을 할당하거나 회수하는 기능입니다. Measured Service 사용된 자원이 모니터링, 제어, 보고될 수 있는 기능으로 서비스는 이용한 만큼만 비용을 지불하는 방식을 따릅니다. 서비스 모델 SaaS..
🚨 컴퓨터 네트워크 보안 9 문제 AH ESP IKE(Internet Key Management) SA 전송 모드 터널 모드 ESP 복습 문제 IPsec의 응용 예시 VPN VOIP NAT Traversal IPsec에서 제공 되는 서비스는 무엇인가 접근 제어 비연결 무결성 데이터 발신처 인증 재전송 패킷 거부 기밀성 암호화 제한된 트래픽 플로우 기밀성 무슨 매개변수가 SA를 식별하고, 무슨 매개 변수가 특정 SA 특성을 나타내나 SPI (Security Parameter Index) SA를 식별하기 위해 사용 보안 프로토콜 (security protocol identifier) IP 목적지 주소 SA 특성 순서 번호 Anti-Replay Window AH - Information ESP - Inform..
🚨 컴퓨터 네트워크 보안 8 문제 DNS-기반 네임 개체 인증 도메인 키 확인 메일 도메인 - 기반 메시지 인증 보고, 및 준수 DNS IMAP MSA MHS MS MTA MUA MIME(Multipurpose Internet Mail Extensions) POP3 Pretty Good Privacy SPF STARTTLS SUBMISSIONP Base64 Secure MIME 복습 문제 2. SMTP와 MIME 표준은 무엇인가 SMTP는 구현의 표준이 없다. 하지만, MIME은 RFC2045-2049이다 3. MIME 컨텐츠와 MIME 전송 인코딩의 차이점은? MIME Content-Type: 텍스트, 이미지, 오디오, 비디오 또는 애플리케이션별 데이터 등 콘텐츠의 미디어 유형을 지정하는 데 사용됩니다..
🚨 컴퓨터 네트워크 보안 7 문제 4 way hand shake AP BSS ESS CCMP(Counter Mode-CBC MAC Protocol) DS IEEE 802.11 과 11i 논리 링크 제어 매체 접근 제어 MPDU MSDU MAC(메세지 무결성 코드) pair wise key PRF TKIP Robust Security Network(RSN) WIFI 복습 문제 1. 802.11 WLAN의 기본 구성 단위 BSS(Basic service set) 2. 확장 서비스 집합(Extended Service Set)을 정의하라 DS(Distribution System)에 의해 상호 연결된 두 개 이상의 BSS(Basic Service Set) 3. IEEE 802.11 서비스를 나열하고 정의하라 연관..
🚨 컴퓨터 네트워크 보안 6 문제 용어 경고 프로토콜 암호 변경 명세 프로토콜 핸드 쉐이크 프로토콜 HTTPS Master Secret SSH SSL TLS 문제 3. TLS 세션 상태를 정의하는 매개 변수를 열거하고 정의하라 세션 식별자 대등 인증서 (X.509 인증서) 압축 방법 암호 명세 마스터 비밀(Master Secret) 재시작 여부 4. TLS 세션 연결을 정의하는 매개변수를 열거하고 정의하라 서버와 클라이언트 랜덤 서버 기록 MAC 비밀 클라이언트 기록 MAC 비밀 서버 기록 키 클라이언트 키 초기화 벡터 IV(순서 번호) 5. TLS 레코드 프로토콜이 제공하는 서비스는 무엇인가 기밀성 핸드 쉐이크 프로토콜은 TLS 페이로드를 대칭 암호화 하는데 사용할 공유 비밀키 정의 메세지 무결성 핸드..
berom
'Computer Science' 카테고리의 글 목록 (2 Page)