TIL저장소
close
프로필 배경
프로필 로고

TIL저장소

  • 분류 전체보기 (68)
    • HTTP (4)
    • Java (7)
    • Spring (13)
    • 트러블 슈팅 (1)
    • Servlet&JSP (4)
    • 알고리즘 (5)
    • 백준 (26)
      • 동적 계획법 (17)
      • 브루트포스 (9)
    • 회고록 (2)
    • 프로그래머스 (1)
  • 홈
  • 태그
  • 방명록
(Spring)관심사의 분리 및 MVC패턴

(Spring)관심사의 분리 및 MVC패턴

1. 관심사의 분리 위의 코드는 요일을 출력해주는 코드로 크게 세 가지 영역으로 나눌 수 있다. 입력을 처리하는 부분, 입력받은 날짜를 가지고 요일을 계산하는 부분(실제 작업 처리), 계산한 결과를 출력하는 부분 이 하나하나를 관심사(concern)이라 부른다. 즉 main이라는 메서드는 3개의 관심사를 가지고 있다고 할 수 있다. OOP 5대 설계 원칙(SOLID) 중 첫 번째인 SRP(단일 책임원칙)에 의하면 '하나의 메서드는 하나의 책임만 진다'라는 뜻을 가진다. 여기서 책임은 관심사라 할 수 있다. 하지만 지금 위의 코드는 하나의 메서드에 세 가지의 관심사가 포함되어 있으므로 분리를 시켜줄 필요가 있다. 객체지향적으로 좋은 설계를 하려면 분리를 잘해야 한다. 분리는 아래의 3가지를 기준으로 한다...

  • format_list_bulleted Spring
  • · 2022. 8. 31.
  • textsms
(Spring)텍스트와 바이너리

(Spring)텍스트와 바이너리

텍스트 파일 vs 바이너리 파일 데이터는 크게 숫자와 문자로 구분된다. 텍스트 파일과 바이너리 파일의 구별 메모장에 넣었을 때 읽기 어려운 파일이 바이너리 파일이다. 문자와 숫자가 같이 섞여 있기 때문에❗깨진 것은 전부 숫자이다. 파일종류 쓰기 읽기 바이너리 문자 → 문자 숫자 → 숫자 문자 → 문자 숫자 → 숫자 텍스트 문자 → 문자 숫자 → 문자 문자 → 문자 문자 → 숫자 바이너리 파일 : 데이터를 있는 그대로 읽고 쓴다. 텍스트 파일 : 숫자를 문자로 변환 후 쓴다. 예를 들어 바이너리 파일은 숫자 15에 대해서 그대로 15로 쓰지만 텍스트 파일은 숫자 15를 '1' '5' 이런식으로 변환한다. 텍스트 파일의 장점은 사람이 이해하기 쉽다. 바이너리 파일은 사람이 봐서는 이해하기 힘들다. MIME(..

  • format_list_bulleted Spring
  • · 2022. 8. 31.
  • textsms
(Spring) HTTP요청과 응답

(Spring) HTTP요청과 응답

1. 프로토콜이란(Pprotocol)이란? 서로 간의 통신을 위한 약속, 규칙 주고받을 데이터에 대한 형식을 정의한 것 어떤 형식으로 주고받을지 미리 약속을 해놔야 데이터를 주고받고 그 데이터를 해석할 수 있다. 2. HTTP(Hyper Text Transfer Protocol)란? HTTP는 텍스트 기반의 프로토콜이다. 단순하고 읽기 쉽다. 요청과 응답 사이에 텍스트 들이 왔다 갔다 하는 것이다. 상태를 유지하지 않는다는 특징이 있다.(stateless) - 클라이언트 정보를 저장 x 즉 같은 클라이언트가 요청을 여러번 보내도 서버는 같은 클라이언트라는 것을 구별하지 못한다. 상태를 저장하지 않기 때문에…. 앞의 요청과 뒤의 요청을 구별할 수 없다. 이것을 보안하기 위해서 하용하는 것이 쿠키와 세션이다..

  • format_list_bulleted Spring
  • · 2022. 8. 31.
  • textsms
(Spring) 톰캣 설정 파일

(Spring) 톰캣 설정 파일

톰캣의 설정 파일 - server.xml, web.xml -톰캣 설치경로/conf/server.xml: Tomcat 서버 설정 파일 -톰캣 설치경로/web.xml: Tomcat의 모든 web app의 공통 설정 -웹앱 이름/WEB-INF/web.xml: web app의 개별 설정 WEB-INF -> web.xml(개별 설정 담당) WEB-INF -> web.xml은 서블릿을 등록 및 URL 매핑 작업을 하는 파일이다. XML설정을 애너테이션으로 변경 가능한데 스프링에서는 등록하는 것을 @Controller 대신하고, URL매핑은 @RequestMapping 대신한다. 서블릿에서는 @WebServlet을 사용 원래는 위와 같이 XML에서 등록하고 매핑하고를 해야 하지만 여러 사람이 XML 파일을 건드려야 ..

  • format_list_bulleted Spring
  • · 2022. 8. 31.
  • textsms
(Spring)클라이언트와 서버<Tomcat 내부구조>

(Spring)클라이언트와 서버<Tomcat 내부구조>

클라이언트와 서버 - 클라이언트 : 서비스를 요청하는 애플리케이션(or 컴퓨터) - 서버 : 서비스를 제공하는 애플리케이션(or 컴퓨터) HttpServletRequest @Controller public class RequestInfo{ @RequestMapping("/requestInfo") public void main(HttpServletRequest request){ Syste.out.println("request.getMethod()=" + request.getMethod()); } } 위와 같이 서블릿에서 메서드의 매개변수에는 request 및 response를 필수적으로 적어줘야 했지만 스프링에서는 필요한 매개변수만 넣을 수 있다. 필요한 매개변수만 적으면 스프링이 알아서 메서드의 매개변수..

  • format_list_bulleted Spring
  • · 2022. 8. 31.
  • textsms
(Spring)요청과 응답(HttpServletRequest)

(Spring)요청과 응답(HttpServletRequest)

HttpServletRequest 메서드 @Controller public class RequestInfo { @RequestMapping("/requestInfo") // public static void main(String[] args) { public void main(HttpServletRequest request) { System.out.println("request.getCharacterEncoding()="+request.getCharacterEncoding()); // 요청 내용의 인코딩 System.out.println("request.getContentLength()="+request.getContentLength()); // 요청 내용의 길이. 알수 없을 때는 -1 System.ou..

  • format_list_bulleted Spring
  • · 2022. 8. 31.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (68)
    • HTTP (4)
    • Java (7)
    • Spring (13)
    • 트러블 슈팅 (1)
    • Servlet&JSP (4)
    • 알고리즘 (5)
    • 백준 (26)
      • 동적 계획법 (17)
      • 브루트포스 (9)
    • 회고록 (2)
    • 프로그래머스 (1)
최근 글
인기 글
최근 댓글
태그
  • #spring
  • #동적 프로그래밍
  • #JSP
  • #브루트 포스
  • #http
  • #동적 계획법
  • #java
  • #동적계획법
  • #dynamic Programing
  • #백준
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바