🥑 Web Technoloy

    Spring AOP(Aspect Oriented Programming)

    💡 AOP(Aspect Oriented Programming)란? 기존에는 개발자 또는 운영자에게 필요한 코드를 비즈니스 로직 코드와 함께 작성하였습니다. public int total() { long start = System.currentTimeMillis(); int result = kor + eng + math + com; // 사용자 코드 부분(주 업무) try { Thread.sleep(200); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } long end = System.currentTimeMillis(); String message = (end - start) + "ms..

    SpringBoot에서 SMTP를 활용한 메일 전송 구현하기

    📝 SMTP란? 스프링에서는 SMTP Relay를 이용한 메일 전송 기능을 제공하고 있습니다. 여기서 SMTP는 Simple Mail Transfer Protocol의 약자로, 전자 메일 전송 프로토콜을 의미합니다. SMTP Relay란 메일 서버 외부에서 메일 서버를 경유하여 다른 메일 서버로 메일을 보내는 것을 의미하며, 이때 경유한 서버를 메일 릴레이 서버라고 합니다. 모든 전자 메일 메시지를 릴레이하는 것을 오픈릴레이라고 하는데, 오픈릴레이 메일 서버는 스팸 메일 발신자의 메일 서버로 사용될 수도 있기 때문에 보통은 특정 IP 또는 계정을 통하여 릴레이 되도록 구현합니다. 📝 SMTP 사용하기 이제 SMTP를 사용해 우리 프로젝트에서 이메일을 전송하는 방법에 대해 알아보겠습니다. 📜 의존성 추가 ..

    Spring Interceptor 개념 정리, 적용법

    📝 인터셉터란? 인터셉터(Interceptor)는 DispatcherServlet과 컨트롤러(Controller) 사이에서 요청(request)을 가로채는 역할을 수행합니다. 인터셉터를 사용하면 기존의 로직을 수정하지 않고 비즈니스 로직 전후에서 특정 기능을 수행할 수 있습니다. 인터셉터를 구현하기 위해서는 HandlerInterceptor를 사용합니다. 📝 HandlerInterceptor 구조 HandlerInterceptor의 전체적인 요청과 응답의 흐름은 아래 그림과 같습니다. 먼저 요청(Request)이 들어오게 되면 Filter를 거친 후에 DispatcherServlet으로 오게됩니다. 이후 DispatcherServlet에서는 HandlerMapping을 거쳐 어떤 Handler(Contr..

    OAuth 2.0 개념 정리

    본 글은 생활코딩님의 [WEB2 - OAuth 2.0] 강의를 바탕으로 작성되었습니다. WEB2 - OAuth 2.0 수업소개 사용자가 가입된 서비스의 API에 접근하기 위해서는 사용자로부터 권한을 위임 받아야 합니다. 이 때 사용자의 패스워드 없이도 권한을 위임 받을 수 있는 방법이 필요합니다. 이를 위 opentutorials.org 📝 OAuth 2.0이란? OAuth 2.0에 대해 본격적으로 알아보기 전에 먼저 한 가지 예를 들어보겠습니다. 우선 나의 서비스 opentutorials.org가 있다고 가정해봅시다(mine). 그리고 이 서비스를 사용하는 사용자가 있을 것입니다(User). 또 하나는 나의 서비스가 연동하려는 '그들의' 서비스가 있을 것입니다(Their). 예를 들면 Google, F..