전체 글 12

SQL 쿼리 실행 순서

1. SQL 쿼리 실행 순서일반적으로 SQL 쿼리를 작성할 때 순서는 다음과 같습니다.SELECT DISTINCT 컬럼명FROM 테이블명WHERE 조건GROUP BY 컬럼명HAVING 조건ORDER BY 컬럼명LIMIT 개수; 위에서부터 차례대로 실행될 것처럼 보이지만, 실제 실행 순서는 다음과 같습니다.실행 순서절설명1FROM데이터를 가져올 테이블을 선택2WHERE특정 조건을 만족하는 행을 필터링3GROUP BY데이터를 그룹화4HAVING그룹화된 데이터에서 조건을 필터링5SELECT필요한 컬럼을 선택6DISTINCT중복된 데이터를 제거7ORDER BY결과를 정렬8LIMIT결과의 개수를 제한 2. 예제를 통해 실행 순서 살펴보기다음은 SQL 쿼리 예제입니다.SELECT department, AVG(sal..

SQL 2025.02.27

AWS Auto Scaling Group

1. ASGAWS EC2 인스턴스의 수를 자동으로 확장하거나 축소하여 트래픽 변화에 맞춰 리소스를 최적화하는 서비스. 2. ASG 주요 기능자동 확장트래픽이 급증하면 자동으로 인스턴스를 추가하고, 트래픽이 감소하면 인스턴스를 종료하여 비용을 절감한다.헬스 체크비정상적인 인스턴스를 감지하면 자동으로 새 인스턴스를 시작하여 서비스 안정성을 보장한다.용량 설정최소 용량, 최대 용량, 원하는 용량을 설정하여 EC2 인스턴스의 수를 제어할 수 있다.정책 기반 확장CPU 사용률, 네트워크 트래픽 등 다양한 스케일링 정책을 설정하여 리소스를 자동으로 확장/축소한다. 3. 스케일링 정책 목표 기반 확장(Target Tracking Scaling) 목표 값을 설정하고 자동으로 인스턴스를 확장하거나 축소한다.예: CPU ..

AWS 2025.02.24

AWS Elastic Load Balancing

1. ELBAWS에서 제공하는 로드 밸런싱.트래픽을 분산시켜 고가용성과 안정성을 높일 수 있다.항상 동일한 DNS 이름을 제공하여 인프라 변경에도 문제없이 트래픽을 전달할 수 있다.헬스 체크를 통해 EC2 인스턴스의 상태를 지속적으로 모니터링한다.비정상적인 인스턴스로 트래픽을 전송하지 않도록 자동으로 관리한다. 2. ELB 종류AWS에서는 3가지 유형의 ELB를 제공한다. ALB(Application Load Balancer)L7 로드 밸런싱HTTP, HTTPS, WebSocket을 지원한다.HTTP(S) 기반의 상태 체크를 통해 트래픽을 정상적인 서버로만 전달한다.요청 URL 경로, 호스트 이름, 쿼리 문자열, HTTP 헤더 등을 기반으로 라우팅Application-Based Cookie, Durati..

AWS 2025.02.24

AWS SAA 시험 대비 #4: EBS, EFS

EBSEC2 인스턴스에 연결하여 사용할 수 있는 블록 스토리지 서비스하나의 EBS는 하나의 EC2 인스턴스에만 마운트 가능(CCP 레벨)하나의 EBS는 여러 EC2 인스턴스에 마운트 가능 (Multi-attach / SAA 레벨)특정 가용 영역에 고정되어 있다.Snapshot을 다른 가용 영역에 볼륨 이동 가능EBS SnapshotEBS 볼륨의 특정 시점에 대한 백업다른 가용 영역, 리전에 복사 가능Archive Tier장기 보관이 필요한 Snapshot을 아카이브로 이동하여 비용 절감Recycle BinFast Sanpshot Restore (FSR)3. EBS 종류EBS 볼륨에는 6가지 타입이 존재한다.gp2 / gp3(SSD): 범용 SSD(gp3는 성능 개선된 버전)io1 / io2 Block E..

AWS 2025.02.24

Docker 컨테이너 실행 시 플랫폼 불일치 오류 해결 방법

1. 개요이 글은 Docker 컨테이너 실행 시 발생할 수 있는 플랫폼 불일치 오류 문제를 해결하는 방법을 안내합니다. Windows 10에서 Node.js 애플리케이션을 Docker 이미지로 빌드한 후, Raspberry Pi 4에서 실행하려 했을 때 다음과 같은 오류가 발생했습니다.WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 2. 오류 원인해당 오류는 로컬 개발 환경과 실행 환경의 아키텍처 차이에서 비롯됩니다.개발 환경: Windows 10 (x64, AMD64 아키텍처)배포 ..

Docker 2025.02.06

Raspberry Pi에 Ubuntu Server를 설치하는 방법

1. 개요이 글은 Raspberry Pi에 Ubuntu Server를 설치하고 인터넷에 연결하여 원격으로 사용하는 과정을 안내합니다. 필요한 것microSD 카드(최소 4GB, 권장 8GB)Raspberry Pi 2, 3 또는 4Micro HDMI to HDMI 케이블 2. SD 카드 준비먼저, microSD 카드를 컴퓨터에 삽입하세요. 이제 운영 체제에 맞는 Raspberry Pi Imager를 설치해야 합니다. 다음 링크로 설치할 수 있습니다. Raspberry Pi OS – Raspberry PiFrom industries large and small, to the kitchen table tinkerer, to the classroom coder, we make computing accessibl..

Raspberry Pi 2025.02.05

AWS SAA 시험 대비 #2: IAM

IAM사용자와 그룹을 관리한다.AWS 리소스에 대한 액세스 권한을 제어하는 서비스주요 개념User:개별 사용자AWS 리소스에 접근할 수 있는 권한을 가진다.Group:사용자를 하나로 묶어 공통 권한을 부여할 수 있는 단위이다.사용자는 그룹에 속하지 않을 수 있다.그룹은 사용자만 배치할 수 있으며, 다른 그룹을 포함할 수 없다.Policy:권한을 정의한 JSON 형식의 문서로, 리소스에 대한 허용/거부 규칙을 설정한다.Version, Id, Statement로 구성된다.Statement는 Sid, Effect, Principal, Action, Resource, Condition으로 세분화된다.Role:AWS 리소스가 다른 리소스에 접근할 수 있도록 권한을 부여하는 서비스사용자가 아닌 AWS 서비스(예: ..

AWS 2025.01.23

AWS SAA 시험 대비 #1: Region, AZ, Edge location

RegionAWS 리전은 전 세계에 분포된 데이터 센터의 클러스터이다.us-east-1(버지니아), ap-northeast-2(한국) 등리전은 데이터 주권, 법적 요구 사항에 맞게 배치되어야 한다.Availability Zone하나의 리전에는 여러 가용 영역이 존재한다.각 가용 영역은 독립적으로 운영되며, 고가용성과 내구성을 제공한다.Edge LocationCDN의 일부로, 전 세계에 분산된 서버이다.캐싱을 통해 요청된 데이터를 사용자에게 더 빠르게 제공한다.

AWS 2025.01.23

MySQL에서 발생하는 ONLY_FULL_GROUP_BY 오류 원인과 해결 방법

MySQL에서 ONLY_FULL_GROUP_BY 모드가 활성화되어 있을 때, GROUP BY 절에서 집계 함수 없이 포함되지 않은 컬럼을 SELECT 절에 사용할 경우, 다음과 같은 오류가 발생할 수 있습니다. ... which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by ... 아래 예시 쿼리에서는 fish_name이 GROUP BY 절에 포함되지 않아 오류가 발생합니다.SELECT COUNT(*) AS fish_count, n.fish_name -- 오류 원인FROM fish_name_info AS nJOIN fish_i..

MySQL 2025.01.14