IT 프로그래밍/IT용어2014. 1. 25. 03:29

쿠키란?

쿠키는 웹 사이트를 만드는 쪽에서 사용자와 관련된 정보를 사용자의 하드디스크에 저장해 둔것을 뜻합니다여기에서 주의할 단어는 하드디스크 입니다사용자의 하드디스크에 작은 텍스트 파일로 저장을 해두기 때문에 사용자가 컴퓨터를 껐다가 켜더라도 언제든지 하드디스크에 저장된 쿠키 파일을 읽어와서 거기에 기록해 놓은 내용을 활용할 수가 있습니다.

사용자의 하드디스크에 정보를 저장하는 이유는 http 프로토콜이 stateless 프로토콜이기 때문입니다. http는 웹 브라우저가 웹 서버에 접속을 해서 어떤 문서나 파일을 요청하면 웹 서버는 요청 받은 내용을 보내준 다음 접속을 끊습니다접속을 한 상태(state)가 지속되지 않고 요청된 것만 처리한 뒤 연결을 끊습니다그러므로 웹서버는 일단 요청된 내용들을 클라이언트에 보내고 나면 그 뒤 사용자가 접속을 하고 있는지 어떤지 알 수 없습니다나아가예전에 접속했던 클라이언트가 또 접속을 한 것인지 아닌지 등은 더더욱 알 수 없습니다그런데 웹 사이트를 운용하는 측에서는 어떤 사용자가 다시 방문을 했는지와 같은 정보가 필요했고 바로 이런 점을 해결하기 위해 stateless http의 특징을 커버하기 위해 등장한 것이 쿠키입니다.

쿠키의 아이디어는 간단합니다접속한 클라이언트의 하드디스크에 적당한 정보를 저장해 둠으로서 또 그 클라이언트가 접속한 경우 언제든지 하드디스크에 저장된 정보를 읽어 들여서 그 사용자를 인식할 수 있는 것입니다. ‘상태에 관한 점검을 언제든지 할 수 있는 것 입니다.

쿠키에 저장되는 내용은 천차만별입니다간단하게는사용자가 어떤 페이지를 읽었고로그인 아이디가 무엇인지이메일 주소가 무엇인지등을 기록할 수도 있고사용자가 어떤 물품을 주문했는지, ip 주소가 무엇인지어떤 사이트를 거쳐서 우리 사이트로 왔는지또는 서버에서 각 클라이언트를 식별할 특별한 정보를 기록하는 등거의 모든 형태의 정보를 저장할 수 있씁니다사용자 입장에서는 나의 행동이 하나하나 기록되어 파일로 저장되고 있고그 파일이 다른 곳도 아닌 ’ 컴퓨터에 나도 모르게 저장된다는 것은 별로 좋은 입장은 아닙니다.

쿠키의 이런 독특한 점은 결국 개인 정보 유출에 관한 문제를 일으킵니다왜냐하면사용자 하드디스크에 그 사용자가 어떤 식으로 웹 서핑을 하고 있는지어떤 물건을 구입했는지이메일 주소는 무엇인지 등의 개인정보까지 저장될 수도 있기 때문에 누군가 악의적으로 쿠키를 보게되면 민감한 정보가 유출될 수도 있기 때문입니다.

그래서 웹 브라우저에는 대개 쿠키를 항상 받아들일 것인지 아니면 매번 대화상자를 띄워서 물어보길 원하는지 쿠키를 절대 받아들이지 않는지를 선택할 수 있습니다.

'IT 프로그래밍 > IT용어' 카테고리의 다른 글

SessionStorage 와 LocalStorage 차이점  (1) 2014.01.25
LDAP 정의 및 설명  (0) 2014.01.25
Posted by 정윤문경아빠
IT 프로그래밍/IT용어2014. 1. 25. 03:29

LDAP란 무엇일까

Lightweight Directory Access Protocol이라는 말인데 우리말로 하면 경량의 디렉토리 액세스 프로토콜이라는 말이 된다

그럼 디렉토리란 무엇일까

디렉토리란 특별한 형태의 데이터베이스라고 할 수가 있다

