분류 전체보기 168

[Spring] 스프링에서 알아두면 좋은 어노테이션(Annotation) 모음

1. Validation 기능개념 - 사용자 입력값의 유효성을 검증하여 잘못된 데이터 입력을 방지하는 기능이다. 적용 사례 - 프론트엔드와 백엔드 모두에서 검증을 수행하여 안전한 데이터 처리가 가능하며, 유효성 검증 실패 시 예외 처리를 통해 사용자에게 명확한 오류 메시지를 제공할 수 있다.주요 어노테이션 - 밑 다양한 어노테이션을 사용해 필드의 유효성을 정의할 수 있다.@NotNull, @Size, @Valid, @Validated, @ControllerAdvice ... DTO 클래스에서 사용하는 Validation 어노테이션 - @NotNull: 필수 입력 필드로, 값이 null이 아니어야 함을 보장한다. - @Size: 문자열이나 컬렉션의 길이를 제한한다. - @Email: 유효한 이메일 형식인지..

[AWS] Amazon S3

Amazon S3의 사용 사례백업과 스토리지파일용 또는 디스크용, 재해 복구의 용도로 사용아카이브용 - S3 파일을 아카이브 해두면 추후 매우 손쉽게 검색할 수 있다.하이브리드 클라우드 스토리지애플리케이션 호스팅미디어 호스팅데이터 레이크 & 빅 데이터 분석정적 웹사이트 호스 Amazon S3 - BucketsS3는 파일을 '버킷'에 저장하는데, 버킷은 상위 레벨 디렉토리로 표시된다.S3 버킷의 파일은 '객체'라고 한다.버킷은 계정 안에 생성되고, 버킷에는 전역적으로 고유한 이름이 있어야 한다.  - 이름은 계정에 있는 모든 리전과 AWS에 존재하는 모든 계정에서 고유해야 한다.     (= AWS에서 전역적으로 고유한 단 하나의 이름)버킷은 리전 수준에서 정의된다.  - 버킷 이름이 모든 리전과 모든 계..

[Spring Boot] 포스트맨으로 테스트하기 쉽게 환경변수 설정과 'Barere 접두사'를 제거한 순수한 토큰 헤더로 받기

포스트맨의 환경변수 설정오른쪽 위의 빨간색 네모 - 지금 현재 설정되있는 '환경변수'를 나타낸다왼쪽 옆에 있는 빨간색 네모 - 환경변수 설정할 수있는 메뉴로 들어갈 수 있다.왼쪽 환경변수 메뉴로 들어가서 "+" 버튼을 눌러준다.위의 빨간색 네모박스에 들어가있는 내용처럼 모두 입력해준다.화살표로 가르키고 있는 "login-token"은 빈 곳으로 입력한다.(추후에 로그인하고 생성된 토큰이 자동으로 저곳에 입력되어 편하게 테스트할 수 있는 것이다.) 포스트맨의 환경변수 사용방법1. 환경변수에 설정한 url 값을 "{{base_url}}"로 변경해준다.  2. Scripts 탭에서 포스트맨을 설정 또 해줘야한다.(밑의 명령어 2줄로 입력하여 설정해주면 된다.)  - var token = pm.response...

[AWS] Beanstalk

Typical architecture : Web App 3-tier로드밸런서는 사용자의 모든 요청을 처리하고 있다. 그런 다음, 여러 가용 영역을 가진 오토 스케일링 그룹이 있다. 그리고 각 AZ에는 일부 EC2 인스턴스가 배포될 것이다. 그리고 백엔드에는 데이터 서브넷이 있을 수 있다.그래서 읽기와 쓰기를 수행하는 RDS 데이터베이스가 있다.그런 다음 캐싱 레이어가 필요한 경우, ElastiCache를 살펴봐야한다.  Developer problems on AWS배포할 애플리케이션이 너무 많고 이들이 동일한 아키텍처를 따를 경우, 매번 이를 다시 생성하는 것은 번거로울 수 있다.개발자로서 코드를 배포하기 위해 인프라를 관리하는 것은 복잡하다.모든 데이터베이스, 로드 밸런서 등을 일일이 구성하고 싶지 않..

[AWS] 애플리케이션을 빠르게 인스턴스화하는 방법

Instantiatin Applications quickly풀 스택(EC2, EBS, RDS)을 실행하면 다음과 같은 작업에 시간이 걸릴 수 있다.  - 애플리케이션 설치  - 데이터 삽입 (또는 복구)  - 모든 구성  - 애플리케이션 실행속도를 높이기 위해 클라우드의 장점을 사용할 수 있다.어떻게 하면 더 빨리 할 수 있을까?! EC2 Instances : Use a Golden AMIEC2 인스턴스에서 Golden AMI를 사용할 수 있다.  - Golden AMI는 애플리케이션과 OS 종속성 등 모든 것을 사전에 설치하고 그것으로부터 AMI를 생성하는 것이다.이후로는 EC2 인스턴스들을 Golden AMI로부터 직접 실행하면 된다.이렇게 하는 이유는 애플리케이션, OS 종속성 등을 재설치할 필요가..

