관리 메뉴

새로운 시작, GuyV's lIfe sTyle.

닷넷 게시판 만들기 Part 4 - 웹프로그래밍 맛보기(feat.아니전부) 본문

ⓟrogramming/asp.net 게시판

닷넷 게시판 만들기 Part 4 - 웹프로그래밍 맛보기(feat.아니전부)

가이브 2010. 12. 16. 15:28

2010/11/16 - [ⓟrogramming/.net] - 닷넷 게시판 만들기 Part 1
2010/11/18 - [ⓟrogramming/.net] - 닷넷 게시판 만들기 Part 2
2010/12/08 - [ⓟrogramming/.net] - 닷넷 게시판 만들기 Part 3

1. 닷넷 개발환경 준비, 테스트
2. 닷넷 알아보기 [2/..]
3. 게시판 글쓰기
4. 게시판 글목록
5. 게시판 글읽기
6. 다듬기



저번 시간에는 닷넷은 대략 다음 구조로 나누어져 있다고 했다.

namespace1
{
     class1
     {
             void method1()
             {
                      int property1 = 1;
                      string property2 = "안녕하세요";
             }
            string method2(string str1)
            {
                    return str1.ToUpper();
            }
     }

     class2
     {
     }
}

네임스페이스에는 두 개의 클래스가 있고, class1 이라는 클래스에 2개의 메소드가 있다.
무슨 말인지 이해 못할 것이다.
그래서, 우리가 만들어볼 첫 프로그램은 구구단이다. 

다시 말씀드리겠다. 이 강의의 목표는 절대 "결과물을 내는 목적만이 아니다."

여기서 잠깐, HTML 태그 공부는 다들 하고 오셨는가? 태그 공부 꼭 하길 바란다. 윈도우를 사용하려면 마우스 사용법을 익히듯, 웹 프로그래밍은 태그 학습이 필요하다.

구구단은 2단에서 9단까지 있다. 곱할 수가 2에서 9까지 있다는 것이다.
한번 만들어보자. 다음 소스를 참고한다.


default.aspx

<%@ Page Language="C#" runat="server" %>
<script language="C#" runat="server">

void Page_Load()
{
}

</script>


2x1 = 2<br>
2x2 = 2<br>
2x3 = 2<br>
2x4 = 2<br>
2x5 = 2<br>
2x6 = 2<br>
2x7 = 2<br>
2x8 = 2<br>
2x9 = 2<br>


다 만들어졌다. 실행해보자. 결과가 다음처럼 잘 나오는가?


이렇게 만들 수가 있다.
얼마나 쉬운가?

웹브라우저에서 결과가 나온 결과물의 소스를 보도록 하자.
소스보기는 익스플로러 메뉴의 "보기"에 있거나, 빈 공백에 오른쪽 버튼 눌러 "소스보기"를 누르면 된다.


위의 그림처럼, 소스 보기로 나온 소스는 우리가 타이핑 한 그것과 다르다. 닷넷 소스는 빠져있다. 왜냐하면, 저번에도 말했듯이 닷넷은 "문법만 맞으면 잘 실행되기 때문"이다. 우리가 방금 작성한 닷넷 소스(.aspx)에는 무언가를 뿌려주어라 라는 "출력문"이 없다. 그렇기 때문에 출력문이 없고, 오직 태그문만 있을 뿐이다. 이번 소스는 편의상

<html>
   <head>
       <title></title>
   </head>
</html>

이런 태그의 계층이란건 빠져있다. 우리는 지금 프로그래밍을 하고 있다. 태그가 맞지 않으면 그저 디자인이 망가질 뿐, 실행이 된다면 닷넷 컴파일에 성공하였고, 실행 결과물은 오직 "태그"임에 명심하자. 다시 말하겠다. "실행 결과물은 죽었다 깨어나도 웹브라우저가 해석하는 HTML 문법일 뿐!" 

대다수의 ASP.NET 닷넷 서적에서는 시작할 때 아주 중요한 개념이 빠져있다. 이 글을 읽으시는 여러분들은 꼭 실행할 때 마다 상기하자. "그래봐야 넌 HTML이라고.."

다시 돌아와서..
첫 프로그램의 소스를 다시 보자. 진하게 표시된 부분이 설명문(주석)이다.

                        ------ 소스의 시작 --------

