본문 바로가기

반응형

분류 전체보기

(208) GITHUB 방명록
[SMTP] 메일 전송을 위한, Google Gmail SMTP 설정 개발/Programming / 2023. 3. 21. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 최근에 스프링 부트로 웹을 개발하던 중 인증 메일 전송 기능을 구현하게 되었습니다. 항상 웹에서 회원가입을 진행할 때마다 받게 되는 인증 메일을 보면서, 구현 방법이 궁금했었습니다. 동시에 직접 구현해보고 싶다는 생각이 들었는데요. 이번에 기회가 되면서 자세하게 알 수 있었습니다. 오늘 포스팅과 다음 이어질 포스팅은 이메일 전송 기능을 구현한 방법에 대해서 정리하도록 하겠습니다. 먼저 오늘은 메일 전송을 위한 SMTP와 Gmail SMTP 설정 방법을 알아보도록 하겠습니다. SMTP 란? SMTP(Simple Mail Transfer Protocol)는 단순 전자우편 전송 프로토콜로 네트워크를 통해 전자우편(Email)을 전송하는 기술입니다. 해당 기술을 이용..
[스프링] @Controller와 @RestController의 차이를 알고 있나요? 개발/Spring&JPA / 2023. 3. 20. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 스프링 프레임워크를 사용하여 개발을 한다면, @Controller와 @RestController를 빈번하게 사용하게 됩니다. 가령 프론트엔드 개발자들과 협업을 하기 위해 API를 개발한다면, @RestContoller를 많이 접할 것입니다. 그렇다면 두 어노테이션의 차이를 알고 계신가요? 오늘은 두 어노테이션의 차이에 대해서 알아보도록 하겠습니다. @Controller와 @RestContoller는 무엇인가요? 간단하게 @Controller와 @RestController에 대해서 알아보도록 하겠습니다. 두 어노테이션은 스프링에서 컨틀로러 역할을 수행할 객체에 지정해 주는 어노테이션입니다. 먼저 @Controller는 주로 Spring MVC 컨트롤러에 지정합니..
[스프링 시큐리티] 비인증 사용자를 위한 '익명 사용자' 알아보기 개발/Spring&JPA / 2023. 3. 15. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘 포스팅할 내용은 스프링 시큐리티와 관련된 내용입니다. 제가 프로젝트를 진행하면서 인증과 관련된 기능을 구현하던 중이었습니다. 해당 기능의 요구사항은 인증된 회원과 비인증 회원에게 서로 다른 데이터를 제공하는 역할을 하는 것이었습니다. 따라서 Security Context Holder에 인증 정보가 있는지 체크를 해야 했습니다. 여기서 저는 비인증 회원이라면, Security Context에 당연히 인증 정보가 없을 것이라고 이분법적인 사고를 했습니다. 만약 저의 논리에 따른다면, 비인증 회원의 요청에 해당 메서드는Null을 리턴하겠죠? 하지만 문제는! Null 체크를 진행한다면, Null 이 아닌 결과가 나옵니다. 제 생각과는 완전히 달랐습니다. 위에..
[프로그래밍] 자주 사용하는 정규식 표현 정리 개발/Programming / 2023. 3. 8. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 정규식 표현에 대해서 정리하도록 하겠습니다. 검증을 위해 유용하게 사용하는 정규식인데요. 그중 IP 주소, URL, email, Id, 패스워드, youtube 등, 자주 사용할 표현으로 정리했습니다. 1) IP 주소 IP 주소 (IPv4) ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ IP 주소 (IPv6) ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ IP 주소 (IP..
[IDE] MacOS 터미널(CLI)에서 IntelliJ 바로 실행하기 개발/Programming / 2023. 2. 27. 안녕하세요😎 백엔드 개발자 제임스입니다 :) 오늘은 MacOS 의 터미널에서 IntelliJ 에디터를 실행하는 방법을 알아보겠습니다. 이전에는 프로젝트를 실행하기 위해 직접 폴더에 들어가서 마우스로 실행했던 적이 많았습니다. 개발자의 입장에서 굉장히 번거로웠습니다. 알아보니 터미널에서 명령어를 통한 방법이 있었습니다. 먼저 간단한 설정을 진행해줘야 합니다. 초기설정 1) IntelliJ(인텔리제이) 에디터 상단의 Tools를 클릭합니다. 2) 'Create Command-line Launcher' 를 클릭합니다. 3) 아래와 같은 창에서 OK를 클릭합니다. 설정 후 설정이 끝나면, 터미널에서 프로젝트의 경로로 이동하고 [idea .] 명령어를 입력합니다. idea .
[스프링 시큐리티] WebSeucrityConfigurerAdapter Deprecated 대처 개발/Spring&JPA / 2023. 1. 25. 문제 위 그림과 같이 Spring Security 5.7.0-M2 버전부터, WebSecurityConfigurerAdapter가 deprecated 되었습니다. 공식 문서에 따르면, 다른 설정 방식을 권장한다고 합니다. 자세한 내용은 아래에서 확인하겠습니다. Deprecated : 더 이상 사용되지 않는 변경 내용 기존에는 해당 클래스를 상속받아 설정을 오버라이딩 하는 방식이었습니다. 바뀐 방식에서는 SecurityFilterChain 과 WebSecurityCustomizer 를 Bean으로 등록하여 사용합니다. HttpSecurity 구성 비교 (이전 방식) WebSecurityConfigurerAdapter 상속 후, configure 메소드 오버라이딩하여 설정하는 방식 @Configuration..

반응형