그리고 쓰기 작업보다 읽기 작업이 더 많을 뿐 아니라 어떤 것을 찾는 작업이 많은 곳에 더더욱 적합한 서비스라고 할 수가 있다.

현재로부터 시간을 조금 거슬러 올라가서 1980년대 말에 특정분야의 디렉토리 서비스의 이용,개발 요구가 높아감에 따라CCITT(International Telegraph and Telephone Consultative Committee, 현재는 ITU이다) ISO(International Organization for Standardization) 두 단체가 함께 X.500이라는 디렉토리 서비스 표준을 만들기 시작하였다

결국 1990년에 CCITT가 표준을 발표했고 1993,1997년 몇번의 수정작업을 거쳐 현재에 이르렀다

 X.500은 최초의 일반적인 목적의 디렉토리 시스템이었고 다양한 쿼리를 사용하는 강력한 검색기능을 제공하였을 뿐만 아니라 서버와 데이터의 분산이 용이했고 그리고 무엇보다도 특정 운영체제나 특정 네트웍,특정 응용프로그램에 구애받지 않고 사용될 수 있는 표준이라는 점이 눈길을 끌 수 있었다.

 

하지만 X.500 개발자들은 DAP(X.500 directory client access protocol)가 너무 방대한데다 복잡하고 구현하기 어렵다는 점 때문에 그당시의 일반 PC급에서는 적용해서 사용하기가 힘들다는걸 알았고 이의 해결책을 모색하기 시작했고 그렇게 해서 나온 것이 LDAP이다.

LDAP DAP의 기능을 거의 다 지원을 했고 복잡했던 부분이나 잘 쓰이지 않았던 부분은 단순화하거나 없애버렸다

그리고 대부분의 데이터 형식에 있어서 단순한 문자열을 사용하므로써 구현을 단순화하고 퍼포먼스를 늘릴수가 있었다

이렇게 LDAP는 처음에 X.500 디렉토리 서비스의 프론트엔드로 사용되었다

그후 최초이면서 많이 알려진 미시건대학의 LDAP(U-M LDAP)가 나오게되었고 현재 많은 상용 또는 오픈소스의 LDAP제품들이 나와있다.

'IT 프로그래밍 > IT용어' 카테고리의 다른 글

SessionStorage 와 LocalStorage 차이점  (1) 2014.01.25
HTML 쿠키 COOKIE 기초 정리  (0) 2014.01.25
Posted by 정윤문경아빠
IT 프로그래밍/ASP2014. 1. 25. 03:28

FormatDateTime 함수에 대해서 알아보겠습니다.

 

FormatDateTime 함수는 날짜와 시간을 여러 가지 형식으로 반환하며, 구문 형식은 다음과 같습니다.

 

FormatDateTime(Date, NamedFormat)

 

Date : 필수입력해야합니다. 보통 문자열로 날짜식을 지정합니다.

 

NamedFormat : 선택입력입니다. 사용한 날짜/시간 형식을 나타내는 숫자값입니다. 상수나 상수값을 사용할 수 있습니다.

 

 상 수

값 

설 명 

vbGeneralDate 

  기본값입니다. 날짜 부분이 있으면 날짜 형식으로 날짜를 간단하게 표시하며, 시간 부분이 있으면 시간 형식   으로 시간을 자세하게 표시합니다. 날짜와 시간이 같이 있으면 두 부분을 모두 표시합니다.

vbLongDate

  컴퓨터의 국가별 설정에서 지정한 날짜 형식으로 날짜를 자세하게 표시합니다. 

vbShortDate 

  컴퓨터의 국가별 설정에서 지정한 날짜 형식으로 날짜를 간단하게 표시합니다. 

vbLongTime 

  컴퓨터의 국가별 설정에서 지정한 시간 형식으로 시간을 표시합니다. 

vbShortTime 

  24시간 형식(hh:mm)으로 시간을 표시합니다. 

 

 

예제로 살펴보도록 하겠습니다.

-----------------------------------------------------------------------------------------------------------------------

 

<html>

<body>

<h3>현재 시각을 여러가지 방법으로 출력하기<hr noshade></h3>

<p>FormatDateTime(now(), 0) : <%=FormatDateTime(now(), 0)%></p>

