본문 바로가기
728x90

분류 전체보기159

[Spring MVC] 구조 이해 이전 글에서 작성했던, 직접 스프링 MVC 프레임워크를 구현하는 과정과 비교하며 이번에는 실제 스프링 MVC 프레임워크의 구조를 이해하는 과정을 정리하는 강의이다. 스프링 MVC 전체 구조 직접 만들었던 MVC 프레임워크의 구조 Spring MVC 구조 각 요소들이 이름에 차이는 있지만, 똑같은 형태로 구성되어 있음을 확인할 수 있다. 차이점 FrontController -> DispatcherServlet handlerMappingMap -> HandlerMapping (interface, 더 확장성이 있음) MyHandlerAdapter -> HandlerAdpater ModelView -> ModelAndView viewResolver -> ViewResolver (interface, 더 확장성이 .. 2023. 5. 15.
[Spring MVC] MVC 프레임워크 만들기 프론트 컨트롤러 패턴이란? 이전까지 강의를 따라서 MVC 패턴을 적용하는 과정을 거치며, 반복되는 로직이 많아서 불편하다는 단점이 있었다. 이러한 반복되는 로직을 공통으로 처리하기 위해서는 프론트 컨트롤러 패턴을 적용해야 한다고.. 강의 자료의 사진을 조금 가져와보면, 이런 셈이다. Front controller라는 servlet을 만들어 공통 로직을 몰아서 처리하고, 각 Controller에서 처리할 작업을 담당하도록 구현하는 개발 방식이라고 한다. 항상 front controller에 의해 다른 controller가 호출되는 방식 FrontController 패턴의 특징 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받는다. 프론트 컨트롤러가 알맞은 컨트롤러를 요청에 따라 찾아서 호출하는 구조 입.. 2023. 5. 6.
[Spring MVC] MVC 패턴에 대해서 MVC 패턴 - 개요 기존 방식의 문제점 기존의 서블릿이나 JSP만을 사용하는 개발 방식에서는 비즈니스 로직과 뷰 랜더링을 구현하는 로직 간의 구분이 모호하고, 유지 보수가 어렵다는 문제들이 있었다. 사실 진짜 문제는 둘 사이(비즈니스 로직과 뷰 파트)의 변경의 라이프사이클이 다르다는 점이라고 한다. 예를 들어 UI를 수정하는 작업과 비즈니스 로직을 수정하는 작업은 각각 다르게 발생할 가능성이 매우 높다. 또한 둘 사이의 연관성이 크게 없을 가능성 또한 매우 높고, 서로에게 영향을 주지 않는 작업이 대부분을 차지한다. 따라서 두 부분을 하나의 코드로 관리하는 것에서 유지 보수에 좋지 않은 영향을 미치는 것이다. 특히 JSP와 같은 템플릿 엔진들은 화면(view)을 렌더링 하는데 최적화되어 있기 때문에, .. 2023. 3. 20.
[Java] 지난주 공부한 개념들 기록과 용어 정리를 해보자. Java 코드의 컴파일 과정 개발자가 .java 파일을 생성하고, build 한다. .java 파일이 javac(java compiler)를 이용해 컴파일 된다. 컴파일 되면, .class 파일이 생성된다. (byte code라고 부른다.) Class Loader를 통해 JVM 메모리 내에 바이트 코드가 로드된다. JVM에 의해 OS에 맞는 기계어로 번역(interpretation)되고, 실행된다. 따라서 Java code는 시스템 아키텍쳐에 의존하지 않고, 코드 작성이 가능하다는 특성을 갖는 것이다. 여기서 컴파일과 빌드에 대한 용어를 다음과 같이 명확하게 정리하자. 빌드 (build) 개발자가 작성한 소스 코드를 실행 가능한 파일로 변환하는 과정을 의미한다. 컴파일 (compile) 컴파일러를 이용해.. 2023. 3. 13.
[DB] dummy data 생성과 index를 이용한 성능 개선 공부하기 들어가면서.. 오늘은 mysql DBMS에서 dummy data를 이용해서 몇 가지 공부하고, 기록해보려고 합니다. DataBase Index 개념 정리하기 Index에 대해서 공부해 보자😀 오늘은 index란 것에 대해서 정리해 볼까 합니다. 아무래도 DB를 구축하고 운용하는 것에 그치지 않고, 성능을 개선하기 위해 index라는 자료 구조가 꼭 필수적이기 때 kkkdh.tistory.com 지난번에 index 개념에 대한 부분만 학부 수업에서 들었던 내용 + 여러 가지 자료들을 참고해서 정리했었는데, 이번에는 sql문을 뚜드리면서 좀 더 공부하는게 목표입니다. 글을 시작할때의 목표는 일단 primary key를 제외한 다른 index를 만들어 성능 개선이 얼마나 되는지 확인하고, 또 index를 어떻.. 2023. 3. 6.
[Spring MVC] HttpServletRequest, HttpServletResponse HttpServletRequest의 역할 HTTP request message를 개발자가 직접 parsing 해서 사용해도 되지만, 매우 불편한 과정일 것이다. 이러한 일련의 과정을 서블릿이 대신 맡아 HTTP request message를 편리하게 사용할 수 있도록 새로운 객체를 만들어 parsing 한 정보를 관리하는데, 이 객체가 바로 HttpServletRequest이다. START LINE HTTP method URL query string schema, protocol Header 헤더 조회 Body form 형식의 데이터 조회 json과 같이 message body를 통한 데이터 직접 조회 위의 정보들을 편리하게 조회할 수 있도록 도울 뿐만 아니라 여러가지 부가 기능도 함께 제공한다. 임시 .. 2023. 3. 6.
728x90