계산기 웹 프로그램 구현 package org.example; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { new CustomWebApplicationServer(8080).start(); System.out.println("Aa"); } } IoExceoption 은 파일 입출력과 관련된 예외를 처리하기 위한 클래스 이다. public static void main(String[] args) throws IOException { throws IOException 부분의 메서드에서 IOEception 예외를 던질 수 있다는 것을 나타낸다 이 예외는 입출력과 ..
HTTP 프로토콜 이해 - 서버와 클라이언트가 웹에서 데이터를 주고받기 위한 프로토콜 (규약) 참고 : - HTTP/1.1, HTTP/2 는 TCP 기반 위에서 동작 - HTTP/3 는 UDP 기반 위에서 동작 HTTP 요청 / 응답 메시지 구조 : HTTP 특징 클라이언트 - 서버 모델 무상태 프로토콜( Stateless ) - 서버가 클라이언트 상태를 유지하지 않음 - 해결책 : Keep-Alive 속성 사용 비 연결성 ( Connectionless ) - 서버가 클라이언트 요청에 대해 응답을 마치면 맺었던 연결을 끊어 버림 - 해결책 : 쿠키(클라이언트에 정보 저장), 세션(서버에 정보 저장), JWT 기타 HTTP 요청 메소드 - GET, POST, PUT, DELETE 등 HTTP 응답 코드 -..
음식점에서 음식 주문하는 과정 구현 요구사항 * 1. 도메인을 구성하는 객체에는 어떤 것들이 있는지 고민 * ㄴ 손님, 메뉴판(0) , 돈까스/냉면(0), 요리사(0) ,요리(0) * 2. 객체들 간의 관계를 고민 * ㄴ 손님 -- 메뉴판 * ㄴ 손님 -- 요리사 * ㄴ 요리사 -- 요리 * 3. 동적인 객체를 정적인 타입으로 추상화해서 도메인 모델링 하기 * ㄴ 손님 -- 손님 타입 * ㄴ 돈까스/냉면/만두 -- 요리 타입 * ㄴ 메뉴판 -- 메뉴판 타입 * ㄴ 메뉴 -- 메뉴 타입 * 4. 협력을 설계 * 5. 객체들을 포괄하는 타입에 적절한 책임을 할당 * 6. 구현하기 package org.example; import org.junit.jupiter.api.DisplayName; import or..
객체지향 프로그램밍 실습 * 요구사항 • 평균학점 계산 방법 = (학점수×교과목 평점)의 합계/수강신청 총학점 수 • MVC패턴(Model-View-Controller) 기반으로 구현한다. • 일급 컬렉션 사용 package org.example; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import java.util.List; import static org.assertj.core.api.Assertions.assertThat; /** * 요구사항 • 평균학점 계산 방법 = (학점수×교과목 평점)의 합계/수강신청 총학점 수 • MVC패턴(Model-View-Controller) 기반으로 구현한다. • 일급 ..