<p>FormatDateTime(now(), 1) : <%=FormatDateTime(now(), 1)%></p>

<p>FormatDateTime(now(), 2) : <%=FormatDateTime(now(), 2)%></p>

<p>FormatDateTime(now(), 3) : <%=FormatDateTime(now(), 3)%></p>

<p>FormatDateTime(now(), 4) : <%=FormatDateTime(now(), 4)%></p>

</body>

</html>

-----------------------------------------------------------------------------------------------------------------------

 

결과는 아래와 같습니다.

 

 


 

어려운것 없죠?

 

내 입맛에 맞는대로 사용하시면 되겠습니다.

 

궁금하신점은 댓글 남겨주세요.^^

 

'IT 프로그래밍 > ASP' 카테고리의 다른 글

ASP FormatCurrency 함수 기초 설명  (0) 2014.01.25
ASP Exit 문 기초 설명  (0) 2014.01.25
ASP Do Loop문 기초 설명  (0) 2014.01.25
ASP For Each문 기초 설명  (0) 2014.01.25
ASP 반복문 FOR문 기초 설명  (0) 2014.01.25
Posted by 정윤문경아빠
IT 프로그래밍/ASP2014. 1. 25. 03:27

이번에는 ASP의 FormatCurrency 에 대해서 알아보겠습니다.

 

FormatCurrency 함수는 컴퓨터의 제어판에 정의된 통화 기호를 사용하는 형식화된 식을 반환하는 함수로, 용법은 다음과 같습니다.

 

FormatCurrency(Expression, NumDigitsAfterDecimal)

 

FormatCurrency 함수는 다섯 가지의 인수를 사용하는데 가장 많이 사용하는 두가지의 각 기능은 다음과 같습니다.

 

Expression : 필수입력해야합니다. 형식이 지정되는 식입니다.

 

NumDigitsAfterDecimal : 선택입력입니다. 소수점 이하의 자릿수를 나타내는 숫자값입니다. 기본값은 -1로 컴퓨터의 국가별 설정 사용을 나타냅니다.

 

 

설명이 어려운듯 한데요...아래 예제를 보겠습니다.

 

-----------------------------------------------------------------------------------------------------------------------

 

<html>

<body>

<%=FormatCurrency("108000.58")%> <- 반올림이 되어집니다.<br>

<%=FormatCurrency("108000.48", 1)%> <- 소수점 끝자리가 반올림 되어져서 나옵니다.<br>

<%=FormatCurrency("108000.48", 2)%> <- 소수점 2째자리까지 그대로 나오게 하기 때문에 반올림이 안되어지고 있는 그대로 나옵니다.<br>

</body>

</html>

-----------------------------------------------------------------------------------------------------------------------

 

결과는 아래와 같습니다.

 

 


 

이해가 되시는가요?

 

잘 모르시겠으면 댓글 남겨주세요.^^

 

'IT 프로그래밍 > ASP' 카테고리의 다른 글

ASP FormatDateTime 기초 설명  (0) 2014.01.25
ASP Exit 문 기초 설명  (0) 2014.01.25
ASP Do Loop문 기초 설명  (0) 2014.01.25
ASP For Each문 기초 설명  (0) 2014.01.25
ASP 반복문 FOR문 기초 설명  (0) 2014.01.25
Posted by 정윤문경아빠
IT 프로그래밍/ASP2014. 1. 25. 03:27

이번에는 Exit 문에 대해서 알아보겠습니다.

 

Exit 문은 특별한건 없고

 

반복문이 한참 실행하고 있을때 특정 조건이 맞아떨어지면 반복문이 종료되게 하는 구문입니다.

 

예제를 보겠습니다.

 

---------------------------------------------------------------------------------------------------------------------

 

<%option explicit%>

 

<%option explicit%>

<html>

<body>

<table width="300" border="1">

<tr bgcolor="yellow" align="center">

<td>이름</td>

<td>제목</td>

<td>이메일</td>

</tr>

<%

Dim count

count = 0

 

Do While count < 10

%>

<tr>

<td>첫번째 행</td>

<td>두번째 행</td>

<td>세번째 행</td>

