CS 8

[DB] SubQuery 2

1. 상관 서브 쿼리서브 쿼리가 메인 쿼리의 결과값을 필요로 하는 쿼리'상관' : 메인 쿼리, 서브 쿼리가 서로 연관 관계를 맺고 동작 SELECT product_id, name, category, priceFROM products p1WHERE price >= ( SELECT AVG(price) FROM products p2 WHERE p2.category = p1.category ); SELECT AVG(price) FROM products p2 WHERE p2.category = p1.category 서브쿼리에서 메인 쿼리의 category 정보를 필요로 한다. => p1을 메인 쿼리 from절로, p2를 서브 쿼리 from절로 구분..

CS 2026.02.24

[DB] SubQuery 1

1. 스칼라 서브쿼리select * from memberwhere age > (select avg(age) from member); 서브 쿼리 [select avg(age) from member] 실행 시결과 값이 '단일 행 단일 열', 하나의 '값' 으로 출력되는 쿼리를 '스칼라 서브쿼리' 라고 한다. 스칼라 서브쿼리는 반드시 단 하나의 값 (단일 행 단일 열)만을 출력해야 한다. where address = (select address from users where name In ('kim', 'lee'));서브쿼리가 여러 값을 반환, 오류 select, where, having 절에서 사용 가능하다.단일 행 비교 연산 ( = , > , =, 1-1. where절 스칼라 서브쿼리 : 특정 주문 o..

CS 2026.02.09

[DB] MySQL 성능 최적화

MySQL 성능 최적화 DB 성능이 느려지는 상황- 동시 사용자 수의 증가- 데이터 양의 증가- 비효율적인 SQL문 작성 DB 성능 개선 방법- SQL 튜닝 (DBCP 속 커넥션 개수 조정은 엄밀히 말해서 SQL 튜닝은 아니지만 비슷한 맥락으로 볼 수 있다)- 캐싱 서버 활용 (Redis) https://nippyclouding.tistory.com/category/Infra/Redis- 샤딩 : DB 분산 처리- 스케일 업 : 하드웨어 업그레이드 아래 글은 SQL 튜닝에 대해 다룬다. SQL 튜닝은 기존 시스템 변경 없이 성능을 개선할 수 있다. MySQL 아키텍쳐 1. 클라이언트의 SQL 요청2. MySQL 엔진 속 옵티마이저가 SQL을 분석, 효율적으로 데이터를 가져오는 계획을 세운다 : 실행 계획..

CS 2025.12.07

[네트워크] 쿠키, 세션

웹사이트에서 로그인 기능을 구현하는 것에 대해 정리해보려 한다.대학교 urp 웹사이트에 접속을 하면 로그인 기능이 필수적이다.로그인을 하지 않으면 해당 웹사이트에 들어가지 못하며, 먼저 로그인을 하라는 문구가 보여진다.위와 같은 페이지처럼 로그인 기능이 필수적인 웹사이트가 있고, 로그인을 하지 않아도 둘러볼 수 있는 웹사이트가 있다. (쇼핑몰)위와 같은 페이지들은 보통 로그인(home)을 거쳐 메인 화면(main)으로 들어간다.로그인에 실패하거나 로그인을 거치지 않고 바로 메인 화면으로 url 접속 시도 시 웹은 로그인 페이지(home)로 다시 사용자를 보내야 한다.(로그인하지 않은 사용자가 url을 입력하는 방식으로 main에 요청 시 home으로 리다이렉트) 아래는 로그인 기능 아키텍쳐의 예시이다...

CS 2025.11.02

[운영체제] Java와 고성능 게임 개발

부제 : 마인크래프트는 어떻게 JVM의 한계를 극복했을까? 고성능 엔진의 게임 개발은 유니티, c++이나 c# 언어로 하는 것을 모두들 추천한다. 자바는 고성능 실시간 그래픽 게임에서는 잘 쓰이지 않는데, 왜 그런 것인지 알아보자. 우선 Java의 구성에 대해 알아보자. JDK (Java Development Kit)├── JRE (Java Runtime Environment) │ ├── JVM (핵심 실행 엔진) │ └── Java 클래스 라이브러리└── 개발 도구들 (javac, jar, javadoc 등) JDK 안에 JRE와 그 외 개발 도구들이 있고, JRE 안에 자바가 돌아가는 핵심인 JVM과 그 외 클래스 라이브러리들이 있다.(과거에는 JRE와 JDK가 구분되..

CS 2025.09.04

[알고리즘] BFS DFS

BFS : 그래프에서의 너비 우선 탐색 알고리즘 DFS와 다르게 가까운 곳부터 차례대로 탐색하는 알고리즘이다.(DFS는 한 방향으로 끝까지 탐색한 뒤 돌아가는 방식) BFS 알고리즘 코드 템플릿자다가도 벌떡 일어나서 짤 수 있어야 훌륭한 개발자가 된다고 한다.import java.util.*;public class Main { // 1이 파란 칸, 0이 빨간 칸에 대응 // 실제로 문제를 풀 때는 2차원 배열을 콘솔에서 입력을 받는다. static int[][] board = { {1,1,1,0,1,0,0,0,0,0}, {1,0,0,0,1,0,0,0,0,0}, {1,1,1,0,1,0,0,0,0,0}, {1,1..

CS 2025.09.03

[네트워크] OSI 7계층

부제 : 내 컴퓨터로 구글에 접속하려 할 때 일어나는 일 OSI 7계층은 이론적인 참조 모델이다.기본적인 OSI 7계층의 내용은 여러 자료가 많으니 여기서 따로 다루지 않는다. 1계층 : 물리 계층 (Wi-Fi, 이더넷)2계층 : 데이터 링크 계층 (MAC 주소)3계층 : 네트워크 계층 (IP)4계층 : 전송 계층 (TCP, UDP)5계층 : 세션 계층 (SSH, SSL 세션 관리)6계층 : 표현 계층 (SSL, TSL)7계층 : 응용 계층 (HTTP, HTTPS, SMTP, DNS) 실생활에서 일어나는 일을 OSI 7계층에 빗대어 생각을 해보자. - 학교에서 와이파이로 https://google.com에 접속하는 과정 송신은 7계층 -> 1계층, 수신은 1계층 -> 7계층이다. 구글 서버 송신> ..

CS 2025.09.03