메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

반드시 알아야 할 ASP 코딩 습관

한빛미디어

|

2004-07-15

|

by HANBIT

14,742

저자: 강상진 / 삼성SDS 솔루션 사업부 선임 프로그래머


ASP로 구축한 웹사이트는 회원 수가 늘어나고 동시 사용자 수가 많아지면서, 서버 메모리를 많이 사용하게 되고 이는 곧 웹 사이트 속도 저하로 이어진다. 이러한 서버 성능 저하를 막으면서 프로그래밍할 수 있는 코딩 방법을 살펴보자. 코딩 습관이 한번 길들여 놓으면 좀처럼 바뀌지 않는다. 따라서 초보자라면 반드시 짚고 넘어가는 것이 좋다.


1. Option Explicit 옵션을 꼭 사용하자

ASP 파일 내부에서 변수를 사용할 때는 Option Explicit를 삽입하도록 한다. Option Explicit 옵션은 선언되지 않은 변수에 대해 오류를 발생시키는 옵션이다. 물론 ASP에서 사용하는 VBScript는 C언어나 자바와 달리 변수를 선언하지 않고도 사용할 수 있다. 하지만 선언하지 않은 변수를 사용하면 선언한 변수보다 속도가 2배 이상 느려진다. 또한 스펠링이 잘못 쓰여진 선언하지 않은 변수는 asp 코드를 해석할 때 또 다른 변수로 인식된다. 따라서 웹페이지가 예상하지 못한 화면을 출력할 수 있다.

이런 경우를 대비해서 Option Explicit 옵션값을 On으로 설정하는 것이다. 즉 선언하지 않은 변수는 모두 에러를 발생시켜 사용을 막는 것이다. 이렇게 하면 스펠링이 틀린 변수명을 쉽게 찾아 낼 수도 있고, 변수 해석 속도를 높일수도 있기 때문이다.


2. 서버 변수(Server Variables) 사용은 자제하라

서버에서 서버 변수를 접근하게 되면, 접근한 서버 변수 뿐만 아니라 모든 서버 변수를 가져와야 한다. 이는 곧 불 필요하게 서버 자원을 소모하는 셈이다. 따라서 반드시 필요한 경우가 아니라면 서버 변수의 사용은 피하는 것이 좋다. 한 가지 덧붙이면 이러한 불필요한 서버자원의 소모는 처음 서버 변수를 요청할 때 발생하며, 이후에 일련의 다른 서버 변수를 접근하는 경우에는 이미, 모든 서버 변수를 가져온 상태이기 때문에, 추가적인 서버의 자원 낭비는 계속 뒤따르지는 않는다.


3. "Public" 변수 사용은 자제하라

Public으로 정의된 변수는 가능하면 사용하지 않는 것이 좋다. VBScript를 작성하거나 ActiveX 컨트롤 혹은 자바 애플릿 내에서 여러 변수에 액세스하는 경우라도, Public 변수를 사용하지 않는 것이 좋다. Public 키워드 자체는 지금도 연구되는 부분이며, Public 변수를 사용함으로써 얻을 수 있는 잇점이 거의 없다. 따라서 ASP에서는 Dim을 사용해서 필요한 변수를 정의하는 것이 좋다.


4. SELECT문은 꼭 필요한 컬럼만 가져온다

SELECT Query를 사용할 때에는, 꼭 필요한 컬럼만 가져오는 것이 좋다. SQL문은 불러오는 컬럼 개수에 비례해서 데이터를 가져오는 시간이 결정되기 때문이다. "SELECT * FROM NorthWind"와 같이 컬럼값 몇 개만 필요한데도, 코딩할 때 귀찮아사 *키워드를 이용하는 것은 상당한 서버 자원을 낭비를 가져온다. 이는 곧, 사용자가 어떤 버튼을 클릭해서 브라우저 화면으로 이동할 때 진행바가 느리게 이동하는 결과를 낳게 한다. 즉 웹사이트 속도를 느리게 만드는 좋지 않은 습관이다.


5. 객체의 메모리 정리는 반드시 하자

사용한 객체는 반드시 Close, Nothing해야 한다. 보통 DB를 연결하여 레코드셋을 가져와서, 화면으로 출력하는 경우, 뒷 작업(선언한 DB 접속이나 레코드셋 객체의 메모리를 해제하는 것)을 잊곤 한다. 뒷 작업을 하지 않고 넘어가면 서버 메모리의 누수가 생긴다. 계속해서 메모리 누수가 이어지면, 웹서버 다운과 같은 비상사태(?)를 경험하게 된다. DB 접속뿐만 아니라, 생성된 Session 변수 또한 Nothing과 Abandon을 이용해서 객체를 사용한 후에는 반드시 해제시키도록 한다.


6. 사용자 Function과 include를 애용하자

어떠한 출력값을 만들기 위한 작업을 그냥 ASP 내에서 코딩하면, 이후에 소스의 어느 부분이 그러한 역할을 하는지 찾기 어려워진다. 이를 Function이나 서브루틴으로 작업해 놓으면 찾기도 편하고, 해당 기능을 필요로 하는 다른 페이지에서 쉽게 가져다 쓸 수 있다. 이때, include문을 사용하게 되는데, include를 사용하면 소스가 간결해지고, 기능별로 구분된 웹사이트를 만들 수 있다. 이러한 과정을 프로그램 모듈화라고 하는데, 모듈화가 습관이 되면 원하는 기능만 찾아내서 사용할 수 있으므로 추가나 수정 작업이 용이해진다.


이상으로, 대표적인 ASP 코딩 팁을 살펴보았다. 물론 실무에는 더 많은 규칙과 기준이 존재한다. ASP를 코딩 하면서 미리 이러한 습관을 길러두면, 한층 웹서버의 자원을 절약할 수 있고, 소스 관리 차원에서도 알맞은 방법이라 할 수 있다. 더 많은 팁을 원한다면 http://support.microsoft.com/default.aspx?scid=kb;ko;601353을 참고하도록 하자.
TAG :
댓글 입력
자료실

최근 본 상품0