본문 바로가기

분류 전체보기

[ Spring Boot 3 + Spring Security 6 + OAuth2.0 + JWT ] 마이그레이션과 같이 진행되는 OAuth2 로그인/회원가입 2 컨트롤러 ㄱ 이건 OAuth와 관련없이 그냥 Spring Boot 3 + Spring Security 6 + JWT 로 하는 로그인 인증/인가다. package com.oauth.clientserver.controller; import com.oauth.clientserver.controller.dto.LoginRequest; import com.oauth.clientserver.repository.UserRepository; import com.oauth.clientserver.repository.entity.UserEntity; import com.oauth.clientserver.response.LoginResponse; import com.oauth.clientserver.response.MapR.. 더보기
[ Spring Boot 3 + Spring Security 6 + OAuth2.0 + JWT ] 마이그레이션과 같이 진행되는 OAuth2 로그인/회원가입 1 스프링 부트 공부를 하는데 이번에 OAuth에 대해 알게 되어서 적용해보는 시간을 가졌다. 그 전에 앞서, spring이 6으로 바뀌면서 더이상 JAVA 17 이전은 프로젝트에 적용할 수 없게 되었다. 11을 쓰던 나는 17로 바꾸고 기존 프로젝트들도 마이그레이션 작업을 해야했는데, 자바17로 바꾸는 건 쉬웠지만 마이그레이션 작업이 힘들었다ㅠ 공식문서를 봐도 잘 이해 못하는 초급이고 블로그들 대다수가 예전 버전의 프로젝트 예제들이 많아서 참고하기도 힘들고 오래걸렸다. 그래서 내 나름의 방식을 저장해 두고, 나중에 나에게 좋은 공부였음을 깨닫게 하는 데에 목적을 두고 글을 작성한다. 시작! 프로젝트 환경 build.gradle implementation 'org.springframework.boot:spr.. 더보기
[프로그래머스] JOIN 그룹별 조건에 맞는 식당 목록 출력하기 다음은 식당의 정보를 담은 REST_INFO테이블과 식당의 리뷰 정보를 담은 REST_REVIEW 테이블입니다. MEMBER_PROFILE 테이블은 다음과 같으며 MEMBER_ID, MEMBER_NAME, TLNO, GENDER, DATE_OF_BIRTH는 회원 ID, 회원 이름, 회원 연락처, 성별, 생년월일을 의미합니다. Column nameTypeNullable MEMBER_ID VARCHAR(100) FALSE MEMBER_NAME VARCHAR(50) FALSE TLNO VARCHAR(50) TRUE GENDER VARCHAR(1) TRUE DATE_OF_BIRTH DATE TRUE REST_REVIEW 테이블은 다음과 같으며 REVIEW_ID, REST_ID, MEMBER_ID, REVIEW_.. 더보기
[프로그래머스] GROUP BY 년, 월, 성별 별 상품 구매 회원 수 구하기 다음은 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO 테이블과 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블 입니다.USER_INFO 테이블은 아래와 같은 구조로 되어있으며 USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다. Column nameTypeNullable USER_ID INTEGER FALSE GENDER TINYINT(1) TRUE AGE INTEGER TRUE JOINED DATE FALSE GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경우 남자를, 1인 경우는 여자를 나타냅니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며, ONLINE_SALE_ID, USER_ID, .. 더보기
[프로그래머스] SELECT 오프라인/온라인 판매 데이터 통합하기 다음은 어느 의류 쇼핑몰의 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블과 오프라인 상품 판매 정보를 담은 OFFLINE_SALE 테이블 입니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOUNT, SALES_DATE는 각각 온라인 상품 판매 ID, 회원 ID, 상품 ID, 판매량, 판매일을 나타냅니다. Column nameTypeNullable ONLINE_SALE_ID INTEGER FALSE USER_ID INTEGER FALSE PRODUCT_ID INTEGER FALSE SALES_AMOUNT INTEGER FALSE SALES_DATE DATE FALSE 동일한 날짜, 회원 ID, .. 더보기
[프로그래머스] JOIN 보호소에서 중성화한 동물 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) FALSE A.. 더보기
[프로그래머스] JOIN 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE INTAKE_CONDITION VARCHAR(N) FALSE NAME VARCHAR(N) TRUE SEX_UPON_INTAKE VARCHAR(N) FALSE A.. 더보기
[프로그래머스] JOIN 5월 식품들의 총매출 조회하기 다음은 식품의 정보를 담은 FOOD_PRODUCT 테이블과 식품의 주문 정보를 담은 FOOD_ORDER 테이블입니다. FOOD_PRODUCT 테이블은 다음과 같으며 PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE는 식품 ID, 식품 이름, 식품코드, 식품분류, 식품 가격을 의미합니다. Column nameTypeNullable PRODUCT_ID VARCHAR(10) FALSE PRODUCT_NAME VARCHAR(50) FALSE PRODUCT_CD VARCHAR(10) TRUE CATEGORY VARCHAR(10) TRUE PRICE NUMBER TRUE FOOD_ORDER 테이블은 다음과 같으며 ORDER_ID, PRODUCT_ID, AMOUNT, P.. 더보기