</tr>

<%

If count >= 2 Then

Exit Do

End If

count = count + 1

Loop

%>

</body>

</html>

 

---------------------------------------------------------------------------------------------------------------------

 

앞전 포스팅의 예제에서 Exit 를 추가했습니다.

 

만약 count 값이 2보다 크거나 같아지게 되면 Exit Do 빠져나가라고 되어있죠.

 

실행을 하면 다음과 같습니다.

 

 


 

예...잘 되는군요

 

여기서 잠깐 햇갈릴 수 있는부분이 뭐냐면...

 

count 값이 2가 되면 빠져나가라고 했는데 왜 행이 세번째꺼까지 실행이 되었냐고 생각하시는 분들이 있으실텐데요

 

count가 0부터 시작했기때문에 0일때 한번 1일때 한번 2일때 한번 이렇게 총 3번을 실행하고 빠져나가는거죠

 

만약 Exit 문이 <tr> 보다 위에 있었다면(While문 바로 아래) 행은 2개만 생성되고 Exit 하게 됩니다.

 

만약 이해가 안되는 부분이 있으면 답글 남겨주세요~^^

 

'IT 프로그래밍 > ASP' 카테고리의 다른 글

ASP FormatDateTime 기초 설명  (0) 2014.01.25
ASP FormatCurrency 함수 기초 설명  (0) 2014.01.25
ASP Do Loop문 기초 설명  (0) 2014.01.25
ASP For Each문 기초 설명  (0) 2014.01.25
ASP 반복문 FOR문 기초 설명  (0) 2014.01.25
Posted by 정윤문경아빠
IT 프로그래밍/ASP2014. 1. 25. 03:26

이번에는 ASP의 Do Loop문에 대해서 알아보겠습니다.

 

반복 실행할 횟수를 정확히 모르거나 어떤 조건이 충족될 때까지 일부 소스 코드를 반복 실행해야 한다면 Do Loop 구문을 사용합니다.

 

Do Loop 문은 조건에 따라 Do While Loop와 Do Until Loop 문을 사용할 수 있습니다.

 

While은 조건이 참인 동안, Until은 조건이 거짓인 동안 소스 코드를 반복 실행합니다.

 

Do Loop 문의 형식은 다음과 같습니다.

 

Do While 조건문

......

Loop

 

Do Until 조건문

......

Loop

 

예제를 살펴 보도록 하겠습니다.

 

-----------------------------------------------------------------------------------------------------------

 

<%option explicit%>

<html>

<body>

<table width="300" border="1">

<tr bgcolor="yellow" align="center">

<td>이름</td>

<td>제목</td>

<td>이메일</td>

</tr>

<%

Dim count

count = 0

 

Do While count < 10

%>

<tr>

<td>첫번째 행</td>

<td>두번째 행</td>

<td>세번째 행</td>

</tr>

<%

count = count + 1

Loop

%>

</body>

</html>

-----------------------------------------------------------------------------------------------------------

 

변수 count 의 값을 0으로 입력했습니다.

 

예제에는 While 을 사용했으므로 조건문인 count < 10 이 참이되면 반복문을 계속 돌리게 됩니다.

 

지금은 count 값이 0이니깐 참이네요.

 

Tip - 한가지 주의하실점이 Do Loop 문을 작성할때 특별한 경우가 아닌이상은 반복문을 빠져나올 수 있게 해야합니다. 위 예제코드의 count = count + 1 처럼 말이죠. 안그러면 무한루프를 돌기때문에 시스템이 다운이 된다거나 성능에 엄청난 영향을 주게 됩니다.

 

반복문 한바퀴 돌기 끝나기 전에 count 가 1씩 증가하게 됩니다.

 

한바퀴 돌때마다 count 값이 1씩 증가 되다가 10이 되면 거짓이 되기때문에 Do Loop 문을 빠져나오게 됩니다.

 

만약 Until 문을 사용하고 싶다면 Do Until count > 10 이렇게 수정하면 됩니다.

 

잘 모르시거나 이해안되는부분은 댓글로 남겨주세요~^^

'IT 프로그래밍 > ASP' 카테고리의 다른 글

