Java

💭/KDT

KDT 25주차 회고(230817~230823)

🎯 목표 💡 나는 최고의 프로그래머당! 🖋️ 수업 내용 ※ 요약 주의 📆 230817~230818 🌸Spring 수업 열심히 들음 📆 230821 웹소켓 origin: 프로토콜 + 도메인 + 포트번호. 셋 중 하나라도 다르면 다른 오리진이다. ex) http://localhost:80 과 https://localhost:80은 다름 origin의 기본 정책은 Same-Origin Policy. ajax에서 크로스 오리진을 요청하면 막혀있는데 ajax는 요청의 응답결과를 변수에 받기 때문에 맘대로 조작이 가능하기 때문. servlet-context.xml: 웹 어플리케이션에서 클라이언트의 요청을 받기 위한 컨텍스트 설정으로, 요청에 관한 객체를 정의한다 웹소켓은 Node.js로 다룸 자바는 일괄 처리 배치..

💭/KDT

KDT 23, 24주차 회고(230803~230816)

🎯 목표 💡 나는 최고의 프로그래머당! 🖋️ 수업 내용 ※ 요약 주의 📆 230803~230816 🌸Spring 수업 열심히 들음 💭 기록 -

📖/spring(김영한)

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 1일차

섹션0 소개 강의 소개 - 섹션1 웹 애플리케이션 이해 웹 서버, 웹 애플리케이션 서버 웹 서버(Web Server): HTTP 기반으로 동작하는 서버. 정적 리소스와 기타 부가기능을 제공한다. HTML, CSS, JS, 이미지, 영상 등등을 다룸 ex) NGINX, APACHE 웹 애플리케이션 서버(WAS, Web Application Server): HTTP 기반으로 동작하는 서버. 웹 서버 기능(정석 리소스 제공 등)에 더해서 프로그램 코드를 실행해 애플리케이션 로직을 수행함. 웹 서버에 비해서 애플리케이션 코드를 실행하는데 더 특화됨. 동적 HTML, HTTP API(JSON), 서블릿, JSP, 스프링 MVC 등을 다룸 ex) 톰캣, Jetty, Undertow 웹 시스템은 주로 Web Serv..

📖/spring(김영한)

모든 개발자를 위한 HTTP 웹 기본 지식 1일차

섹션0 소개 소개영상 - 섹션1 인터넷 네트워크 인터넷 통신 IP(인터넷 프로토콜) IP의 역할 지정한 IP 주소에 데이터 전달 패킷이라는 통신 단위로 데이터 전달 IP 프로토콜의 한계 비연결성: 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷이 전송됨 비신뢰성: 중간에 패킷이 사라지거나 패킷이 순서대로 전송되지 않을 수 있음 프로그램 구분: 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우 구분이 어려움 TCP, UDP / PORT - DNS DNS(Domain Name System): 도메인 명을 IP주소로 변환 섹션2 URI와 웹 브라우저 요청 흐름 URI URI(Uniform Resource Identifier): Uniform, 리소스를 식별하는 통일된 방식. Resou..

📖/spring(김영한)

스프링 핵심 원리 - 기본편 7일차

섹션9 빈 스코프 프로토타입 스코프 - 싱글톤 빈과 함께 사용시 문제점 스프링 컨테이너에 프로토타입 스코프의 빈을 요청하면 항상 새로운 객체 인스턴스를 생성해서 반환한다. 하지만 싱글톤 빈과 함께 사용할 때는 의도한대로 잘 동작하지 않으므로 주의해야 한다. 프로토타입 빈 직접 요청 스프링 컨테이너에 프로토타입 빈 직접 요청1 클라이언트A는 스프링 컨테이너에 프로토타입 빈을 요청한다 스프링 컨테이너는 프로토타입 빈을 새로 생성해서 반환(x01)한다 해당 빈의 count 필드 값은 0이다. 클라이언트는 조회한 프로토타입 빈에 addCount()를 호출하면서 count 필드를 +1한다. 결과적으로 프로토타입 빈(x01)의 count는 1이 된다 스프링 컨테이너에 프로토타입 빈 직접 요청2 클라이언트A는 스프링..

