📚 애플리케이션을 세 가지 주요 계층으로 나누어 구조화하는 방법으로 각 계층은 특정한 책임을 갖고 있으며, 계층 간에는 명확한 역할 분담이 이루어져 코드의 재사용성, 유지보수성, 확장성을 높이는 데 도움을 준다.요청에 대한 처리예외처리View Template 응답 o
🌐 github 주소https://github.com/JoeMinKyung/spring_scheduleAppAPI명세서는 프로젝트 root(최상위) 경로의 README.md 에 작성참고) API 명세서 작성 가이드API 명세서란 API명, 요청 값(파라미터)
새로운 서비스에서 사용자 인증 및 인터랙션(좋아요 기능)을 구현해야 했다. 로그인/로그아웃 기능을 통해 사용자 인증을 수행하고, 인증된 사용자만 좋아요를 누를 수 있도록 제한하는 것이 목표였다.기존 서비스에서는 사용자의 인증을 위해 세션 기반 인증 방식을 사용하고 있었
레벨 1-1if 문을 passwordEncoder.encode() 호출보다 위로 이동하여, 불필요한 인코딩이 발생하지 않도록 리팩토링 했다. 이제 이메일 중복 검사를 먼저 수행한 후, 패스워드를 인코딩하도록 수정되었다.
📌 Spring에서 인증(Authentication)과 인가(Authorization)는 보안의 핵심 개념으로, 사용자의 신원 확인과 권한 관리를 담당한다.🔑 인증: 너 누구야?🔒 인가: 너 이거 할 수 있어?📌 인증은 사용자가 누구인지 확인하는 과정이다. ->
📌 JWT(JSON Web Token)은 세 부분으로 구성된다.👀 JWT는 .(점)으로 구분된 3개의 파트로 이루어져 있다.각 부분은 Base64Url로 인코딩되어 전달된다.📌 JWT의 메타데이터를 포함하는 부분이다.보통 사용할 알고리즘(HS256, RS256 등
💡 \[Spring] JwtFilter - ArgumentResolver 여기에서도 다뤘지만, Filter와 ArgumentResolver를 통한 데이터 전달 원리에 대해 자세히 다뤄보고자 포스팅을 한다!Filter에서 ArgumentResolver로 데이터를 전달하
📌 아래는 JPA Entity class로 user라는 테이블과 연결되어 있는 코드이다. Lombok의 annotation 해당 클래스의 모든 필드에 대한 getter 메서드를 자동으로 생성한다.예를 들어, getId() 메서드를 자동으로 생성한다.JPA에서 이 클래
💡 Spring에서 사용하는 Annotation들이 각각 어떤 역할을 수행하는지 알아보는 방법에 대해 학습한다면 모르는 Annotation이 나올 경우 어떻게 사용해야 하는지 스스로 찾아낼 수 있다!Spring Bean에 등록하는 역할을 수행한다.Spring Bean
💡 개발에서 우선순위는 항상 자세히 선언된것이 우선순위가 높다.✅ Spring MVC에서 컨트롤러 역할을 하는 클래스임을 명시한다.✅ 뷰(View)와 연결되는 컨트롤러로 사용된다.✅ @Component가 포함되어 있어 Spring Bean으로 등록되며, 싱글톤으로 관
📚 Spring Container은 Spring으로 구성된 애플리케이션에서 객체(Bean)를 생성, 관리, 소멸하는 역할을 담당한다. 애플리케이션 시작 시, 설정 파일이나 Annotation을 읽어 Bean을 생성하고 주입하는 모든 과정을 컨트롤한다.✅ 사용하는 클래
🌱 Spring 프레임워크에서 제공하는 @Scheduled 어노테이션은 주기적으로 실행되는 작업(task)을 스케줄링을 통해 자동화하는 도구입니다. 이번 포스팅에서는 @Scheduled 어노테이션에 대한 개념과 이를 활용한 주기적인 작업 실행 예제를 다루겠습니다.
Redis는 메모리 기반의 NoSQL 데이터베이스로 Key, Value 구조의 비정형 데이터를 메모리에 저장하여 빠른 읽기 및 쓰기 속도를 제공합니다. 주로 캐시나 세션 저장소로 사용됩니다.데이터베이스, 캐시, 메세지 브로커로 사용되며 인메모리 데이터 구조를 가진 저장