본문 바로가기

전체 글138

AWS CloudFormation (1)- VPC생성 실습 AWS CloudFormation이란 AWS의 리소스를 모델링하고 설정하여 리소스 관리시간을 줄이고 AWS에서 실행되는 애플리케이션에 집중할 수 있도록 해주는 대표적인 IaC(Infra-structure as a Code)기반의 구성 조정도구로 인프라 관리의 최소화, 신속한 인프라 복제, 쉬운 인프라 변경사항 관리/추적의 특징을 가짐 필요한 AWS 리소스를 설명하는 템플릿을 생성하면 AWS CloudFormation이 해당 리소스의 프로비저닝과 구성을 담당 클라우드 환경 내 모든 인프라 리소스를 설명하고 프로비저닝할 수 있도록 공통언어(HSON, YAML)로 작성된 템플릿을을 통해 코드기반 인프라를 구성할 수 있음 더보기 * 프로비저닝이란? 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다.. 2021. 8. 25.
Programmers - 광고삽입(C++) https://programmers.co.kr/learn/courses/30/lessons/72414 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 풀이 완전 탐색의 경우 O(N(전체 구간 길이) x M(광고의 길이)) 시간을 초단위로 1초씩 이동 -> 구간의 합을 계산 O(N)으로 계산 1. logs에 대해 초로 변환, 시작 - 끝 값에 대해 재생 사람수 카운트 2. 0~(동영상 길이-광고 길이)에 대해 한 칸씩 슬라이딩을 옮기며 최대.. 2021. 8. 24.
BOJ 1405 - 미친로봇(C++) https://www.acmicpc.net/problem/1405 1405번: 미친 로봇 첫째 줄에 N, 동쪽으로 이동할 확률, 서쪽으로 이동할 확률, 남쪽으로 이동할 확률, 북쪽으로 이동할 확률이 주어진다. N은 14보다 작거나 같은 자연수이고, 모든 확률은 100보다 작거나 같은 자 www.acmicpc.net 풀이 N이 14보다 작거나 같기 때문에 시작점을 (14, 14)로 설정 dfs를 사용하여 해당방향으로 갈 확률을 곱해주는 방식으로 진행 더보기 ex) 테스트 케이스 N=2, [25, 25, 25, 25]의 경우 : (동서남북의 확률이 같아 처음 한방향의 확률값 x 4로 계산 가능) 1/4 x (1/4 + 1/4 +1/4) x 4 = 0.75 절대/상대 오차는 10-9 -> 소수점 아래 10자리.. 2021. 8. 24.
Programmers - 외벽점검(C++) https://programmers.co.kr/learn/courses/30/lessons/60062 코딩테스트 연습 - 외벽 점검 레스토랑을 운영하고 있는 "스카피"는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하 programmers.co.kr 풀이 외벽을 점검하면서 0->n, n->0의 경우를 이어주기위해 weak를 이어붙임 ex) n=8, weak=[1, 4, 7] -> new_weak=[1, 4, 7, 8(1+n), 11(4+n), 14(7+n)] 문제 설명에 모든 경우에 대한 탐색(bruteforce) 1. 어떤 친구를 배정할 것인지 2. 취약지점 중 어느 곳을 시작지점를 배정할 것인지 3. 시.. 2021. 8. 20.
AWS CodeDeploy를 이용한 현위치 배포 AWS CodeDeploy는 Amazon EC2, AWS Fargate, AWS Lambda 및 온프레미스 서버와 같은 다양한 컴퓨팅 서비스에 대한 소프트웨어 배포를 자동화하는 완전관리형 배포 서비스 현위치 배포=롤링배포 애플리케이션의 이전 버전(파란색)을 점차적으로 새 버전(초록색)으로 교체 기본 VPC 생성 EC2 인스턴스 생성 기본 VPC로 설정 보안 그룹 SSH, HTTP 접속이 가능하도록 설치 웹 서비스에 필요한 프로그램 설치 및 환경 설정을 위해 인스턴스로 연결 sudo yum install -y httpd php mysql php-mysql #웹서버 php, mysql, php-mysql 연동 모듈 설치 sudo chkconfig httpd on # 웹 서버 데몬을 서비스로 등록 sudo s.. 2021. 8. 19.
AWS 블루/그린 배포 실습 블루/그린 배포 블루 - 기존의 서비스, 그린 - 업데이트될 서비스 State 0 두 개의 동일한 프로덕션 환경이 병렬로 작동 하나는 모든 사용자의 트래픽을 수신하도록 설정하고 다른 하나는 유효한 상태를 유지 State 1 새로운 버전의 애플리케이션은 그린 환경(서비스 하지 않고 유효 상태의 환경)에 배포하고 기능 및 성능 테스트를 수행 테스트 결과가 성공이면 애플리케이션의 트래픽을 파란색에서 초록색으로 라우팅(변경) 초록색이 활성화된 후 문제가 발생하면 트래픽을 다시 파란색으로 라우팅되도록 변경 기본적으로 Auto scaling과 Load Balance가 필요 새로운 ASG를 만들어 Load Balance와 기존의 ASG의 연결을 끊고 새로운 ASG와 연결 ASG(Auto Scaling Group)생성.. 2021. 8. 19.
BOJ 21608 - 상어초등학교(C++) https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 자리를 정하는 것에 대한 조건 1. 비어있는 칸 중에 좋아하는 학생이 인접한 칸에 많은 칸으로 정함 2. 1을 만족하는 것이 여러 개라면, 인접한 칸중에 비어있는 칸이 가장 많은 칸으로 정함 3. 2를 만족하는 칸도 여러개인 경우, 행의 번호는 가장 작은 칸으로, 그러한 칸도 여러개라면 열의 번호가 가장 작은 칸으로 정함 풀이 1. 자리 정하기와 점수계산를 위해 학생마다 좋아하는 학생의.. 2021. 8. 19.
AWS 기반 웹서비스 구성 실습(3) https://jangcenter.tistory.com/5 AWS 기반 웹서비스 구성 실습(2)에서 이어짐 AWS 기반 웹서비스 구성 실습(2) https://jangcenter.tistory.com/3 AWS기반 웹서비스 구성 실습(1)에서 이어짐 AWS 기반 웹서비스 구성 실습 1. 네트워크 구성 1. VPC 생성 2. 생성한 VPC에 또 다른 subnet 추가 3. 라우팅 테이블 편집 4.. jangcenter.tistory.com 1. Amazon SNS (Simple Notification Service) 애플리케이션과 애플리케이션 또는 사용자 간의 메시지 전달을 위한 완전 관리형 메시징 서비스 SNS 클라이언트 유형 게시자(publishers) : 주제에 대한 메시지를 생성, 발송함으로써 구독.. 2021. 8. 18.
AWS 기반 웹서비스 구성 실습(2) https://jangcenter.tistory.com/3 AWS기반 웹서비스 구성 실습(1)에서 이어짐 AWS 기반 웹서비스 구성 실습 1. 네트워크 구성 1. VPC 생성 2. 생성한 VPC에 또 다른 subnet 추가 3. 라우팅 테이블 편집 4. 보안 그룹 생성 서브넷에 생성할 인스턴스로 HTTP(80), SSH(22) 접근을 허용하도록 설정 2. 웹 서버.. jangcenter.tistory.com 1. 가용성 보장을 위해 다른 가용영역에 동일한 웹 서비스 구성 동일하게 인스턴스를 만들어도 되지만 복잡한 서비스의 경우 시간이 많이 소요될 수 있음 완전히 동일하거나 시간을 줄이기 위한 방법 -> 이전에 만든 인스턴스의 이미지(AMI)를 이용해 인스턴스 생성 기존의 인스턴스를 이용해 AMI(Amaz.. 2021. 8. 18.