TIL
-
2024.02.03 spring security Authorization Manager Method SecurityTIL 2024. 2. 3. 14:37
5.6 버전 이전에는 Secured와 PreAuthorize를 동시에 사용할 수 없었지만 5.6 이후에는 동시에 사용할 수 있게 되었음. 이유는 다음과 같다. 5.6이전에는 MethodSecurityInterceptor가 해당 메소드의 권한을 검증했음. 검증 방식을 가져오는 것을 DelegatingMethodSecurityMetadataSource에게 위임한다. DelegatingMethodSecurityMetadataSource는 호출한 메소드가 어떤 권한 검증을 해야하는지를 캐시하고 있는데 가장 첫번째 검증 방식을 캐시한다. 해당 attribute(검증방식)은 계속 반환되어 interceptor까지 가게되어서 PreInvocationAuthorizationAdviceVoter가 투표하는데 사용된다. ..
-
2024.01.14 TransactionSynchronizationManagerTIL 2024. 1. 14. 22:36
TransactionSynchronizationManager 트랜잭션 내부에서 데이터(커넥션등)를 동기화할 때 사용하는 오브젝트인데 이것을 활용하면 내가 원하는 트랜잭션 생명주기와 동일한 캐시를 만들 수 있을 듯 하다. registerSynchronization 메소드도 제공하는데 before commit등을 정의할 수 있다. 커밋 전에 뭔가를 해야할 때 여기다 넣으면 될 듯 하다. https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/transaction/support/TransactionSynchronizationManager.html TransactionSynchronizationManager (Spr..
-
2024.01.02 kafka 적어도 한 번...TIL 2024. 1. 3. 02:04
https://ssnotebook.tistory.com/m/48 [Kafka] 멱등성/At least once/At most once/Exactly once MSA(Micro Service Architecture)에서 EDD(Event Driven Development)를 기반으로 개발을 할 때 Kafka를 이벤트 브로커로 많이 사용하게 되고, 그와 더불어서 이슈가 되는 것이 멱등성에 관한 내용이다. 아래 글은 Ka ssnotebook.tistory.com https://easywritten.com/post/kafka-message-delivery-semantics/ Kafka의 Message Delivery Semantics 그리고 Exactly Once 전송 | EasyWritten 간단한 Kafka..
-
2023.12.16 JMeter,feignTIL 2023. 12. 16. 23:28
https://velog.io/@ehdrms2034/%EC%84%B1%EB%8A%A5-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EB%8F%84%EA%B5%AC-Apache-Jmeter-%EC%84%A4%EC%B9%98%EB%B6%80%ED%84%B0-%EA%B0%84%EB%8B%A8%ED%95%9C-%EC%82%AC%EC%9A%A9%EA%B9%8C%EC%A7%80 [성능 테스트 도구] Apache Jmeter 설치부터 간단한 사용까지 오늘은 성능테스트 도구로 많이 쓰이고 있는 Apache Jmeter의 간단한 사용법을 알려드리도록 하겠습니다.서버가 제공하는 서비스에 대한 성능을 측정하고 사용자에게 보여주는 테스트 도구라고 할 velog.io https://www.google.com/search..
-
2023.12.10 MVCCTIL 2023. 12. 10. 23:46
https://mangkyu.tistory.com/288 [MySQL] MVCC(다중 버전 동시성 제어)와 데이터베이스가 트랜잭션을 지원하는 방법과 동작 과정 이번에는 데이터베이스가 트랜잭션을 지원하는 방법과 동작 과정에 대해 살펴보도록 하겠습니다. 아래의 내용은 RealMySQL과 MySQL 공식 문서 등을 참고하여 작성한 내용입니다. 1. MVCC(다중 버전 동 mangkyu.tistory.com 언두 로그에 쌓이는 것은 이전 버전의 데이터 정보가 쌓인다. 트랜잭션이 커밋하기 전에 다른 select 요청이 온다면 (격리수준에 차이는 있지만.) 이전 버전의 값을 반환하기 위해 언두로그를 탐색한다. 트랜잭션을 짧게 가져가는 게 좋은 이유 중 하나. https://www.youtube.com/watch?v..
-
2023.11.30 mybatis cacheTIL 2023. 11. 30. 00:45
https://mybatis.org/mybatis-3/java-api.html#local-cache mybatis – MyBatis 3 | Java API Java API Now that you know how to configure MyBatis and create mappings, you're ready for the good stuff. The MyBatis Java API is where you get to reap the rewards of your efforts. As you'll see, compared to JDBC, MyBatis greatly simplifies your code and k mybatis.org
-
2023.11.19 제3정규화TIL 2023. 11. 19. 21:41
[220930] DB 제3정규화 위반 문제점을 무시하고 프로젝트 연관관계 수정한 삽질 후기 프로젝트 엔티티 연관관계를 개선하는 과정을 진행하면서 여러 삽질을 했다. 약 5~6가지 삽질을 했는데, 이번 포스팅에선 그 중 하나인 4번째 삽질, DB 정규화 위반 문제점 중 하나인 갱신 이상을 kth990303.tistory.com DB설계 시 해당 문제와 비슷한 고민을 할 때가 있다. 해당 시점의 작성자의 닉네임을 기억해야 한다면 스냅샷 개념으로 칼럼으로 가지는 것은 문제가 없다고 생각한다. 결국 기획이 정해져야 정할 수 있는 문제이다. 다만 해당 글은 그런 문제가 아니니 다시 생각해보면 제3 정규화를 위반하는 것일까? 마지막 단락을 읽기 전까진 3정규화를 하지 않아서 발생한 문제라고 생각했다. 근데 같은 테..