분류 전체보기85 [Spring Boot] Virtual Threads vs Reactive vs Kotlin Coroutines 성능 비교 개요Spring Boot의 Java 21의 Virtual Thread, Spring Reactive, Kotlin Coroutiones를 사용한 API 서버를 구현하고 각각의 프로젝트의 성능 테스트를 진행하여 성능을 비교한다. 테스트 방법Spring Reactive로 임의의 지연을(30ms) 추가한 API를 3번씩 호출하고, 3번의 호출결과를 모두 합하여 응답하는 API 서버를 Virtual Thread, Spring Reactive, Kotlin Coroutiones, Blocking 3개의 프로젝트로 만들어 성능 테스트한다. /delay/v1.0/api Virtual Thread(30ms 지연) Spring Reactive .. 2024. 9. 10. Spring Boot + vue, react 환경 구성 개요Spring Boot와 Front-end를(vue, react) 하나의 프로젝트로 구성하여 배포하는 방법에 대하여 알아본다. PrerequisitesNode.js 설치사용할 Node.js 버전에 맞게 설치해 준다.Node.js : https://nodejs.org/en Spring Boot 3.x 프로젝트 생성Spring Web Starter를 사용하여 프로젝트를 생성한다.build.gradle 파일plugins { id 'java' id 'org.springframework.boot' version '3.3.3' id 'io.spring.dependency-management' version '1.1.6'}group = 'org.igooo'version = '0.0.1-SNAPSHOT'java { .. 2024. 9. 5. [Spring] Data Commons Auditing MongoDB 개요Spring Data는 엔티티를 만든 사람이나 변경한 사람, 변경이 발생한 시점을 추적하기 위한 Auditing 기능을 제공한다. Spring Data의 Auditing 기능을 사용하면 Entity 변경 데이터에 대하여 별도의 코드를 작성하지 않아도 Spring Data에서 해당 데이터를 추가해 준다. Example게시글을 저장하는 간단한 web application을 작성하여 Auditing 기능을 살펴본다. EntitySpring Data에서는 @CreatedBy, @CreatedDate, @LastModifiedBy, @LastModifiedDate 어노테이션을 제공한다. 시간 Type은 사용하려는 타입에 맞춰서 변경 가능하다.@Document("artices")public class Artic.. 2024. 8. 26. [Spring Batch] - AbstractPagingItemReader 조심하기 개요Spring Batch 데이터 수집 중 보통은 ItemReader에서 데이터를 조작하는 작업을 하지 않지만 특수한 케이스에서 페이징 한 데이터를 기반으로 추가로 데이터를 수집해야 하는 경우(join이 불가능하거나...) AbstractPagingItemReader를 구현한 객체를 사용하는데 이때 주의해서 사용할 점에 대하여 정리한다. PagingItemReader 동작 방식AbstractPagingItemReader의 맴벼 변수(protected volaatitle List results)는 AbstractPagingItemReader의 doRead() 메서드에서 AbstractPagingItemReader를 상속하는 구현체의 doReadPage()의 호출 결과로 값이 정해진다. PagingItem.. 2024. 8. 21. [Spring Batch] 5.1.2 Features 개요기존에는 Spring Batch 4.x.x 버전으로 개발하다가 최근에 5.1.2 버전으로 변경하면서 Spring Batch 5.1What's New in Spring Batch 5.1Dependencies upgradeVirtual Threads supportMemory management improvement in the JpaltemWriterNew synchronized decorators for item readers and writersNew Cursor-based Mongoltem ReaderBulk inserts support in MongoltemWriterNew item reader and writer for RedisAutomatic configuration of JobRegist.. 2024. 8. 21. [Spring] Flyway DB Migration 개요수년 전 개발했던 프로젝트 중 mysql 5.x 버전으로 개발된 프로젝트의 Mysql 버전을 8.x 버전으로 올리고, 간단한 마이그레이션이 필요하여 Spring sql init으로 사용하던 DB 스키마 정의를 Flyway를 적용하여 마이그레이션 한다. FlywayDatabase migrations made easyFree - API/CLI and Desktop GUIBuil on Open SourceVersion control your database migration scriptsPowered by the Flyway commnity and RedgateFlyway는 DB 마이그레이션을 지원하는 도구로 API/CLI와 GUI 툴을 제공하며 다양한 데이터베이스를 제공한다.또한 Spring Boot와 .. 2024. 8. 5. 이전 1 2 3 4 5 6 ··· 15 다음