[플러스 주차 개인과제] 레벨 2 문제 해결 과정
·
Framework/Spring
1. JPA Cascade(1) 문제 요구사항   (2) 문제 풀이기존 코드에서는 Todo 엔티티를 저장할 때, 연관된 Manager 엔티티가 자동으로 저장되지 않습니다.따라서 데이터베이스에 Manager 정보가 남지 않아, 별도로 저장해야 하는 번거로움이 있습니다. 이 문제를 해결 하기 위해서 Todo 엔티티의 managers필드에 `cascade = CascadeType.PERSIST`를 적용하였습니다. [수정한 코드]public class Todo extends Timestamped { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; private St..
토큰 기반 인증과 JWT: 액세스 토큰과 리프레시 토큰의 핵심 이해
·
Framework/Spring
1. 토큰 기반 인증이란?사용자가 서버에 접근할 때, 인증된 사용자인지 확인하는 방법은 크게 두 가지로 나뉜다. (1) 토큰 기반 인증 vs 세션 기반 인증1️⃣ 토큰 기반 인증클라이언트가 토큰을 보관하고 요청 시 전송 → 서버는 무상태성 유지2️⃣ 세션 기반 인증 서버가 사용자 정보를 세션으로 저장 → 상태 유지 필요 1️⃣ 토큰 기반 인증토큰은 서버에서 클라이언트를 구분하기 위한 값으로, 서버에서 토큰을 생성하여 클라이언트에 제공한다.클라이언트를 해당 토큰을 저장하고 있다가 API 요청시 함께 전송한다.서버는 토큰을 검증하여 유효한 사용자인지 확인한다.서버가 인증 정보를 저장하지 않기 때문에 무상태성을 유지할 수 있고, 확장성이 뛰어나다. 2️⃣ 세션 기반 인증서버는 사용자마다 세션을 생성하여 사용자..
JPA를 사용한 조회 기능 구현 - 날씨와, 일정 날짜 필터링
·
Framework/Spring
1. 개요내일배움 캠프 [Spring 5기] 플러스 주차 개인 과제 진행 중,레벨 1단계 3. 코드 개선 퀴즈 - JPA의 이해 문제를 해결 하고 있었습니다.해당 문제 풀이 과정을 작성하고자 합니다.   (1) 기존 코드    (2) 요구 사항    2. 컨트롤러 계층[수정 전]@GetMapping("/todos")public ResponseEntity> getTodos( @RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "10") int size) { return ResponseEntity.ok(todoService.getTodos(page, size));}  (1) 첫 번째 요구사항 : we..
[Java] 카드 뭉치
·
CodingTest/[프로그래머스] 자바
1. 문제 설명(1) 문제 설명코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다.원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다.한 번 사용한 카드는 다시 사용할 수 없습니다.카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다.기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다.예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink", "water"],두 번째 카드 뭉치에 순서대로 ["want", "to"]가 적혀있을 때["i", "want", "to", "drink", "water"] 순서의 단어 배열을 만들려고 한다면첫 번째 카드 뭉치에서 "i"를 ..
[Java] 2016년
·
CodingTest
1. 문제 설명(1) 문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요?두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요.요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT입니다.예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.   (2) 제한 조건2016년은 윤년입니다.2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)   (3) 입출력 예abresult524"TUE"   2. 문제 해결(1) 문제 해결 접근문제는 날짜의 요일을 계산하는 것입니다.Java의 내장 라이브러리..