일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- design pattern
- MSA
- 백준
- 파이썬
- Heap
- Java
- 자바
- 알고리즘
- Galera Cluster
- redis
- react
- Spring
- 운영체제
- 컴퓨터구조
- Algorithm
- Kafka
- Proxy
- C
- 자료구조
- MySQL
- JavaScript
- spring webflux
- c언어
- JPA
- Data Structure
- mongoDB
- 네트워크
- 디자인 패턴
- IT
- OS
- Today
- Total
목록Proxy (3)
시냅스
프록시 em.find() 데이터베이스를 통해서 실제 엔티티 객체 조회 em.getReference() 데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체 조회 데이터베이스에 조회가 필요할 때 필요한 시점에 조회한다. 데이터베이스에 쿼리가 실행이 되지 않았음에도 조회가 되는 것 프록시는 실제 클래스를 상속 받아 만들어져 겉 모양이 같다. 클라이언트는 진짜 객체인지 프록시 객체인지 구분하지 않고 사용하면 됨 프록시 객체는 처음 사용할 때 한 번만 초기화한다. 프록시 객체를 초기화 할 때 프록시 객체가 실제 엔티티로 바뀌는 것은 아니고, 초기화 되면 프록시 객체를 통해서 실제 엔티티에 접근 가능하다. 프록시 객체는 원본 엔티티를 상속 받는다, 따라서 타입 체크시 주의해야함 프록시 내부에는 실제 객체의 참조를..
선언적 트랜잭션과 AOP 개발자는 트랜잭션 처리가 필요한 곳에 @Transactional 애노테이션만 붙여주면 된다. @Transactional 애노테이션이 특정 클래스나 메서드에 하나라도 있다면 실제 객체 대신에 트랜잭션을 처리해주는 프록시 객체가 스프링 빈에 등록된다. 스프링의 트랜잭션 AOP는 이 애노테이션을 인식해서 트랜잭션을 처리하는 프록시를 적용해준다. 위 케이스에서 tx()의 경우 프록시 객체가 호출되고 트랜잭션이 적용된다. nonTx() 는 트랜잭션이 없는 것을 확인할 수 있다. 트랜잭션은 구체적이고 자세한 것이 높은 우선순위를 가진다. e.g. 클래스 < 메서드 만약 트랜잭션이 적용되지 않은 함수 내부에서 트랜잭션이 적용된 함수를 호출한다면 트랜잭션이 적용되지 않는다. 객체.externa..
Proxy Proxy - JavaScript | MDN Proxy 객체는 기본적인 동작(속성 접근, 할당, 순회, 열거, 함수 호출 등)의 새로운 행동을 정의할 때 사용합니다. developer.mozilla.org immer나 state의 불변성 유지를 위해 알아보았다. 기본적인 동작 ( 속성 접근, 할당, 순회, 열거, 함수 호출 등)의 새로운 행동을 정의할 때 사용한다. 선언 new Proxy(target, handler); 예제 var handler = { get: function(target, name){ return name in target? target[name] : 37; } }; var p = new Proxy({}, handler); p.a = 1; p.b = undefined; co..