Spring AOPAOP Aspect Oriented Programming의 약자로 관점 지향 프로그램을 의미한다. 어플리케이션에서 코드가 중복되고, 강력하게 결합되어 있어 다른 로직과 분리할 수 없는 로직인 ‘횡단 관심사’와 핵심 비즈니스 로직을 분리하는 것을 목적으로 둔다. 예시로 메서드의 실행 시간을 구하는 기능, 트랜잭션 등이있다. 장점 전체 코드 기반에 흩어져 있는 관ㅅ미 사항이 하나의 장소로 응집한다. 자신의 주요 관심사에 대한 코드만 포...Oct 15, 2023·2 min read
What is CORSSOP Same Origin Policy 다른 출처의 리소스를 사용하는 것을 제한하는 보안 방식 악의적인 공격으로부터 문서를 격리해서 보호하기 위해 사용됨 출처의 기준 protocol, host, port 중 하나만 달라도 다른 출처라고 판단한다. 세가지가 모두 같아야 같은 출처. 다른 출처의 리소스가 필요한 경우 CORS가 필요로함 CORS Cross-Origin Resource Sharing 다른 출처의 자원을 공유 HTTP 헤더...Oct 15, 2023·2 min read
Servlet과 Spring MVC 2편 - Spring MVC 패턴 구조1. 전체 구조 1편 마지막에 소개했던 FrontController → DispatcherServlet으로 변경 스프링 MVC도 프론트 컨트롤러 패턴으로 구현되어 있다. FrontController가 바로 DispatcherServlet이다. DispatcherServlet도 서블릿의 일종으로, HttpServlet을 상속받는다. DispatcherServlet.doDispatch() (정의) HTTP프로토콜로 들어오는 모든 요청을 ...Oct 11, 2023·2 min read
Servlet과 Spring MVC 1편 - Servlet의 불편함(배경) 서버는 클라이언트의 요청을 받고 그에 상응하는 html 페이지를 클라이언트에게 응답해야한다. 그러면 ‘어떻게’ 응답할꺼야? 에 대한 기술의 발전에 대한 내용이다. 1. Servlet (정의) WAS 내에서 동적 컨텐츠를 만드는데 사용되는 자바기반 웹 앱 프로그래밍 기술 (배경) 순수 자바 코드로 클라이언트의 요청을 응답하다보니, 발전해나가며 다양해지는 웹 서비스를 정적 컨텐츠로만 제공하기엔 한계가 있었기 때문이다. 초기 웹 서비스...Oct 11, 2023·3 min read
GitHub Actions (dockerhub => EC2)CICD 배포를 무료로 쉽게 지원해주는 GitHub Action을 통해 Spring 프로젝트 업데이트 내용을 자동으로 EC2에 배포해주는 작업을 정리한다. GithubAction 설명 영상 GitHub Actions Tutorial - Basic Concepts and CI/CD Pipeline with Docker github.com - action GitHub Actions 설명서 - GitHub Docs 설계 GitHub Actions와...Oct 10, 2023·6 min read