Programming/Spring

1. 개요Spring Boot에서 정의되지 않은 API를 호출할 때, 기본적으로 반환되는 404 응답을 원하는 형식으로 커스텀하고자 한다. 이를 위해 Spring Boot에서 예외를 처리하는 동작 방식을 분석하고, 응답을 커스텀 하게 정의해보자. 기본적으로 정의되지 않은 API를 호출하면 아래와 같은 응답이 반환된다. 1. 헤더의 미디어 타입이 text/html 일 때미리 정의된 에러 페이지를 반환한다. 2. 헤더의 미디어 타입이 text/html 아닐 때미리 정의된 JSON 형식의 응답을 반환한다.{ "timestamp": "2025-04-03T06:05:25.489+00:00", "status": 404, "error": "Not Found", "path": "/api/v1/no..
1. 개요Spring Boot로 시계열 데이터베이스인 InfluxDB 2와 연동하는 방법에 대해서 알아보자. 2. InfluxDB 서버 환경 구성먼저 InfluxDB를 도커로 띄워보자. https://docs.influxdata.com/influxdb/v2/install/use-docker-compose/ Install InfluxDB using Docker Compose | InfluxDB OSS v2 DocumentationThank you for your feedback! Let us know what we can do better:docs.influxdata.comdocker-compose.ymlversion: '3.8'services: influxdb: image: influxdb:2 ..
1. 비동기 프로그래밍이 필요한 이유비동기란 현재 처리중인 쓰레드에서 작업하던 Task를 다른 sub 쓰레드에게 Task를 위임하는 행위이다. 비동기를 사용하면 클라이언트는 서버에게 요청을 하고 응답을 기다릴 필요가 없다.그로 인해 더많은 Task를 처리할 수 있고,  실시간 성 응답이 필요없는 경우 유용하게 사용할 수 있다. 비동기가 필요한 경우  예시회원 가입 후 이메일 전송: 사용자는 회원가입을 완료하면, 이메일을 비동기적으로 처리하여 사용자는 회원가입만 완료되면 다른 작업을 처리할 수 있다.알림 기능: 특정 이벤트가 발생한 후 사용자에게 알림을 비동기적으로 보내어, 프로세스가 멈추지 않고 계속 실행하도록 한다. 2. Thread Pool 정의a. Thread Pool이란?Thread Pool이란 ..
김영한님의 스프링 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 :..
kmindev
'Programming/Spring' 카테고리의 글 목록