[DB] DMBS 및 SQL 활용 쿼리 최적화
·
최적화
이번 시간에는 데이터베이스 성능 저하 문제를 해결하기 위한 쿼리 최적화 기법을 학습한다.실습 대상은 HR 데이터베이스를 사용하는 인사 관리 시스템으로,최근 직원 수가 5만 명 이상으로 증가하면서 다음과 같은 문제가 발생하고 있다.직원 검색 속도 저하부서·직무별 통계 및 보고서 생성 시간 지연다수의 JOIN과 조건 검색으로 인한 쿼리 성능 악화해당 시스템은 employees, departments, jobs, locations, job_history 등여러 테이블이 관계를 맺는 전형적인 실무형 HR 데이터베이스 구조를 가지고 있다.본 실습에서는 이러한 환경을 바탕으로,실제 성능 문제가 발생할 수 있는 5개의 쿼리를 순차적으로 분석하고 튜닝하며EXPLAIN 및 EXPLAIN ANALYZE를 활용한 실행계획 ..
[AWS] IAM 기초 개념 정리
·
AWS
AWS를 처음 시작하면 가장 먼저 마주치는 서비스 중 하나가 IAM이다.EC2나 S3보다 먼저 설정해야 하고,“이걸 왜 이렇게 까다롭게 나누지?”라는 생각도 들 수 있다. 하지만 IAM은AWS 계정 보안의 핵심이자 모든 서비스의 출발점이다. 이번 글에서는 AWS를 사용하기 전에 반드시 이해해야 할IAM의 기본 개념과 구성 요소를최대한 쉽게 정리해본다. 1. IAM이란 무엇인가?IAM은 다음 한 문장으로 정리할 수 있다.IAM = AWS에서 누가, 무엇을, 어디까지 할 수 있는지를 관리하는 서비스IAM은서버를 생성하거나 저장소를 만드는 서비스가 아니다.대신,누가 AWS에 로그인할 수 있는지어떤 AWS 서비스를 사용할 수 있는지어디까지 접근 가능한지를 관리한다.즉,AWS 리소스에 대한 접근 권한을 통제하는 ..
[AWS] 클라우드 컴퓨팅과 AWS 기초 개념 정리
·
AWS
클라우드는 흔히 "빌려 쓰는 컴퓨터”라고 표현된다.하지만 실제로는 단순한 서버 대여를 넘어, 인프라·플랫폼·소프트웨어를필요한 만큼 유연하게 사용하는 컴퓨팅 방식을 의미한다. 이번 글에서는 AWS를 이해하기 전에 반드시 알아야 할클라우드 컴퓨팅의 기본 개념과 핵심 용어들을 정리해본다. 1. 클라우드란 무엇인가?클라우드를 한 문장으로 표현하면 다음과 같다.클라우드 = 컴퓨터 자원을 인터넷을 통해 빌려 쓰는 것여기서 말하는 컴퓨터 자원은 단순히 서버 하나만을 의미하지 않는다.서버(CPU, 메모리)저장 공간(디스크)네트워크데이터베이스심지어 소프트웨어까지이 모든 것을필요할 때, 필요한 만큼, 사용한 만큼만 비용을 내고 사용하는 방식이바로 클라우드 컴퓨팅이다. 온프레미스(On-Premise)와의 차이클라우드를 이해..
[백준] 17070 파이프 옮기기 1 (JAVA)
·
코딩 테스트
문제 링크: 17070번: 파이프 옮기기 1 난이도: 골드 5 소요시간: 40분 문제:유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 번호이고, 행과 열의 번호는 1부터 시작한다. 각각의 칸은 빈 칸이거나 벽이다. 오늘은 집 수리를 위해서 파이프 하나를 옮기려고 한다. 파이프는 아래와 같은 형태이고, 2개의 연속된 칸을 차지하는 크기이다. 파이프는 회전시킬 수 있으며, 아래와 같이 3가지 방향이 가능하다.파이프는 매우 무겁기 때문에, 유현이는 파이프를 밀어서 이동시키려고 한다. 벽에는 새로운 벽지를 발랐기 때문에, 파이프가 벽을 긁으면 안..
[백준] 1912 연속합 (JAVA)
·
코딩 테스트
문제 링크: 1912번: 연속합 난이도: 실버 2 소요 시간: 45분 문제:n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력:첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. 출력:첫째 줄에 답을 출력한다. 문제 이해:문제 이해는 어렵지 않았을 것이다. 예제 입력 2..
[스프링] Swagger세팅과 사용
·
스프링
스웨거는 현대 웹 서비스에서 자주 사용되는 REST API의 통신 규약을 문서화한 도구이다.프론트엔드와 백엔드는 이 문서를 기준으로 API 요청과 응답의 구조를 명확하게 공유할 수 있으며,프론트엔드는 스웨거 문서만 확인해도“어떤 상황에서 어떤 값을 보내야 하는지, 어떤 데이터를 응답받게 되는지”를 별도로 소통하지 않아도 파악할 수 있다. 따라서 이 글에서는 스웨거의 기본 개념과 설정 방법, 그리고 실제 사용하는 방식을 간단하게 정리해본다. 1. Swagger가 무엇일까Swagger(OpenAPI)는 REST API의 구조를 자동으로 분석하여 웹 UI 형태의 문서를 제공하는 도구다.별도의 수작업 없이 API를 시각적으로 정리해주기 때문에,프론트·백엔드 협업 효율을 높이고 API 관리의 일관성을 유지할 수 ..