[스터디] Real MySQL 8.0 1권 - 5장 트랜잭션과 잠금 정리
·
MySQL
트랜잭션트랜잭션이란?데이터 정합성을 보장하는 기능정합성: (서로 다른 커넥션에서) 데이터가 서로 일치하는 상태작업의 완전성을 보장해 주는 기능작업의 완전성: 논리적인 작업을 모두 완벽하게 처리 or 처리 실패 시 모두 원 상태로 복구해서 부분 업데이트를 방지하는 기능MySQL의 트랜잭션논리적인 작업 셋 자체가 (COMMIT 할 때) 100% 적용 되거나 (ROLLBACK or ROLLBACK 자체가 오류가 발생했을 때) 아무것도 적용되지 않음을 보장해주는 것한 개의 쿼리에서 여러 값을 저장할 때 MyISAM과 InnoDB의 차이MyISAM ❌: 트랜잭션 지원 X => 실패된 부분만 롤백 (부분 업데이트) => 찌꺼기 데이터를 별도로 지우는 코드가 필요InnoDB ✅: 트랜잭션 지원 O => 모두 롤백 (..
[JPA] No EntityManager with actual transaction available for current thread - cannot reliably process 'flush' call
·
JPA
에러가 발생한 이유EntityManager 는 트랜잭션 안에서만 동작한다.EntityManager 가 메서드 내에서 동작할 때 현재 트랜잭션이 없기 때문에 발생한다.해결하려면 트랜잭션 내에서 실행되도록 보장해야 한다.해결법실행하려는 메서드(또는 클래스)에 @Transactional 애너테이션을 붙인다.코드 예시@Transactional // 트랜잭션 내에서 동작하도록 보장@Testvoid example() { // ...} 읽어주셔서 감사합니다.
[예약 대기 시스템] 4. 컨테이너 환경에서 테스트하기 (Testcontainers)
·
Project
이전 포스팅에서 애플리케이션을 컨테이너화 하기 위해 도커를 사용했습니다.(이전 포스팅 : 2024.09.13 - [Project] - [예약 대기 시스템] 3. 프로젝트 설정 (어드민 시스템)) [예약 대기 시스템] 3. 프로젝트 설정 (어드민 시스템)2024.09.11 - [Project] - [예약 대기 시스템] 1. 답답하니까 직접 만들게요2024.09.12 - [Project] - [예약 대기 시스템] 2. 어드민 시스템 데이터 모델링 (개체-관계 모델, ERD) 이전 포스팅에선 어드민 시스템dev-gallery.tistory.com 테스트 코드를 작성하며 컨테이너 환경에서 테스트를 하는 것이 보통 귀찮은 일이 아님을 느꼈습니다.매번 테스트를 할 때마다 MySQL 컨테이너를 띄워야 하고, 독립된 ..
[예약 대기 시스템] 3. 프로젝트 설정 (어드민 시스템)
·
Project
2024.09.11 - [Project] - [예약 대기 시스템] 1. 답답하니까 직접 만들게요2024.09.12 - [Project] - [예약 대기 시스템] 2. 어드민 시스템 데이터 모델링 (개체-관계 모델, ERD) 이전 포스팅에선 어드민 시스템의 데이터 모델링을 다뤘었습니다.이번 포스팅에선 본격적인 개발 전 어드민 시스템의 프로젝트 설정을 다뤄보겠습니다.사용할 기술 스택Java 17Spring Boot 3 (작성일 기준 3.3.3)MySQL 8.0.39 (8.0 버전대에서 bug fix series)LTS 버전은 8.4 입니다. 8.0 버전과 다른 점이 여러 가지(8.0과 8.4의 차이점 보기) 있지만 Real MySQL 8.0 책의 내용을 적용해 보기 위해 bug fix 버전 중 마지막 버전..
[예약 대기 시스템] 2. 어드민 시스템 데이터 모델링 (개체-관계 모델, ERD)
·
Project
이전 포스팅에서 프로젝트를 시작하게 된 이유와 마일스톤들을 얘기했습니다.이번 포스팅은 첫 번째 마일스톤인 어드민 시스템의 데이터 모델링에 대해 살펴보겠습니다.(이전 포스팅: 2024.09.11 - [Project] - [예약 대기 시스템] 1. 답답하니까 직접 만들게요)  [예약 대기 시스템] 1. 답답하니까 직접 만들게요불친절한 예약 시스템제가 정말 좋아하는 방탈출 테마가 있습니다.서울 여러 지점에 걸쳐 다양한 테마를 운영하는 아주 유명한 방탈출 카페입니다.이 방탈출 카페는 온라인 예약제로 운영되는dev-gallery.tistory.com 요구 사항 정의예약 대기 시스템의 첫 번째 마일스톤인 어드민 시스템을 구현하기 전, 요구 사항 정의를 먼저 해보겠습니다.먼저, 제가 예약에 도전하는 방탈출 카페 예약..
[k8s] 쿠버네티스 핵심 개념
·
Kubernetes
보호되어 있는 글입니다.
[docker] 이미지 & 컨테이너
·
Docker
보호되어 있는 글입니다.
[k8s] 쿠버네티스 시작하기
·
Kubernetes
보호되어 있는 글입니다.