Spring Security, JWT을 사용하여 로그인 서비스 만들기
·
Backend Programming
서론캘린더 프로젝트에서 회원가입 기능을 먼저 구현한 후, 로그인 기능을 추가하기 위해 공부하며 작성했습니다. 그 중에서도 로그인할 때 회원을 어떻게 인증할 지에 대해서 검색을 시작해서 Spring Security를 사용하며 JWT를 사용한 인증을 선택했습니다. 특히 JWT의 공부를 시작할 때 버전으로 인해 검색에 어려움이 있었는데 아래의 버전을 사용했으니 참고하시면 되겠습니다. java 17, SpringBoot 3.3.1, Spring 6.1.10, JWT 0.11.5 JWT에 대해서JWT란?JWT (JSON Web Token)는 인증과 정보를 안전하게 전송하기 위해 사용하는 개방형 표준 (RFC 7519)입니다. JWT는 주로 세 가지 구성 요소로 이루어져 있습니다.Header: 토큰의 유형과 사용된..
회원가입 서비스 만들기
·
Backend Programming
잡담캘린더 프로젝트에 회원을 추가해서 회원마다의 일정을 사용할 수 있도록 회원가입, 로그인에 대해 공부하고 배운 내용들을 정리해서 올려보고자 합니다. 작성된 내용들이 회원가입 서비스를 만들기 위해서 배우고 있는 개발자분들에게 도움이 되었으면합니다. 다만 저 또한 공부하고 작성하는 코드들이여서 부족한 내용이 있을 수도 있으니 참고 정도로 살펴보셨으면 합니다.회원 가입 만들기1. 이메일 검증//Controller@PostMapping("/register/users") public String createUser(@Validated @ModelAttribute UserDto.RegisterRequest userRequest, RedirectAttribut..
[JAVA] 프로그래머스 리코쳇 로봇
·
Algorithm/Programmers
import java.util.LinkedList;import java.util.Queue;class Solution { public int solution(String[] board) { int[] goal = new int[2]; int[] start = new int[2]; Queue nextNode = new LinkedList(); boolean[][] visited = new boolean[board.length][board[0].length()]; for (int i = 0; i = board.length || newY = board[0].length() || board[newX].charAt(ne..
DTO에서 NotNull설정이 되어 있을 때 PATCH를 어떻게 해줘야할까?
·
Backend Programming
현재 상황 및 문제점캘린더 프로젝트를 만들면서 일정 설정, 반복 설정, 알림 설정을 한 곳에서 받아 처리하려고 했습니다. 그러나 PUT을 사용하여 구현할 경우, 현 구조에서는 반복 설정이 바뀌지 않았음에도 반복 내용을 삭제하고 재등록해야 하는 문제가 있었습니다. 이를 해결하기 위해 PATCH를 사용하여 특정 기능만 수정할 수 있도록 하려고 했습니다. 그러나 일정 설정의 필수 정보들이 NotNull로 설정되어 있어, PATCH로 데이터를 보낼 때 어떻게 처리해야 할지 고민이 되었습니다.public class ScheduleDto { private int id; @NotNull private String title; private String description; @NotNull..
[Java] 프로그래머스 멀리뛰기
·
Algorithm/Programmers
//dfs으로 하면 시간초과// % 1234567이니까 무조건이다./*1121123111211241111112121211225111111112112112112111221122212611111111112111211121112111211112211211221211122222dp[n] = dp[n-1] + dp[n-2]*/class Solution { public long solution(int n) { long[] dp = new long[2001]; dp[0] = 0; dp[1] = 1; dp[2] = 2; for(int i = 3; i  풀이1. 우선 % 1234567을 한다는건 경우의수가 엄청나다는 것이니 탐색으로..
RESTful API란?
·
Backend Programming
RESTful API란 무엇인가요?RESTful API는 Representational State Transfer의 약자로, 웹 표준을 기반으로 서버와 클라이언트 사이의 상호작용을 정의하는 방법입니다. REST 원칙을 따르는 API는 HTTP 프로토콜을 사용하여 데이터를 주고받으며, 웹 개발에서 널리 사용됩니다.REST 아키텍처 스타일의 몇 가지 원칙균일한 인터페이스균일한 인터페이스는 모든 RESTful 웹 서비스 디자인의 기본입니다. 이는 서버가 표준 형식으로 정보를 전송함을 나타냅니다. 형식이 지정된 리소스를 REST에서 표현이라고 부릅니다. 예를 들어, 리소스를 동적으로 검색할 수 있도록 표현에 하이퍼링크를 넣어 전송합니다.뭐가 균일하다는 거지?자원 식별:URI를 통해 리소스를 고유하게 식별합니다...