ASP FormatCurrency 함수 기초 설명  (0) 2014.01.25
ASP Exit 문 기초 설명  (0) 2014.01.25
ASP For Each문 기초 설명  (0) 2014.01.25
ASP 반복문 FOR문 기초 설명  (0) 2014.01.25
ASP select case 기초 설명  (0) 2014.01.25
Posted by 정윤문경아빠
IT 프로그래밍/ASP2014. 1. 25. 03:25

이번에는 ASP For Each 문에 대해서 알아보겠습니다.

 

For Each문은 For문과 비슷하게 동작하지만, 배열이나 콜렉션(배열이나 개체의 집합)내의 각 항목들에 대해서 사용되는 독특한 반복문입니다.

 

예를 들면 배열에 들어 있는 값을 꺼내기 위해서는 배열의 길이를 미리 파악하여 For 문으로 루프를 돌려야 하지만, For Each문을 사용하면 배열 길이를 미리 파악하지 않았더라도 배열의 처음부터 끝까지 배열에 저장된 값에 접근할 수 있습니다.

 

For Each 문의 구문 형식은 다음과 같습니다.

 

For Each 요소 In 그룹(배열)

......

Next

 

요소는 배열에서 하나의 배열값을 뽑아 저장할 Variant 변수를 뜻합니다.

 

그룹에 해당하는것으로 여러 개의 개체를 포함하는 컬렉션을 사용하는 경우에는, 이를 요소로 저장하기 위해 개체 변수를 사용하기도 합니다.

 

예제를 살펴 보도록 하겠습니다.

 

--------------------------------------------------------------------------------------------------------------------------

 

<%option explicit%>

<html>

<body>

<h3>For Each 문을 이용하여 배열값 출력하기<hr noshade></h3>

<%

Dim Cart(3), item

Cart(0) = "로또 1등 당첨된 복권"

Cart(1) = "로또 2등 당첨된 복권"

Cart(2) = "로또 3등 당첨된 복권"

Cart(3) = "현실에서 꼭 가져보고 싶네요."

 

For Each item In Cart

Response.Write item & "<br>"

Next

%>

</body>

</html>

--------------------------------------------------------------------------------------------------------------------------

 

For 문은 종료값을 입력해서 반복문을 제어했지만 For Each문은 종료값 없이 배열의 데이터를 모두 출력한 후 종료를 하게 됩니다.

 

즉 위 예제는 For Each 문이 총 4번을 반복한 후 종료된다는 의미이지요.

 

실행화면을 보겠습니다.

 

 


 

예~ 잘되네요.

 

코드를 살짝 바꾸면 For 문에서도 배열의 값을 출력할 수 있습니다.

 

For 문을 사용하는게 효율적인지 For Each문을 사용하는게 효율적인지는 개발을 할때 상황에 맞게끔 사용하시면 됩니다.

 

이해가 잘 안되시거나 궁금하신점은 댓글로 남겨주세요~^^

 

'IT 프로그래밍 > ASP' 카테고리의 다른 글

ASP Exit 문 기초 설명  (0) 2014.01.25
ASP Do Loop문 기초 설명  (0) 2014.01.25
ASP 반복문 FOR문 기초 설명  (0) 2014.01.25
ASP select case 기초 설명  (0) 2014.01.25
ASP 제어문인 IF문의 기초 설명  (0) 2014.01.25
Posted by 정윤문경아빠
IT 프로그래밍/ASP2014. 1. 25. 03:25

이번에는 ASP의 반복문 중 하나인 For문에 대해서 알아보겠습니다.

 

우선 하나의 예제를 먼저 보겠습니다.

 

---------------------------------------------------------------------------------------------------------------

 

<html>

<body>

<table width="800" border="1">

<tr bgcolor="yellow" align="center">

<td>첫번째 열</td>

<td>두번째 열</td>

<td>세번째 열</td>

</tr>

<tr>

<td>현재 반복문 count 수 : 1</td>

<td>현재 반복문 count 수 : 1</td>

<td>현재 반복문 count 수 : 1</td>

</tr>

<tr>

<td>현재 반복문 count 수 : 2</td>

<td>현재 반복문 count 수 : 2</td>

