| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- spring mongodb switch
- go
- ipfs bean
- spring mongodb
- Claude Intelij 연결
- kotiln const
- 자바 1676
- javav 1676
- nodejs rabbitmq
- 백준 2252 줄세우기
- 안정해시
- java 1238
- 익명 객체 @transactional
- 백준 연결요소 자바
- Spring ipfs
- 자바 백준 팩토리얼 개수
- java 백준 1509
- java 팩토리얼 개수
- java 파티
- rabbitmq 싱글톤
- 백준 특정한 최단 경로
- kotiln const val
- ipfs singletone
- spring mongoTemplate switch
- 백준 1504 java
- java 1509
- spring mongoTemplate
- Java Call By Refernce
- kotiln functional interface
- mongodb lookup
- Today
- Total
목록2023/12/20 (2)
공부 흔적남기기
$facet과 $limit $skip $project를 통해 쉽게 페이지 네이션을 구현하자. 이 코드를 통해 한방에 페이지네이션을 할 수 있다. 틀은 다음과 같다 { total: Long, $지정할데이터이름 : List } fun Aggregation.pagination(pageable: Pageable, listName: String) { val skipSize = (pageable.pageSize * pageable.pageNumber).toLong() val limitSize = pageable.pageSize.toLong() val pageFacetOperation = Aggregation.facet( SkipOperation(skipSize), LimitOperation(limitSize), )..
프록시 팩토리란 Spring에서 지원하는 프록시 생성해주는 클래스로 프록시를 사용할 구현체(타겟)과 Advice, PointCut을 지정해서 프록시를 생성할 수 있다. 만약 타겟이 interface라면 jdk dynamic proxy를 생성하고 타겟이 구현체라면 cglib를 생성한다. 둘중에 하나만 사용하도록 설정도 가능하다. 최근 spring은 cglib를 기본값으로 사용하고 있다. Advice란 Advice란 프록시 로직을 의미한다 (로그, 캐싱, 권한 확인) Pointcut이란 Advice를 지정할 패키지,클래스,메소드 범위이다. 즉 Advice(로직) PointCut(범위)를 생성하고 ProxyFactory에 넘겨주면 알맞게 proxy를 생성해준다. 참고로 Advice와 PointCut을 합쳐 만..