본문 바로가기

전체 글

(82)
AWS 3. RDS 관계형 DB를 위한 서비스 - RDS SQL을 쿼리어로 사용하는 관계형 DB를 위한 서비스이다. EC2 상에 DB를 만들어 사용할 수 있지만 RDS가 나은점은 다음과 같다: DB를 위한 인프라 자동 구축/업데이트 지속적인 백업과 복구 지원 - 서버와 분리되어 더 엄중한 보호와 관리를 받아야한다. 모니터 대시보드 지원 - 트래픽 등을 시각적으로 확인가능 성능향상을 위한 read-replicas 지원 Multi AZ 지원(고가용성) 수평/수직 확장성 EBS 백업 지원 단점은 SSH로 접속이 불가능하여 서비스 중간에 RDS를 새로 적용하기는 어렵다는 것이다. RDS의 기능 - Storage Auto Scaling DB용량의 한계치에 도달할 때 자동으로 용량을 늘려준다.(수직 확장성) 단, 최대 용량 한계치를 ..
AWS 2. 확장성/가용성, ELB 1. Scalability vs Availability Scalability(확장성): 시스템이 커지거나 작아질 수 있는 능력 사용자 수, 데이터 양, 처리량 등이 증가할 때 시스템의 성능과 처리 능력을 유지하거나 향상시키는 능력. 확장성 있는 시스템 디자인과 구현이 필요하다. Availability(가용성): 시스템이 정상적으로 작동하고 사용 가능한 상태를 유지하는 능력 여러 가용 영역에 애플리케이션 및 인프라를 배포함으로써 서비스를 항상 이용 가능한 상태로 유지하는 것. 시스템의 안정성을 높이고 장애 대응 능력을 강화하는 것이 중요하다. 둘 다 중요한 개념이며, 분산 시스템을 설계하고 구현할 때 모두 고려해야 한다. Horizonatal / Vertical Scalability 수평적 확장은 인스턴스..
23.05.02 TIL 오늘은... AWS 강의를 3주차까지 수강하고 정리 하였다. 정적 메서드와 클래스 메서드에 대해 배웠다. 0. 인스턴스(instance) 메서드 클래스에 그냥 메서드를 선언하면 해당 메서드는 인스턴스 메서드로 취급이 된다. 객체에서 이 인스턴스 메서드를 호출하면 반드시 첫번째 매개 변수로 인스턴스가 넘어와야한다(이것이 바로 self가 필요한 이유이다). 만약 클래스로부터 호출할 경우 다른 객체를 첫번째 인자로 넣어줘야한다. 인스턴수 메서드는 이 self를 통해 인스턴스 속성(attribute)에 접근하거나 다른 인스턴스 메서드를 호출할 수 있다. 또한 self를 통해 클래스 속성에 접근하거나 클래스 메서드를 호출할 수 있다. class AriticleCreateTest(APITestCase): def s..
AWS 1. EC2 0. Billing 본격적으로 클라우드 서비스를 이용하기 앞서 요금 폭탄을 맞기 싫으면 Billing의 기능들을 사용하자. 사용량 모니터링: AWS에서 제공하는 모든 서비스에 대한 사용량을 서비스 별로 모니터링. 비용 분석: AWS에서 제공하는 서비스에 대한 비용을 분석. 서비스별, 리전별, 태그별 또는 사용자별로 비용을 확인가능. 절약 전략 수립 가능 청구 정보 확인: AWS 계정에 대한 요금 청구 정보를 확인 예산 설정: AWS에서 제공하는 예산 설정 기능을 사용하여, 비용을 제어하고 예산 초과를 방지 budget 기능을 이용해 청구비용의 상한을 정하고 미리 알람을 설정할 수도 있다. 1. EC2 기초 클라우드 서비스의 종류 IaaS (Infrastructure as a Service) : 하드웨어 ..
AWS 0. 소개, IAM, MFA AWS AWS(Amazon Web Services)는 클라우드 컴퓨팅 플랫폼이다. AWS는 분산된 데이터 센터를 이용해 인프라를 제공하고, 고객은 제공된 인프라를 쉽고 빠르게 설정, 관리할 수 있다. AWS에서 제공하는 주요 서비스는 컴퓨팅, 데이터베이스, 스토리지, 네트워킹, 보안 등이 있다. 여기서 우리가 사용하게 될 EC2는 클라우드 컴퓨팅에 속한다. Region & Availability Zone(AZ) Region은 말 그대로 북미-동북부, 아시아-태평양 등의 지역을 의미한다. 한 region에는 여러개의 availavility zone이 존재가능한데, 이것은 하나의 데이터 센터들이라고 보면 된다. 기본적으로 내가 배포한 서비스와 같은 지역에 있는 사용자는 더 빠른 속도를 경험할 수 있다. 각 ..
재귀 & 추상클래스 1. 재귀의 이해 재귀함수: 스스로를 호출하는 함수이다. 주요한 이유: 재귀함수를 모르면 못푸는 문제 유형들이 매우 중요하기 때문이다. 예) DFS, BFS, 트리순회(traversal) def rec(n): if n ==0: return 0 else: return n + rec(n-1) print(rec(4)) # 4+3+2+1+0 = 10 def rec2(n): if n= n: return n-1 return fib(n-1)+fib(n-2) 2. 클래스 심화 0. 상속 되짚기 Animal -> cat, dog 1. 메서드 오버라이딩 서브 클래스에서 상위클래스의 메서드를 재정의 하는 것을 의미한다. 이름은 같지만 다른 기능을 수행하고 싶을 때, 기능추가/수정 하고싶을 때 사용한다. django에서의 오..
23.05.01 TIL 오늘은... 1. 개인과제 해설 강의 2. 페어프로그래밍(링크) 를 하고 밀린 강의 내용등을 정리하였다. 1. 개인과제 해설 강의 정리 1-1. 글 상세보기/리스트보기 같이 처리하기 def get(self, request, todo_id=None) default parameter를 이용하면, 해당 인자를 넘겨주지 않는 경우에도 에러가 발생하지 않고 처리가 가능하다. 이후 if문을 이용해 None이면 전체 글의 리스트를 조회하고 todo_id가 자연수이면 해당 글을 상세보기하는 식으로 구현할 수 있다. 1-2. View 작성 팁: 주석과 return response로 시작하기 class UserView(APIView): def post(self, request): ''' 회원 가입(email, passwo..
23.05.01 -프로그래머스:햄버거 만들기 문제: 햄버거 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명: 입력으로 1,2,3으로 이루어진 수열이 리스트형태로 주어진다. 수열에서 부분수열 1,2,3,1 이 존재하면 햄버거 갯수가 1개 추가되고 수열에서 해당 부분수열이 제거된다. 이를 반복하여 최종 햄버거 갯수를 반환하면 된다. 시도 1: find 이용하기 주어진 입력으로부터 특정 패턴을 찾아내야하는 문제이다. find는 문자열에서 특정 패턴이 존재하는지 확인하고 존재..