본문 바로가기

독서

(2)
[Real MySQL] 아키텍처 MySQL 엔진 아키텍처 MySQL 엔진 커넥션 핸들러: 클라이언트로부터의 접속을 처리한다. 파서: 클라이언트로부터 들어온 쿼리 요청을 처리한다. 옵티마이저: 쿼리의 최적화된 실행을 도와준다. 스토리지 엔진 실제 데이터를 디스크 스토리지에 저장하거나 디스크 스토리지로부터 데이터를 읽어오는 역할을 담당한다. MySQL 서버에서 MySQL 엔진은 하나지만 스토리지 엔진은 여러 개를 사용할 수 있다. CREATE TABLE test_table(cal1, cal2, ...) ENGINE=INNODB; 핸들러 API 데이터를 읽거나 쓸 때 MySQL 엔진에서 스토리지 엔진으로 요청을 보내야 하는데, 이 때 사용하는 API를 핸들러 API라고 한다. MySQL 스레딩 구조 MySQL 서버는 프로세스가 아닌 스레드 ..
[클린코드] 의미 있는 이름 의도를 분명히 밝혀라 의도가 드러나는 이름을 사용하면 코드 이해와 변경이 쉬워진다. 코드가 단순한게 문제가 아니다. 코드를 통해 명확히 어떤 의도로 사용되는 것인지 짐작할 수 있어야 한다. 그릇된 정보를 피해라 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용하면 안된다. 서로 흡사한 이름을 사용하지 않도록 주의해야 한다. 유사한 개념은 유사한 표기법을 사용한다. 알파벳 "O", "l" 처럼 숫자와 혼동될 수 있는 변수 명을 주의해서 사용해야 한다. 의미 있게 구분하라 불용어를 추가한 이름은 아무런 정보도 제공하지 못한다. Product라는 클래스가 있을 때, 다른 클래스를 ProductInfo, ProductData로 사용한다면 의미가 불분명한 정보라 이해하기 쉽지 않다. 불용어 : 문장 내에서 빈번하..