[AWS] Solutions Architectures(솔루션 아키텍처) 세 번째

Stateful Web App : MyWordPress.com완전히 확장 가능한 WordPress 웹사이트를 만들려고 한다. WordPress는 웹사이트를 만드는데 흔히 사용되는 방법으로 아주 인기가 많다.사람들은 WordPress를 AWS에 배포하는 걸 좋아한다.WordPress가 작동하는 방식으로 어떤 드라이브에 그림을 저장하고 기본적으로 모든 인스턴스들이 그 데이터에 접근해야 한다. RDS layer첫 번째로 할 일은 RDS가 있는 계층을 생성하는 것이다.다중 AZ이고 모든 EC2 인스턴스에 걸쳐 적용된다. 만약 정말로 크게 확장하고 싶다면 어떻게 할까?다음 예시를 보자.Scaling with Aurora : Muti AZ & Read Replicas위의 계층을 오로라 MySQL로 교체할 것이다. ..

[AWS] Solutions Architectures(솔루션 아키텍처) 두 번째

Stateful Web App : MyClothes.comMyClothes.com 상태 유지 웹 애플리케이션이라고 생각하고 설명해보겠습니다.MyClothes.com은 온라인으로 쇼핑을 하게 해주고, 장부구니가 있고, 동시에 수백 명의 사용자가 있고 이 모든 사용자들이 웹사이트를 둘러본다.확장을 할 수 있어야 하고, 수평 확장성을 유지하며 애플리케이션의 웹 티어를 최대한 무상태로 유지해야 한다.주소 등의 사용자 정보를 효과적으로 보관하고 어디에서나 접근할 수 있는 데이터베이스에 저장한다.  이전 글에 봤던 것과 같은 종류의 아키텍처가 있다고 생각해보다.사용자가 있고 Route53과 다중 AZ ELB가 있으며, 오토 스케일링 그룹과 세 개의 AZ가 기본적으로 있다.애플리케이션이 ELB에 접근하고 ELB는 '..

[AWS] Solutions Architectures(솔루션 아키텍처) 첫 번째

Stateless Web App : WhatIsTheTime.comWhatIsTheTime.com은 사람들에게 시간을 알려준다.너무 단순하기 때문에 데이터베이스가 필요 없다.각각의 인스턴스와 서버는 시간이 몇시인지 알고 있고, 사용자들은 작게 시작하기를 원하고 다운타임을 받아들일 수 있다.  - 다운타임 : 시스템을 이용할 수 없는 시간다운 타임을 제거할 수 있도록 수직 및 수평적으로 확장할 필요가 있다.  : 다운타임을 수용할 수 있지만 만약, 사용자의 앱이 전반적으로 점점 더 인기를 얻게 되어서 전 세계에 걸쳐 시간을 알고 싶어하게된다. Stateless Web App : What time is it?Scaling verticallyt2.micro 인스턴스와 사용자가 있고, 사용자가 시간을 물어보게되..

[AWS] Domain Registar vs DNS Service

Domain Registar vs DNS Service도메인 이름 레지스트라를 통해 원하는 도메인 이름을 구매할 수 있다.  - 매년 비용을 지불해야 한다.  - 예를 들어, GoDaddy, Amazon Registrar 등등레지스트라를 통해 도메인을 등록하면 DNS 레코드 관리를 위한 DNS 서비스를 제공한다.  - Amazon 호스트 이름으로 DNS 이름을 등록했다면 DNS 레코드 관리를 위한 Route 53 호스팅 존을 가진다. DNS 레코드로 AWS Route 53 등을 사용하지 않고 Amazon 레지스트라를 사용하거나 반대로 GoDaddy로 도메인을 등록해도 된다. (= 다른 DNS 서비스를 사용하여 DNS 레코드를 관리 할 수 있다.)example.com에서 구매하고 DNS 레코드는 Amazo..

[AWS] Route 53 - Health Checks

Route 53 - Health Checks(상태 확인)상태 확인은 주로 공용 리소스에 대한 상태를 확인하는 방법이다.상태 확인 종류(밑의 종류의 상태 확인들은 각자의 매트릭을 사용하는데 CloudWatch의 지표에서도 확인이 가능하다.)  - 공용 엔드 포인트를 모니터링      : 애플리케이션, 서버, 혹은 다른 AWS 리소스가 될 수 있다.  - 다른 상태 확인을 모니터링      : 계산된 상태 확인이라고 불린다.  - CloudWatch 경보의 상태를 모니터링      : 제어가 쉽고 개인 리소스들에 아주 유용하다.서로 다른 두 지역에 각 하나씩의 로드 밸런서가 있고, 둘은 모두 공용 로드 밸런서이고 그 둘의 뒤에서 애플리케이션이 작동중이다. 그리고 다중 지역 셋업이고, 지역 레벨에서 고가용성을..