쿼리 튜닝을 아무리 잘 하였다고 하더라도 데이터의 양에 따라 성능이 좌우될 수 있다. 많은 양의 insert, delete 및 update가 이루어지는 테이블의 경우 쉽사리 clustered index를 걸기 힘들다. 이는 인덱스의 재 갱신에 대한 부담이 크기 때문이며, 이런 경우 clustered index는 단순히 identity 컬럼으로 지정하고, 기타 컬럼을 index 지정하여 호출하게 된다. 하지만 이렇게 지정한 index도 문제가 발생할 소지가 있다. 많은 양의 delete와 insert, update가 이루어지면 점차적으로 index가 조각나버리게 된다. 이러한 인덱스 단편화 현상에 대한 체크가 가능하다. dbcc 명령어중 show contig라는 명령어이다. (msdn 참조) 문법은 다음과..
ITC 출판사의 웹사이트 최적화 기법 - UI 개발자를 위한 필수 지침서 위 책을 보면서 몇가지 괜찮은 것들을 알게 되었네요. (이미 알고 있거나 애매한 부분들에 대한 정리가 되어 좋았습니다.) 그 중 몇가지를 아래 소개합니다. 좀더 자세한 내용은 책을 참고하면 좋을 듯 하네요. 1. StyleSheet는 헤더에 넣어라. display가 되기 전에 해당 스타일이 지정이 되어야 한다. 만약 display가 된 이후 스타일이 지정이 되면 화면이 재 로딩이 되어야 하기 때문에 그만큼 리소스가 낭비된다. 2. JavaScript는 아래에 넣어라. function안에 존재 하지 않는 JavaScript 함수와 변수는 페이지가 로딩되면서 바로 호출이 된다. 따라서 페이지가 로딩되면서 호출되는 JavaScript가 ..
어떤 테이블의 varchar 타입 컬럼을 검색하는 SP를 작성할 경우 아래와 같이 작성하곤 한다. CREATE PROCEDURE [dbo].[searchA] @searchColumnA NVARCHAR(12) AS SET NOCOUNT ON SELECT * FROM A WITH (READUNCOMMITTED) WHERE columnA = @searchColumnA 이 쿼리를 직접 테스트 할 때 이상없더라도 SP로 호출하면 급격히 느려질 수 있다. 이유는 varchar로 된 고정 길이의 columnA을 검색하기 위해 입력한 @searchColumnA에 대해 매번 테이블을 조회하는 경우 CONVERT 과정이 더해지기 때문이다. 이는 데이터 형식의 선행 규칙에 의해 이루어지며 자세한 내용은 아래 링크를 통해 알..
공식 사이트 http://ibatis.apache.org/ SqlMaps 한글 문서 http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-2/ibatis-2-docs/ko/ JavaDoc http://ibatis.apache.org/docs/java/user/ 찾기 편하라고 적어봅니다.
constructor는 객체를 만드는 기능함수를 반환하거나 설정을 하는 메소드이다. 아래와 같이 어떤 함수에 대해 function A() { document.writeln("a함수"); } document.writeln(A.constructor); 호출한 결과는 아래와 같다. function Function() { [native code] } constructor는 객체를 만드는 기능 함수를 반환하므로 object로 된 JavaScript의 모든 요소들이 다 가지고 있다. 예를 들어 아래와 같이 Object를 생성하게 되면 var a = new Object(); document.writeln(a.constructor); 호출한 결과는 아래와 같다. function Object() { [native cod..
enum type을 사용하다 보면 열거값을 체크하기 위해 다음처럼 사용하는 경우가 많다. public class B { public enum Test { AA("aa", "a의 설명") , BB("bb", "b의 설명") , CC("cc", "c의 설명") , DD("dd", "d의 설명") , EE("ee", "e의 설명") , FF("ff", "f의 설명") , GG("gg", "g의 설명") , HH("hh", "h의 설명"); private String name; private String description; Test(String name, String description) { this.name = name; this.description = description; } public Strin..
자바스크립트에 메소드 오버로딩이 없는 것과 마찬가지로 클래스 상속 또한 없다. 하지만 구현은 가능하다. JSON의 창시자로, JavaScript The Good parts의 저자로 유명한 Douglas Crockford가 구현한 소스이다. 원글 : http://javascript.crockford.com/inheritance.html 이 소스의 분석을 시작하기 전에 먼저 말해야 할 것이 있다. 이 코드를 제안한 Crockford 마저 버린 소스라는 것이다. -ㅅ-;;; 프로토타입적이고 함수적인 JavaScript의 소스에서 클래스 상속을 구현하긴 했지만 실제로 자신조차 사용하질 않는다고 말미에 달아놓은 소스이다. 하지만 JavaScript를 공부하기엔 좋은 예제이다. 이 소스를 이해하게 되면 protot..
cat cat [옵션] "파일이름" 파일의 내용을 보여주는 명령어 옵션 -n 각 줄의 변호를 같이 출력 head head [옵션] "파일이름" 파일의 처음 부분을 출력하여 보여주는 명령어. 옵션을 주지 않으면 기본값으로 10라인까지 보여준다. 옵션 - 앞에서 부터 라인 수 만큼 출력 -n 위와 동일 tail tail [옵션] "파일이름' head와 반대로 파일의 끝 부분을 출력하여 보여주는 명령어 옵션을 주지 않으면 기본값으로 10라인까지 보여준다. 옵션 - 파일의 끝부분부터 라인 수 만큼 출력 + 파일의 처음 라인 수 부분부터 끝까지 출력 -f 파일의 끝 부분에 추가되는 부분을 계속해서 표시 cut cut [옵션] "파일이름" 파일에서 특정 필드를 추출하는 명령어 원본 파일을 변경하지 않고, 화면에 출..
id id [옵션] 주어진 사용자에 대한 정보를 출력 finger, who, w 현재 리눅스에 누가 접속해 있는가를 출력. 접속중인 계정, 접속시간, IP등이 출력된다. who는 가장 간단한 정보만을 출력하여 주며, finger는 사용자의 정보를 보다 자세히 보여준다. w는 사용자가 현재 어떤 작업을 하고 있는지도 볼 수 있다. df df -[옵션] 하드디스크의 각 파티션 당 전체 용량과 사용중인 용량, 사용가능한 용량을 확인할 때 사용. 옵션 i inode로 디스크의 정보를 출력 k kbyte 단위로 출력 m Mbyte 단위로 출력 h 파일을 보기 쉬운 용량으로 출력 T 파일 시스템의 정보를 출력 du df -[옵션] 'disk use'라는 의미로 현재 사용하고 있는 하드의 사용량을 나타낸다. 옵션의 ..
pwd pwd 현재 위치한 디렉토리를 표시 ls ls [옵션] 파일리스트를 화면에 출력 옵션 -a, --all 디렉토리 내에 있는 모든 파일 보기 -c 파일을 최근 변경 시간으로 정렬하여 보기 -i 파일의 inode값 보이기 -l 퍼미션, 크기, 사이즈 등의 자세한 정보 보기 -t 최근 파일부터 정렬하여 출력 cd cd "디렉토리명" 디렉토리를 변경 옵션 ~ 자신의 홈 디렉토리로 이동 - 바로 전 디렉토리로 이동 .. 바로 상위 디렉토리로 이동 mkdir, rmdir mkdir "디렉토리명" rmdir "디렉토리명" 디렉토리를 만듦(mkdir), 지움(rmdir) 옵션 -p 하위 디렉토리까지 한 번에 생성하거나 삭제 touch touch "파일명" 새로운 파일을 만듦 (내용이 없는 파일) cp cp [옵..