spring boot

· 📚 Study
JVM 프로세스와 스레드애플리케이션이 실행되는 과정JVM이 프로세스 시작메인 스레드 생성`main` 함수 내부의 코드들을 수행`main` 함수 내부의 코드가 모두 실행되면 애플리케이션 종료💡 JVM 프로세스는 기본적으로 메인 스레드를 단일 스레드로 해서 실행되며 메인 스레드가 종료되면 종료됨 단일 스레드의 한계와 멀티 스레드 프로그래밍단일 스레드의 한계해야 할 작업이 다른 작업에 의해 방해받거나 작업 속도가 느려질 수 있음 → 응답성의 문제멀티 스레드 프로그래밍병렬 처리(Parallel Processing)스레드를 여러개 사용해 작업을 처리하는 프로그래밍 기법메인 스레드에 오래 걸리는 작업이 요청됐을 때, 이 작업을 백그라운드 스레드에서 처리하도록 함✔️ 작은 작업 간에 독립성이 있을 때에만 병렬 실행..
💡 SpringMail을 사용하여 메일 전송 구현 GitHub - jeongum/spring-mail Contribute to jeongum/spring-mail development by creating an account on GitHub. github.com 개발환경 SpringBoot 3.1.4 kotlin / java 17 build.gradle.kts 설정 사용할 springframework mail 설정 추가 implementation("org.springframework.boot:spring-boot-starter-mail") application.yml 설정 메일 전송에 필요한 smtp 설정 spring: mail: host: smtp.gmail.com port: 587 username:..
💡 Refresh Token을 사용하여 안전한 API 통신을 만든다 ➡️ 1탄 바로가기: 설정 및 회원가입 ➡️ 2탄 바로가기: JWT 로그인 및 회원 정보 조회 AccessToken / RefreshToken `AccessToken` 은 사용자의 인증 정보를 가지고 있다. `AccessToken` 을 탈취 당할 경우, 사용자의 인증 정보가 탈취자(공격자)에게 그대로 노출 될 수 있다. JWT는 Stateless하기 때문에 서버에서는 해당 토큰을 가지고 있는 클라이언트가 공격자인지도 구분할 수 없기 때문에 AccessToken의 탈취는 매우 위험하다! RefreshToken 이를 방지하기 위해 AccessToken의 만료 주기를 짧게 설정하고, 이를 보완할 수 있는 RefreshToken을 도입한다. `..
💡 본격적으로 JWT를 활용하여 로그인을 구현한다. 해당 장에서는 refreshToken 을 고려하지 않는다! (다음 장에서 구현 예정 ✅) ➡️ 1탄 바로가기: SpringSecurity 설정 및 회원가입 ➡️ 3탄 바로가기: RefreshToken CustomUser 생성 SpringSecurity에서 사용하는 `User` 클래스를 상속받아, 대체할 수 있는 `CustomUser` 클래스 생성 //CustomUser.kt class CustomUser ( val id: UUID, userName: String, password: String, authorities: Collection ): User(userName, password, authorities) CustomUserDetailsService..
점이
'spring boot' 태그의 글 목록