본문 바로가기

분류 전체보기60

[AWS] Spring Boot에서 AWS S3와 연계한 파일 업로드처리 이번 포스팅은 Spring Boot 환경에서 AWS S3(Simple Storage Service)를 연계하여 파일을 업로드하는것으로 직접 버킷 생성을 시작으로 Spring Application을 구현하기까지 작성하고자 합니다. 본 포스팅을 작성하는데에 저의 개발환경은 다음과 같습니다. AWS Free Tier 계정(루트 사용자 계정입니다) Gradle Spring Boot 2.5.3 구현에 참고한 자료 AWS 기반 Spring Boot 애플리케이션 개발 시작하기 | Amazon Web Services AWS SDK for Java를 사용하는 Amazon S3 예제 이해 및 가져오기AWS자격 증명 버킷 생성 S3 관리 콘솔 접속 버킷 만들기 버킷의 이름은 Region Group 전역적으로 고유하게 설정해.. 2022. 3. 7.
[Spring] @Retryable를 활용하여 깔끔하게 API 및 메소드 재호출하기 개발을 하다보면 어떠한 로직이 성공적으로 수행되지 않았을 경우에 일종의 재시도 혹은 재호출을 하는 경우가 존재합니다. 일반적으로 클라이언트가 서버측에 특정 요청을 했을때 오류가 발생하거나 올바르지 않은 응답이 이루어질때에는 단순히 한번 더 호출 혹은 정해진 제한 횟수만큼의 재호출을 하도록 하는 경우가 있을겁니다. 아래의 코드를 한번 봅시다. private SearchAPI searchApi; public List fetch() { try { return searchApi.search(); } catch (Exception e) { throw new RuntimeException("오류 발생"); } } 앞선 코드에서 작성된 fetch() 메소드는 단순히 검색 API 요청을 수행한 후 정상적으로 응답이 이.. 2022. 2. 15.
[Spring Data JPA] JPA Query Methods - QuickStart 5 (End) 2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] Fetch Join (N + 1 Issue) - QuickStart 4 2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] 연관 관계 자식(하위) Entity 작성 - QuickStart 3 2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] JPA Entity, Repository, Service 클래스 작성 (조회 및 저장) - QuickStart 2 2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] 예제 프로젝트 생성 및 초기 환경 구성 - .. 2021. 12. 12.
[Spring Data JPA] Fetch Join (N + 1 Issue) - QuickStart 4 2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] 연관 관계 자식(하위) Entity 작성 - QuickStart 3 2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] JPA Entity, Repository, Service 클래스 작성 (조회 및 저장) - QuickStart 2 2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] 예제 프로젝트 생성 및 초기 환경 구성 - QuickStart 1 이전글에 이어서 작성합니다. # 해당 시리즈 게시글은 Notion에서 작성된 내용을 그대로 옮겨오는 과정에서 서식의 깨짐 및 부자연스러움이 발생할 수 있.. 2021. 12. 12.
[Spring Data JPA] 연관 관계 자식(하위) Entity 작성 - QuickStart 3 2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] JPA Entity, Repository, Service 클래스 작성 (조회 및 저장) - QuickStart 2 2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] 예제 프로젝트 생성 및 초기 환경 구성 - QuickStart 1 이전글의 내용을 이어서 작성합니다. # 해당 시리즈 게시글은 Notion에서 작성된 내용을 그대로 옮겨오는 과정에서 서식의 깨짐 및 부자연스러움이 발생할 수 있습니다. 1:N 연관 관계를 가지는 하위 Entity 작성 io.starter.jpatutorial.domain.jpo.CommentJpo @Getter @Sette.. 2021. 12. 12.
[Spring Data JPA] JPA Entity, Repository, Service 클래스 작성 (조회 및 저장) - QuickStart 2 2021.12.12 - [Spring/Spring Data JPA] - [Spring Data JPA] 예제 프로젝트 생성 및 초기 환경 구성 - QuickStart 1 이전글의 내용을 이어서 작성합니다. # 해당 시리즈 게시글은 Notion에서 작성된 내용을 그대로 옮겨오는 과정에서 서식의 깨짐 및 부자연스러움이 발생할 수 있습니다. Entity 클래스 및 모델 클래스 작성 io.starter.jpatutorial.domain.jpo.PostJpo @Getter @Setter @ToString @NoArgsConstructor @AllArgsConstructor @Entity @Table(name = "post") public class PostJpo { /** * 게시글 번호 (Auto Increme.. 2021. 12. 12.
[Spring Data JPA] 예제 프로젝트 생성 및 초기 환경 구성 - QuickStart 1 Spring Data JPA를 직접 사용해보면서 조금이나마 경험을 해볼 수 있는 시리즈를 작성하고자 합니다. 이 글을 통해 프로젝트 생성을 시작으로 Spring Data JPA를 활용한 데이터베이스로부터의 데이터 조회, 생성, 수정 및 엔티티 정의부터 Spring Data JPA가 제공하는 다양한 기능을 사용하는데에 이르기까지를 전달하고자 합니다. 시작하기에 앞서 IDE는 JetBrains Intellij를 사용하고 빌드 도구는 Gradle을 기반으로 진행합니다. # 해당 시리즈 게시글은 Notion에서 작성된 내용을 그대로 옮겨오는 과정에서 서식의 깨짐 및 부자연스러움이 발생할 수 있습니다. 예제 프로젝트 생성 해당 시리즈에서 필요한 최소한의 의존성만 선택해주도록 합니다. 프로젝트 생성 직후 프로젝트 .. 2021. 12. 12.
[Spring Data JPA] JPA(Java Persistence API), Hibernate, Spring Data JPA의 개요 JPA (Java Persistence API) Java Persistence API는 자바의 ORM 표준 스펙이되는 인터페이스이다. 어떠한 라이브러리도, 프레임워크도 아닌 그저 Java를 활용해 RDBMS를 사용하는 방식을 정의한 표준이다. 말 그대로 표준 스펙이고 JPA 스펙을 기반으로 구현된 ORM Framework는 대표적으로 Hibernate가 있다. JPA, Hibernate, Spring Data JPA JPA는 앞서 언급했든 하나의 표준 스펙이며, Hibernate는 JPA Spec을 기반으로 직접 구현한 구현체이며 하나의 ORM Framework이다. Spring Data JPA는 하나의 Spring 모듈로 볼 수 있고 JPA, Hibernate를 기반으로 한 단계 더 추상화시킨 모듈이다.. 2021. 12. 12.
MAC M1 Chip PC에서 UTM 가상머신 사용하기 및 Ubuntu 20.04 설치 안녕하세요. 최근 새로 출시된 애플의 Macbook은 CPU가 기존 Intel 기반의 모델에서 자체 Apple M1 Silicon ARM 모델로 변경했습니다. 그에따라 개발을 하는데에 있어 다소 불편함을 겪고 있는 경우가 많을텐데요.. 단적인 예시로 Android Emulator, iOS Simulator 및 build architecture 등의 과정에서 고초를 겪고 있을 수 있습니다. 저의 경우에도 그와 같은 어려움을 같이 겪어왔고 계속 미루던 로컬 Linux 개발 및 테스트 환경 구축을 위한 가상머신을 이전부터 구성하고자 했고 계속 미루다 이제서야 구축을 하게 되었습니다. 우선 이 글을 작성하는 현재 2021년 11월 23일 기준 가상머신 플랫폼 점유율 TOP인 VMWare, Oracle VIrtu.. 2021. 11. 23.
[Apache] CentOS 7.8에서 Apache(httpd)와 Tomcat을 mod_jk(AJP Protocol) 방식으로 연동한 프록시 환경 구성하기 CentOS 7.8에서 Apache(httpd)와 Tomcat을 mod_jk 방식으로 연동한 프록시 환경 구성하기 들어가기에 앞서 아래와 같은 Apache ↔ Tomcat간 Proxy 구성방식은 Apache 모듈에 따라 크게 3가지가 있습니다. 1. mod_proxy 사용 2. mod_proxy_ajp 사용 3. mod_jk 사용 Software Version CentOS : 7.8 Apache (httpd) : 2.4.46 Tomcat : 9.0.43 Tomcat Connector : 1.2.48 CentOS 운영체제, Apache HTTP Server, Apache Tomcat은 설치되어 있는 상태이어야 되며 따라서 별도로 각 소프트웨어를 설치하는 과정은 건너뛰도록 하겠습니다. 이번에 활용할 Apac.. 2021. 2. 8.