오늘은 DP 문제 중 하나인 백준 1463번 문제를 풀어봅시다. 1463 문제 : https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 결과 : 맞았습니다!! 풀이 시간 : 1시간 미만 성공 코드 비교 나의 코드 (PyPy3) import sys from collections import deque input = sys.stdin.readline n = int(input()) memory = {} queue = deque([(n, 0)]) while queue: now, score = queue.popleft() if now in memory and memory[..
Amazon ECR은 어디서나 애플리케이션 이미지 및 아티팩트를 안정적으로 배포할 수 있도록 뛰어난 성능 호스팅을 제공하는 완전관리형 컨테이너 레지스트리입니다. ECR은 EKS, ECS 등 컨테이너 서비스에 사용됩니다. 오늘은 ECR Repository를 생성하고, Golang Gin 이미지를 push합시다. 1. 준비 ECR > Repositories에서 Create repository를 누릅니다. Visibility settings에서 Private을 선택하고, Repository의 이름을 지정합니다. 나머지 설정은 놔두고, Create repository를 눌러 Repository를 생성합니다. AmazonEC2ContainerRegistryPowerUser Policy를 가진 IAM Role을 생..
Amazon Managed Service for Apache Flink를 사용하면 스트림 처리 애플리케이션을 쉽게 구축하고 Apache Flink를 통해 스트리밍 데이터를 실시간으로 분석할 수 있습니다. 그 중 Studio notebooks를 사용하면 Apache Zeppelin 기반 노트북을 통해 스트리밍 데이터를 인터랙티브하게 분석할 수 있습니다. Apache Zeppelin은 데이터 시각화, 데이터를 파일로 내보내기, 더 쉬운 분석을 위해 출력 형식 제어 등의 기능을 포함한 분석 도구를 제공하기도 합니다. 오늘은 Studio notebooks를 사용하여 Kinesis Data Stream으로 들어오는 데이터를 분석해봅시다. 1. 준비 스트리밍 데이터를 수집할 Kinesis Data Stream을 생..
Amazon Athena는 표준 SQL을 사용하여 Amazon S3에 있는 데이터를 직접 간편하게 분석할 수 있는 대화형 쿼리 서비스입니다. Athena는 S3에 저장된 비정형, 반정형 및 정형 데이터를 분석하는데 도움을 주며 인프라를 관리할 필요 없이 S3 데이터에 대해 대화형 쿼리를 쉽게 실행할 수 있습니다. AWS Glue Data Catalog 및 다른 AWS 서비스들과 통합되는 것 또한 장점입니다. 오늘은 S3에 있는 데이터로 Athena에서 Table을 생성하고, SQL로 몇 가지 쿼리를 실행해봅시다. 1. Table 생성 Amazon Athena 콘솔로 접속합니다. Create > S3 bucket data를 누릅니다. Table의 이름을 작성합니다. 새로운 Database를 생성하거나, G..
RDS Database에 접속할 때 암호를 사용해도 되지만, IAM 인증을 사용해도 됩니다. IAM 인증에서는 RDS가 생성하는 인증 토큰을 사용하며 각 토큰의 수명은 15분입니다. SSL 또는 TLS를 사용하여 DB 인스턴스에 대한 연결을 암호화합니다. 오늘은 EC2 Instance에서 RDS MySQL Instance로 IAM 인증을 사용하여 접속해봅시다. 1. 준비 RDS Database를 생성할 때나 Database Modify를 통해 IAM database authentication 옵션에 체크합니다. EC2와 연결되는 IAM Role에 다음과 같은 Policy가 있어야 합니다. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "A..
Kinesis Data Stream으로 로그를 전송하는 기본적인 방법은 Kinesis Agent를 이용하는 것입니다. Kinesis Agent는 Kinesis Data Stream이나 Kinesis Data Firehose에 데이터를 전송할 수 있으며 CloudWatch Metrics로 지표도 보낼 수 있습니다. 1. 준비 Kinesis Data Stream 하나를 생성합니다. 데이터를 확인하기 위해 Kinesis Data Firehose까지 생성해도 좋습니다. 로그를 생성할 EC2 Instance(Amazon Linux) 하나를 생성합니다. EC2 Instance가 사용하는 IAM Role에 다음과 같은 Policy가 있어야 합니다. { "Version": "2012-10-17", "Statement"..
AWS Lambda는 많은 용도로 사용되며, 많은 기능이 있습니다. 그 중 Lambda Function URL 기능을 이용하면 Lambda 함수에 대한 전용 HTTPS 엔드포인트를 제공받을 수 있습니다. Function URL은 단일 기능 마이크로서비스를 구현해야 하는 양식 유효성 검사기, 모바일 결제 처리, 광고 배치 등에 적합합니다. Function URL을 CloudFront와 연결하면 가장 짧은 지연 시간을 제공하는 엣지 로케이션을 통해 서비스를 최적의 성능으로 제공할 수 있습니다. 오늘은 Lambda Function URL과 CloudFront를 연결해봅시다. 1. Lambda Create a function을 누릅니다. Function 이름을 입력하고, Runtime을 Python 3.11로 ..
오늘은 PostgreSQL에서 SQL로 CRUD를 하는 방법을 알아보겠습니다. CRUD CRUD는 Create, Read, Update, Delete를 뜻합니다. 이 작업을 수행하는 SQL 명령은 각각 Insert, Select, Update, Delete입니다. Insert pgAdmin 4에서 Table을 선택한 뒤, Object Explorer와 같은 라인에 있는 View Data를 누릅니다. Data Output 아래에 있는 Add row 버튼을 눌러 행을 추가할 수 있습니다. id, created는 자동으로 값이 채워지기 때문에 default로 놔두고, title과 body를 각각 입력합니다. Save Data Changes를 눌러 입력한 정보대로 Table에 행이 추가됩니다. id와 creat..