반복문 For문


안녕하세요.
고코더 입니다.


ASP에서도 반복을 실행하는 for문이 존재합니다. 반복문은 중복적인 코드를 없애주고 가독성을 올려주는 좋은 문법입니다. 이게 없다면 길고 지루한 코드를 봐야 합니다. 현업에서도 매일 사용하게 되는게 바로 이 for문 입니다.

 1. for문 기초 사용법
For 변수 = 시작 To 종료 Step 증가
  실행구문1
Next


 2. for문 예제를 통해 알아보겠습니다. 
1
2
3
4
5
<%
   for i=1 to 10 step 1    '// 변수 i를 1로 선언합니다. 그리고 10까지 반복하고 1씩 증가합니다.
      response.write i & "번째 <br>"    '// 결과 값을 실행합니다.
   next 
%>
cs

 3. 결과 화면입니다. 10줄의 문자열을 단 3줄의 코드로 완성할수 있습니다. 



마무리


중복을 없애는것이 중요합니다.


Tag ASP, for, 반복문

댓글을 달아 주세요


ASP에서 조건 분기문 사용방법


안녕하세요.
고코더 입니다.


ASP에서도 당연히 if문이 존재합니다. 모든 언어가 기본적으로 가지고 있는 기능입니다.  그런데 ASP에서는 이 문법이 조금 다른 형식을 취합니다. 그래서 다른 언어를 개발하다 이 언어의 분기문을 작성하면 틀리는 경우가 많은데요. 한번 자세히 알아보겠습니다. 


 1.  if문을 사용하는 방법


우선  asp에서 if문의 사용법은 이렇습니다. 
if 비교 = 비교 then
    참(true)이라면
elseif 비교 = 비교 then
    두번째 비교문이 참(true)이라면
else
    참이아닌 것들 거짓(false)
end if 

예제를 만들어보았습니다. if 는 비교문입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%
if name = "gocoder" then  '// 두 개의 값이 같다면
    Response.write "고코더"  
end if
 
if name <> "gocoder" then '// 두 개의 값이 틀리다면
    Response.write "고코더"   
end if
 
if name = "gocoder" then 
    Response.write "고코더"  
elseif name = "itexpress" then '// 두번째 조건문에서 두 개의 값이 같다면
    response.write "블로그"   
else
    response.write "방문자"    '// 모든 조건이 틀린다면
end if
%>
cs

ASP가 다른 언어와 다른 특성을 이해하면서 한번 한줄씩 알아보겠습니다.



 2. "같다" 비교 연산자


우선 비교자 입니다. 보통의 언어는 같음 의미하는 비교문을 "==" 두 개를 사용합니다. 하지만 ASP에서는 하나를 "=" 한 개를 사용합니다. 

자바스크릅트의 값이 같음을 찾는 비교문입니다. 
1
2
3
if (name == "gocoder") {
 
}
cs

ASP에서 값이 같음을 찾는 비교문입니다.  왜 ASP에서는 한개의 = 를 사용하는지 고민할 필요 없습니다. 문법이라고 생각하며 외우시면 됩니다.
1
2
3
4
5
<%
if name = "gocoder" then
 
end if
%>
cs


 3. "다름"을 의미하는 비료연산자


보통의 언어에서는 앞에 느낌표를 붙혀서 원래에 사용법을 반전합니다. !=를 사용하면 값이 다르면 참이 됩니다.
1
2
3
if (name != "gocoder") {
 
}
cs

하지만 스크립트 기반의 ASP언어는 "<>"를 사용합니다. 
1
2
3
4
5
<%
if name <> "gocoder" then
 
end if
%>
cs


 4. 두 개 이상의 조건문 사용법


자바스크립트에서 두 개 이상의 조건문을 사용할 시에는 "else if"를 사용합니다. 거의 모든 언어에서 볼 수 있는 문법입니다.

1
2
3
4
5
6
if (name == "gocoder") {
 
}
else if (name == "blog"){
 
}
cs

하지만 ASP에서는 elseif 를 사용합니다. 틀린점이라고 하면 띄워쓰기가 없다는 점 입니다. 이런 점은 다른 언어를 사용하다 ASP를 사용하면 꼭 틀리게 되는 부분입니다. 

1
2
3
4
5
6
7
<%
if name = "gocoder" then
 
elseif name = "itexpress" then
 
end if
%>
cs


마무리


오래된 언어라 VB스크립트 기반이라 그런지 헷갈려요..


댓글을 달아 주세요


ASP가 무엇인지 알아봅니다.


