일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- LV02
- Lv.0
- LV01
- spring boot
- CoffiesVol.02
- GIT
- LV03
- 이것이 자바다
- CI/CD
- 일정관리 프로젝트
- LV0
- LV1
- 연습문제
- 코테
- Til
- Redis
- 알고리즘
- mysql
- JPA
- S3
- 프로그래머스
- docker
- LV.02
- 일정관리프로젝트
- 데이터 베이스
- SQL
- 포트폴리오
- 디자인 패턴
- Join
- Java
- Today
- Total
목록백엔드 (16)
코드 저장소.

목차1.트랜잭션?2.스프링 내부에 있는 트랜잭션 구조 1.트랜잭션?우선 트랜잭션은 데이터베이스(DB)에서 하나의 논리적 작업 단위(작업 묶음)를 의미하며, 모두 성공하거나(Commit) 실패하면(Rollback) 원래 상태로 되돌리는(Atomic) 연산을 의미합니다. 그리고 트랜잭션을 나타내는 특징은 다음과 같습니다. 트랜잭션은 ACID 원칙을 따라야 한다.특성설명Atomicity (원자성)트랜잭션이 모두 성공하거나 모두 실패해야 한다.Consistency (일관성)트랜잭션 수행 전후 데이터의 무결성이 보장되어야 한다.Isolation (격리성)동시에 여러 트랜잭션이 실행될 때, 서로 간섭하지 않아야 한다.Durability (지속성)트랜잭션이 성공적으로 완료되면, 결과가 영구적으로 저장되어야 한다. ..
목차1.TestContainer?2.테스트 컨테이너의 장단점3.작성 방법 1.TestContainer?테스트컨테이너란 코드로 도커 컨테이너를 제어하여 통합테스트를 도와주는 라이브러리입니다. 로컬에 설치된 도커데몬과 연동되어 테스트코드가 실행되기 전 코드를 통해 해당 테스트를 위한 일회성 컨테이너를 생성하고 테스트 수행 후 컨테이너를 삭제합니다. 테스트컨테이너를 응용하면 테스트 때 뿐만 아니라 런타임 중에도 컨테이너를 생성하고 활용할 수 있습니다. 2.각 테스트 컨테이너의 장단점장점실제 환경과 유사한 테스트 환경 제공다양한 데이터베이스 및 서비스 제공테스트가 끝나면 자동으로 컨테이너 정리JUnit 4, JUnit 5 지원단점테스트 실행 속도가 느려질 수 있음컨테이너를 실행하는 데 시간이 소요되므로, 단순..
목차1.Redis의 자료구조2.String3.List4.Hashes5.Sets6.Sorted sets 1.Redis의 자료구조Redis는 기본적으로 다야한 형태의 자료구조를 제공을 하고 있다. Redis의 자료구조는 다음과 같습니다.Strings : Vinary-safe한 기본적인 key-value 구조Lists : String element의 모음, 순서는 삽입된 순서를 유지하며 기본적인 자료구로 Linked List를 사용Sets : 유일한 값들의 모임인 자료구조, 순서는 유지되지 않음Sorted sets : Sets 자료구조에 score라는 값을 추가로 두어 해당 값을 기준으로 순서를 유지Hahses : 내부에 key-value 구조를 하나더 가지는 Reids 자료구조Bit arrays(bitMap..
목차1.프록시2.로딩전략 1.프록시JPA에서의 프록시는 엔티티의 지연 로딩(Lazy Loading)을 지원하기 위해 사용됩니다. JPA 구현체(예: Hibernate)는 엔티티 대신 프록시 객체를 반환하여 실제 데이터베이스 액세스를 지연할 수 있습니다. 프록시 객체는 실제 엔티티의 서브 클래스 또는 동적 프록시로서, 엔티티의 실제 데이터가 필요한 시점까지 데이터베이스 쿼리를 연기합니다. 프록시의 동작 원리지연 로딩 설정: 엔티티 관계(예: @OneToMany, @ManyToOne)에 fetch = FetchType.LAZY를 설정합니다.프록시 생성: JPA 구현체는 엔티티를 로드할 때 실제 엔티티 대신 프록시 객체를 반환합니다. 초기화: 프록시 객체의 메서드가 호출되면, JPA 구현체는 실제 엔티티 데이..
목차1.JPA의 데이터 타입2.기본값 타입3.임베디드 타입4.컬렉션 값 타입 1.JPA의 데이터 타입JPA에서의 데이터 타입은 크게 엔티티타입과 값 타입으로 되어있습니다. 엔티티 타입 엔티티 타입은 @Entity로 정의를 할 수 있는 객체를 의미합니다. 값타입 값타입은 크게 3가지로 분류를 할 수 있습니다. 1.기본 값 2.임베디드 타입3.컬렉션 타입2.기본값 타입기본 값 타입은 자바에서 기본 타입, 래퍼 클래스, String을 예로 들 수 있습니다.@Entity@Getter@NoArgsConstructor@AllArgsConstructorpublic class testEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) ..
목차1.JPA의 연관관계2.1대1관계3.1대다관계4.다대다관계 1.JPA의 연관관계JPA(Java Persistence API)에서 연관관계는 단방향과 양방향으로 설정할 수 있습니다. 연관관계는 크게 1대1,1대다,다대다의 세 가지 유형으로 나뉘며, 각각을 단방향과 양방향으로 구현할 수 있습니다. 2.1대1관계단방향: 한쪽 엔티티가 다른 한쪽 엔티티를 참조합니다. 예를 들어, User가 UserProfile을 참조하지만 UserProfile은 User를 참조하지 않습니다.@Entitypublic class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name..