https://www.inflearn.com/course/스프링부트-시큐리티/dashboard 인프런 강의를 듣고 정리한 글이다. JWT (Json Web Token) Json 객체. 디지털 서명이 되어 있음. HMAC 알고리즘 혹은 RSA 사용 구조 xxxxx.yyyyy.zzzzz x: header y: payload z: signature header { "alg" : "HS256", "typ" : "RSA" } 형태의 JSON을 Base64Url Encoding payload private claim: user id 같은 정보를 넣음 signature HMACSHA256(header + "." + payload, secret key) header + payload를 서버만 아는 secret key ..
webclient retrieve vs exchangeretrieve : 바로 response body를 처리 가능.exchange상태 코드, 헤더 등 client response를 바로 전달해주어 세밀한 처리 가능.4xx, 5xx 응답코드에 대한 처리가 없어 개발자의 실수로 메모리 릭 발생 가능. 따라서 retrieve 를 권장webclient 로 nested object request body를 만드는 방법extra[second_field_name]대괄호 안에 넣으면 됨
컨트롤러에서 삭제하고 싶은 필드에 null 할당 & 추가적인 필드가 필요하면 model에 추가 모델 클래스가 비대해질 수 있다. 어떤 필드에는 들어있고 어떤 필드에는 안 들어있는 경우가 달라져서 디버깅하기 어려울 수 있다 그냥 Map으로 내려주는 방법 추가하려면 map에 추가하고 삭제하려면 삭제하는 방식. 근데 컨트롤러 로직이 지저분해짐 응답용 데이터 오브젝트 따로 구현 이 방법이 가장 좋다

WebClient란? 간략히 말해서, web request를 수행하는 entry point를 나타내는 인터페이스이다. HTTP/1.1 프로토콜로 동작하는 reactive하고 non-blocking client이다. 이 인터페이스는 DefaultWebClient 라는 클래스 하나로만 구현되어 있다. Concurrency in Spring WebFlux Reactive Programming의 탄생 배경 전형적인 웹 어플리케이션은 여러 복잡하고 상호작용하는 부분들로 구성되어 있습니다. 많은 상호작용들은 blocking 방식입니다. 예를 들어, 데이터를 fetch 나 update 하는 DB call 이 있습니다. 하지만 독립적이고 동시에 (병렬적으로도 가능한) 수행될 수 있는 것들도 있습니다. 예를 들어, 웹 ..

Spring 3.2 이전 @ExceptionHandler 컨트롤러 수준에서 작동 각 컨트롤러에 명시해주어야 함 HandlerExceptionResolver ExceptionHandlerExceptionResolver DespatcherServlet 안에서 기본적으로 실행된다 @ExceptionHandler 메커니즘이 동작하게 해주는 주요 컴포넌트 DefaultHandlerExceptionResolver DespatcherServlet 안에서 기본적으로 실행된다 기본적인 Spring Exception에 대해 4xx, 5xx 에러 상태 코드 설정을 해준다. Exception list http://static.springsource.org/spring/docs/3.2.x/spring-framework-refe..
캐시 추상화 메서드에 캐싱을 적용하여 캐시에 보관된 정보가 있으면 반환하는 방식으로 실행 횟수를 줄여준다. 캐시와 버퍼의 차이 A buffer is a temporary memory location that is traditionally used because CPU instructions cannot directly address data stored in peripheral devices. 버퍼는 데이터에 접근하는 CPU의 시간을 줄여주는 임시 저장 메모리이다. A cache also increases transfer performance. A part of the increase similarly comes from the possibility that multiple small transfers ..
Aspect Oriented Programming. 관점 지향 프로그래밍 OOP에서 기능들이 상속 계층을 타고 세로로 내려오는 거라면, AOP는 비슷한 클래스드렝서 공통된 기능을 가로로 분리해낸다는 느낌 🤔 전문통신: 정해진 규칙을 가진 바이트 배열이 양쪽간에 오가는 통신 데이터 구조를 일일이 다 설계할 수 없으니 xml로 통신 → xml 기반의 웹 서비스 → REST API 즉 컴퓨터 통신의 종류로 전문 통신, 웹 서비스, REST API 등이 있다. 별도의 proxy 함수 호출 reflection으로 annotation 체크 annotation 동작 - 실제 함수 호출 (annotation 에 따라 시점은 다를 수 있음) 이지만 스프링에서는 AOP Proxy 가 있기 때문에 별도의 proxy 함수를 ..
- Total
- Today
- Yesterday
- ASCII
- SHA
- Java
- ActiveAdmin
- 이펙티브자바
- Spring-Boot
- annotation
- ruby
- Generic
- 실용주의
- 암호화
- effective-java
- SQL 전문가 가이드
- aws
- Lombok
- 이벤트스토밍
- fetchResults
- 코테 log
- 사고..
- sort algorithm
- IntelliJ
- WebClient
- DesignSystem
- TroubleShooting
- Encoding
- querydsl
- Git
- gitignore
- point
- 메모리 릭
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |