IT 강의 정리/[스프링의 정석] 남궁성의 끝까지 간다 6

ch.02 Spring MVC 09~12 관심사의 분리와 MVC패턴

09. 관심사의 분리와 MVC패턴 - 이론 OOP 5대설계원칙 - SOLID 1. SRP - 단일책임의 원칙 : 하나의 메서드는 하나의 책임(관심사)만 진다. 2~5번째는 나중에 배울 것이다. 관심사가 분리되지 않은 YoilTeller코드 앞에서 만들었던 YoilTeller코드를 보자. 크게 입력코드, 요일계산하는코드, 출력코드 이렇게 3부분으로 해야할 작업(관심사)이 나뉘어 있다! 그렇게되면 바로 위의 설계원칙인 SRP-단일책임의 원칙에 위배된다. 하나의 main메서드에서 3가지 작업을 하고 있다..!!! 어떻게 해결할 것인가? 객체지향적코딩을 하려면 코드의 분리를 잘 해야한다. 1) 관심사 분리 2) 변하는것, (자주)변하지않는것의 분리 3) 중복코드의 분리 공통 코드의 분리 - 입력의 분리 입력부분..

ch.02 Spring MVC 07~08 HTTP 요청과 응답, 텍스트와 바이너리, MIME, Base64

07. HTTP 요청과 응답 - 이론 HTTP란? Hyper Text Transfer Protocol. 하이퍼텍스트(html)를 전송하기위한 규칙. 세가지 특징이 있다. 1) 사람이 읽을 수 있는 텍스트 기반의 프로토콜이다. 2) 상태를 유지하지 않는다(stateless). 클라이언트 정보를 저장x -> 보완하기위해 쿠키 & 세션을 사용한다. 3) 확장가능하다 - 커스텀 헤더(header) 추가가능. 표준에 정해놓지 않은 헤더를 맘대로 추가 가능하다. HTTP 요청, 응답 메시지 우리는 단순히 URL을 입력할 뿐이지만, 브라우저가 알아서 요청메시지를 만들어준다. HTTP 메시지 - 응답메시지 HTTP 메시지 - 요청메시지(GET/ POST) 08. 텍스트와 바이너리, MIME, Base64 바이너리 파일..

ch.02 Spring MVC 05~06 클라이언트와 서버, 설정파일(server.xml, web.xml)

05. 클라이언트와 서버 서버의 포트 한대의 서버컴퓨터(IP주소 1개)안의 여러 서버 프로그램이 있을 때, 클라이언트가 요청을 했을때 원하는 서버를 찾기위해 포트번호도 추가로 적어줘야 한다. 웹서버는 기본적으로 80이고, 80은 생략 가능하다. 미리 서버가 포트에서 기다리고(Listening)있어야 클라이언트 요청과 잘 연결(binding)된다. 포트번호 0~1023번까지는 예약된 번호여서 사용불가, 총 65535개의 포트를 사용할 수 있다. WAS란? 웹 어플리케이션 서버(WAS) : 웹 어플리케이션을 서비스하는 서버. 서버에 프로그램을 설치해놓고, 클라이언트가 이 프로그램을 사용할수 있게 해준다. 프로그램을 클라이언트에 설치할수도 있지만, 서버에 설치하는 이유는 ? 예전에는 각 컴퓨터에 프로그램을 다..

ch.02 Spring MVC 03~04 HTTP 요청과 응답

03. HTTP 요청과 응답 - 실습 지금까지는 원격프로그램의 결과를 톰캣의 콘솔에 출력했었는데, 이번엔 톰캣이 아니라 브라우저에 출력을 해보자! 연월일을 입력시 요일을 알려주는 프로그램 (클래스 YoilTeller)을 만들어 보자. package com.spring.fastcampus.ch2; import java.util.Calendar; //연월일을 입력시 요일을 알려주는 프로그램 public class YoilTeller { public static void main(String[] args) { //1. 입력 String year = args[0]; String month = args[1]; String day = args[2]; int yyyy = Integer.parseInt(year); i..

ch.02 Spring MVC 01~02 원격프로그램의 실행, AWS에 배포하기

01. 원격 프로그램의 실행 원격 프로그램을 실행시키려면 2가지가 필요하다. 브라우저와 WAS(톰캣)이다. 브라우저URL에 IP주소를 입력하면 WAS가 8080포트를 호출해서 프로그램을 실행시키는 것이다. 여기서 아무 프로그램이나 실행시킬수 없기때문에 두가지가 필요하다. 1. 프로그램 등록 (@Controller 어노테이션을 클래스 앞에 붙여준다.) 2. URL과 프로그램을 연결 (@RequestMapping 어노테이션을 호출하려는 메서드 앞에 붙여주고, URL키워드를 써준다.) 먼저, ch2 project를 만들어보자. src/main/java폴더 안에는 자동으로 HomeController.java파일이 들어가있다. 열어보면, 이렇게 필수 두가지 어노테이션이 잘 들어가 있다. package com.fa..

ch.01 Spring시작하기

01. Spring Framework는 무엇일까? 강의 내용 1. Spring Framework를 배울 준비 - 개발도구, 설치, 설정 2. Spring MVC - 웹의 기초, HTTP, TCP, IP 3. Spring DI 4. Spring AOP | Spring의 핵심 개념 5. MyBatis - DB 6. REST Api 7. Spring MVC로 웹사이트 만들어 보기 with AWS 수업자료 : https://github.com/castello/spring_basic 02. Spring 개발도구 소개 1. 자바개발도구 : JAVA 11 (Java 11부터는 Oracle JDK와 open JDK가 동일) - JDK 2가지 1) Oracle JDK (공식) 2) open JDK : IBM, RedHa..