안녕하세요.
고코더 입니다.


오늘은 ASP라는 언어에 대해 알아보겠습니다. 정말 오래된 언어이지만 아직도 많은 시스템에서 사용하는 스타크래프트 같은 존재입니다. 


 1. 액티브 서버 페이지의 역사 


A.S.P는 Active Server Page라는 약자입니다. 직역하면 동적으로 서버에서 작동하는 페이지라고 알 수 있습니다. 이 언어를 만든 회사는 다름이 아닌 마이크로 소프트입니다.   

현재의 ASP는 3.0입니다. 이후에 20년 가까이 업그레이드 되지 않은 오래된 언어입니다. 1996년 12월 IIS 3.0이 출시되면서 ASP 1.0이 세상에 출시되었습니다. 1997년에 9월에 IIS 4.0이 출시되면서 ASP 2.0으로 업그레이드 되었고 2000년 11월 IIS 5.0이 출시되면서 3.0버전이 세상에 나오게 됩니다. 이 후에는 업데이트가 더 이상 되지 않았습니다. MS는 이유는 닷넷 (asp.net)이 출시되면서 이 언어가 메인이 되었습니다. 

결론적으로는 더 이상 발전하지 않고 머물러 있는 언어이며 굉장히 오래된 프로그래밍 코드입니다. 특별한 목표가 아니라면 개발자가 이 언어를 입문용으로 배우지 않는 이유 입니다. 



 2. ASP의 동작 원리


ASP는 개발자가 개발한 내용을 서버가 먼저 입력을 받습니다. 그리고 <%%> ASP 언어가 들어 있는 블록안이 발견되면 이를 해석하기 위해 ASP.DLL에 확인을 요청하고 이를 해석하여 클라이언트에게 서버를 통해 다시 돌려주게 됩니다. 이 덕분에 ASP는 HTML안에 소스 블록을 사용하여 개발을 할 수 있게 되는 원리입니다. 이러한 자동적인 처리과정으로 우린 ASP코드를 사용하여 손쉽게 개발이 가능합니다.


 3. 스크립트 언어


ASP의 특징중에 하나는 VBscript 를 사용하는 스크립트 언어입니다. 하지만 자바스크립트등의 프론트 언와 다르게 서버사이드에서 작동하는 스크립트 언어입니다. 다시 말해서 우리가 자바나 닷넷처럼 컴파일 언어와 다르게 인터프리터 언어입니다. 컴터가 한줄 한줄 읽어가며 실시간으로 실행하는 원시코드입니다. 그렇기 때문에 개발과 유지보수에 용이하나 성능적으로는 대용량을 처리하는데 약점이 있어 대형 사이트보다는 중소형 사이트에서 자주 보여주고 있습니다. 


 4. 윈도우서버를 사용하면 사용할 수 있는 장점


윈도우서버를 사용한다면 기본적으로 IIS가 제공됩니다. 그렇기 때문에 윈도우를 사용하는 회사일 경우에는 ASP를 자연스럽게 도입하게 되었습니다. 리눅스에 비해 윈도우는 사용자 UI 편의성이 좋아서 개발자가 직접 서버를 관리하고 개발까지 가능할 수 있었기 때문에 과거에 작은 IT 업체들은 이를 사용하여 시스템을 개발하게 됩니다.
하지만 역사가 오래된 사이트는 아직도 ASP를 유지하는 곳도 많이 존재합니다. 대형 교육사이트 에듀윌은 ASP로 만들어져 운영되는 일부 페이지들이 아직 존재합니다. 



마무리


하지만 개발자라면 과거의 언어도 최신의 언어도 모두 커버 가능하고 많은 언어를 개발할 수 있는 능력이 있으면 나쁠게 없어 보입니다. 한국 사이트에서는 아직도 ASP가 많이 사용되고 있으므로 한번쯤 해당 언어로 홈페이지를 만들어 보는것도 추천합니다.


댓글을 달아 주세요


asp에서 세션을 입력하고 삭제하는 방법


안녕하세요.
고코더 입니다.


 1. ASP에서 세션을 사용하는 기초 방법을 알아봅니다. 세션을 입력하고 세션을 삭제하는 방법을 알아봅니다. 세션은 서버에 저장되는 부분이 쿠키와 다릅니다.
Session("세션변수") = 세션 값 '// 세션 입력하기 
Session.Contents.Remove("세션변수") '//특정 세션 지우기

