[TIL] Today I Lerned - 221227

2022. 12. 27. 20:58기록/TIL

[TIL] Today I Lerned - 221227

 

221227 기록

 

알고리즘

 

[Python] 프로그래머스 lv2 - 게임 맵 최단거리 (tistory.com)

 

[Python] 프로그래머스 lv2 - 게임 맵 최단거리

[Python] 프로그래머스 lv2 - 게임 맵 최단거리 코딩테스트 연습 - 게임 맵 최단거리 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래

skyriv312079.tistory.com

BFS를 이용해서 문제를 풀어나감. 다만 오랜만에 그래프 계열의 탐색 문제를 풀려고 하니 어떻게 풀어야 하는지는 감이 왔지만 손으로 코드를 작성하는 부분에서 시간이 좀 걸렸다. 

 

정규식

 

[Java] 정규표현식 (tistory.com)

 

[Java] 정규표현식

[Java] 정규표현식 프로젝트를 진행하면서 입력해서 들어오는 값이 규격에 맞는 값인지 확인하기 위해 사용, 프로젝트 진행 시에는 급하게 검색해서 나오는 자료를 바탕으로 진행했다. 또한 문자

skyriv312079.tistory.com

밀어놨던 정규식에 대한 공부를 시작하고 정리, 아무래도 이전까지 정규식을 사용하는 것은 기간을 맞추기 위해 인터넷을 검색해서 사용했지만 실제로 좀 알고 써야겠다는 생각이 들어서 정리하게 되었다. 아직 여러 문자가 섞인 복잡한 정규식 작성은 힘들지만 그래도 한번 정리하고 난 뒤로는 남이 작성한 정규식을 어렴풋이 읽을 수 있게 되었다. 

 

자주 쓰는 정규식의 경우 나중에 정규식을 하나씩 작성하게 된다면 그 정규식들을 추가하려고 한다.

 

프로젝트

 

  • 유저, 관리자 계정으로 나누기
    • 유저와 관리자로 계정의 등급을 나누는 것에는 성공
    • 그러나 어떤 기능을 관리자 기능을 넣어야할지, 코드를 어떤 방식으로 작성해야 할지 고민
    • 관리자의 경우 모든 글에 접근 / 수정 / 삭제 가능
  • ExceptionHandler로 전체 Exception 제어
    • 기존의 경우 각 컨트롤러 코드에  @ExceptionHandler를 설정하였다
    • 다만 이런 경우 전체적으로 같은 exception에 대해 중복되는 코드가 생성
    • @RestContollerAdvice를 통해 전체적으로 사용되는 AOP 개념의 예외처리 클래스 작성 
    • 현재는 IllegalArgumentException만 존재
    • 추후 다른 에러들도 분류하여 작성할 예정
더보기

RESTControllerAdvice

 

A convenience annotation that is itself annotated with @ControllerAdvice and @ResponseBody.
Types that carry this annotation are treated as controller advice where @ExceptionHandler methods assume @ResponseBody semantics by default.
NOTE: @RestControllerAdvice is processed if an appropriate HandlerMapping-HandlerAdapter pair is configured such as the RequestMappingHandlerMapping-RequestMappingHandlerAdapter pair which are the default in the MVC Java config and the MVC namespace.

 

ControllerAdvice와 ResponseBody의 기능을 동시에 하는 어노테이션

@ExceptionalHandler를 사용이 되는 controller advice에서 처리가 됨

 

ControllerAdvice

ControllerAdvice (Spring Framework 6.0.3 API)

 

ControllerAdvice (Spring Framework 6.0.3 API)

Specialization of @Component for classes that declare @ExceptionHandler, @InitBinder, or @ModelAttribute methods to be shared across multiple @Controller classes. Classes annotated with @ControllerAdvice can be declared explicitly as Spring beans or auto-d

docs.spring.io

 

@Contoller / @RestController에서 발생이 된 예외를 모아서 처리할 수 있게 해주는 어노테이션

  • 스프링 시큐리티로 접근하기

 

'기록 > TIL' 카테고리의 다른 글

[TIL] Today I Lerned - 221229  (0) 2022.12.30
[TIL] Today I Lerned - 221228  (0) 2022.12.28
[TIL] Today I Lerned - 221226  (0) 2022.12.26
[TIL] Today I Lerned - 221223  (0) 2022.12.23
[TIL] Today I Lerned - 221222  (0) 2022.12.22