BoardResponse package com.tenco.blog_jpa_step4.board;import com.tenco.blog_jpa_step4.reply.Reply;import com.tenco.blog_jpa_step4.user.User;import lombok.Getter;import lombok.Setter;import lombok.ToString;import java.util.ArrayList;import java.util.List;public class BoardResponse { @Getter @Setter public static class DTO { private int id; private String title; privat..
Spring boot

JWT란 무엇인가?JWT는 JSON Web Token의 약자로, 두 시스템 간에 정보를 안전하게 전송하기 위해 사용되는 토큰 기반 인증 방식입니다. 예를 들어, 클라이언트와 서버 간에 인증 정보나 사용자 상태를 유지하고 싶을 때 JWT를 활용합니다. JWT는 JSON 형태로 데이터를 저장하며, 그 데이터는 서명(약간에 암호화)되어 안전하게 교환됩니다.JWT의 구조JWT는 세 부분으로 구성됩니다:Header (헤더): 토큰의 타입과 해싱 알고리즘 정보를 담고 있습니다. 보통 'alg' (알고리즘)와 'typ' (타입)이라는 두 가지 속성이 포함되며, 예를 들어, {"alg": "HS256", "typ": "JWT"} 형태입니다.Payload (페이로드): 주로 사용자 정보나 데이터(claims)를 포함하는..

jar 파일 다운로드 Download jmapper-core JAR 1.6.0 ➔ With all dependencies!com.googlecode.jmapper-framework jmapper-core 1.6.0 compile group: 'com.googlecode.jmapper-framework', name: 'jmapper-core', version: '1.6.0' //Thanks for using https://jar-download.com libraryDependencies += "com.googlecode.jmapper-framework" % "jmapper-cjar-download.com auth-jwt-0.0.1-SNAPSHOT.jar drive.google.com 내 컴퓨터에서 새로운..
Auth 2.0 1. 내 애플리케이션 항목에 등록 (로그인) - (kakao developers내 애플리케이션 등록) 2. 플랫폼(web 선택) - 사이트 도메인 기본설정 - http://localhost:80803. 카카오 로그인 사용 시 Redirect URI를 등록- 활성화 ON 처리 - http://localhost:8080/user/kakao (리다이렉트 URI 설정) 4. 동의 항목 설정(제품설정--동의항목 왼쪽 메뉴)- 닉네임, 프로필 사진5. 리소스 다운로드 - 도구 --> 리소스다운로드 --> 카카오로그인 6. REST API 키 - 21625653d6c77548fa54d359f8707123------------------------------------------7. 인가 코드 받기 h..
사용자가 자신의 계정 정보를 직접 공유하지 않아도 서드 파티 애플리케이션들이 제한된 접근을 할 수 있게 해줍니다.카카오 로그인은 카카오계정으로 다양한 서비스에 로그인할 수 있도록 하는 소셜 로그인 서비스입니다. 카카오싱크는 서비스 간편가입 등 카카오 로그인에 더 다양한 확장 기능을 제공하는 비즈니스 설루션입니다. 카카오 로그인과 카카오싱크가 제공하는 핵심 기능은 다음과 같습니다. 카카오 devolpoer Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 구분설명인증(Authentication)ID와 비밀번호로 사용자 신원을 확인, 각 서비스에 사용..

💡 RestTemplate 사용 이유 RestTemplate은 Spring Framework에서 제공하는 HTTP 통신을 간편하게 처리할 수 있는 클래스입니다. org.springframework.web.client.RestTemplate 패키지에 존재 합니다.RESTful 웹 서비스와의 통신을 위해 주로 사용되고 기본적으로 동기 방식으로 처리되며, 비동기 방식으로 처리하고 싶을 경우 AsyncRestTemplate를 사용하면 됩니다. JSONPlaceholder - Free Fake REST API{JSON} Placeholder Free fake and reliable API for testing and prototyping. Powered by JSON Server + LowDB. Servi..

GlobalControllerAdvice - @ExceptionHandler(Exception.class) 주석 처리@ControllerAdvice // IoC 대상 (싱글톤 패턴) --> HTML 렌더링 예외에 많이 사용public class GlobalControllerAdvice { /** * (개발시에 많이 활용) * 모든 예외 클래스를 알 수 없기 때문에 로깅으로 확인할 수 있도록 설정 * 로깅처리 - 동기적 방식(System.out.println), @slf4j (비동기 처리 됨) */// @ExceptionHandler(Exception.class)// public void exception(Exception e) {// System.out.println("--------..

💡 학습 목표WebMvcConfig 에 addResourceHandlers 코드 추가 하기header.jsp 파일 수정초기 파라메터를 이용해서 경로를 수정해 보기현재 우리 사이트 이미지를 보여줘야 하는 상황 확인 하기로그인 하지 않으면 기본 이미지를 보여 주어야 한다.로그인 후 - 회원 가입 시 이미지를 등록한 사용자 - 회원 가입 시 이미지를 등록하지 않은 사용자 WebMvcConfigurer 인터페이스는 Spring MVC 설정을 맞춤화할 수 있는 메서드를 제공합니다. 개발자는 이 인터페이스를 구현하여 기본 제공되는 스프링 부트의 자동 구성을 수정하거나 추가적인 설정을 할 수 있습니다 ViewResolver: 뷰 리졸버는 컨트롤러에서 반환된 뷰 이름을 바탕으로 실제 뷰의 위치를 찾아내고 렌더링하는 ..

💡 학습 목표멀티파트(Multipart)에 대한 기본적인 이해스프링 프로젝트에서의 멀티파트 처리회원 가입시 파일 업로드 기능 구현주요 전체 코드 확인 1. 멀티파트(Multipart)에 이해더보기멀티파트(Multipart)는 HTTP 프로토콜을 사용하여 웹 서버로 파일이나 데이터를 업로드할 때 사용되는 데이터 전송 방식 중 하나입니다. "멀티파트"라는 용어는 말 그대로 메시지가 여러 부분으로 구성되어 있음을 의미하며, 이러한 각각의 부분은 다른 유형의 데이터를 담을 수 있습니다. HTTP 메시지에는 클라이언트가 전송하는 HTTP 요청, 그리고 서버가 반환하는 HTTP 응답이 있습니다. 텍스트 기반 HTTP 메세지 POST /example HTTP/1.1Host: example.comContent-T..

💡 학습 목표SpringSecurityCrypto 의존성 추가 및 BCryptPasswordEncoder 빈 클래스로 등록회원가입 시 회원 비밀번호 암호화 처리로그인 시 암호호 된 비번 확인 및 기능 추가코드 확인* 암호화 처리 후 H2 초기 데이터로 들어간 유저로는 로그인이 안됩니다패스워드 확인 로직인 변경 됨, 신규 유저 가입 후 테스트 해주세요 💡 마이그레이션 마이그레이션이란 데이터베이스 스키마의 변경 내역을 버전 관리하여, 변경에 대한 이력을 남기고, 데이터베이스를 이전 버전에서 최신 버전으로 옮기는 일련에 과정들을 의미합니다.즉, 일반적으로 마이그레이션은 스키마를 변경하거나 새로운 테이블이나 컬럼을 추가하는 등에 작업을 포함하고 따라서 우리가 할 작업 H2 데이터베이스에서 MySQL 로 변경..