본문 바로가기

전체 글364

[MVC] 서블릿, JSP, MVC 패턴(4) 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. MVC 패턴 - 적용 서블릿을 컨트롤러로, JSP를 뷰로 사용하여 MVC 패턴을 적용한다. 데이터는 HttpServletRequest 객체를 통해 모델 역할을 수행하며, request.setAttribute()로 데이터를 저장하고 request.getAttribute()로 조회할 수 있다.회원 등록회원 등록 폼 - 컨트롤러hello.servlet.web.servletmvc.MvcMemberFormServletpackage hello.servlet.web.servletmvc;import jakarta.servlet.RequestDispatcher;import jakarta.servlet.ServletException;import jaka.. 2024. 10. 29.
[MVC] 서블릿, JSP, MVC 패턴(3) 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. MVC 패턴 - 개요 너무 많은 역할하나의 서블릿이나 JSP로 비즈니스 로직과 뷰 렌더링까지 모두 처리하면 코드의 역할이 과중해지고, 유지보수가 어려워진다. 비즈니스 로직이나 UI 변경이 발생할 때마다 해당 파일을 수정해야 하며, 비효율적인 코드 구성이 된다. 예를 들어, 수백 줄의 자바 코드와 함께 HTML 코드를 수정하거나, 반대로 수백 줄의 HTML 코드와 함께 자바 코드를 수정해야 하는 상황을 상상해 보라. 변경의 라이프 사이클비즈니스 로직과 UI는 변경의 주기가 다르다. UI 수정과 비즈니스 로직 수정은 서로 다른 이유로 발생하며, 각각이 독립적으로 수정되는 경우가 많다. 서로 다른 라이프 사이클을 가진 코드를 하나의 파일에 .. 2024. 10. 29.
[MVC] 서블릿, JSP, MVC 패턴(2) 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. JSP로 회원 관리 웹 애플리케이션 만들기 JSP 라이브러리 추가JSP를 사용하려면 필요한 라이브러리를 build.gradle 파일에 추가해야 한다.// JSP 추가 시작implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'implementation 'jakarta.servlet:jakarta.servlet-api' // 스프링 부트 3.0 이상implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' // 스프링 부트 3.0 이상implementation 'org.glassfish.web:jakarta.servle.. 2024. 10. 29.
[MVC] 서블릿, JSP, MVC 패턴(1) 공부 내용을 정리하고 앞으로의 학습에 이해를 돕기 위해 작성합니다. 회원 관리 웹 애플리케이션 요구사항 회원 정보이름: username나이: age기능 요구사항회원 저장회원 목록 조회회원 도메인 모델package hello.servlet.domain.member;import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class Member { private Long id; private String username; private int age; public Member() { } public Member(String username, int age) { this.username = username; .. 2024. 10. 29.
다익스트라 알고리즘 다익스트라(Dijkstra) 알고리즘은 하나의 정점에서 다른 모든 정점으로 가는 최단 경로를 구하는 알고리즘이다. 이 알고리즘은 우선순위 큐를 사용하여, 각 정점까지의 최단 경로를 빠르게 계산할 수 있다. 문제 설명주어진 그래프에서 1번 정점에서 모든 다른 정점으로의 최소 거리 비용을 구하고, 그 결과를 출력하는 프로그램을 작성해야 한다. 만약 특정 정점으로 가는 경로가 존재하지 않으면 impossible을 출력한다.입력 설명첫 번째 줄에 정점의 수 N(1다음 M개의 줄에 각 간선 정보(출발 정점, 도착 정점, 거리 비용)가 주어진다.출력 설명1번 정점에서 2번 정점부터 차례대로 각 정점까지의 최단 거리를 출력한다. 만약 특정 정점으로 갈 수 없는 경우는 impossible을 출력한다. 입력 예제6 91.. 2024. 10. 21.
최대 수입 스케쥴(PriorityQueue 응용문제) 현수는 유명한 강연자이다. N개의 기업에서 강연 요청을 해왔다. 각 기업은 D일 안에 와서 강연을 해 주면 M만큼의 강연료를 주기로 했다. 각 기업이 요청한 D와 M을 바탕으로 가장 많은 돈을 벌 수 있도록 강연 스케줄을 짜야한다. 단, 강연의 특성상 현수는 하루에 하나의 기업에서만 강연을 할 수 있다. 입력 설명첫 번째 줄에 자연수 N(1다음 N개의 줄에 각 기업이 제시한 강연료 M(1(M은 강연료, D는 해당 강연을 해야 하는 마감 기한이다)출력 설명첫 번째 줄에 최대로 벌 수 있는 수입을 출력한다.입력 예제 650 220 140 260 330 330 1 출력 예제 150 문제 풀이 과정우선순위 큐 사용: 각 날짜마다 가능한 강연들 중 가장 많은 강연료를 얻기 위해 우선순위 큐(PriorityQueu.. 2024. 10. 21.