<td>현재 반복문 count 수 : 2</td>

</tr>

<tr>

<td>현재 반복문 count 수 : 3</td>

<td>현재 반복문 count 수 : 3</td>

<td>현재 반복문 count 수 : 3</td>

</tr>

<tr>

<td>현재 반복문 count 수 : 4</td>

<td>현재 반복문 count 수 : 4</td>

<td>현재 반복문 count 수 : 4</td>

</tr>

<tr>

<td>현재 반복문 count 수 : 5</td>

<td>현재 반복문 count 수 : 5</td>

<td>현재 반복문 count 수 : 5</td>

</tr>

</table>

</body>

</html>

---------------------------------------------------------------------------------------------------------------

 

위 예제 코드를 실행하면 아래와 같은 결과가 나오게 됩니다.

 

 


 

네..정상적으로 잘 나오네요.

 

하지만 제가 지금 저걸 보여준 이유가 잘 나온다는걸 보여주고싶은게 아니라 코드를 보면 <tr><td> 가 중복되는것이 많이 보이시죠?

 

지금은 테이블의 행이 5개라서 저정도로 끝나는데 만약 수천 수만개 이면????

 

우~와 그걸 입력하는데만도 몇일 걸리겠네요.

 

그런 비효율적인 일이 발생되면 안되겠죠?

 

그래서 있는데 반복문입니다.

 

반복문도 종류가 몇개 있는데요.

 

대표적인것이 For문, For Each문, Do Loop문입니다.

 

지금은 For문을 설명해드리도록 할께요.

 

우선 예제 코드부터 살펴보죠.

 

---------------------------------------------------------------------------------------------------------------

 

<%option explicit%>

<html>

<body>

<table width="800" border="1">

<tr bgcolor="yellow" align="center">

<td>첫번째 열</td>

<td>두번째 열</td>

<td>세번째 열</td>

</tr>

<%

Dim count

Dim countPlus  '현재 반복문이 돌아가는 횟수

countPlus = 1   

For count = 0 To 100 Step 1%>  '현재 count값은 0 이고 count 값이 100보다 클경우 반복문 정지

<!-- 여기서부터 반복 실행 -->

<tr>

<td>현재 반복문 count 수 : <% Response.Write countPlus%></td>

<td>현재 반복문 count 수 : <% Response.Write countPlus%></td>

<td>현재 반복문 count 수 : <% Response.Write countPlus%></td>

</tr>

<% countPlus = countPlus + 1 %>  '반복문이 횟수 값을 1 증가

<%Next%>  '다시 For문을 돌려라

</table>

</body>

</html>

 

---------------------------------------------------------------------------------------------------------------

 

For문에 대해서 설명 드릴께요.

 

For문의 구조는 For 카운터 = 초기값 To 종료값 Step 증가값 이렇게 이루어 집니다.

 

즉 위에서는 For count = 0 To 100 Step 1 이렇게 되어있는거지요.

 

설명하자면 count 값이 0부터 시작해서 <%Next%>를 만나면 현재 Step 값이 1이니깐 1이 증가가 되고 이 작업을 계속 반복해서 count 값이 100보다 클 경우 정지하게 된다. 이렇게 설명할 수 있습니다.

 

이해가 되셨는가요?

 

만약 For count = 0 To 100 이렇게만 해준다면 Step 값은 생략되고 기본으로 1씩 증가하게 됩니다.

 

For문을 10000번 돌리고 싶으면 For count = 0 To 10000 숫자만 바꿔주면 끝나게 됩니다.

 

참 편리하죠?

 

이제 실행 결과를 보겠습니다.

 

 


 

For 문이 얼마나 편리한건지 이제 느껴지시나요?

 

이것으로 For문에 대해서 포스팅을 마치겠습니다.

 

궁금하신점은 댓글 달아주세요~^^

 

'IT 프로그래밍 > ASP' 카테고리의 다른 글

ASP Do Loop문 기초 설명  (0) 2014.01.25
ASP For Each문 기초 설명  (0) 2014.01.25
ASP select case 기초 설명  (0) 2014.01.25
ASP 제어문인 IF문의 기초 설명  (0) 2014.01.25
ASP 자료형 기초 설명  (0) 2014.01.25
Posted by 정윤문경아빠
IT 프로그래밍/ASP2014. 1. 25. 03:24

