본문 바로가기

전체 글

[Amazon SES] Simple Email Service Sample 0. Table of Content 1. 개발환경 2. Dependency 2.1. AWS SDK for SES Dependency 2.2. SMTP를 이용하기 위한 Dependency 3. Hands on Lab 4. Source Code 1. 개발 환경 STS 3.9.7 Spring Boot 2.2.6 Java 1.8 2. Dependency plugins { id 'org.springframework.boot' version '2.2.6.RELEASE' id 'io.spring.dependency-management' version '1.0.9.RELEASE' id 'java' } group = 'com.jeonghyeong' version = '0.0.1-SNAPSHOT' sourceCompati.. 더보기
[DynamoDB] Secondary Index 설계원칙 및 고려사항 1. Secondary Index를 사용하는 이유 다음과 같은 은행 계좌를 관리하는 테이블을 생각해보자. OriginCountry가 Germany인 모든 데이터를 불러온다고 가정하자. Query를 통해서 불러오기 위해선 AccountID와 CreationDate을 알고 있는 상황이어야 하지만 실제 Query상황에서는 이를 알 수 있는 방법이 없기 때문에 scan을 사용해야한다. scan을 사용하면 모든 데이터에 대해 검색을 실행하기 때문에 그만큼 실행속도가 느리다. 그러나 GSI를 사용하게 되면 다음과 같이 Primary Key를 원하는대로 바꿔서 테이블을 새로 생성 할 수 있다. GSI Table(우측 테이블)을 생성하면서 기존 OriginCountry 속성을 Partition Key로 설정하였다. 기.. 더보기
[Spring] @RestController vs @Controller 1. @Controller 전통적인 Spring MVC Controller는 View 기술을 이용하여 화면을 리턴하는 방식이다. json, xml형태의 객체를 반환하기 위해서는 @ResponseBody를 사용하여 json, xml형태의 객체를 리턴 할 수 있다. @Controller의 workflow는 다음과 같다. 위 workflow의 순서를 간략히 설명하면 다음과 같다. Client는 URL로 서비스에 Request를 보낸다. 해당 요청을 처리할 수 있는 Handler를 찾아 Mapping 하기 위해 Dispatcher Servlet가 인터셉트 한다. Mapping 된 Handler가 존재하는 Controller에서 해당 요청을 처리하고, Model and View 객체를 반환한다. Dispatche.. 더보기