전체 글

깊이 있게 공부하자
· DB
최근에 글을 쓰면서 SQL 책을 다시봤는데 커버링 인덱스 관련내용이 눈에 띄었다 실무에서 자주쓰이면서 이해하기에 딱 좋은 심플한 예제를 구했다 블로그에 정리해보려고 한다 ✍ 우선 이전글과 테이블 구조가 똑같지만 써보도록 하겠슴다 0. 테이블 및 인덱스 정보 사원 테이블 사원번호 생년월일 이름 성 성별 입사일자 int date varchar varchar enum('M', 'F') date PK 사원번호 I_입사일자 입사일자 I_성별_성 성별 + 성 1. 문제의 예제 쿼리와 실행계획 Select 사원번호 From 사원 Where 입사일자 Like '1993%' And 사원번호 > 100000; -- 실행결과 -- 사원번호 100030 100039 ... 100207 100214 100216 1993년생이고..
· DB
mybatis를 사용하는 회사에서 레거시 SQL 쿼리튜닝을 진행하고 있는데 많은 작업을 해도 성능개선이 안되는 쿼리가 있는 반면에 간단하지만 효과있는 가성비가 좋은 튜닝법이 있다. 가성비 튜닝법만 블로그에 기록해두려고한다 ✍ 첫번째는 UNION, UNION ALL 이다 오라클에서도 동작방식이 비슷하지만 현업쿼리를 붙여넣기도 좀 그렇고 예전에 봤던 mysql 책에 간단하게 잘 설명 되어있어서 사용 좀 하려고한다. 먼저 결론부터 말하자면 UNION ALL에는 정렬이 안들어가서 더 빠르다 옵티마이저 동작을 살펴보도록 하자 아래는 사원테이블과 Index 정보다 0. 테이블 정보 사원테이블 사원번호 생년월일 이름 성 성별 입사일자 int date varchar varchar enum('M', 'F') date P..
· 자바
VM명세서를 자꾸 까먹어서 간단하게 기록해두려고한다 우선 HelloWorld.java 를 작성 후 컴파일을 해서 뜯어보자 javap -v 명령어를 이용해서, 역어셈블리를 해보면 클래스파일의 자세한 정보를 확인 할 수 있다. 위의 클래스 구조를 표로 정리 한 것이다. VM 명세서라고도 한다. 매직넘버 (magic number) 0xCAFEBABE 클래스 파일 포맷 버전 (version) 클래스 파일의 메이저/마이너 버전 상수 풀 (constant pool) 클래스 상수들이 모여 있는 곳 액세스 플래그 (access flag) 클래스 종류를 표시 this 클래스 (this class) 현재 클래스명 슈퍼 클래스 (super class) 부모클래스명 인터페이스 (interface) 클래스가 구현한 모든 인터페..
스프링 메세지 컨버터 관련 내용을 구글링 한 적 있었는데, 유명강사님 강의내용을 정리한 것 같은 똑같은 내용의 글들이였다. 강의를 보지는 않았지만 유입물의 내용이 좋았다. 하지만 분명히 더 궁금한 내용들이 있을텐데, 강의내용만 정리 되어있고, 내부적으로는 어떻게 동작하는지 설명이 별로 없어서 뜯어보았다 1. 메세지 컨버터란 무엇일까 예를들어 한국인과 일본인이 서로의 본토 언어로 대화 하려고 하면 대화가 안되겠죠 자바객체와 C++객체에도 마찬가지 일겁니다. 무언의 공통어인 영어로 중간에서 번역해준다면 대화가 통할겁니다. 번역하는 과정은 직렬화 역직렬화개념이라고 볼 수 있습니다. 이 무언의 공통어가 요즘 웹에서 JSON 입니다 예시에서 영어가 JSON이라고 보시면 됩니다 메세지 컨버터란 자바 객체를 JSON..
devcomet
기피말고깊이