본문 바로가기

백엔드132

도메인 클래스 설계 1. 같은 도메인 클래스를 다른 패키지에 생성해서 사용하는 경우 • 장점: o 특정 패키지 내에서만 사용하는 도메인 객체를 따로 관리할 수 있어 해당 패키지의 독립성을 높일 수 있습니다. o 서로 다른 모듈(패키지) 간에 의존성을 줄이고, 모듈화된 설계를 지원합니다. o 패키지의 목적에 맞게 도메인을 맞춤화할 수 있습니다 (필드 추가/제거 등). • 단점: o 도메인 클래스의 중복이 발생할 수 있습니다. (예: 동일한 개념의 클래스가 여러 패키지에 존재) o 중복된 도메인을 유지보수할 때 일관성을 유지하기 어려울 수 있습니다. o 데이터 변환 비용이 발생할 수 있습니다. 예를 들어, 패키지 간 데이터 전달 시 다른 형태의 도메인 객체로 변환해야 하는 경우. 적용 사례: • Bounded Context: .. 2024. 11. 17.
MQTT vs HTTP CPU 사용량 비교 1. 프로토콜 오버헤드 • MQTT: o 경량화된 프로토콜로, 메시지 전송 시 헤더가 2바이트에서 시작합니다. o 데이터 전송에 필요한 최소한의 메타데이터만 포함되어 있어 패킷 처리 및 생성에 필요한 CPU 리소스가 적습니다. o 상태 정보를 유지하고, 연결이 지속되므로 매번 연결 설정을 하지 않아도 됩니다. • HTTP: o 요청-응답 방식으로, 각 요청마다 헤더와 상태 정보를 포함합니다. 헤더 크기가 크고 데이터 패킷이 무거워, 처리하는 데 더 많은 CPU 리소스가 필요합니다. o 요청마다 연결 설정과 해제 과정(TCP 핸드셰이크 포함)이 반복되며, 이 과정에서 추가적인 CPU 소모가 발생합니다. ________________________________________ 2. 데이터 전송 방식 • MQ.. 2024. 11. 17.
mysql lower_case_table_names value 값에 따른 설명. 0 : 테이블 생성 및 조회시 대소문자 구분 함 (default) 1 : 입력값이 대소문자 상관없이 소문자로 인식하여 소문자 인식 파일 생성함. 2 : 윈도우에서 대소문자 구분해서 테이블 가져옴리눅스와 유닉스의 경우 0, 윈도우의 경우 1, 맥키토시의 경우 2 가 기본 값임. 2024. 11. 7.
주요 AuthenticationException 종류와 설명 BadCredentialsException잘못된 사용자 이름이나 비밀번호가 입력되었을 때 발생하는 예외입니다.기본 예외로, 보통 사용자 인증 실패 시 발생하는 대표적인 예외입니다.LockedException계정이 잠겨 있어 로그인이 불가능한 경우 발생합니다.주로 사용자가 계정 잠금 기능을 활성화한 경우 발생하며, 잠금 해제 전까지 로그인을 차단합니다.DisabledException계정이 비활성화된 상태일 때 발생합니다.관리자가 계정을 비활성화했거나 사용자가 활성화를 하지 않은 경우 등에서 주로 발생합니다.AccountExpiredException계정이 만료되어 로그인이 불가능한 경우 발생합니다.계정의 유효기간이 지나 만료된 상태일 때 발생합니다.CredentialsExpiredException자격 증명이.. 2024. 10. 31.
메뉴 권한 관리 구조 쿼리 (MariaDB - WITH RECURSIVE) MyBatis와 MySQL을 사용하여 메뉴 기반 권한 관리 시스템의 구조를 설정하고 쿼리를 작성해 보겠습니다. 역할(Role)과 메뉴(Menu)를 연결하여 특정 역할에 따라 접근할 수 있는 메뉴를 관리하는 구조입니다.1. 데이터베이스 테이블 구조 예시다음은 메뉴(Menu), 역할(Role), 권한(Permission)을 관리하기 위한 기본 테이블 구조입니다.1.1. 메뉴 테이블 (Menus)CREATE TABLE Menus ( menu_id INT PRIMARY KEY AUTO_INCREMENT, menu_name VARCHAR(100) NOT NULL, parent_menu_id INT, url VARCHAR(255), order_index INT, FOREIGN KEY.. 2024. 10. 26.
728x90