본문 바로가기

전체 글

(162)
AWS Certified Cloud Practitioner 모듈 2 - 추가 컴퓨팅 서비스 서버리스 컴퓨팅이란?기존 방식 (EC2): 가상 서버를 만들어야 하고, 거기서 앱을 실행해야 하며 서버 상태도 직접 관리해야 한다.서버리스 방식: 서버를 직접 만들거나 관리하지 않고, 코드만 업로드하면 AWS가 알아서 실행해준다.📌 서버리스의 장점서버 관리 X → 개발에 집중 가능자동 확장실행한 시간만큼만 과금됨AWS LambdaAWS에서 제공하는 서버리스 컴퓨팅 서비스특정 이벤트가 발생했을 때 자동 실행되는 코드를 만들 수 있다.예시: 이미지 업로드 이벤트가 발생하면 Lambda가 이미지를 자동으로 리사이징한다.📌 작동 흐름코드를 Lambda에 업로드이벤트가 발생하면 코드 실행실행 시간만큼만 요금 부과컨테이너란?애플리케이션 + 실행환경을 하나의 묶음(패키지)으로 만든 것어디서 실행하든 환경이 동일하..
AWS Certified Cloud Practitioner 모듈 2 - 메시징 및 대기열 1. 모놀리식 애플리케이션이란?하나의 거대한 코드 덩어리 안에 모든 기능(데이터베이스, UI, 비즈니스 로직 등)이 서로 밀접하게 연결되어 있는 구조한 부분이 에러 나면 전체 애플리케이션이 영향을 받는다.유지보수나 확장성이 떨어짐2. 마이크로서비스 아키텍처란?기능별로 작은 서비스들로 나누어져 있는 구조이다. 각 서비스는 독립적으로 배포되고 실행된다.한 서비스에 문제가 생겨도 다른 서비스는 정상 작동 가능AWS에서는 여러 개의 독립 서비스(S3, Lambda, SNS 등)로 나눠서 구성 가능3. Amazon SNS (Simple Notification Service)게시자 → 주제(topic) → 구독자 구조의 알림 시스템게시자는 SNS 주제에 메시지를 보냄구독자는 원하는 주제를 선택해 메시지를 받음각 구..
AWS Certified Cloud Practitioner 모듈 2 - Elastic Load Balancing ELB란?Elastic Load Balancing은 사용자 요청을 여러 서버(EC2 인스턴스)에 자동으로 나눠주는 서비스이다. 즉, 트래픽 분산기 역할을 한다.왜 필요한가?EC2 인스턴스가 여러 대일 때특정 서버 하나에 트래픽이 몰리면 성능 저하 발생ELB는 트래픽을 골고루 분산시켜 모든 인스턴스가 균형 있게 일하도록 도와줌작동 구조 (흐름)고객 요청 → ELB(로드 밸런서) → 여러 EC2 인스턴스에 분산 처리 커피숍 비유로 이해하기EC2 인스턴스계산대 (고객의 주문을 받는 직원)ELB직원이 손님을 빈 계산대로 안내하는 안내 요원고객웹사이트에 접속하는 사용자 트래픽 고객이 들어오면 ELB가 어느 계산대가 비었는지 보고 그쪽으로 안내함계산대가 부족하면 Auto Scaling이 계산대를 더 열고(EC2 인..
AWS Certified Cloud Practitioner 모듈 2 - EC2 크기 조정 1. 확장성이란?시스템이 수요 변화에 따라 자동으로 늘어나거나 줄어드는 능력이다.방문자가 많아지면 서버를 자동으로 늘려서 트래픽을 잘 처리한다.방문자가 줄어들면 서버를 줄여서 비용을 아끼는 것이 확장성이다.2. 왜 필요한가?고객 수요가 갑자기 많아졌을 때 서버 수가 부족하면 웹사이트가 느려지거나 멈춘다.커피숍에 바리스타 1명 → 손님이 50명 몰리면 줄이 길어진다.이럴 땐 바리스타를 자동으로 더 투입하는 시스템이 필요하다. → 이게 EC2 Auto Scaling이 해주는 역할이다.3. Amazon EC2 Auto Scaling이란?EC2 인스턴스 수를 자동으로 늘리거나 줄여주는 서비스이다.고객 수요가 증가하면 EC2 인스턴스를 자동으로 늘리고, 수요가 줄면 자동으로 줄여서 비용을 절감한다항상 설정한 최소..
섹션 9 Greedy - 7. 원더랜드(최소스패닝트리 - 크루스칼 : Union&Find 이용) 문제 설명원더랜드는 재정 부족으로 도로 유지비를 줄이려고 한다.모든 도시를 서로 연결하면서, 유지비용이 최소가 되도록 일부 도로만 남기고 나머지는 폐쇄하려 한다.단, 어떤 도시든 다른 도시로 갈 수 있어야 한다 (모든 도시 연결 필요)입력 & 출력입력 예시9 121 2 121 9 252 3 102 8 172 9 83 4 183 7 554 5 445 6 605 7 387 8 358 9 15 출력 예시196해결 전략: 크루스칼 알고리즘MST(Minimum Spanning Tree)를 만드는 대표적인 방법 중 하나모든 간선을 비용 기준으로 정렬비용이 낮은 간선부터 차례대로 선택하되 이미 연결된 두 정점을 다시 연결하지는 않음 (사이클 방지)이 과정을 통해 최소 비용으로 전체 연결 가능전체 코드import ja..
섹션 9 Greedy - 6. 친구인가?(Disjoint-Set : Union&Find) 문제 설명현수는 반 친구들의 친구관계를 알고 싶어 한다. 각 학생은 1~N번까지 번호가 붙어 있으며 친구 쌍이 주어질 때, 두 학생이 직접 또는 간접적으로 친구인지를 판별해야 한다.예: (1,2), (2,3), (3,4) → 1과 4는 친구입력 & 출력입력 예시9 71 22 33 41 56 77 88 93 8 출력 예시NO해결 전략: Union-Find친구 관계는 서로소 집합 (Disjoint Set) 구조로 표현할 수 있다.같은 집합에 속하면 친구, 아니라면 친구 아님.각 학생은 부모 노드를 통해 루트(대표 친구)를 찾고,서로 다른 루트를 가진 두 학생을 친구로 연결(합침)한다.전체 코드import java.util.*;public class Problem6 { static int[] unf; publ..
[스프링 핵심 원리 정리] 객체 지향 설계로 할인 정책 유연하게 바꾸기 이번 시간에는 스프링의 객체 지향 설계를 활용해서 할인 정책을 유연하게 바꾸는 구조를 어떻게 만들 수 있는지 배웠다. 강의에서 설명한 내용을 정리한 내용이다.정액 할인에서 정률 할인으로 변경기존에는 VIP 회원에게 고정 금액(1000원)을 할인해주는 정책이 적용되어 있었다. 그런데 어느 날 기획자가 정률 할인으로 바꿔달라고 요청 하는 상황이다. 따라서 주문 금액의 10%를 할인해주는 방식으로 정책 클래스를 하나 새로 만들게 된다.public class RateDiscountPolicy implements DiscountPolicy { private int discountPercent = 10; @Override public int discount(Member member, int pric..
AWS Certified Cloud Practitioner 모듈 2 - 요금 1. 온디맨드 (On-Demand)특징: 서버를 필요할 때 만들고, 중지할 때까지 사용한 시간만큼 과금됨약정 없음, 선결제 없음적합한 경우:개발·테스트 환경사용량이 예측되지 않는 앱단기, 중단 불가능한 작업📌 장점: 유연하고 간단함📌 단점: 장기적으로는 비쌈2. 예약 인스턴스 (Reserved Instances, RIs)특징: 1년 또는 3년 동안 사용하겠다고 미리 약정하고, 대신 요금을 할인받는 방식두 가지 유형:표준 예약 인스턴스: 사양 변경이 안된다. 리전, 인스턴스 타입, OS, 테넌시 전부 고정이다. 할인율이 크다.컨버터블 예약 인스턴스: 사양 변경이 가능하다. 리전은 고정이고, 나머지는 변경 가능하다. 할인율이 표준보다 약간 낮다.적합한 경우:항상 켜져 있는 서비스 (웹앱, 백엔드 시스템 ..