4.자바스크립트 장단점


  먼저 간단히 자바스크립트의 장단점을 정리해 보면,
  • 장점

    • 빠른 개발이 가능.
    • 배우기 쉽다.
    • 사용 컴퓨터의 OS에 무관하게 프로그램이 수행된다.
    • 웹서버에 주는 부담이 적다.

  • 단점

    • 사용할 수 있는 메소드가 적다.
    • 소소코드를 감출 수가 없다.
    • 디버딩도구와 개발도구가 부족하다.
    고려사항   물론, 완전히 장점 또는 단점이라고 부를 수는 없다. 일부 방법을 통하면 해결할 수도 있기 때문이다. 예를 들면, 소스 코드도 감출 수 있는 방법이 있고, 메소드는 만들면된다. 여기서 말하는 단점은 일반적인 점을 얘기하는 것이다.
  • 일반적인 장단점

      앞에서 설명한 것처럼 자바스크립트는 인터프리터 언어이다. 모든 인터프리터 언어의 장점인 배우기 쉽다는 점이 자바스크립트에도 그대로 적용된다. 컴파일 언어처럼 중간 단계인 컴파일(Compile), 링크(Link)과정이 필요가 없기 때문에 즉시 실행(Execute)이 가능하고 그에 따라서 디버깅(Debug)도 간편하다.

      근래에 사용되는 웹 브라우저들은 대부분 자바스크립트를 지원하기 때문에 자주 사용하는 기능들은 한번 개발해 놓으면, 계속 사용할 수 있으며, 이런 브라우저가 설치된 곳에서는 HTML처럼 언제든 볼 수 있다.

      단점이라고 하며, 메소드(Method:이용할 수 있는 함수)가 적다는 점과 소스코드(Source Code)를 감출 수 없다는 점이다.(이 부분은 뒤에서 다시 자세히 다루겠다.)

  • 네트워그상의 장점

      자바스크립트의 일차적작업은, 입력해야할 부분이 비어있는지 아니면 부적절한 값이 들어가 있는지를 확인하는 작업이다. 자바스크립트로 체크(Check)하지 않는 경우를 다시 자세히 들여다보자.

      ID와 Password를 입력하는 경우를 보면, 사용자가 반드시 ID와 Password를 입력해야 한다. 그러나 가끔씩 일부러 아니면 실수로 입력하지 않고 그냥 확인버튼을 눌러버리는 사용자가 있다고 하자. 그럼, 입력되지 않은 값이 그대로 웹서버로 전달되고, 웹서버에서는 해당 요청(Request)을 처리할 CGI프로그램을 찾아서 실행시키게 된다.   그럼, 해당 CGI프로그램은 먼저 입력 값을 확인하는 절차를 거치다가 적절하지 못한 값이 들어 왔으므로, 에러 메시지와 함께 다시 브라우저로 되돌려 보내게 만든다.

      이렇게 봤을 때, 자바스크립트로 점검만 했으면 단 한번의 전송으로 처리가 됐을 부분이 두 번에 걸쳐서 처리가 되면서 네트워크를 이용하게 된다. 또한, 부적절한 값의 입력으로 인하여 웹서버가 CGI프로그램을 두 번 실행시키게 되는 것이다.

      이러한 일이 한두 번일 때는 아무 문제도 없지만, 홈페이지는 누구에게나 열려있는 공간이고, 일부 사이트(Site)는 몇 백만 명의 사용자를 두고 있다는 점을 잊어서는 안 된다.

    10K의 사이즈를 가진 CGI프로그램을 동시에 10,000명의 사용자가 실행시켜도 두 번의 작업(한번은 실수를 확인하고, 두 번째 제대로 된 값을 입력한다고 하면)을 수행해야 하니까 200M의 메모리를 잡아먹고 이를 처리하는 CPU도 그만큼 일을 하게 됨으로써 쓸모 없는 작업을 처리하게 되는 것이다.(물론, 요새 나오는 웹서버들의 경우에는 그렇게 산술적으로 계산한 수치만큼 메모리를 사용하지는 않으며, 이런 가저정은 동시사용자수가 10,000명일때에만 가능하다.)

    주의사항   하나 다짐하고 들어가고 싶은 말이 있다. 뭔 소리냐 하면, 절대로 자바스크립트가 모든 문제의 해결책은 아니다라는 것이다. 단지 사용자와 개발자를 위해 보다 간편한 방법을 제시한다는 것뿐이다. 클라이언트인 브라우져안에서 실행되고 코드가 다 보이기 때문에 보안에 대단히 취약하며, 자바스크립트에서 값이 유효한지 확인했다고 CGI프로그램쪽에서 확인하지 않으면 문제를 유발할 수 있다는 점을 다시한번 강조한다.

- Last Update : 2001.7.3 by Deadfire(http://www.deadfire.net)

Javascript 강좌
들어가기
Javascript란?
작동 방식
장 단 점
기 초
     - HTML문서에추가하기
     - 최초 예제
     - 함수사용하기
     - 기본 함수
문 법
     - 변 수
     - 연 산
     - 조 건 문
     - 반 복 문
     - 사용자함수
객 체
     - Object란?
     - 속성과 함수
     - 객체의 생성과사용
내장 객체
     - Date
     - Math
     - String
     - Array
     - Boolean
     - Function
     - Argument
     - Number
     - Global
     - 기 타
     - with / delete
Event 객체
네비게이터 객체
     - 네비게이터객체구조
     - 객체 접근 방법
     - navigator
     - window
     - location
     - history
     - document
     - form
     - form elements
Frame 객체
기 타
     - Animation
     - Audio
마치며

Copyright ⓒ 1997 ~, Deadfire Program Master