이번에는 ASP 에서 Select Case 문에 대해서 알아보겠습니다.

 

If 문이 조건을 조사하여 참을 실행하는 구조라면 Select Case는 검사식을 한 번만 평가한 후 결과값과 같은 목록을 선택하는 구조입니다.

 

그러므로 많은 가능성 중 하나만 실행할 때 효과적입니다.

 

또한 Select Case는 분기점이 많을 때 필요하지만 If Then 문처럼 조건값이 범위일 경우에는 사용할 수 없으며, 하나의 값에 대해서만 반응합니다.

 

따라서 범위에 대한 조건을 따지려면 If Then 문장이나 Case 문을 사용합니다.

 

Select Case에서 범위를 지정하려면 3,4,5,6,7......하는 식으로 모두 나열해야 합니다.

 

아직 감이 잘 안오시죠? 아래 예제를 통해 보시면 이해가 가실겁니다.

 

------------------------------------------------------------------------------------------------------------

 

<%OPTION EXPLICIT%>

<html>

<body>

<h3>Select...Case 구문을 이용하여 페이지 제어하기<hr noshade></h3>

<%

Dim userLevel

userLevel = "member"  'userLevel 변수에 "member" 값을 넣음

 

Select Case userLevel

Case "admin"  'userLevel 값과 틀리므로 거짓

Response.Write "당신은 관리자 계정으로 로그인 하셨습니다."

Case "member"  'userLevel 값과 같으므로 참이 되어 아래에 실행이 됨

Response.Write "당신은 회원 계정으로 로그인 하셨습니다."

Case "guest"  '위 Case에서 참이 나왔기때문에 여기는 묻지도 따지지도않고 패스

Response.Write "손님 반갑습니다."

End Select

%>

</body>

</html>

------------------------------------------------------------------------------------------------------------

 

위 코드를 실행을 하면 아래와 같은 결과가 나오게 됩니다.

 

 


 

코드를 살펴보니깐 느낌이 If문과 비슷한것 같죠?

 

그럼 If문만 사용하면 될텐데 왜 머리 복잡해지게 Select Case 같은걸 만들어놓은거야? 이런 생각이 드실만도 한데요

 

If 문과 Select Case 문의 가장 큰 차이점은 속도와 범위입니다.

 

우선 속도에 대해서 설명을 드릴께요.

 

위 예제코드 같이 간단한 코드는 If문과 Select Case 문의 속도차이는 거의 없다고 봐도 상관없습니다.

 

하지만 포털이라던가 대형홈페이지, 검색엔진등 속도가 생명인곳에서는 뚜렷하게 차이가 발생하게 됩니다.

 

왜 그렇냐면은 범위때문입니다.

 

If문은 조건을 비교하기때문에 조건 범위가 크고 일일이 참과 거짓을 구분하기때문에 시간이 오래 걸립니다.

 

반면 Select Case문은 값만 비교하기때문에 조건 범위가 작고 시간이 적게 걸리는거죠.

 

그렇다고 If문이 나쁘다는것이 아닙니다.

 

If문은 조건을 걸수있는 범위가 크기 때문에 보다 효율적으로 제어문을 사용할 수 있습니다.

 

조건문을 만들때 If문을 사용할지 Select Case문을 사용해야할지는 개발자가 판단해서 적절하게 사용하시면 됩니다.

 

제가 글솜씨가 없어서 좀 어려웠는지 모르겠는데요.

 

궁금하신점은 댓글 남겨주세요~^^

 

'IT 프로그래밍 > ASP' 카테고리의 다른 글

ASP For Each문 기초 설명  (0) 2014.01.25
ASP 반복문 FOR문 기초 설명  (0) 2014.01.25
ASP 제어문인 IF문의 기초 설명  (0) 2014.01.25
ASP 자료형 기초 설명  (0) 2014.01.25
ASP 상수 기초 설명  (0) 2014.01.25
Posted by 정윤문경아빠
IT 프로그래밍/ASP2014. 1. 25. 03:24

