API 서버에 대해 인증과 인가처리를 위해 스프링 시큐리티를 사용하기로 하였다.현재 개발 도메인의 정책에서는 인가에 대해서는 논의가 없기 때문에 인증을 위주로 개발하였다.인증에 대한 구현을 스프링 시큐리가 많이 제공하기 때문에, 어떤 방식을 사용할지, 어떻게 사용자를
스프링에서 예외처리를 위해 제공해주는 기능을 사용했다. @ControllerAdvice @ControllerAdvice는 스프링 MVC에서 사용되는 어노테이션으로, 일반적으로 View를 반환하는 컨트롤러에 적용된다. 이 어노테이션을 사용하여 예외 발생 시 처리할 로직을
SMTP란? SMTP는 Simple Mail Transfer Protocol의 약자로, 인터넷에서 이메일을 보내기 위해 사용되는 프로토콜이다. SMTP는 이메일 클라이언트나 다른 SMTP 서버로부터 이메일을 수신하는 메일 서버로 이메일을 전송하는 데 사용된다. 스프
스프링 시큐리티 인증방식의 종류 스프링 시큐리티는 다양한 방식의 인증처리를 제공합니다. 폼 기반 인증 (Form-based Authentication) 일반적으로 사용되는 인증 방식으로, 사용자가 제공한 아이디와 비밀번호를 인증하는 방식입니다. 사용자가 로그인 페이
게시판 서비스에서 구현하는 기능은 다음과 같다.spring security를 통한 자원 인증처리인증된 사용자만 게시글, 댓글 작성 및 수정도메인에 auditing 추가하기게시글과 댓글만 있는 간단한 게시판 서비스를 만들기 때문에 도메인을 심플하게 구성했다도메인에는 게시
\- 서블릿 필터에서 스프링 빈으로 처리를 넘기는 과정 서블릿 필터는 서블릿 컨테이너에서 생성 및 관리하는 필터이고, 스프링 빈은 스프링 컨테이너에서 관리된다. 스프링 위에서 인증, 인가를 처리하기 위해서는 서블릿 필터가 아닌 스프링으로 요청을 넘겨야 한다. 이 때,
게시판 프로젝트를 하던 도중, 인증처리에 대한 공부가 필요해 spring security를 공부하고 기록한다.스프링 시큐리티는 스프링 기반의 애플리케이션의 인증과 인가를 담당하는 스프링의 하위 프레임워크이다. 스프링 시큐리티가 제공하는 기능은 크게 인증과 인가이다.인증
로컬 데이터베이스 설정하기 계정 생성 및 권한 추가 애플리케이션에 접근시 생성한 계정으로 접근하기위해 계정을 생성한다. application 설정파일 작성하기 - 스프링 부트 디버깅 스프링 부트 디버깅을 볼 수 있는 옵션이다. 나오는 결과물이 너무 많기 때문에
해당 강의를 바탕으로 작성하였습니다.https://www.inflearn.com/course/ORM-JPA-BasicJPA란 Java Persistent API의 약자로 자바 진영의 ORM 기술 표준이다.객체와 관계형 데이터베이스 사이에 연결다리를 해주는 역
정규표현식은 문자열에서 특정 내용을 찾거나 대체 및 발췌하는데 사용된다.1) 특정 문자 숫자 매칭a-z, A-Z : 영어 알파벳0-9 : 숫자. : 모든 문자열, 공백 포함 (단 줄바꿈은 포함하지 않음)\\d: 숫자\\D: 숫자가 아닌 것\\w: A-Za-z0-9\_
https://www.acmicpc.net/problem/20437슬라이딩 윈도우 문제이다.k개를 포함하는 최소한의 연속된 문자열을 찾으려면가장 왼쪽과 오른쪽이 같은 문자여야 한다.그렇기 때문에3번은 k개를 포함하는 왼쪽과 오른쪽이 같은 최소를 찾으면 되고,4
https://www.acmicpc.net/problem/1522문제의 핵심은 결국 a를 하나로 뭉쳐놓게 만드는 것이 포인트이다.그렇다면 어떤 부분을 정해서 b를 교환했을때 최소로 a를 일렬로 나열할 수 있을지 생각해보아야 한다.문자열의 길이가 1000밖에 되
https://www.acmicpc.net/problem/14658n,m의 범위가 너무 크기 때문에 배열은 만들 수 없고,n,m크기만큼 트램펄린을 한칸씩 밀면 너무 많은 계산량이 생긴다.처음 아이디어는 각 별을 기준으로 1,2,3,4분면을 탐색했는데, 이렇게
https://www.acmicpc.net/problem/12919브루트 포스적으로 해결하는 문제.연산에는 2종류가 있는데 각각의 경우의 수 마다 2개의 연산을 실행하면 연산량이 너무 많아져 할 수 없다.호출을 줄이기 위해 뒤집은 문자열이나 원래 문자열의 su
https://www.acmicpc.net/problem/1806문제 제목 그대로 부분합을 구할 수 있는지를 물어보는 문제이다.투포인터를 통해 O(N)의 시간복잡도로 통과할 수 있다.시작점에 두개의 포인터를 설정하고 구간합이 작으면 오른쪽 포인터를 밀고,구간합
https://www.acmicpc.net/problem/1253투포인터 슬라이딩 윈도우 문제이다.완전탐색으로 문제를 해결하면,N의 범위가 2000이고 값 2개에 대해 각각 2000번 루프를 돌리고 N번을 반복해야 하니O(n^3)의 시간복잡도로 시간초과가 난다
https://www.acmicpc.net/problem/44850,0 -> n-1,n-1 로 이동하는 최단거리 문제최단거리 문제에서는 다익스트라를 쓸 수 있을까를 고민해봐야 한다.이 문제를 dfs로 완전탐색 하기에는 넘 오래걸린다.2차원 배열로 되어있지만,
https://www.acmicpc.net/problem/17182각 지점마다의 최단거리를 구하고 백트래킹을 해주면 되는 문제이다.최단거리를 구할땐 플로이드 워셜 알고리즘을 이용했다.백트래킹시 상태관리를 해주어야 하는데,노드가 몇개 없는 점에서 이전에 풀었던
https://www.acmicpc.net/problem/16918시뮬레이션 문제이다.폭탄이 같이 터진다는 점에서 배열을 0,0부터 r,c까지 순차적으로 탐색했을때, 폭탄이 터진 경우 옆에 있는 폭탄도 터트리면 안된다.그렇기 때문에 폭탄이 터지지 않는 위치에서
https://www.acmicpc.net/problem/1800해결하지 못해 다른사람들의 풀이를 참조했다.이 문제는 다익스트라 + 이분탐색 문제이다.다익스트라와 이분탐색에 대해 이해해야 위 문제를 풀 수 있었다.어떤 조건을 만족하는 최대, 최소값 문제에서는