- DDD) Domain Driven Development TDD(Test Driven Development)같은 개발 방법론중 하나이며 TDD에서는 테스트중심의 개발방법론이라면 DDD는 도메인 중심으로 개발하는 방법을 말합니다. 도메인(Domain)이란 소프트웨어 문제 영역이라고 볼 수 있습니다. 추상적인 개념에 대한 정의만을 이야기 하면 이해가 어려우니 예를 들어보도록 하겠습니다. 일상생활 속에서 거치는 생각 루틴 몇가지를 살펴보겠습니다. 만약 당신이 읽고 싶은 책이 생각났다라고 가정하면 당신이 다음에 취할 행동은 다음과 같습니다. 1. 오프라인 서점을 방문하여 책을 구매한다. 2. 온라인 서점을 방문하여 책을 구매한다. 3. 중고거래를 통해 책을 구매한다. 이 과정을 하나씩 풀어보자면 당신의 생각(책을 읽고싶다)은 문제영역으로 볼 수 있고 온/온프라인서점,.. 2021.07.21
- [ mariaDB ] 실행계획 #2, id칼럼 EXPLAIN() 명령어의 결과에서 id 칼럼의 숫자가 의미하는 것은 작성한 쿼리의 SELECT문의 갯수를 뜻합니다. 예를 들어보겠습니다. [ 쿼리 ] EXPLAIN ( SELECT * FROM `employees`.`employees` WHERE emp_no = 10032 ); [ 결과 ] id값이 1입니다. 그 이유는 EXPLAIN 안에 있는 쿼리의 SELECT 의 갯수가 1개이기 때문입니다. 다음 예제를 살펴보겠습니다. [ 쿼리 ] EXPLAIN ( SELECT * FROM `employees`.`employees` WHERE emp_no = ( SELECT emp_no FROM `employees`.`salaries` WHERE `salary` = 158220 ) ); [ 결과 ] ( id 칼럼만.. 2019.12.08
- [ mariaDB ] 실행계획 분석 #1, EXPLAIN mariaDB는 크게 mariaDB 엔진, 스토리지 엔진 으로 나눌 수 있습니다. mariaDB엔진은 사용자로부터 전달된 쿼리를 파싱하여 파스트리(parse tree)를 만들고, 옵티마이저가 실행계획을 세워 같은 결과를 내지만 비용이 가작 적게드는 쿼리를 만들어 스토리지 엔진으로 전달하는 역할을 합니다. 흔히 옵티마이저를 데이터베이스의 두뇌의 역할로 비유합니다. 옵티마이저의 역할이 SQL 실행 성능에 상당부분을 차지하기 때문에 SQL쿼리 튜닝에 관심이 많거나 SQL 개발자라면 반드시 알고 넘어가야 하는 부분이라고 생각합니다. 실행계획은 옵티마이저의 주된 역할로써 쿼리가 어떻게 실행될지에 대한 많은 정보를 담고 있습니다. mariadb에서 실행계획을 보는 방법은 생각보다 간단합니다. 쿼리문을EXPLAIN(.. 2019.12.08
- keep calm and carry on