1. 비동기 프로그래밍이 필요한 이유비동기란 현재 처리중인 쓰레드에서 작업하던 Task를 다른 sub 쓰레드에게 Task를 위임하는 행위이다. 비동기를 사용하면 클라이언트는 서버에게 요청을 하고 응답을 기다릴 필요가 없다.그로 인해 더많은 Task를 처리할 수 있고, 실시간 성 응답이 필요없는 경우 유용하게 사용할 수 있다. 비동기가 필요한 경우 예시회원 가입 후 이메일 전송: 사용자는 회원가입을 완료하면, 이메일을 비동기적으로 처리하여 사용자는 회원가입만 완료되면 다른 작업을 처리할 수 있다.알림 기능: 특정 이벤트가 발생한 후 사용자에게 알림을 비동기적으로 보내어, 프로세스가 멈추지 않고 계속 실행하도록 한다. 2. Thread Pool 정의a. Thread Pool이란?Thread Pool이란 ..
Programming/Spring
김영한님의 스프링 MVC 1편 강의를 듣고 정리하는 글입니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 | 김영한 - 인프런김영한 | 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습www.inflearn.com 1. 개요스프링 MVC에서는 HTTP 헤더, 쿼리파라미터, 메시지 바디 등 개발자가 일일이 변환할 필요 없이 스프링 mvc가 원하는 타입(InputStream, byte[], String, 객체 등)으로 요청과 응답을 변..
1. 개요프로젝트를 진행하면서, 코드 변경이나 기능 업데이트가 될 때마다 불안한 마음이 들었다. 매번 여러 시나리오를 테스트하기 위해 스프링부트를 실행해서 API를 호출하고, 정상동작 여부를 확인하는 것은 번거롭고 시간도 많이 걸린다. 잘 짜여진 테스트코드만 있으면 기능 변경되어도 테스트 코드에서 검증이 가능하기 때문에 안정성을 확보하면서 개발이 가능하다. 그리고 테스트 코드의 또 다른 장점은 테스트 코드만 봐도 어떤 의도로 개발되었는지 쉽게 이해할 수 있다. 테스트 프레임워크로는 JUnit5과 Mockito를 사용했다. 2. Mockito란?Mockito는 JAVA 오픈소스 프레임워크로 단위테스트를 위해 모의 객체(Mock Object)를 생성하고 관리하는데 사용된다. Mockito의 핵심 ..
김영한님의 스프링 MVC 1편 강의를 듣고 정리하는 글입니다 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 | 김영한 - 인프런김영한 | 웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습www.inflearn.com 1. 개요지난 포스팅에서 스프링 MVC와 유사한 MVC 프레임워크를 직접 만들어보았다.https://soonmin.tistory.com/81 [Spring] 스프링 MVC 1편(MVC 프레임워크 만들기)김영한님의 스프링 ..
김영한님의 스프링 MVC 1편 강의를 듣고 정리하는 글입니다 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의 - 인프런웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원www.inflearn.com 1. 개요이전 포스팅에서 jsp와 서블릿을 사용하여 mvc 패턴을 적용해보았다.https://soonmin.tistory.com/80 [Spring] 스프링 MVC 1편(서블릿, JSP MVC 패턴)김영한님의 스프링 MVC 1..
김영한님의 스프링 MVC 1편 강의를 듣고 정리하는 글입니다 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의 - 인프런웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원www.inflearn.com 1. 개요이전 포스팅에서 서블릿만을 사용하여 HTML 문서를 동적으로 생성하여 뷰로 표현 해보았다.https://soonmin.tistory.com/79 [Spring] 스프링 MVC 1편(서블릿)김영한님의 스프링 MVC 1편 ..
김영한님의 스프링 MVC 1편 강의를 듣고 정리하는 글입니다 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의 - 인프런웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원www.inflearn.com 1. 스프링부트 서블릿 환경 구성@ServletComponentScan // 서블릿 자동 등록@SpringBootApplicationpublic class ServletApplication { public static void ..
김영한님의 스프링 MVC 1편 강의를 듣고 정리하는 글입니다 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 강의 - 인프런웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원www.inflearn.com 1. 웹서버와 웹 애플리케이션 서버 a. 웹 서버(Web Server)란?HTTP 기반으로 동작정적 리소스(HTML, CSS, JS, 이미지, 영상 등)를 제공ex) NGINX, APACHE b. 웹 애플리케이션 서버(WAS :..
김영한님의 Spring 핵심원리 강의를 듣고 정리하는 글입니다. 1. 스코프(Web Scope)란?웹 환경에서만 동작하는 스코프이다.스프링이 해당 스코프의 종료시점까지 관리한다. 따라서 종료 메서드가 호출된다. 2. 웹 스코프의 종류requst: HTTP 요청 하나가 들어오고 나갈 때 까지 유지되는 스코프, 각각의 요청마다 별도의 빈 인스턴스가 생성되고 관리된다.session: HTTP Session과 동일한 생명주기를 가지는 스코프application: 서블릿 컨텍스트와 동일한 생명주기를 가지는 스코프websocket: 웹 소켓과 동일한 생명주기를 가지는 스코프해당 스코프들은 범위만 다르고 동작 방식은 비슷하기 때문에 request 스코프로 설명하겠다. 3. request 스코프 동작 방식Control..
김영한님의 Spring 핵심원리 강의를 듣고 정리하는 글입니다. 1. 빈 스코프란(Bean Scope)?빈 스코프는 말 그대로 빈이 존재할 수 있는 범위를 뜻한다. 스프링에서는 다양한 빈 스코프를 지원한다. 2. 빈 스코프 종류싱글톤: 기본 스코프, 스프링 컨테이너의 시작부터 종료까지 유지되는 스코프프로토타입: 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하는 소코프웹 관련 스코프request: 웹 요청이 들어오고 나갈 때까지 유지되는 스코프session: 웹 세션이 생성되고 종료될 때까지 유지되는 스코프application: 웹의 서플릿 컨텍스트와 같은 범위로 유지되는 스코프 스코프를 설정하는 방법이다. 컴포넌트 스캔 자동 등록@Scope("prototype")@Componentpu..