개요 클라이언트-서버 관계에서 파일 업로드 구현시 파일의 최종 저장 위치가 Amazon S3일 경우, 서버는 클라이언트에게 제한된 시간을 가지는 업로드 전용의 Presigned URL을 제공하여 파일 업로드 처리를 서버가 직접 부담하지 않고 S3에게 전가할 수 있다. 이를 통해 서버 입장에서는 보안과 서버 자원 절약이라는 2마리 토끼를 모두 잡을 수 있다. 한가지 이슈는 Presigned URL로 업로드 가능한 최대 파일 크기가 5GB로 이 것을 초과하는 대용량 파일은 업로드가 불가능하다. AWS가 권장하는 해결책은 Multipart 기능으로 원본 대용량 파일을 복수개의 작은 단위로 쪼개어 업로드하는 것이다. 이번 글에서는 Spring Boot에서 Amazon S3의 Multipart 기능을 이용하여 클..
개요 2022-11-28 Spring Boot가 2.7에서 3.0으로 오랜만의 메이저 버전 업그레이드되었다. Java 17를 최소 버전으로 요구하는 등의 큰 변경점이 있었고, 업그레이드해보니 Break Changes가 있어 소스 코드에도 자잘한 수정이 요구된다. 최근 국내 대부분의 현업 프로젝트에서 Kotlin, Gradle, Spring Data JPA, Querydsl을 사용하고 있는 만큼 도움이 될까 해서 새로운 설정 방법을 정리했다. build.gradle.kts 수정 프로젝트 루트의 build.gradle.kts에 아래 내용을 추가하거나 변경한다. (Spring Boot 2.X.X와 Spring Boot 3.0.0 주석을 확인하여 Spring Boot 3.0.0 부분만 적용하면 된다.) buil..
개요 RDBMS는 엄격한 스키마 정합성을 기반으로 오랫동안 업계에서 사랑 받아 왔다. 하지만 리얼 월드에서는 불가피하게 가변적인 구조의 데이터를 다뤄야 하는 상황을 항상 경험하게 된다. (내 최근 경험으로는 브라우저에 렌더링된 가변적인 HTML5 Canvas 태그 정보를 저장해야 하는 상황을 겪었다.) 일반적으로 RDBMS에서 가변 데이터를 다뤄야할 때 EAV 패턴을 사용하거나, VARCHAR 컬럼에 JSON 문자열을 그대로 저장하는 방법을 사용하는데 2가지 방법 모두 최선책은 아니다. 최근의 RDBMS는 NoSQL에 대응하여 네이티브 JSON 데이터 타입과 연관된 쿼리 함수를 제공하고 있고, 이 방법은 RDBMS에서 가변 구조의 데이터를 저장하는데 있어 최선책이라고 말할 수 있다. 이번 글에서는 Spr..
- Total
- Today
- Yesterday
- JHipster
- Tomcat
- Docker
- Spring MVC 3
- spring
- bootstrap
- 태그를 입력해 주세요.
- java
- 구동계
- chrome
- jpa
- graylog
- 로드 바이크
- Kendo UI
- jsp
- Eclipse
- Spring Boot
- 평속
- maven
- CentOS
- MySQL
- Kendo UI Web Grid
- 로드바이크
- 알뜰폰
- node.js
- JavaScript
- jstl
- DynamoDB
- 자전거
- kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |