낙관적2 스프링에서 제공하는 XXTemplate 은 무엇일까? (RestTemplate, JdbcTemplate, TransactionTemplate, HibernateTemplate, SqlSessionTemplate...) 인프런의 토비 스프링 강의 일부 내용을 좀더 딥다이브한 내용입니다.Template 이란 무엇일까? 템플릿이란 어떤 목적을 위해 미리 만들어둔 모양이 있는 틀. 고정된 틀 안에 바꿀 수 있는 부분을 넣어서 사용하도록 만들어진 오브젝트입니다. 우리가 아는 템플릿 메소드 패턴또한 템플릿을 사용합니다.템플릿 메소드 패턴이란?템플릿 메소드 패턴은 고정된 틀의 로직을 가진 템플릿 메소드를 슈퍼클래스에 두고, 바뀌는 부분을 서브클래스의 메소드에 두는 구조로 이뤄진다. 스프링에서 제공하는 `XXTemplate`은 특정 프로세스의 공통 부분을 재사용하면서, 세부적으로 다른 로직을 쉽게 확장할 수 있도록 지원하는 클래스입니다. 이 클래스는 Template 메서드 패턴을 활용하여 변경되는 부분과 고정된 부분을 분리해 줍니다.. 2024. 11. 8. (수정)DB 에서 하는 동시성제어와 애플리케이션에서 하는 동시성 제어는 어떤게 다른걸까? 데이터베이스에서 하는 동시성 제어와 애플리케이션에서 하는 동시성 제어는 모두 동시성 문제를 해결하는 방법이지만,적용되는 레벨과 사용되는 기술에서 차이가 있다. 이 둘은 각각 다른 목적으로, 다른 상황에서 사용되며, 서로 보완적인 역할을 할 수 있다.1. 데이터베이스에서의 동시성 제어 데이터베이스에서의 동시성 제어는 트랜잭션 관리를 통해 여러 클라이언트가 동시에 동일한 데이터에 접근할 때 발생하는 데이터 무결성과 일관성을 보장하는 것을 목표로 한다. 그래서 자주 사용하는 것은 잠금(Locking), 격리 수준(Isolation Level) 등의 기술을 사용한다.트랜잭션 기반이라는 말은, 데이터베이스는 트랜잭션 단위로 동시성을 제어한다. 트랜잭션은 하나 이상의 쿼리가 실행되며, 트랜잭션이 완료될 때까지 데.. 2024. 10. 8. 이전 1 다음