Cute Running Puppy
본문 바로가기
728x90

분류 전체보기94

트랜잭션 트랜잭션은 데이터베이스 시스템에서 수행되는 단일 작업 또는 논리적인 작업 단위를 말합니다. 일련의 관련된 작업들을 하나로 묶어서 한꺼번에 처리하는 것으로, 데이터베이스에서 데이터의 일관성과 무결성을 보장하기 위해 사용됩니다. 원자성(Atomicity) 트랜잭션의 모든 작업은 전체적으로 완료되거나 전혀 완료되지 않아야 합니다. 작업 중 하나라도 실패하면 이전 상태로 롤백되어야 합니다. 일관성(Consistency) 트랜잭션이 실행되기 전과 후에 데이터베이스는 일관된 상태를 유지해야 합니다. 즉, 트랜잭션이 데이터베이스의 무결성 규칙을 준수해야 합니다. 격리성(Isolation) 동시에 여러 트랜잭션이 실행될 때 각 트랜잭션은 서로 영향을 주지 않고, 한 트랜잭션의 작업이 완료되기 전에는 다른 트랜잭션에서 .. 2023. 6. 7.
List, Set, Map 차이점 List 순서가 있는 데이터의 집합 중복된 값의 저장이 가능 인덱스를 사용하여 각 요소에 접근할 수 있음 ArrayList 배열을 사용하여 데이터를 저장 데이터를 인덱스로 직접 접근할 수 있어 get(int index) 연산이 매우 빠름, O(1)의 시간 복잡도를 가짐 단점은 데이터의 삽입 또는 삭제가 발생하면 해당 인덱스 이후의 모든 요소를 이동시켜야 하기 때문에 시간이 더 많이 소요됨 최악의 경우 O(N)의 시간 복잡도를 가질 수 있음 LinkedList 노드(Node)들이 서로 연결된 구조로 데이터를 저장 각 노드는 현재 요소의 값과 다음 요소를 가리키는 포인터를 가지고 있음 데이터를 검색할 때는 처음부터 마지막 노드까지 하나씩 탐색, 최악의 경우에는 모든 요소를 탐색해야함, O(N)의 시간 복잡도.. 2023. 6. 2.
영속성 컨텍스트란 영속성 컨텍스트란? JPA(Java Persistence API)에서 영속성 컨텍스트(Persistence Context)는 엔티티(Entity) 객체를 영구 저장하는 환경으로, 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 같은 역할을 한다. 영속성 컨텍스트는 JPA에서 엔티티의 생명주기를 관리하고, 데이터베이스와의 효율적인 통신을 지원하여 개발자가 더욱 편리하게 데이터를 다룰 수 있게 한다. 엔티티의 생명주기 비영속(new/transient): 영속성 컨텍스트와 전혀 관계가 없는 상태 영속(managed): 영속성 컨텍스트에 저장된 상태 준영속(detached): 영속성 컨텍스트에 저장되었다가 분리된 상태 → 영속성 컨텍스트와의 관계가 끊겨서 데이터베이스에 대한 변경사항을 자.. 2023. 6. 1.
Spring MVC에서의 예외 처리 기법 예외 처리 방법 @ExceptionHandler 컨트롤러 내에서 특정 예외를 처리하기 위해 사용한다. 이 어노테이션을 메서드에 적용하여 해당 예외가 발생했을 때 특정한 응답을 반환하거나 예외를 처리할 수 있다. @ControllerAdvice 전역적인 예외 처리를 정의할 수 있다. 이 어노테이션이 적용된 클래스는 모든 컨트롤러에서 발생하는 예외를 처리하는 메서드를 가질 수 있다. @ControllerAdvice + ExceptionHandler 특정 예외에 대한 전역적인 처리와 특정 컨트롤러에서 발생하는 예외에 대한 처리를 동시에 수행할 수 있다. 일부 에러만 처리하고 싶을 경우에는 따로 범위설정이 가능하다. @ResponseStatus 특정 예외가 발생했을 때 반환되는 HTTP 응답 상태 코드를 지정할.. 2023. 5. 31.
728x90