본문 바로가기

코딩 공부204

[AWS] ELB(Elastic Load Balancer) ELB(Elastic Load Balancing) 로드 밸런서(Load Balancer)는 부하(load)를 적절하게 분배해주는 장치로 AWS 에서는 ELB라는 이름으로 로드 밸런서를 제공합니다. 이 시스템은 자동으로 로드 밸런싱을 제공하며 시스템이 서버가 죽지 않도록 알아서 관리해 줍니다. 🏷️ 특징 ▪️ 트래픽 분산 ▪️ 자동 확장 ▪️ 인스턴스의 상태를 자동 감지해서 오류가 있는 시스템은 배제 ▪️ 사용자 세션을 특정 인스턴스에 고정 ▪️ SSL 암호화 지원 ▪️ SSL의 경유지로 ELB를 사용하는 경우에 SSL 처리에 따른 부하를 ELB가 수용하게 된다. ▪️ IPv4, IPv6 지원 ▪️ CloudWatch를 통해서 모니터링 ▪️ 사용한 시간과 통과한 트래픽에 따라서 종량제로 과금 ✅ 예시 사용.. 2024. 4. 20.
[AWS] S3(Simple Storage Service) S3(Simple Storage Service) 아마존 웹 서비스(AWS)가 제공하는 클라우드 스토리지 서비스입니다. S3는 파일, 데이터 및 다양한 유형의 미디어 등을 저장하고 관리하는 데 사용되는 웹 기반 스토리지 시스템입니다. 또한 저장하는 데이터 양에 대한 비용도 저렴하고, 저장할 수 있는 데이터 양도 무한에 가깝습니다. 🏷️ S3의 특징 ✅ 스토리지 및 데이터 저장 S3는 파일, 이미지, 비디오, 문서 등의 데이터를 저장하기 위한 공간을 제공합니다. 이 데이터들은 "버킷"이라고 불리는 저장 공간에 저장됩니다. 각 버킷은 전 세계 어느 곳에서나 고유한 이름을 가지며, 이를 통해 데이터를 관리하고 접근할 수 있습니다. ✅ 확장성 S3는 확장 가능한 서비스로, 수천 개에서 수백만 개의 파일을 저장하고.. 2024. 4. 19.
[AWS] RDS(Relational Database Service) RDS(Relational Database Servic) 관계형 데이터베이스 서비스의 약자로 AWS 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스입니다. 이 서비스는 산업 표준 관계형 데이터베이스를 위한 경제적이고 크기 조절이 가능한 용량을 제공하고 공통 데이터베이스 관리 작업을 관리합니다. 🏷️ 특징 및 기능 1. 관리 부담 감소 사용 편의성 : 몇 분 이내에 데이터베이스 인스턴스를 시작하고 애플리케이션을 연결할 수 있다. DB 파라미터 그룹을 사용하면 데이터베이스를 세부적으로 제어하고 튜닝할 수도 있습니다. 자동 소프트웨어 패치 : RDS는 최신 패치를 통해 배포를 지원하는 관계형 데이터베이스 소프트웨어가 최신 상태로 유지되도록 하며, 데이터베이스 인스턴스의 패.. 2024. 4. 19.
[Spring] Proxy Proxy 프록시(Proxy)는 대리자 라는 뜻으로, 클라이언트가 사용하려고 하는 실제 대상인 것처럼 위장해서 클라이언트의 요청을 받아주는 역할을 합니다. 프록시는 실제 대상인 것처럼 위장함으로써 이를 사용하는 클라이언트는 구체 클래스를 알 필요가 없어집니다. 또한 프록시는 클라이언트의 요청을 받아서 원래 요청 대상에게 바로 넘겨주는 게 아닌, 다양한 부가기능을 지원할 수 있습니다. 여기서 원래 요청하려는 대상, 즉 최종적으로 요청을 위임받아 처리하는 실제 오브젝트를 타깃이라고 합니다. 🏷️ 프록시 패턴 프록시 객체가 객체를 감싸서 클라이언트의 요청을 처리하게 하는 패턴으로 접근 제어, 부가 기능 추가 등의 이유로 사용합니다. 원래 객체와 같은 interface를 구현해줘야 하고 객체를 주입받아 inte.. 2024. 4. 17.
[Java] DTO를 Record로 만드는 이유 Record // 레코드 선언법 public record 레코드명(컴포넌트1, 컴포넌트2, ...) { } 값의 집합으로 이루어진 간단한 객체를 심플하게 개발하기위해 고안되었으며, immutable data(불변데이터)를 다룰 class 구현에 최적화되어있습니다. 따라서 웹서비스 구현에서 많이 사용되는 DTO 개념에 적용하면 유용합니다. 생성자, accessors(getter), equals(), hashCode(), toString() 등 DTO 특성의 클래스를 개발할때 매번 개발자가 직접 구현해주어야 했던 반복적인 작업이 줄어듭니다. 또한, "이 클래스는 data carrier 용도이다"를 명시적으로 나타낼 수 있으므로 코드에 대한 이해를 돕고 해당 클래스의 목적에 맞지 않는 구현을 하지 않도록 방지.. 2024. 4. 17.
[Java] Lombok Lombok Lombok이란 어노테이션 기반으로 코드를 자동완성 해주는 라이브러리입니다. Lombok을 이용하면 Getter, Setter, Equlas, ToString 등과 다양한 방면의 코드를 자동완성 시킬 수 있습니다. 예를 들어 객체에서 생성자도 필요하고, toString 함수도 Override 해야하는 등 추가적인 작업이 필요하다면 1개의 VO 클래스만 해도 상당히 길어지고, 코드의 가독성은 떨어지는 등의 단점이 있습니다. 하지만 Lombok을 적용한다면 아래와 같이 단순화시킬 수 있습니다. // Lombok 적용 전 public class User { private String useuId; // 유저ID private String password; // 비밀번호 // 생략 public St.. 2024. 3. 10.