트랜잭션이란?
·
Database
Transaction= 거래 - DML(Data Manipulation Language), 즉 삽입(INSERT), UPDATE, DELETE와 관련된 논리적인 작업 - RDMS은 데이터를 처리할 때 트랜잭션을 통해 정상 종료와 비정상 종료에 대해 데이터의 신뢰성과 일관성 보장 - 즉, 데이터베이스의 데이터 무결성이 보장되는 상태에서 DML 작업을 완수하기 위한 기본 작업 단위 트랜잭션의 특징= ACID 1. 원자성(Atomicity) - 트랜잭션이 DB에 모두 반영되거나, 혹은 전혀 반영되지 않아야 한다. - 트랜잭션 내 모든 명령은 반드시 완벽히 수행되어야 하며, 어느 하나라도 오류가 발생하면 롤백(전부 취소) 2. 일관성(Consistency) 트랜잭션이 완료되면 데이터베이스의 데이터는 일관되게 유..
프록시 패턴
·
Programming/디자인 패턴
프록시 패턴 프록시 클라이언트가 사용하려고 하는 실제 대상인 것처럼 위장해서 클라이언트의 요청을 받아주는 대리자 타킷 프록시를 통해 최종적으로 요청을 위임 받아 처리하는 실제 오브젝트 프록시의 사용목적 1. 클라이언트가 타킷에 대한 접근 방법을 제어 2. 부가적인 기능을 부여하기 위함 3. 스프링에서는 AOP에 프록시 패턴 적용 AOP Aspect Oriented Programming(관전 지향 프로그래밍) 어떤 로직을 기준으로 핵심, 부가적인 관점으로 나누고 그 관점을 기준으로 모듈화하겠다. 소스 코드 상에서 반복적으로 쓰는 코드를 발견할 수 있는데, 이것을 흩어진 관심사(Crosscutting Concerns)라고 부른다. 위와 같이 흩어진 관심사를 Aspect로 모듈화하고 핵심적인 비즈니스 로직에서..