이번에는 ASP의 제어문중에 IF문에 대해서 알아보겠습니다.

 

If ... Then ... End If 구조를 사용해서 조건에 따라 여러 구문을 실행할 수 있습니다.

 

예를들어 If문을 회원 로그인 기능에 사용한다면 아이디와 비밀번호가 맞으면 로그인이 되고 그렇지 않으면 로그인 오류를 출력합니다.

 

간단한 예제를 들어 설명하겠습니다.

 

------------------------------------------------------------------------------------------------------------

 

<%option explicit%>

<html>

<body>

<h3>if 문을 사용하여 숫자 크기 판별하기<hr noshade></h3>

<%

'변수선언

Dim intNum

intNum = 8 '변수값에 8을 지정

 

if intNum > 10 Then  '첫번째 조건 만약에 intNum 이 정수 10보다 크다면

Response.Write "변수 intNum은 10보다 큰 정수입니다"

ElseIf intNum > 1 Then  '두번째 조건 만약에 intNum 이 정수 1보다 크다면

Response.Write "변수 intNum은 1보다 크고 10보다 작은 정수입니다."

ElseIf intNum = 0 Then  '세번째 조건 만약에 intNum이 정수 0과 같다면

Response.Write "변수 intNum은 0 입니다."

Else  '위 조건에 해당되는 경우가 아무것도 없다면

Response.Write "변수 intNum은 0보다 작은 음수입니다."

End If

%>

</body>

</html>

------------------------------------------------------------------------------------------------------------

 

위 코드를 실행을 하면 다음과 같은 결과가 출력됩니다.

 

 


 

우선 코드를 설명하자면 제일 처음에 intNum 값을 8로 넣었습니다.

 

그 다음 If문으로 들어가게 되는데 첫번째 조건인 intNum 이 10 보다 크냐고 묻습니다.

 

intNum 값이 8 이므로 8 은 10보다 크다는 거짓이 되기때문에 Response.Write "변수 intNum은 10보다 큰 정수 입니다." 를 실행하지 않고

 

다음 조건으로 넘어갑니다.

 

ElseIf는 위 조건이 거짓이라면 현재 조건을 묻게 됩니다.

 

첫번째 조건이 거짓이니 두번째 조건을 검사를 하게 됩니다.

 

두번째 조건은 intNum 이 1보다 크냐고 묻죠?

 

현재 intNum 값이 8 이므로 8은 1보다 크다는 참이 되기때문에 Response.Write "변수 intNum은 1보다 크고 10보다 작은 정수입니다."를 실행을 하게 됩니다.

 

If문은 위에서부터 아래로 조건을 검사하면서 내려옵니다.

 

만약 특정 위치에서의 조건이 참이 되면 그 아래의 조건들은 묻지도 따지지도 않고 그냥 넘어가게 됩니다.

 

예를들어 2번째 조건이 참이고 3번째 조건도 참이라고 가정을 한다면

 

2번째 조건은 실행을 하지만 3번째는 실행을 하지않고 빠져나가게 됩니다.

 

쉽게 풀이하자면 위 예제 코드에서 세번째 코드인 intNum = 0 이 아닌 intNum > 0 이라고 가정을 한다해도 이미 2번째 코드에서 참을 만족했기 때문에 3번째 조건은 아예 묻지도 않고 넘어가게 됩니다.

 

마지막에 Else 는 모든 조건이 거짓일 경우 실행을 하게 됩니다.

 

즉 첫번째 두번째 세번째 조건이 모두 거짓일 경우 실행을 하게 됩니다.

 

제 설명이 어려웠는지 잘 모르겠네요.

 

잘 모르시는 부분은 댓글에 남겨주세요.^^

 

'IT 프로그래밍 > ASP' 카테고리의 다른 글

ASP 반복문 FOR문 기초 설명  (0) 2014.01.25
ASP select case 기초 설명  (0) 2014.01.25
ASP 자료형 기초 설명  (0) 2014.01.25
ASP 상수 기초 설명  (0) 2014.01.25
ASP OPTION EXPLICIT 키워드 기초 설명  (0) 2014.01.25
Posted by 정윤문경아빠