Gradle 프로젝트 구조 project ├── gradle/ (1) │ ├── libs.versions.toml (2) │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties │ ...
Spring Batch - Multi-threaded Step 알아보기
개요 Spring Batch는 병렬 처리를 위한 다양한 옵션을 제공한다. 큰 틀에서 병렬 처리는 두 가지 방식이 있다: Single-process Multi-threaded Step Parallel Steps Multi-proce...
Spring - Spring Batch 알아보기
Spring Batch Spring Batch는 엔터프라이즈 시스템의 핵심 일상 업무(vital for the daily operations)를 위한 견고한 배치 애플리케이션 개발을 지원하는 경량·종합 프레임워크 Spring Batch는 생산성, POJO 기반 개발, 쉬운 사용성 같은 스프링 특성을 계승하면서, 필요 시 고급 엔터프라...
Spring - Spring Boot 알아보기
Spring Boot의 목표 모든 Spring 개발에서 극적으로 빠르고 누구나 쉽게 접근 가능한 시작 경험을 제공하는 것. → 프로젝트를 시작할 때 복잡한 설정 없이 바로 개발을 시작할 수 있게 한다. 기본적으로는 권장되는(opinionated) 설정을 제공하지만, 개발 요구사항이 기본값에서 벗어나면 쉽게 커스터마이...
Spring - Spring Framework 알아보기
스프링 ? “Spring”이라는 용어는 문맥에 따라 다른 의미를 가진다. 원래는 Spring Framework 프로젝트 자체를 가리키는 말이었으며, 거기서 모든 것이 시작됐다. 시간이 지나면서 Spring Framework 위에 다른 Spring 프로젝트들이 만들어졌다. 즉, 각 프...
WEB - HTTP Content-Disposition 헤더
Content-Disposition 헤더 콘텐츠를 브라우저에서 웹페이지로 직접 표시할지, 아니면 첨부파일로 다운로드할지를 지정 Content-Disposition: inline Content-Disposition: attachment Content-Disposition: attachment; filename="file name.jpg" Con...
Spring - Spring Boot 버전 현황 (25.07.26)
Spring Boot / Spring 릴리즈 및 지원 종료 일정 Spring Boot Spring Boot는 6개월마다 새로운 메이저 또는 마이너 버전을 릴리스 (5월 / 11월) (보통) 세 번째주 목요일에 릴리스를 목표로 함 Branch Initial Release End of OSS ...
취미 코딩
앞으로 두 달간 취미도 코딩인 것처럼 살아보고, 느껴지는게 있는지 지켜보자.
SXSSF를 사용하는데 OOM이 발생한다 ?
상황 백오피스 시스템에서 조회 기간 길게해서 엑셀 파일 다운로드했더니 OOM 발생 해당 엑셀 다운로드 로직에서는 파일 생성을 위해 poi 라이브러리의 SXSSF 구현체 사용중 전에 XSSF 구현체와 비교했을때, SXSSF는 row를 메모리에서 디스크로 flush 하면서 생성한다고 했는데 왜 OOM이 발생한걸까 ? (SXSSFRo...
MySQL - LOCK 살펴보기
락을 잘 모르면 비효율적인 쿼리를 작성하거나, 데드락을 유발하거나, 불필요한 성능저하 등을 일으킬 수 있다고 생각한다. 또한 디버깅시 실마리를 못잡을 수도 있다. 이런 일을 최대한 겪지 않도록 MySQL에서는 어떤 락을 제공하는지 살펴보자. Lock 유형 InnoDB는 행 수준(row-level) 잠금을 구현하며(테이블 수준 잠금도 ...