일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 백엔드
- CS
- spring batch
- 도커
- mysql
- JPA
- 데이터베이스
- HTTP
- 배포
- web server
- 자바
- spring cloud
- spring boot
- 스프링 부트
- 영속성 컨텍스트
- 컨테이너
- ORM
- vm
- CI/CD
- 스프링
- Spring Security
- 스프링 시큐리티
- 스프링 배치
- Spring
- computer science
- 가상화
- 웹 서버
- Container
- virtualization
- Java
- Today
- Total
목록스프링 부트 (22)
개발 일기

피우다 프로젝트라는 공모전의 본선에 붙게되어 실제 프로젝트에 적용시키기 전에 멀티 모듈을 왜 쓰는 것이 좋은지에 대해 알아보고자 작성하게됐다. 전에 개인적으로 멀티모듈 프로젝트를 구성해봤는데 그때 느낀점을 바탕으로 작성하고자 한다.느낀점을 가독성을 포기하고 줄글로 쭉 풀어 써보고자 한다.모듈(Module)이란?우선 모듈이 뭔지 짚고 넘어가보자. 바로 독립적으로 운영될 수 있는 의미를 가지는 구성요소 단위 왜 멀티 모듈(Multi-Module)을 도입하는지 장점 살펴보기?우선은 왜 사람들이 멀티 모듈 구조를 선택하려고 하는지 장점에 대해 고민해봤다.사실 처음에는 MSA(마이크로 서비스 아키텍처) 처럼 독립적인 배포가 가능한 것도 아니고 더 복잡해지기만 하는 것만 같고 왜 써야하는지 이해가 안갔다. 그래서 ..

H2 데이터베이스가 소규모 서비스나 단위 테스트에서 주로 사용되어 종종 개발자분들께서 사용하시는걸 본적이 있다.그래서 H2 Database에 대해 간단하게 정리하는 시간을 가져봤다.H2 Database에 대해H2는 Java로 구현된 작고 가벼운 경량형 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)이다.테스트 환경이나 임베디드 데이터베이스로 많이 사용Server Mode/In-memory Mode/Embedded Mode 이렇게 3가지 모드가 있다.3가지 모드에 대해 하나씩 들여다 보자In-Memory ModeH2 데이터베이스 엔진을 직접 설치하지 않고 애플리케이션 내부의 엔진을 사용하는 방식메모리 기반으로 동작하게 되는 모드로 데이터가 RAM에 저장RAM을 사용하다 보니 Server Mode에 ..

예외 처리 관련한 블로그를 보다가 Controller에서 응답값 즉, Spring에서 HTTP 통신 시 ResponseBody에 메세지를 설정하는 방식에 두 가지의 처리 방식이 있는 것 같았고 그 두 가지인 @ResponseBody와 ResponseEntity 비교해보고 둘 중 무엇을 선택하는 것이 좋을지 알기 위해 정리해보게 됐다.@ResponseBody (+ Response DTO)@GetMapping("/test")@ResponseBody@ResponseStatus(HttpStatus.OK)public MemberInfoResponseDto responseTest(Long memberId) { ... return memberInfoResponseDto}@ResponseBody는 HTTP ..

Spring Batch에서 데이터를 처리하는 방법에는 Tasklet방식과 Chunk방식이 있다.이 두 가지 비교를 통해 각각 어떤 상황에 쓸 수 있을지 알아 두어야 적절한 데이터 처리 방식을 채택하여 배치 처리를 할 수 있을 것 같아 정리하게 됐다. Tasklet 처리 방식Tasklet은 Spring Batch에서 사용되는 인터페이스로, 배치 작업에서 단일 작업(task)을 수행하기 위한 구성 요소이다.해당 데이터 처리 방식에서 Step은 하나의 Tasklet으로 구성된다.Tasklet을 사용하면 하나의 작업을 간단하게 실행할 수 있으며, 특정 로직을 정의하여 배치 작업 중 반복적으로 실행시킬 수 있다.Tasklet의 execute() 메서드가 호출될 때마다 단일 트랜잭션이 생성되며 Tasklet의 전체..

Spring Boot 3.x 버전이 등장하며 Spring Batch 버전 또한 익히 알려져있는 4버전이 아닌 5버전을 활용하게 되었다. Spring Batch4와 5는 차이가 커서 하나씩 정리해보고자 한다.1. 다양한 JobParameter Type4.x 버전까지는 4개의 Type(Long, Double, String, Date)만을 지원했지만 5부터는 JobParameter를 커스텀해서 사용할 수 있다.원래는 제너릭을 지원하지 않았는데 제너릭 타입을 지원하는 것을 확인할 수있다. 2. Deprecated된 StepBuilderFactory와 JobBuilderFactoryImplicit configuration로 인해 StepBuilderFactory와 JobBuilderFactory가 Deprecat..

https://spring.io/projects/spring-batch Spring BatchA lightweight, comprehensive batch framework designed to enable the development of robust batch applications vital for the daily operations of enterprise systems. Spring Batch provides reusable functions that are essential in processing large volumes of respring.io 우선 배치에 대해 이해해보자배치 처리(Batch Processing)과 스프링 배치(Spring Batch)배치 처리(Batch Processi..

아키텍쳐를 멀티 모듈로 구상하며 하나하나 다시 코드를 뜯어보는 도중에 예외처리한 부분이 좀 아쉽다는 생각이 들어 다시 래퍼런스를 찾아보며 다시 뜯어보기로 했다. 우선 예외처리에 대해서 다시한번 짚고 넘어가보자. 예외처리(Exception Handling)예외처리란, 프로그램 실행 시 발생할 수 있는 얘기치 못한 예외의 발생에 대비한 코드를 작성하는 것이며, 예외처리를 하는 목적은 예외의 발생으로 인한 실행 중인 프로그램의 갑작스러운 비정상 종료를 막고, 정상적인 실행상태를 유지할 수 있도록 하는 것이다.프로그램 에러- 컴파일 에러 : 컴파일 시에 발생하는 에러- 런타임 에러 : 프로그램 실행 시에 발생하는 에러- 논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것자바에서 런타 에러는 에러(E..

스프링과 스프링 부트 차이스프링은행 시스템과 같이 몇 백만, 몇 천만의 사람이 한꺼번에 잔고 조회를 하고, 입금 및 출금 요청을 처리하는 등 많으 유저의 요청을 동시에 처리해야하는 엔터프라이즈 애플리케이션는 성능, 안정성 그리고 보안이 매우 중요해 졌다. 그러나 이러한 것들을 고민하며 비즈니스 로직까지 개발하는 것은 비효율적이였기에 이러한 엔터프라이즈 애플리케이션을 위한 개발 환경을 제공해서 기능 개발에만 집중할 수 있도록 하기 위해 스프링 프레임워크를 제공했고 개발자들은 비즈니스 로직에만 집중할 수 있게 됐다. 스프링 부트그러나 설정이 매우 복잡하다는 단점이 있었고 이러한 단점을 극복하여 스프링 프레임워크를 더 쉽고 빠르게 이용할 수 있도록 만든 도구가 스프링 부트이다. 빠르게 스프링 프로젝트를 설정할..