분류 전체보기
정렬 - 선택정렬
선택 정렬 선택 정렬은 첫 for문을 통해 기준 요소를 하나 지정한 뒤, 내부 for문으로 min 혹은 max 의 위치를 찾고, 기준 요소와 찾은 요소를 필요 시 swap 하는 형태이다. 버블 정렬과는 달리 swap 의 실행이 최대 n-1 번만 일어난다는 특징이 있다. generateRandomArray, printArray, swap static int arrayLength = 20; int *myArray = generateRandomArray(arrayLength); // 랜덤으로 값이 초기화된 배열 생성 printArray(myArray, arrayLength); // 정렬 전 배열 출력 for (int i = 0; i < arrayLength; i++) { // 배열의 첫 번재 요소부터 뒤쪽으로..
정렬 - 버블정렬
버블 정렬 버블 정렬은 이웃하는 값들의 크기를 비교하여 자신이 원하는 정렬 방식 (오름차순/내림차순) 에 부합하도록 해당 요소들의 자리를 변경하고, 이 비교 작업이 배열을 한 번, 한 뱡항으로 훑게 되면 결국 마지막 요소는 가장 큰/작은 값임을 보장받게 된다. 따라서, 이후 이 마지막 요소를 제외하고 다시 처음부터 비교 작업을 진행해가는 방식이다. 이웃한 요소를 비교하고 필요시 곧바로 swap 한다는 특징이 있다. generateRandomArray, printArray, swap static int arrayLength = 20; int *myArray = generateRandomArray(arrayLength); // 랜덤으로 값이 초기화된 배열 생성 printArray(myArray, arrayL..
정렬 - 기본기
기본 다지기 - 정렬 정렬이야말로 기본기 중 가장 밑단이면서도, 모든 알고리즘의 대표격이라고 생각한다. 여러 정렬의 종류를 알아보고, 새로운 정렬 방식이 있는지, 그것의 복잡도는 어떻게 계산되는지 생각해 보자. 정렬이란 비교 가능한 요소를 가지고 있는 데이터셋의 연속 (배열이나 리스트 등) 에서, 특정한 조건을 기준으로 요소들의 순서를 재배치 하는 방법론이다. 일반적으로 특정 값을 오름차순, 내림차순으로 순서를 매기는 것이 대표적이다. 하지만 특정 값에 가장 가까운 순서라던지, 특정 계산식을 거쳤을 때 원하는 값에 가깝게 나오는 순서라던지 등등 확장은 마음껏 가능할것 같다. 물론 이들도 결국 계산식을 거친 후 그 값에 의한 오름 내림차순이기는 하겠지만. 들어가기 앞서 swap 두 요소 간 배열 등 연속된..
AWS SAA - Test Exam Summary
Test Exam Summary 모의고사에서 별표 친 문제들 목록 S3으로부터의 이벤트 게시를 직접적으로 지원하는 유일한 목적지는 다음과 같다. SNS SQS AWS Lambda VPC 공유를 사용하면 VPC를 소유한 소유자는 AWS Organizations의 동일한 조직에 속한 다른 참가자와 하나 이상의 서브넷을 공유할 수 있다. S3의 교차 리전 복제는 활성화 된 이후의 데이터만 교차 리전으로 복제가 시작된다. S3의 수명 주기는 최소 30일간의 저장 기간을 가지고 전환이 이루어진다. NAT 인스턴스는 포트 전달을 지원한다. X-Ray는 개발자가 마이크로소프트 아키텍처를 사용하여 구축한 AWS 어플리케이션을 분석하고 디버그하는 데 도움을 준다. Kinesis Data Stream의 향상된 팬아웃을 사..

AWS SAA - Networking
Networking CIDR Classless Inter-Domain Routing : 클래스 없는 도메인간 라우팅이고, 이는 IP 주소를 할당하는 방법이다. Security Group 규칙과 AWS 일반적인 네트워킹에 사용된다. 0.0.0.0/0 192.168.0.0/24 192.168.0.1/32 이는 두 가지의 구성 요소를 포함한다 Base IP 범위에 포함된 IP를 의미한다. Subnet Mask 이는 IP에서 변경 가능한 비트의 개수를 의미한다. 두 가지의 표현 방식이 있다. /8 = 255.0.0.0 /16 = 255.255.0.0 /24 = 255.255.255.0 /32 = 255.255.255.255 IANA에서 구축한 특정 IPv4 주소 블록은 사설 LAN 네트워크, 로컬 네트워크나 공..

AWS SAA - Serverless
Serverless 서버리스 서비스를 사용하는 개발자는 서버를 관리할 필요가 없다. 그저 코드를 배치하기만 하면 된다. 서비리스는 Function as a Service (FaaS) 를 뜻했지만, 지금은 의미가 확장되었다. 개발자가 직접 서버를 관리하지 않는 managed 서비스는 AWS 가 다양한 기능으로 제공한다. AWS Lambda DynamoDB AWS Cognito AWS API Gateway Amazon S3 AWS SNS & SQS AWS Kinesis Data Firehose Aurora Serverless Step Functions Fargate AWS Lambda 가상의 함수로서, 관리할 서버 없이 코드를 프로비저닝하여 실행할 수 있게 한다. 최대 15분으로 작동 시간 제한이 있다. o..

AWS SAA - Monitoring & Audit
Monitoring & Audit CloudWatch CloudWatch Metrics CloudWatch 는 모든 AWS 서비스에 대한 지표를 제공한다. Metric 은 모니터링할 수 있는 다양한 지표이다. (CPUUtilization, NetworkIn ...) 지표가 어떤가에 따라서 서비스 작동 상태도 알 수 있다. Dimension 은 지표의 속성이 된다. (instance id, environment ...) 지표당 10개의 dimension 을 만들 수 있다. 지표에는 timestamp 가 있어서 그래프로 표시할 수 있다. EC2 Detailed Monitoring EC2 인스턴스는 기본적으로 5분마다 지표를 가진다. 세부 모니터링 (detailed monitoring) 을 활성화하면, 매 1..

AWS SAA - Identifications
Identifications AWS STS : Security Token Service AWS 리소스에 대한 제한되고 일시적인 엑세스 권한을 허용한다. 발급하는 토큰은 일시적이며 1시간까지 유효하다. STS는 사용자에게 어플리케이션을 안전히 제공하는 것의 중심에 있다. AssumeRole API 를 사용하면 계정 내 보안을 강화하거나, Cross Account Access 를 가능하게 할 수 있다. AssumeRoleWithSAML API 를 사용하면 SAML을 통해 인증된 사용자에게 자격 증명을 리턴한다. AssumeRoleWithIdentity API 를 사용하면 자격증명 제공자를 통해 로그인한 사용자에게 자격 증명을 반환한다. GetSessionToken API 를 사용하면 사용자 혹은 AWS 루트..