본문 바로가기

Homo Faber53

DB Tuning 기본 원칙들 원칙의 힘 튜닝은 비공식적인 상식에 기초한다. 이는 쉬운 반면에 어려운 일이다. 튜닝은 튜닝하는 사람이 복잡한 공식이나 이론을 통해 씨름할 필요가 없기 때문에 쉽다. 많은 학자들과 연구원들은 일반적으로 수학적인 기초에 근거하여 튜닝과 쿼리 처리를 해결하려고 한다. 이러한 노력들이 더 복잡해지는 것은 일반적으로 실현 불가능한 가정에 근거하고 있기 때문이다. 튜닝은 상식이 내재하고 있는 원리와 지식을 통해 어플리케이션, DB 소프트웨어, OS, 물리적인 하드웨어 등을 넓고 깊게 이해하는 것이 필요하기 때문에 어렵다. 대부분의 튜닝 책들은 실질적인 원칙들을 제공하고 있지만 이들의 한계에 대해서는 언급하지 않는다. 예를 들어, 책에서는 트랜잭션 응답 시간이 중요한 경우 집합(aggregate) 함수(avg와 같.. 2008. 2. 21.
Spring에서 annotation 태그 사용하기 (3) CustomerAutowireConfigurer CustomerAutowireConfigurer는 자동엮음(autowiring) 프로세스를 수정하여 만들 수 있게 하는 BeanFactoryPostProcessor이다. 특히, 만들어진 qualifier annotation 유형이 Spring의 @Qualifier annotation을 사용하지 않는다고 하더라도 등록이 가능하다. example.CustomQualifier 어플리케이션 컨텍스트에 대해 활성화되는 AutowireCadidateResolver의 특별한 구현체는 자바 버전에 달려있음을 유의하라. 만일 자바 5 이전에서 실행한다면 qualifier annotation은 지원이 안되며, 자동엮음 대상 후보들은 각각의 빈 정의의 'autowire-can.. 2008. 2. 21.
설계 원리 (Design Principles) 현재까지 잘 알려진 설계 원리들은 다음과 같다. DRY (Don't Repeat Yourself) - 한번 이상 동일하거나 유사한 코드를 작성하지 말라. 'Once and Only Once' 원리라고도 함. SCP (Speaking Code Principle) - 코드는 그 목적과 상호교류해야 함. 코드에 있는 주석은 코드가 그 목적과 비효율적으로 상호교류함을 나타낼 수 있음. OCP (Open Closed Principle) - 설계 단위는 변화(adjustment)에 열려있어야 함. 그러한 변화(adjustment, 조정)은 기존 클라이언트를 쓸모없게 만들어서는 안됨. 상속은 이러한 목적을 달성하게 하는 메커니즘 중의 하나임. 하위클래스는 상위클래스의 클라이언트들이 유효하게 유지한 채로 변경이 될 수.. 2008. 2. 21.
Spring에서 annotation 태그 사용하기 (2) Qualifier를 사용하는 annotation 기반 자동엮음(autowiring) 세부 조정 타입에 의한 자동엮음(autowiring)은 여러개의 빈이 엮여질 수 있기 때문에 선택 과정에 대해서 좀 더 제어를 할 필요가 종종 있다. 이를 하기 위한 한가지 방법은 Spring의 @Qualifier annotation을 사용하는 것이다. 가장 단순한 경우, annotation 내의 빈 이름을 써서 byName 자동엮음을 할 수 있다. public class MovieRecommender { @Autowired @Qualifier("mainCatalog") private MovieCatalog movieCatalog; // ... } @Qualifier annotation은 또한 개개의 생성자 인자나 메소드.. 2008. 2. 20.
반응형