'// 세션 모두 지우기
Session.Contents.RemoveAll()
Session.Abandon()

 2. 세션을 사용하는 방법을 알아봅니다. 해당 방식으로 입력하고 삭제하는 법만 알면 사용법 알면 문제가 없습니다. 아래 예제를 보고 출력할 문자는 과연 어떤 것일지 생각해보세요.
1
2
3
4
5
6
7
8
9
10
11
12
<%
Session("go"= "고"
Session("coder"= "코더"
Session("itexpress"= "블로그"
 
Session.Contents.Remove("go")
 
Response.write Session("itexpress")
 
Session.Contents.RemoveAll()
Session.Abandon()
%>

cs

 3. 결과 값은 해당 값만 지우기 전에 출력했으니 블로그만 남아있습니다.



마무리


세션은 중요한 부분만



Tag ASP, 세션

댓글을 달아 주세요


asp에서 숫자 천 단위마다. 구분 점을 찍어주는 함수 


안녕하세요.
고코더 입니다. 


숫자를 표현할때 가독성을 위해 0이 세개 즉 천의 자리마다 콤마를 찍습니다. 100000 이렇게 숫자를 보면 하나 둘 세야 하지만 100,000 콤마를 찍어주면 쉽게 가독성 있는 숫자 표현이 가능합니다. 이런 역할을 하는 함수를 알아봅니다.

 1. FormatNumber의 사용법입니다. 옵션은 매우 많지만 사용하는 방법은 두 번째 방법입니다.
FormatNumber("숫자", "소수점 자리", "0을 표시할지", "-를 표시할지", "천 단위 설정사용할지")
FormatNumber("숫자", "소수점 자리") '// 사실상 이렇게만 사용하고 충분함


 2. 예제 소스입니다. 특이한점은 문자열도 인식이 가능합니다. 
1
2
3
4
5
6
<%
Response.write FormatNumber(1000000000& " : 옵션이 없으면 소수점 2자리<br/>"
Response.write FormatNumber(1000000000,0& " : 소수점 옵션을 0으로하면 소수점 없이<br/>"
Response.write FormatNumber("1000000000",1& " : 문자열이라도 인식 가능<br/>"
response.write (FormatNumber(-1000000000,,,-1))  & " : 마이너스를 양수로 바꿔주는 옵션 <br/>"
%>
cs

 3. 결과 화면입니다. 마지막 옵션은 자동적으로 ()가 생성 됩니다. 이 함수는 사용자가 보여질 화면에 숫자가 나오는 거의 모든 부분에 사용하게 됩니다.



마무리


많이 아주 많이 쓰게 됩니다.



댓글을 달아 주세요


asp에서 주석 처리는 작은 따옴표 입니다.


안녕하세요.
고코더 입니다.


모든 프로그래밍 언어에서는 주석을 처리할 수 있는 방법이 있습니다. 보통은 // 이런식의 처리가 많지만 ASP는 조금 특이하게 작은 따옴표를 사용중입니다. 



주석이란


메모하는 목적으로 쓰입니다.  소스 코드를 리뷰 할때 쉽게 이해할 수 있게 만드는게 목적입니다. 컴파일러와 인터프리터에 의해 무시되어 컴파일 하기 때문에 프로그램에는 아무런 영향을 주지 않습니다.


주석 처리 방법


 1. 주석은 불편하게도 작은 따옴표로 사용합니다. 참고로 다른 언어에서는 찾아 볼 수 없는 방식입니다. 그리고 여러 라인을 한번에 주석을 처리하는 방법도 없습니다.
'(작은 따옴표)


 2. 예제 소스입니다. 코드 맨앞에 작은 따옴표만 넣으면 주석으로 간주되어 결과 값에 노출 되지 않습니다. 
1
2
3
4
<%
'Response.write "고코더 입니다."
Response.write "IT 블로거 입니다."
%>
cs

 3. 주석을 처리하지 않은 결과 값만 출력 됩니다. 



마무리


ASP의 단점중에 하나가 주석처리가 아닐까요?


댓글을 달아 주세요


asp에서 초기화된 변수인지 체크 


안녕하세요.
고코더 입니다. 


변수가 초기화 되어 있는지 체크하는 함수를 알아봅니다. 초기화 되었다 하면 비어있는 상태 즉 변수 자체로 선언한 상태를 말합니다. null이나 공백이 들어간 상태가 아닌 순수 변수가 선언된 상태입니다. 변수가 사용되고 있는지 체크할때 사용 가능합니다. 

 1. 해당 함수에 변수를 입력하면 true를 반환합니다. 나머지는 false이겠죠.
IsEmpty(변수) '// 초기화 된 변수라면 true


 2. 예제를 알아봅니다. 변수라고 선언한 변수만 ture가 예상 됩니다. 나머지는 IsEmpty 볼때 초기화 이후에 사용된 변수입니다.
1
2
3
4
5
6
7
8
9
10
11
<%
Dim var1
var2 = null
var3 = ""
var4 = "GoCoder.Net"
 
Response.write IsEmpty(var1) & " : 변수만 선언한 경우 true <br/>"
Response.write IsEmpty(var2) & " : Null인 경우 false <br/>"
Response.write IsEmpty(var3) & " : 공백인 경우 false <br/>"
Response.write IsEmpty(var4) & " : 문자가 있을 경우 false <br/>"
%>
cs

 3. 결과 화면입니다. 변수만 선언한 경우만 ture입니다. 해당 변수가 사용되지 않았는지 체크할때 사용할 수 있습니다. 



마무리


변수 사용이 난무한 시스템에서는 필요한 함수 



댓글을 달아 주세요



asp에서 변수가 null 인지 확인하는 방법


안녕하세요.
고코더 입니다.


변수가 null인건 초기화 되었다는 것입니다. 이런 초기화 상태에서 사용해야 할 경우에 이 함수를 이용하면 쉽게 null인지 알 수 있습니다. 

 1. null을 가진 변수라면 true 반대라면 false를 출력합니다.
IsNull() '//  null이면 true 반환 아니면 false


 2. 예제 소스를 확이해보겠습니다. null 이외에는 모두 false를 반환합니다. 
1
2
3
4
5
6
7
8
9
<%
var1 = NULL
var2 = ""
var3 = "GoCoder.Net"
 
Response.write isnull(var1) & " : Null일 경우 true <br/>"
Response.write isnull(var2) & " : 공백일 경우 false <br/>"
Response.write isnull(var3) & " : 문자가 있을 경우 false <br/>"
%>
cs

 3. 예상대로 null일 경우만 true가 나타납니다. 



마무리


null 이 가장 좋은 상태죠. 나도 null 인 상태로 쉬고 싶다.





댓글을 달아 주세요


asp에서 문자열 길이를 알아내는 방법


안녕하세요.
고코더 입니다.


문자열 길이를 체크하는 방법을 함께 알아보려고 합니다. 사는 도시 이름을 10자 이하인데 20자를 입력한 데이터라면 이를 체크할수 있는 기능입니다. 문자열에 대한 유효성 체크는 꼭 필요한 기본 기능입니다. 

 1. len은 말 그대로 글자 수를 돌려줍니다. 글자 수를 하나, 둘 세서 반환하지만 LenB는 원초적으로 바이트를 돌려줍니다. 둘 다 필요한 기능이겠네요.
Len() '// 문자열 길이를 반환 
LenB() '// 문자열 길이를 바이트로 반환


 2. 예제 소스를 한번 살펴보세요. 제 홈페이지 주소 길이를 재어보았습니다.
1
2
3
4
<%
Response.write Len("GoCoder.Net"& " : 문자열의 길이 <br/>"
Response.write Lenb("GoCoder.Net"& " : 문자열의 바이트 길이 <br/>"
%>
cs

 3. 결과 화면입니다. 문자열은 11글자인데 바이트 수는 22라고 나오네요.



마무리


정말 많이 사용하는 함수 



댓글을 달아 주세요


asp에서 날짜 형식이 맞는지 확인하는 함수 


안녕하세요.
고코더 입니다.


데이터 형식이 날짜 형식으로 인식 될 수 있는지 알아보는 함수를 소개합니다. 날짜 형식의 정보를 받기 위해서 한번 유효성 검사를 할 수 있는 함수입니다. 

 1. 사용법은 간단합니다. 해당 함수에 변수를 넣으면 날짜 형식이 맞다면 true 아니면 false를 반환합닏.
IsDate(변수)


 2. 예제 소스를 살펴보겠습니다. today 변수에 각각 데이터를 넣고 날짜 형식이 맞는지 알아보는 샘플 입니다. 
1
2
3
4
5
6
7
8
<%
Today1 = "2000년 12월 11일"
Today2 = "GoCoder"
 
Response.write IsDate(Today1) & ": 날짜 형식이면 true"
Response.write "<br/>"
Response.write IsDate(Today2) & ": 날짜 형식이 아니면 false"
%>
cs

 3. 예상 결과 값대로 Today1은 true로 반환 값이 나타납니다. 



마무리


간단하게 날짜 함수인지 알아봐주니 얼마나 편한지요.



댓글을 달아 주세요