
[백준 16236] 아기상어
2025. 5. 12. 15:40
Algorithm
문제NXN (2 물고기 M 마리 크기 (1~6)상어 1마리(초기 크기 2), 1초에 상하좌우 인접 한칸씩 이동가능자신보다 작은 물고기 먹을 수 있음작거나 같은 물고기 있는 칸 지나갈 수 있음먹을 수 잇는 물고기 없으면 끝먹을 수 있는 물고기 1마리 이상 -> 1. 가까운 물고기부터, 2. 가장 위에 있는 물고기부터, 3. 가장 왼쪽에 있는 물고기부터 먹는다이동과 동시에 물고기를 먹음(빈칸됨)자신의 크기만큼의 물고기 수를 먹을 때 1씩 증가 기존 코드 static int n; static int[][] map; static boolean[][] visited; //상 0,-1 좌-1,0 우1,0 하0,1 static int[] dx = new int[]{0,-1,1,0}; static int..

[NestJS] Pipes
2024. 12. 2. 16:55
NestJS
🛠️NestJS의 lifecycle 요청이 왔을 때 NestJS에서의 lifecycle을 보면 다음과 같다. 1. Requset2. Middleware 2.1. Globally bound middleware 2.2. Module bound middleware3.Guards4. Interceptor(컨트롤러 앞단) 4.1. Golbal interceptor 4.2 Controller interceptor 4.3 Route interceptor5. Pipes 📌 오늘 공부할 내용6. Controller(method handler)7. Service(존재한다면)8. Interceptor(컨트롤러 뒷단) 8.1. Route interceptor 8.2 Controller interc..

[NestJS] Exception
2024. 11. 28. 22:00
NestJS
🛠️NestJS의 lifecycle 요청이 왔을 때 NestJS에서의 lifecycle을 보면 다음과 같다. 1. Requset2. Middleware 2.1. Globally bound middleware 2.2. Module bound middleware3.Guards4. Interceptor(컨트롤러 앞단) 4.1. Golbal interceptor 4.2 Controller interceptor 4.3 Route interceptor5. Pipes6. Controller(method handler)7. Service(존재한다면)8. Interceptor(컨트롤러 뒷단) 8.1. Route interceptor 8.2 Controller interceptor 8.3 G..

[Spring] Filter vs. Interceptor
2024. 11. 27. 11:48
Spring
개발을 하다 보면 공통적으로 처리해야 할 업무들이 많다.공통 업무에 관련된 코드를 페이지마다 작성한다면 비효율적일 것이다.이에 Spring은 공통적으로 여러 작업을 처리할 수 있는 다음과 같은 기능들을 지원하고 있다.1. Filter(필터)2. Interceptor(인터셉터)3. AOP(Aspect Oriented Programming, 관점 지향 프로그래밍) 이제 필터(Filter)와 인터셉터(Interceptor)가 무엇인지 그리고 차이점에 대해서도 알아보자.또한, 간략하게 인터셉터(Interceptor)와 AOP에 대해서도 비교해보자. Filter 요청과 응답을 거른 후 정제- Dispatcher Servlet에 요청이 전달되기 전/ 후에 url 패턴에 맞는 모든 요청에 대해 부가 작업을 처리..

[Spring] Spring에서의 요청처리 흐름(+Spring Security/MVC의 에러 처리 위치)
2024. 11. 26. 16:46
Spring
에러 커스텀 리팩토링 작업을 하다가Spring Security의 요청 처리 단계는 MVC 요청 처리 흐름보다 앞서 있다는 사실을 알았고,이런 처리를 명확하게 하기 위해서는요청 처리 흐름에 대해 조금 더 자세히 정리해 둬야 겠다는 생각이 들었다. 먼저 Spring Framework의 간략한 요청 흐름은 다음과 같다.🐣요청 흐름클라이언트 → Filter: 요청 가공, 인증 토큰 확인 등.→ DispatcherServlet: 요청 라우팅 중심.→ Interceptor (preHandle): 컨트롤러 실행 전 공통 작업.→ Handler (Controller): 요청 처리.→ Interceptor (postHandle): 컨트롤러 실행 후 응답 수정 가능.→ View: 응답 렌더링.→ Interceptor..

[Spring Security] 401, 403 에러처리(Spring 3.xx)
2024. 11. 26. 15:01
Spring
🐣문제상황 스프링 프로젝트에서에러를 커스텀하다가 401, 403에러는 커스텀한대로 나오지 않는 것을 발견했다. 난 요기에 넣어서 나오게 하고싶었고, 다른 에러는 요런식으로 잘 나오는데 그치만 401 에러는 이렇게만 나왔다 🐣원인Spring Security에서 발생하는 예외는 Spring MVC의 기본 예외 처리와 별도로 처리하기 때문!401 Unauthorized 응답은 기본적으로 Spring Security의 AuthenticationEntryPoint에서 처리된다.이 처리 방식은@RestControllerAdvice, @ExceptionHandler를 통해 설정해줬던 Spring MVC의 예외 처리 흐름과 다르다!! Spring Security의 요청 처리 단계는 MVC 요청 처리 ..
[NestJS] Middleware
2024. 11. 21. 17:14
NestJS
🛠️NestJS의 lifecycle 요청이 왔을 때 NestJS에서의 lifecycle을 보면 다음과 같다. 1. Requset2. Middleware 📌 오늘 공부할 내용 2.1. Globally bound middleware 2.2. Module bound middleware3.Guards4. Interceptor(컨트롤러 앞단) 4.1. Golbal interceptor 4.2 Controller interceptor 4.3 Route interceptor5. Pipes6. Controller(method handler)7. Service(존재한다면)8. Interceptor(컨트롤러 뒷단) 8.1. Route interceptor 8.2 Controller interc..

[NestJS] Provider, Module
2024. 11. 20. 15:14
NestJS
🐣Provider의 개념Provider는 NestJS에서 주입 가능한(Injectable) 객체를 말한다.간단히 말해, 특정 값을 반환하거나 기능을 제공하는 객체이다.🐥ex) 서비스 클래스, 팩토리 함수, 또는 값 자체 장점의존성 관리비즈니스 로직 캡슐화유연성 제공 사용법Provider는 NestJS의 Module에서 등록된다. 등록된 Provider는 NestJS의 DI 컨테이너에 의해 관리된다. import { Injectable } from '@nestjs/common';@Injectable()export class AppService { getHello(): string { return 'Hello World!'; }} AppService 클래스는 Provider로 동작하며, @..

[NestJS] Controller
2024. 11. 20. 11:57
NestJS
🛠️NestJS의 lifecycle 요청이 왔을 때 NestJS에서의 lifecycle을 보면 다음과 같다. 1. Requset2. Middleware 2.1. Globally bound middleware 2.2. Module bound middleware3.Guards4. Interceptor(컨트롤러 앞단) 4.1. Golbal interceptor 4.2 Controller interceptor 4.3 Route interceptor5. Pipes6. Controller(method handler)📌 오늘 공부할 내용7. Service(존재한다면)8. Interceptor(컨트롤러 뒷단) 8.1. Route interceptor 8.2 Controller interce..