CS

· Dev/DB
하드 디스크 드라이브 (HDD)와 솔리드 스테이드 드라이브 (SSD) 기본적으로 컴퓨터에서 CPU, Register, RAM 같은 주요 장치는 전자식 장치이다. 반면에 하드 디스크 드라이브는 기계식 장치다. 전자식 장치들 (이하 CPU, RAM 등) 의 성능은 짧은 시간 동안 매우 빠른 속도로 발전했다. 하지만 디스크 같은 기계식 장치들의 성능은 상당히 제한적으로 발전했다. 비록 최근에는 자기 디스크 원판에 의존하는 하드 디스크(HDD) 보다 원판을 사용하지 않고 NAND 플래시 메모리를 사용하는 SSD 드라이브가 많이 활용되고 있지만, 여전히 데이터 저장 매체는 컴퓨터의 가장 느린 부분이라는 사실에는 변함이 없다. 아래의 막대 그래프를 보면 HDD 보다 빠른 성능을 보이는 SSD 조차도 CPU와 약 만..
· Dev/DB
개요 우리가 데이터를 조회하거나 데이터를 삽입, 수정, 삭제할 때 쓰는 SQL을 실행하면 내부에서는 어떻게 처리 될까? 이 부분에 대해 내부적으로 처리단계를 공부하고자 이 글을 작성하게 되었다. Parsing (파싱) 우리가 SQL을 실행하면 먼저 SQL 파서가 해당 SQL이 유효한지 체크한다. 동시에 MySQL 서버가 이해할 수 있는 방식으로 SQL 문장을 이루는 개별 구성요소를 분석하고 파싱해서 파싱 트리 (내부적인 구조체)를 만든다. 이 과정에서 사전에 정의된 문법이 틀리진 않았는지 Syntax Check를 하고 쿼리가 올바른 의미인지 Semantic Check 를 해서 2단계를 거치게 된다. Optimization (최적화) 해당 과정에서는 SQL 옵티마이저가 일을 수행하게 된다. 첫번 째로 파싱..
· Dev/PS
import java.io.*; import java.util.*; public class DivisionSquare { static BufferedReader br; static StringTokenizer st; static int N, M; static int[][] arr; static long[][] sum; static long ans = -1; public static void main(String[] args) throws IOException{ input(); solve(); System.out.println(ans); } public static void input() throws IOException { br = new BufferedReader(new InputStreamReader..
풋데브
'CS' 태그의 글 목록