개발잡담/Back-End

유튜브와 같이 온라인 영상 서비스들에서 원하는 영상을 재생하려고 하면, 전부 다운로드 후 재생이 아닌 일부만 조금씩 다운로드 후 재생하고 그 이후에 추가로 다운로드 하는걸 알 수 있습니다. Spring Boot에서 영상 파일을 스트리밍 하는 방법을 알아보겠습니다. 환경 Spring Boot 3.1.3 React 18.2.0 React-Player 2.12.0 구조 영상을 가져와서 프론트에 출력하는 구조는 아래와 같습니다. 영상을 재생하기 위해 순서대로 정리해보겠습니다. React에서 영상 데이터 요청 파일 정보(이름, 위치 등)을 Spring Boot에 요청합니다. React-Player를 사용하기 때문에 요청을 url={videoLoader()} 라는 파라미터를 통해 영상을 받아옵니다. Spring B..
RestAPI를 통해 파일을 다운로드 하려면 어떻게 해야할지 알아보겠습니다. 환경 Spring Boot 3.1.3 React 18.2.0 axios 1.4.0 파일 다운로드를 위한 순서 React에서 파일 다운로드 요청 axios를 사용하여 파일 정보를 Spring Boot에 요청합니다. responseType을 blob으로 설정합니다. Spring Boot에서 요청 처리 Controller에서 파일 정보를 받아 Service로 전달합니다. 이후 Service에서 처리된 데이터를 리턴시킵니다. Spring Boot에서 파일 데이터 처리 파일 존재를 확인 후, Resource로 처리하여 리턴합니다. 코드를 통해 확인해 보겠습니다. React import { useEffect, useState } from ..
Spring Batch 5 버전을 어떻게 사용하는지 간단한 예시를 통해 알아보려 합니다. 환경 Spring Batch 5.1.0 Spring Boot 3.1.3 Java 17 MairaDB(MySQL) 설치 // Spring Batch implementation 'org.springframework.boot:spring-boot-starter-batch' // spring-batch-core implementation 'org.springframework.batch:spring-batch-core:5.1.0' application.properties 설정 ### spring batch spring.batch.job.enabled=true spring.batch.jdbc.initialize-schema=a..
개인 프로젝트를 진행 하던 중에 백엔드 파트 쪽 기능이 정상작동을 안한다는 것을 깨달았습니다. 로그를 보면 좀 더 쉽게 파악이 가능할텐데 그럼 어떻게 로그를 확인 및 수집할지 고민을 해보았습니다. 1. 어떤 로그를 확인하고 싶은지 결정 모든 과정을 마치 알고리즘 문제 풀때 반례 찾듯이 코드 한줄마다 로그를 수집하고 싶지 않아 기준을 정했습니다. 기능 단위 동작 에러 발생시 시간, 발생 위치, 해당 데이터 2. 로그를 띄우는 방법 1) 개발 할때 로그 확인 위 스크린 샷 처럼 IDE에서 Log를 찍고 그 결과를 보면 가능합니다. 하지만 이는 서비스를 배포하면 로그를 확인하는데 매우 제한적입니다. 장점 : 개발 단계에서 로그를 쉽게 설정할 수 있다. 단점 : 사실상 개발 할때만 확인이 가능하다. 2) 로그 ..
Spring Boot를 이용해서 개발을 하다가 문득 궁금증이 생겼습니다. Spring Boot는 여러 개의 요청을 어떻게 병렬적으로 처리할까? 바로 알아보겠습니다. Spring Boot가 병렬적으로 처리를 하긴 하나? 아래의 코드를 보겠습니다. @RestController() @RequestMapping("/study") public class StudyController { private final Logger log = LoggerFactory.getLogger(this.getClass().getSimpleName()); @GetMapping("/threadPool") public String threadPoolTest(){ try{ log.info("Method start!"); Thread.sle..
Spring Boot에서 MQTT를 이용하여 각종 IoT가 접목된 기기들을 컨트롤하고자 한다. 그러면 어떻게 Spring Boot에서 이를 사용할 수 있을까? 환경 버전 java : 11 spring boot : 2.7.6 1. MQTT 라이브러리 설치하기 우선 MQTT 라이브러리를 설치해야 이 기능을 사용할 수 있으므로 설치를 합니다. implementation 'org.springframework.integration:spring-integration-mqtt:5.5.14' 위 코드를 "build gradle" 파일 내에 있는 "dependencies" 에 추가합니다. 저는 5.5 보다 더 윗단계 라이브러리 사용시 호환성 문제로 작동하지 않는 부분이 있어 해당 버전을 사용했습니다. 2. 코드 작성 여..
Red-Hat
'개발잡담/Back-End' 카테고리의 글 목록