BackEnd

· BackEnd
0. JWT란? JWT(JSON Web Token)는 정보를 안전하게 전송하기 위한 간단한 토큰 기반의 오픈 표준이다. Header(헤더), Payload(페이로드), Signature(서명) 세 부분으로 구성되어 있으며........... 는 잠시 제쳐두고!! JWT가 어떻게 쓰고, 어떻게 생겼는지. 보다는 "왜 사용되고, 어디에 사용하는지"가 더욱 중요하다!!! 항상 공부를 할 때, 블로그에서 긁어와서 코드를 돌아가게 만드는 것은 의미가 없다고 생각하는 편이다. 근본적으로 왜 사용되고, 어디에 사용되고, 그 이후에 어떻게 사용하는지를 배우는 서순이 맞다고 생각한다. 1. Session에 대해서 세션(Session)은 웹 애플리케이션에서 클라이언트와 서버 간의 지속적인 상태를 유지하기 위한 메커니즘이..
· BackEnd
0. 들어가기 전 - 버전 springboot : '3.2.3' java : '17' (강의 내용은 스프링부트 2, java 11 을 사용하지만, 본인이 refatoring 하였다.) - Spring Security 사용 목적 스프링 시큐리티(Spring Security)는 스프링 기반의 애플리케이션에서 보안 관련 기능을 제공하는 Spring의 하위 프레임워크이다! 가장 강력하고, 중요한 이유는 인증(Authentication) 및 인가(Authorization) 스프링 시큐리티는 사용자의 인증 및 권한 부여를 처리하는 메커니즘을 제공한다. by Filter!! 스프링 시큐리티를 사용하지 않고, 코딩을 한다고 생각해보자.. 매 요청마다 세션을 검사하고(Authenticaiton), 매 요청마다 특정 리..
· BackEnd
아직 구글 자료들이나 강의 들을 보면 스프링부트 2.X버전이나, JAVA 11 을 요구하는 경우가 다수 있다. 2022년 말에 등장했지만, 아직 회사나 강의 등에서는 2. 버전을 써야할 일이 있는데... 인텔리제이에서 Spring Intilalizr을 보아도, Java는 17 / 21만 지원하고, 11은 손절당했다.. 홈페이지를 들어가 보아도 마찬가지... 최소 버전이 3.1.8이고 Java도 마찬가지로 11은 지원하지 않는다.. 해결책 사실... 3.X 버전을 생성하고 2.x 로 마이그레이션 하는 방법이 제일 간단하다. 주의 : 의존성을 추가한 뒤에 2.x로 마이그레이션 하면, 스프링 버전에 따라 의존성이 다를 수 있으므로 에러가 날 가능성이 있다. 그냥 깡통으로 만들고, 나중에 의존성을 추가하자. b..
· BackEnd
Gradle은 빌드 자동화 도구이며, Groovy와 Kotlin 두 가지 언어를 사용하여 빌드 스크립트를 작성할 수 있다.이전에는 다음과 같이 Gradle과 Maven으로만 빌드 툴이 나누어져 있었다면,최근에는Groovy와 Kotlin으로 세분화 되어있는 것을 볼 수가 있다.일단, Gradle과 Maven 모두 JAVA의 Build Tool이지만, 최근에는 Gradle이 더 많이 쓰이는 추세이다.이유는 다음과 같다.xml로 관리되는 Maven에 비해 짧고 간결한 문법Maven에 비해 C/C++ 등 다른 언어에서도 사용가 능한 범용성과 호환성최소 2배에서 빌드 캐시를 사용하는 대규모 빌드의 경우 100배 정도의 성능차이그렇다면, Gradle-Groovy(기존의 Gradle) 에서 Gradle-Kotlin이..