<%@ Page Language="C#" runat="server" %>  C#으로 작성한다는 선언문
<script language="C#" runat="server">            소스코드시작(클래스로 봐도 무방하다고 했다)

void Page_Load()                                          자동 실행 메소드
{
}

</script>                                                     소스코드의 끝

                        ------ 여기서부터 화면에 보여지는 디자인(태그)부분--------
2x1 = 2<br>
2x2 = 4<br>
2x3 = 6<br>
2x4 = 8<br>
2x5 = 10<br>
2x6 = 12<br>
2x7 = 14<br>
2x8 = 16<br>
2x9 = 18<br>
                        ------ 소스의 끝 --------


우리는 C# 코드를 아무것도 넣지 않았다. 결과물은 분명 구구단 2단을 "태그로" 출력했다.
지금 당장 나와 비슷한 프로그램 초보인 친구에게 전화해서, 웹브라우저를 열고, 내 공인 IP주소를 불러주면서 주소창에 쳐보라고 하자.

http://내 실제 IP/default.aspx
(http:// 는 생략가능하다. 웹브라우저가 알아서 붙여주니까)

그럼 친구 컴퓨터의 웹브라우저에 틀림없이 구구단 2단이 나올 것이다. 자랑스럽게 말해주자. 이거 닷넷으로 만든거라고. 이 때, 친구는 당신이 작성한 소스코드를 직접 보지 않는 한, 무조건 믿을 수 밖에 없다. 필자가 말하고 싶은 핵심이다.

이제, 여기저기 내가 자주가는 웹사이트에 가서 소스보기를 해보자. 그저 태그문일 뿐이다. 이게 뭘로 만들어졌는지 알 수 없다. (조금 조사하면 알 수도 있다만 ^^) 최소한 겉으로는 알 수 없고, 알 필요도 없다. 

여기서 문제점은, 구구단 2단을 출력하는 페이지를 만들었는데 3단은 어떻게 해야할까?
필자가 2단을 기억해낸 것 처럼, 이런 어려운 녀석의 3단의 기억을 또 되살려야 한다. 그리고 또 똑같이 저렇게 태그로 쳐야 한다. 그럼 또 짠~ 하고 3단을 출력하는 페이지가 만들어질 것이다.

하나 더 예제를 해보자.



default.aspx (수정해서 사용)

<%@ Page Language="C#" runat="server" %>
<script language="C#" runat="server">

void Page_Load()
{
}

</script>


<b>지금 시간은 오후 3시 21분 입니다.</b>

소스를 보시면 알겠지만, 현재의 시간을 출력하는 대단한 프로그램인 듯한 페이지이다. 저장하고 출력해보자. (필자의 결과인증 스샷은 생략하겠다.) 지금 시간이 잘 출력된다. 이 페이지는 틀림없이 현재의 시간을 출력했다. 최소한 리프레쉬(F5)를 하지 않고 가만히 놔두면 말이다. 

HTML에 웹 프로그래밍 기술을 넣는 이유는, 사람들이 웹사이트에 접속해서 보는 뉴스정보,날씨정보 등을 현재의 정보로 "수동이 아닌 자동으로" 갱신하고 유지하기 위함이다. 이것을 이른바 "문자로 표현" 하면, "동적인 페이지 제작"이라 할 수 있다.
아주 특별한 것 같은 웹 프로그래밍을 우리는 두 개의 예제로 "왜 우리가 웹 프로그래밍을 배우냐?"라는 질문에 대한 답을 한 것이다.

이 글을 읽는 여러분들에게 "게시판 만드는 100가지 꽁수"를 아무리 알려드려도 여러분이 직접 하면 만들기 어렵다. 이해하자. 생각하자.

"왜 이렇게 될까? 이렇게 하면 어떻게 될까?"

스스로에게 질문을 던지자.

"빵집"이라는 완전 공짜 프로그램을 개발하신 양병규님이, "아이디어는 내가 구현할 수 있는 범위내에서 나온다"라고 하셨다.

솔직히, 이 글을 쓰면서도 초보인 여러분들이 부러운게 사실이다. 이 시기에 프로그래밍 공부하면서 재미볼 건이 많기 때문이다.


다음에 계속..






 

반응형
Comments