📖/spring(김영한)

스프링 핵심 원리 - 기본편 6일차

섹션8 빈 생명주기 콜백 빈 생명주기 콜백 시작 데이터베이스 커넥션 풀이나 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면 객체의 초기화와 종료 작업이 필요하다 스프링 빈은 객체를 먼저 생성하고 의존 관계를 주입한다(생성자 주입 제외) 따라서 초기화 작업은 읜존 관계 주입이 모두 완료되고 난 다음에 호출해야 한다. 스프링은 의존관계 주입이 완료되면 스프링 빈에게 콜백 메서드를 통해서 초괴화 시점을 알려주는 다양한 기능을 제공한다. 또한 스프링은 스프링 컨테어니거 종료되기 직전에 소멸 콜백을 준다 따라서 안전하게 종료 작업을 진행할 수 있다. 스프링 빈의 이벤트 라이프 사이클 스프링 컨테이너 생성 → 스프링 빈 생성 → ..

📖/spring(김영한)

스프링 핵심 원리 - 기본편 5일차

섹션6 컴포넌트 스캔 필터 includeFilters: 컴포넌트 스캔 대상을 추가로 지정한다 excludeFilters: 컴포넌트 스캔에서 제외할 대상을 지정한다 이후 실습 중복 등록과 충돌 컴포넌트 스캔에서 같은 빈 이름을 등록하면 어떻게 될까? 다음 두 상황이 있다 자동 빈 등록 vs 자동 빈 등록 컴포넌트 스캔에 의해 자동으로 스프링 빈이 등록되는데, 그 이름이 같은 경우 스프링은 ConfictingBeanDefinitionException 예외를 발생시킨다 수동 빈 등록 vs 자동 빈 등록 만약 수동으로 등록한 빈의 이름과 자동으로 등록한 빈의 이름이 충돌되면 수동으로 등록한 빈이 우선시되고 수동 빈이 자동 빈을 오버라이딩 해버린다 그러나 최근 스프링 부트에서는 수동 빈 등록과 자동 빈 등록이 충..

📖/spring(김영한)

스프링 핵심 원리 - 기본편 4일차

섹션4 스프링 컨테이너와 스프링 빈 스프링 빈 조회 - 상속 관계 빈을 조회할 때 부모 타입으로 조회하면 자식 타입도 함께 조회한다. 그래서 모든 자바 객체의 최고 부모인 Object타입으로 조회하면 모든 스프링 빈을 조회한다 package hello.core.beanFind; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.discount.RateDiscountPolicy; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.be..

📖/spring(김영한)

스프링 핵심 원리 - 기본편 3일차

섹션3 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 AppConfig 리팩터링 입문서부터 아래 코딩이 왜 가능한지 궁금했는데 디자인패턴이라고 한다. public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } private static MemoryMemberRepository memberRepository() { return new MemoryMemberRepository(); } public OrderService orderService() { return new OrderServiceImpl(memberRepository(), discountPolicy()); } public DiscountPo..

📖/spring(김영한)

스프링 핵심 원리 - 기본편 2일차

섹션2 스프링 핵심 원리 이해1 - 예제 만들기 회원 도메인 개발, 회원 도메인 실행과 테스트, 주문과 할인 도메인 설계 실습 주문과 할인 도메인 개발 협력 관계를 정의할 때 역할과 구현을 분리해서 자유롭게 구현 객체를 조립할 수 있게 설계하는 것이 좋다. 덕분에 회원 저장소는 물론이고, 할인 정책도 유연하게 변경할 수 있다. 주문과 할인 도메인 실행과 테스트 실습 섹션3 스프링 핵심 원리 이해2 - 객체 지향 원리 적용 새로운 할인 정책 개발 @DisplayName(""): 파라미터값으로 테스트할 메서드를 문장으로 요약할 수 있다. 새로운 할인 정책 적용과 문제점 새로운 할인 정책인 정률 할인 정책을 적용하려면 객체 생성을 새롭게 해야 한다. 이로 인해 발생하는 문제점이 있다. DIP: 주문 서비스 클..

모팔구
'Java' 태그의 글 목록