분류 전체보기

TIL - doFilter 메소드에 대해서 개발하면서 매우 궁금했던 게 바로 chain.doFilter(request, response); 메소드였다. JwtAuthorizationFilter에 존재하는 이 doFilter는 도대체 무엇을 하는 애일까? 내 첫 번째 TIL에서 공부했던 게 바로 doFilter 안의 인자로 들어가는 HttpServletRequest request와 HttpServletResponse response였는데, 얘들은 일종의 요청과 응답을 나타내는 객체라는 것을 알게되었다. 그러나 이제 궁금한 점은 그렇다면 요청과 응답을 동시에 가지고 있는 doFilter 메소드는 무엇을 하는 것 인지였다. oracle에 따르면, 필터는 리소스(서블릿 또는 정적 콘텐츠)에 대한 요청이나 리소스..
Spring Bean Life Cycle에 대해서 Spring에서 빈이 만들어지고, DI로 사용된다는 것은 알고 있었다. 그런데 전체적으로 Spring Bean Life Cycle에 대해서는 잘 모르는 것 같아서 이번에 새롭게 정리해보려고 한다. 간단하게 정리하자면, bean은 다음과 같은 라이프 사이클을 거친다. 스프링 컨테이너 시작 -> 스프링 빈 초기화 -> 의존관계 주입(DI) -> init() -> 유틸리티 -> destory() -> 스프링 종료라는 라이프 사이클을 거치는데, 더 디테일한 전체 flow는 다음과 같다. 패키지 스캐닝이 있는 어노테이션(@Bean, @Controller, @RestController, @Service, @Repository, @Component)이나 XML 등으로..
스프링 서블릿(Servlet)에 대해 Spring Boot로 코드를 짜다가 어느 날 든 생각. 도대체 HttpServletRequest request와 HttpServletResponse response가 무엇일까? 그동안 막연하게 request와 response일 것이라고 생각하고 있었지, 정작 이 중간에 있는 단어, Servlet 이 무엇인지에 대해서는 별로 관심이 없었다. 조사해 보니, Spring MVC는 중앙 Servlet인 DispatcherServlet를 중심으로 디자인되었다고 한다. DispatcherServlet는 사용자의 요청을 처리하기 위한 shared algorithm를 제공한다. DispatcherServlet은 Spring 기반 웹 애플리케이션의 Front Controller 역..
· 🤖AIML
M3 Max의 변화 애플이 실리콘 라인업을 재구축 중이다. M3 Max에는 더 이상 UltraFusion interconnect가 존재하지 않는다고 한다. UltraFusion interconnect는 여러 개의 칩 다이(낱개로 잘려진 칩)를 결합하는 애플만의 패키징 방식으로, 기존에 M1 Ultra를 만들 때 M1 Max 칩 다이 두 개를 UltraFusion 패키징으로 결합해 강력한 시스템 온 칩(SoC, System on Chip)를 만들 수 있었다. 이 방식은 M2 Ultra 칩을 만들 때도 M2 Max 칩 다이 두 개를 결합하는 식으로 활용되었다. 참고로 위의 사진에서 칩의 맨 아랫 부분에 보이는 실리콘 인터포저가 바로 UltraFusion이다. 어떻게 두 개의 칩이 연결되는지 간단하게 알고 싶..
커스텀 어노테이션이 필요한 상황 지금 구현하고 있는 프로젝트에서는 거의 대부분의 기능을 소셜 로그인 후 사용 가능하다. 따라서 거의 모든 API에서 JWT 토큰 인증 후 토큰에 있는 정보를 가지고 member의 정보(id, email 등등)을 추출하는 로직이 필요한데, 이를 컨트롤러에서 중복되는 코드를 계속 작성하기에는 너무 지저분하기도 하고, 깔끔하게 어노테이션 하나로 선언적으로 표현하고 싶어서 커스텀 어노테이션인 @AuthUser를 만들기로 했다. @AuthUser 어노테이션 @AuthUser는 여러 도메인에서 글로벌하게 사용할 어노테이션이므로, ./global/auth 아래에 만들어 주었다. 코드는 아래와 같다. (참고로 interface 앞의 @는 오타가 아니라, 어노테이션 타입이라는 뜻이다.) ..
Researcher Cathy
'분류 전체보기' 카테고리의 글 목록 (5 Page)