본문 바로가기
728x90
반응형

기타 CS35

기술 면접 준비 - 필터(Filter) vs 인터셉터(Interceptor) 필터(Filter) J 2EE 표준 스펙 기능으로 디스패처 서블릿에 요청이 전달되기 전/후에 url 패턴에 맞는 모든 요청에 대해 부가 작업을 처리할 수 있는 기능을 제공합니다. 필터는 스프링의 가장 앞 단에 존재하는 프론트 컨트롤러로, 필터에서 처리하는 작업들은 '스프링 범위 밖'에서 처리되는 것으로 볼 수 있습니다. 즉, 필터는 스프링 컨테이너가 아닌 톰캣 같은 웹 컨테이너에 의해 관리가 됩니다. 필터(Filter)의 메소드 init 메소드 - 필터 객체를 초기화하고 서비스에 추가하기 위한 메소드. 웹 턴테이너가 1회 호출하여 초기화하면 이후의 요청을 doFilter가 처리한다. doFilter 메소드 - url 패턴에 맞는 HTTP 요청이 디스패처 서블릿으로 전달되기 전에 웹 컨테이너에 의해 실행되.. 2023. 2. 27.
기술 면접 준비 - Dispatcher Servlet (디스패처 서블릿) 스프링 MVC(모델-뷰-컨트롤러)구조에서 Dispatcher Servlet (디스패처 서블릿)은 HTTP 프로토콜로 들어오는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러입니다. 클라이언트에서 요청이 오면 톰캣과 같은 서블릿 컨테이너가 요청을 받는다. 서블릿 컨테이너가 받는 요청은 프론트 컨트롤러인 디스패처 서블릿이 가장 먼저 받는다. 디스패처 서블릿은 공통 작업 처리 후에 해당 요청을 적합한 컨트롤러에 작업 위임 한다. 디스패처 서블릿의 장점 이전에는 서블릿을 URL에 매핑하기 위해서는 web.xml에 모두 등록을 해주어야 했지만, 디스패처 서블릿이 해당 애플리케이션에 들어오는 모든 요청을 핸들링해주고 공통 작업을 처리해주면서 그럴 필요가 없어습니다. 컨트롤러를 구현하기만 하.. 2023. 2. 27.
기술 면접 준비 - SOLID(객체 지향 설계의 5대 원칙) 객체 지향 설계 방법 요구사항을 객체 단위로 세분화한다. 객체 별 기능을 구현하는데에 필요한 데이터를 추가한다. 데이터를 이용하는 기능을 구현한다. 객체 간 메소드 호출 방법을 결정한다. SOLID (5가지 객체지향 설계 원칙) 단일 책임 원칙 (SRP - Single Responsibility) -> 단일 클래스는 하나의 책임만 가진다. -> 클래스 변경 이유는 하나여야 한다. 개방-폐쇄 원칙 (Open-Closed) -> 확장에는 열려있고 변경은 닫혀있어야 한다. (즉, 기존의 코드를 변경하지 않으면서 기능을 수정하거나 추가할 수 있어야 한다.) 리스코프 치환 원칙 -> 상위 타입의 객체를 하위 타입의 객체로 치환해도 정상 동작 해야 한다. 인터페이스 분리 원칙 -> 인터페이스는 해당 인터페이스를 사.. 2023. 2. 27.
기술 면접 준비 - Cookie 와 Session HTTP는 기본적으로 연결을 유지하지 않고(Connectionless - 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어버림), 서버가 클라이언트의 상태를 보존하지 않기(Stateless - 클라이언트와 서버의 통신이 끝나면 상태 정보를 유지하지 않음) 때문에 서버는 클라이언트가 누구인지를 매번 확인해야한다. 이런 HTTP의 특성을 보완하기 위해 쿠키와 세션을 사용한다. Cookie 쿠키는 클라이언트(브라우저) 로컬에 저장되는 키와 값이 들어있는 데이터 파일이다. 사용자 인증이 유효한 시간을 명시할 수 있고, 유효 시간 동안은 브라우저가 종료되어도 인증이 유지된다. 쿠키는 클라이언트의 상태 정보를 로컬에 저장했다가 참조한다. 클라이언트에 300개까지 저장 가능하고, 하나의 도메인 당 20개의 값.. 2023. 2. 25.
기술 면접 준비 - HTML 파싱과 DOM 생성 브라우저의 요청에 의해 서버가 응답한 HTML 문서는 문자열로 이루어진 순수한 텍스트이다. 순수한 텍스트인 HTML 문서를 브라우저에 시각적인 픽셀로 렌더링 하려면 HTML 문서를 브라우저가 이해할 수 있는 자료구조(객체)로 변환하여 메모리에 저장해야 한다. 브라우저의 렌더링 엔진은 다음과 같은 과정을 통해 응답받은 HTML 문서를 파싱하여 브라우저가 이해할 수 있는 자료구조인 DOM(Document Object Model)을 생성한다. 1. 브라우저가 요청한 HTML 파일을 읽어 메모리에 저장한 다음 메모리에 저장된 바이트를 인터넷을 경유하여 응답한다. 2. 브라우저는 서버가 응답한 HTML 문서를 바이트 형태로 받는다. 바이트 형태의 문서는 meta 태그의 charset 어트리뷰트에 의해 지정된 인코.. 2023. 2. 24.
728x90
반응형