본문 바로가기

분류 전체보기

(334)
큰 수 출력하기 보호되어 있는 글입니다.
암호 보호되어 있는 글입니다.
[MVC] 프론트 컨트롤러 패턴 목차프론트 컨트롤러 패턴 소개프론트 컨트롤러 도입 - v1View 분리 - v2Model 추가 - v3단순하고 실용적인 컨트롤러 - v4유연한 컨트롤러1 - v5유연한 컨트롤러2 - v5 ✏️ 프론트 컨트롤러 패턴 소개 ❎ 프론트 컨트롤러 도입 전  ✅ 프론트 컨트롤러 도입 후  ✏️ FrontController 패턴 특징프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출입구를 하나로!공통 처리 가능프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨 💡 스프링 웹 MVC와 프론트 컨트롤러스프링 웹 MVC의 핵심도 바로 FrontController스프링 웹 MVC의 DispatcherServlet이 FrontController 패..
[MVC] 서블릿, JSP, MVC 패턴 적용 목차회원 관리 웹 애플리케이션 요구사항서블릿으로 회원 관리 웹 애플리케이션 만들기JSP로 회원 관리 웹 애플리케이션 만들기MVC 패턴 - 개요MVC 패턴 - 적용MVC 패턴 - 한계 회원 관리 웹 애플리케이션 요구사항회원 정보이름: username나이: age기능 요구사항회원 저장회원 목록 조회 1️⃣ 회원 도메인 모델@Getter @Setter@AllArgsConstructorpublic class Member { private Long id; private String username; private int age; public Member() { }}  2️⃣ 회원 저장소/** * 동시성 문제가 고려되어 있지 않음, 실무에서는 ConcurrentHashMap, Atomic..
[MVC] 서블릿 목차HttpServletRequestHTTP 요청 데이터HttpServletResponseHTTP 응답 데이터 스프링 부트 서블릿 환경 구성✍ @ServletComponentScan@ServletComponentScan // 서블릿 자동 등록@SpringBootApplicationpublic class ServletApplication { public static void main(String[] args) { SpringApplication.run(ServletApplication.class, args); }}스프링 부트는 서블릿을 직접 등록해서 사용할 수 있도록 @ServletComponentScan 을 지원한다. 스프링이 자동으로 현재 내 패키지를 포함해서 하위 패키지를 다 뒤..
[MVC] 자바 백엔드 웹 기술 역사 자바 웹 기술 역사과거 기술 🌟서블릿 - 1997➙  개발자들이 TCP/IP 연결하고 멀티쓰레드 등등 고민할게 너무 많았음➙  자바코드로 짜야되서 동적으로 생성하기 너무 힘듬..➙  HTML을 동적으로 생성이 어려움 JSP - 1999 ➙  HTML 생성은 편리하지만, 비즈니스 로직까지 너무 많은 역할 담당➙  JSP 하나의 파일이 수천 줄 이상이 되어버리는 유지보수 난이도는.. 🤬  서블릿, JSP 조합 MVC 패턴 사용 ➙  모델, 뷰 컨트롤러로 역할을 나누어 개발➙  서로의 역할을 쪼갬➙  비즈니스 로직 부분과 화면을 렌더링하는 부분을 나눔  MVC 프레임워크 춘추 전국 시대 - 2000년 초 ~ 2010년 초➙ 비슷한 부분이 많은데 프레임워크 한번 만들어볼까?➙ MVC 패턴 자동화, 복잡한 웹..
[MVC] 웹 서버, 웹 애플리케이션 차이점 목차웹서버, 웹 애플리케이션서블릿동시 요청 - 멀티 쓰레드HTML, HTTP API, CSR, SSR  HTTP 메세지에 모든 것을 전송 HTML, TEXTIMAGE, 음성, 영상, 파일JSON, XML (API)거의 모든 형태의 데이터 전송 가능서버간에 데이터를 주고 받을 때도 대부분 HTTP 사용 클라이언트에서 서버로 데이터를 전송할 때, 서버에서 클라이언트로 데이터를 응답할 때모두 HTTP 프로토콜 기반으로 통신을 한다. 지금은 HTTP 시대라고 해도 무방하다.   웹 서버(Web Server)HTTP 기반으로 동작정적 리소스 제공, 기타 부가기능정적(파일) HTML, CSS, JS, 이미지, 영상대표적인 웹서버 예) NGINX, APACHE    웹 애플리케이션 서버(WAS - Web Applic..
문자열 압축 보호되어 있는 글입니다.
가장 짧은 문자거리 설명한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출력하는 프로그램을 작성하세요. 입력첫 번째 줄에 문자열 s와 문자 t가 주어진다. 문자열과 문자는 소문자로만 주어집니다.문자열의 길이는 100을 넘지 않는다. 출력첫 번째 줄에 각 문자열 s의 각 문자가 문자 t와 떨어진 거리를 순서대로 출력한다.  예시 입력 1 teachermode e  예시 출력 11 0 1 2 1 0 1 2 2 1 0  내가 푼 방식import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); cha..
[JPA] 경로 표현식 목차경로 표현식  경로 표현식 (점)을 찍어 객체 그래프를 탐색하는 것select m.username -> 상태 필드 from Member m join m.team t -> 단일 값 연관 필드 join m.orders o -> 컬렉션 값 연관 필드where t.name = '팀A'  경로 표현식 용어 정리상태 필드(state field): 단순히 값을 저장하기 위한 필드(ex: m.username)연관 필드(association field): 연관관계를 위한 필드단일 값 연관 필드: @ManyToOne, @OneToOne, 대상이 엔티티(ex: m.team)컬렉션 값 연관 필드: @OneToMany, @ManyToMany, 대상이 컬렉션(ex: m.orders)  경로 표현식 특징상태 ..