스프링 하위 프레임워크로 어플리케이션의 인증(authentication)과 인가(authorization)를 담당하여 기본적으로 제공하는 기능들을 제공. 따라서 개발자가 보안에 해당되는 모든 부분을 구현하지 않아도 되는 장점이 있다. Spring Security Filter 는 Dispatcher Servlet 이전에 적용된다. 즉, request 는 Sprint Security Filter -> Dispatcher Servlet -> interceptor -> Controller 순으로 전달된다. Spring Security 를 통해 인증 과정을 거치고 나면, 특정 리소스에 접근을 하기 위한 권한을 확인한다.
SecurityContextPersistenceFilter - 기존에 인증된 정보가 있다면, 다음 요청에서 다시 인증하지 않도록 SecurityContext를 공유 - Spring Session을 활용하여 세션 클러스터를 구현할 수 있음 => Spring Session을 활용하는 경우, 세션을 생성, 삭제하는 부분을 제대로 구현하지 않을 경우 memory leak이 발생할 수 있음. 서버 내부에서 세션을 생성하기 보다는 외부 데이터소스에 세션을 관리하여 세션 관리 모듈을 분리하는 것도 괜찮음. 단, 의존성이 생기기 때문에, 응답 지연, 에러처리 부분에 신경써야 함. SecurityContextRepository - SecurityContextPersistenceFilter가 기존의 SecurityCont..
Java Garbage Collector는 어떤 객체에 유효한 참조가 있다면 'reachable', 없으면 'unreachable' 로 구별한다. 따라서 참조가 없는 unreachable object에 대해서 GC를 수행함. 보통, Memory leak이 발생하는 경우에는 문제가 되는 객체에 대한 참조가 살아 있기 때문에 dump를 뜬 후, Memory Analyzer로 확인이 가능하다. (이 경우 reachable object에 대한 확인 필요) 하지만, 비정상적으로 Minor GC가 잦게 발생한다면, GC 대상이 되는 unreachable object에 대한 확인이 필요하다. 이 역시 Memory Analyzer로 확인이 가능하다. (정상적으로 GC가 발생하는 경우 어떤 객체가 GC 대상인지는 알 필..
https://obsidian.md/ Obsidian: A knowledge base that works on local Markdown files. Obsidian – A knowledge base that works on local Markdown files. obsidian.md 최근에 알게 된 obsidian 이라는 메모앱. 마크다운 기반이고, css 커스터 마이징이 가능하다. 여러 커뮤니티에서 다른 사람들이 올려둔 theme을 적용해볼 수 있음. 아이클라우드에 동기화를 해두면, 맥북, 아이폰에서 관리할 수 있다. 다른 메모앱과의 차이점은 좀 더 폴더별로 관리할 수 있고, 파일간 참조하는 경우에 대해서 graph로 확인할 수도 있음. 현재 Notion을 사용하고 있는데, 보다 개인적인건 notio..
- Total
- Today
- Yesterday
- type명령어
- dynamic programming
- 여러 파일 하나로 합치기
- graph traversals
- 인쇄행고정
- anaconda2
- Divide&Conquer
- Open ID Connect
- greedy
- Python
- Bruteforce
- Excel
- ipynb
- 동시설치
- 엑셀
- Markdown Note
- nbconvert
- 인쇄열고정
- backtracking
- anaconda설치
- ICPC
- unreachable object
- SecurityContextRepository
- SecurityContextPersistenceFilter
- DP
- 메모리제한
- 이클립스메모리분석툴
- minor GC
- Note App
- 스도쿠
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |