인터넷쇼핑몰구축 (Internet ShoppingMall) 저작자의동의없이배포를금합니다.

Size: px
Start display at page:

Download "인터넷쇼핑몰구축 (Internet ShoppingMall) 저작자의동의없이배포를금합니다."

Transcription

1 인터넷쇼핑몰구축 (Internet ShoppingMall) 저작자의동의없이배포를금합니다.

2 [ 성공의비결을파는가게 ] 옛날에어떤억만장자한사람이꿈속에서중국의어느산속마을에성공의비결을파는가게가있다는소문을듣고그비결을사기위해그가게를찾아여행을떠났습니다. 여러날동안갖가지고생과위험을겪은끝에어느심산입구에있는마을에도착하자마침내 ' 성공의비결을파는가게 ' 라는간판이눈에띄었습니다. 그가설레는가슴을진정시키면서가게안으로들어서자종업원한사람이친절한표정을지으면서그를맞이하였습니다. " 손님께서는어떤성공의비결을원하십니까? 여기에는크고작은성공의비결들이모두준비되 어있습니다." 종업원의설명이다끝나기도전에그억만장자는아주호쾌한목소리로외쳤습니다. " 나는당연히가장큰성공의비결을사고싶습니다. 값은얼마라도상관없으니이왕이면가장큰 성공의비결을하나주십시오." 그러자종업원은잠시그장자의얼굴을뚫어져라응시하더니이렇게말하는것이었습니다. " 아 -, 지금손님께서는가장큰성공의비결을찾으시는것이로군요. 그런데그것은너무나도비 싸기때문에그동안아무도사간사람이없었습니다." " 아니, 도대체얼마나비싸기에그런말씀을하시는겁니까? 돈은얼마든지있으니상관마시고 어서그비결이나가져오시오." 그러자종업원은어쩔수없다는표정을지으면서가장큰성공의비결이담긴상자를하나꺼내 다가상자를포장하고있던보자기를풀어내렸습니다. 그순간상자위에적혀있던가격표가억 만장자의눈에띄었습니다. " 가격 : 가장큰성공의비결을사가는사람은자신의남은생애에서 ' 편안한생활 ' 은모두포기해 야됨 " 그가격내용을본순간그억만장자는가장큰성공의비결이무엇인지를금방깨달을수있었고, 한순간헛된욕심에사로잡혀엉클어진자신의모습에놀란나머지그만꿈속에서화들짝깨어나현실세계로돌아오고말았습니다. 그장자는 ' 편안한생활을포기하면할수록그에정비례해서성공의크기는그만큼커진다 ' 고하는사실을깨달았던것입니다. ' 편안함을포기하는만큼, 성공의크기는그만큼커진다. 많이포기하면많이포기할수록성공의 크기는그만큼더욱커진다!' 여러분! 만약우리가 ' 지금부터편안하게살겠다고선언한다 ' 면그것은바로 ' 지금부터성공하기를포기하 겠다 ' 고선언하는것과똑같은것입니다. 배우는내용이조금어려울지도모르겠지만성공을위해편안함을포기하지않겠습니까?

3 [ 목차 ] 1. 소개 1 가. 교재안내 1 나. 학습내용 1 다. 평가 2 라. 준수사항 2 마. ASP를배우는이유 2 바. 인터넷쇼핑몰을배워서할수있는일 2 사. 인터넷쇼핑몰을이용한사이트찾아보기 2 2. 환경설정 6 가. asp 소개 6 나. html 문서해석과정 6 다. asp 문서해석과정 6 라. URL 주소형식 7 마. asp 개발환경 7 바. PWS 설치 7 사. Windows XP에서 IIS 웹서버설정 8 아. 테스트 9 3. VBScript 13 가. 클라이언트스크립트와서버스크립트 13 나. 클리아언트스크립트해석과정 13 다. 서버스크립트해석과정 13 라. 서버스크립트사용하는방법 14 마. VBScript 시작하기 Form 태그 32 가. Form 태그형식과속성 32 나. 각종태그 객체 39 가. 객체정의및구성요소 39 나. ASP 객체모델 39 다. 객체구성요소 40 라. Request 객체 40 마. Response 객체 ASP 어플리케이션 47 가. asp 어플리케이션이란? 47 나. ASP 객체 47 다. Global.asa 47

4 7. SQL 의기초 ( 이론 ) 53 가. 데이터베이스의개요 53 나. 데이터베이스시스템의구성 54 다. 데이터베이스관리시스템 54 라. 데이터모델과모델링 56 마. 관계형데이터베이스 57 바. Access 사용하기 HTML 65 가. 소개 65 나. 구성요소및구조 65 다. 태그와폼태그 66 라. 데이터베이스이용을위한준비 67 마. 간단한예제작성 68 바. 사전숙지사항 에디터사용하기 74 가. Edit Plus v.2.20 다운로드하기 74 나. 설치하기 74 다. 실행하기 74 라. 서버설정하기 회원관리사이트제작 80 가. 개요 80 나. 전체적인흐름도 80 다. 데이터베이스 80 라. 각페이지및모듈설명 80 마. 각페이지작성 게시판제작 94 가. 개요 94 나. 전체적인흐름도 94 다. 데이터베이스 94 라. 각페이지구성및모듈설명 94 마. 각페이지작성 각종에러와오류수정 105 가. DB관련에러 105 나. 자바스크립트에러 105 다. 오류수정방법 포트폴리오 (PortPolio) 115 가. 대한민국상이군경회

5 나. 초기화면 115 다. 데이터베이스 116 라. 각페이지구성 ( 약 130 개프로그램 )

6 1. 소개 가. 교재안내 ü 수업은별도의교재없이진행함 ü 대신수업전에프린트또는제본하여준비할것 - 수업전수업준비확인하여가산및감점부여 ü 참고교재 - 데이터베이스와액세스활용 ( 정일출판사 ) - ASP를이용한웹사이트구축 ( 홍릉과학출판사 ) - 실용중심의 ASP 프로그래밍 ( 생능출판사 ) - 기타 나. 학습내용 ü 1주차 : 오리엔테이션 (Orientation) - 동기부여및학학기동안학습할내용검토하기 ü 2주차 : 환경설정및테스트 - ASP 프로그래밍을위한환경설정및테스트 ü 3주차 : VBScript(1) - 클라이언트와서버이해, 작업흐름이해 ü 4주차 : VEScript(2), VB 스크립트요약정리제출과제 - 스크립트문법 ü 5주차 : VBScript(3) - 스크립트문법 ü 6주차 : Form 태그 - 서버전달을위한 Form 태그의이해및문법숙지 ü 7주차 : 객체 - 5가지객체의이해와 Global.asa 이해 ü 8주차 : 중간고사 ü 9주차 : 데이터베이스 - 데이터베이스이론과 ACCESS를통한실무접목 ü 10주차 : HTML - 웹페이지작성을위한기본 HTML 이해 ü 11주차 : 에디터및에러수정 - 에디터사용법과에러에대한적절한대처요령숙지 ü 12주차 : 실무예제 (1) - 회원관리프로그램작성 ü 13주차 : 실무예제 (2), 회원관리와유사한프로그램제출과제 - 게시판프로그램작성 ü 14주차 : 실무예제 (3) - 과제발표와검토 ü 15주차 : 기말고사 - 1 -

7 다. 평가 ü 중간고사 : 30%, 기말고사 : 40% ü 과제및태도 : 20%, 출석 : 10% 라. 준수사항 ü 교재 ( 프린트제본 ) 반드시지참 ü 과제반드시제출 ü 휴대폰진동또는사용금지 ü 수업과관련이없는웹서핑, MSN, 게임등금지 ( 적발시감점 ) ü 수업시작시간준수및결석 1/4 이상시 F학점부여 마. ASP 를배우는이유 ü 데이터베이스와연동하기위해 (HTML만으로는연동할수없음 ) ü 프로그래밍이가능함 (HTML만으로는불가능함 ) 바. 인터넷쇼핑몰을배워서할수있는일 ü 인터넷의흐름파악 ü 웹응용프로그램작성 - 로그인및회원관리 ( 난이도초 ) - 방명록, 게시판, 자료실 - 버스, 기차, 비행기티켓예매및관리등인터넷실시간처리 사. 인터넷쇼핑몰을이용한사이트찾아보기 [ 실습 ] 찾은인터넷사이트 3명발표하기 [ 실습 ] 대한민국상이군경회회원관리프로그램시연 - ASP + 엑세스 (ACCESS) - 2 -

8 - 3 -

9 - 4 -

10 - 5 -

11 2. 환경설정 가. asp 소개 ü asp란? - Active Server Pages - 마이크로소프트사에서개발된서버스크립트언어 w 서버스크립트언어는웹서비스를제공하는웹서버컴퓨터상의스크립트엔진에의해스크립트코드가해석되고실행되는것을의미하며클라이언트스크립트언어 (HTML, 자바스크립트, VB 스크립트등 ) 는사용자의컴퓨터에설치되어있는스크립트엔진에의해해석되고실행됨 ü 동적인웹페이지작성도구 - 애니메이션이나플래시등을의미하지않음 ü 지원환경 - IIS 웹서버 3.0 ( 윈도우 NT) - IIS 웹서버 5.0 ( 윈도우 2000) - IIS 웹서버 5.1 ( 윈도우 XP Professional 가능, XP home Edition은불가 ) - PWS(Personal Web Server) 4.0 ( 윈도우 98) ü 자신의컴퓨터환경에따라웹서버를고려하여야함 ü ASP 용도 - 기업이나개인홈페이지 - 데이터베이스관련업무 ( 도서검색, 은행의계정관리등 ) 나. html 문서해석과정 해설 : 웹브라우저에의해 index.html 요청시웹서버는해당문서가존 재하는지파일시스템에서문서를검색하고존재할시에해당문서를제공 함. 다. asp 문서해석과정 - 6 -

12 해설 : asp.dll 에의해 asp 코드를해석하고 html 문서로변환하여문서를 제공하는차이가있음. 라. URL 주소형식 ü http : 프로토콜 ü :// : 구분자 ü : 도메인주소 ü / : 경로 ü index.html : 문서명 * 문서명이전부분까지는대소문자구분없음 예 ) ( 위와동일함 ) 마. asp 개발환경 ü MS 웹서버 + 데이터베이스 - IIS + SQL Server - PWS + Access - ODBC ( 데이터베이스연동지원 ) ü 가상디렉토리 - / = c:\inetpub\wwwroot - 웹홈디렉토리를의미 - 실제시스템에서는웹서버에의해서지정됨 - IIS에서는기본으로 C:\inetpub\wwwroot로설정 바. PWS 설치 ü 초기화면및설치방법선택 ü 윈도우 XP Professional과 IIS가설치되어있는경우에는생략가능 - 7 -

13 ü 홈디렉터리설정및설치완료 ü 설치후바탕화면확인 ü 홈디렉터리확인및멈춤과시작 사. Windows XP 에서 IIS 웹서버설정 ü [ 제어판 ] - [ 관리도구 ] - [ 인터넷정보서비스 ] 를실행한다. / [ 기본웹 사이트 ] 위에서마우스오른쪽버튼을클릭하고속성메뉴를선택한다

14 ü 로컬경로확인및기본문서설정 아. 테스트 ü 메모장을이용하여작성하기 ( 가능하면 EditPlus 2 를사용하면편리함, 9 장참조 ) ü c:/wwwroot/inetpub/ 에저장하며파일이름은 Hello.asp 로할것 <HTML> <HEAD> <TITLE> Hello ASP </TITLE> </HEAD> <BODY> <P> for i = 1 to 3 step 1 Hello ASP student = i <BR><BR> next </BODY> </HTML> ü Hello.asp 해석과정 - 9 -

15 - 10 -

16 - 11 -

17 - 12 -

18 3. VBScript 가. 클라이언트스크립트와서버스크립트 ü 스크립트 ( 간단한프로그래밍언어를의미함 ) ü Script 언어 vs. Programming 언어 - 표현력차이여부 - 특정용도에맞도록설계되었는지여부 - 빨리익혀서쉽게사용가능여부 ü VBScript - ASP에서사용하는스크립트언어 ü 클라이언트 vs. 서버 - 클라이언트의요청을서버가받아서처리와응답을함 ü 웹환경 - 클라이언트 : 웹브라우저 - 서버 : 웹서버 나. 클리아언트스크립트해석과정 다. 서버스크립트해석과정

19 라. 서버스크립트사용하는방법 ü 방법 1 : <Script> 태그사용 <Script language=vbscript runat=server> 'VBScript 코드 </Script> ü 방법 2 : 사용일반적으로이방법을사용함 마. VBScript 시작하기 ü 변수 - 값을저장할수있는기억공간 - 구성 w 이름 w 데이터형식 w 값 - 예 w intage = 20 w intnextage = intage intnextage 의값은? [ 실습 ] HTML 안에그냥기입한경우와 를이용하여기입한경우의차 이확인 - HTML 은표현하는언어 ( 보여주기위한언어 ) 이다. ü Dim문 - 명시적변수선언시사용 w 문두에 Option Explicit 기입 w Dim을이용한선언 - 예 w Dim intage w Dim intnextage

20 w intage = 10 w intnextage = intage Dim 선언시변수는기본값을가짐 w 숫자 : 0 w 문자열 : 길이가 0 인빈문자열 - Dim의필요성 w intage = 10 w intnextage = inage + 1 w intnextage의값? - Option Explicit w 명시적으로변수를선언하도록함 [ 실습 ] option-explicit.asp option explicit <html> <body> Dim intage Dim intnextage intage = 10 intnextage = inage + 1 </body> </html> ü 변수의데이터형식 - Variant w 유일한데이터형식만제공 w 자동으로적용 - Variant의하위형식 w Integer(2) w Long(4) w Single(4) w Double(8) w String w Boolean(True, False) w - 기본값은 False w Date w Empty [ 실습 ] typename.asp

21 option explicit <html> <body> <h2> 변수의하위형식 : typename() </h2> Dim intage Dim strname Dim strzip Dim datbirth Dim dblweight intage = 20 strname = " 이동양 " strzip = " " datbirth = #4/20/81# dblweight = 64.7 <p> =intage =" : " =typename(intage) <br> =strname =" : " =typename(strname) <br> =strzip =" : " =typename(strzip) <br> =datbirth =" : " =typename(datbirth) <br> =dblweight =" : " =typename(dblweight) <br> </body> </html> ü 데이터형식변환함수 - 하위형식에서다른하위형식으로데이터변환이필요한경우사용 - 변환함수 w Cbool w Cdate w CDbl w Cint w Clng w CSng w CStr [ 실습 ] datatypechange.asp

22 option explicit <html> <body> <h2> 변수의데이터형식변환 </h2> Dim stravg, intavg, dblavg, blnavg, bytavg stravg = "4.56" intavg = CInt(strAvg) dblavg = CDbl(strAvg) blnavg = Cbool(strAvg) bytavg = Cbyte(strAvg) <p> String : =stravg <br> Integer : =intavg <br> Double : =dblavg <br> Boolean : =blnavg <br> Byte : =bytavg <br> stravg = "0" intavg = CInt(strAvg) dblavg = CDbl(strAvg) blnavg = Cbool(strAvg) bytavg = Cbyte(strAvg) <p> String : =stravg <br> Integer : =intavg <br> Double : =dblavg <br> Boolean : =blnavg <br> Byte : =bytavg <br> </body> </html> option explicit <html> <body> <h2> 변수의하위형식 : typename() </h2> Dim intage, strname, strzip, datbirth, dblweight intage = 20 strname = " 이동양 " strzip = " " datbirth = #4/20/81# dblweight = 64.7 <p> =intage =" : " =typename(intage) <br> =strname =" : " =typename(strname) <br> =strzip =" : " =typename(strzip) <br> =datbirth =" : " =typename(datbirth) <br> =dblweight =" : " =typename(dblweight) <br> </body> </html>

23 ü 변수명명규칙 - 첫글자는영문자로시작 - 마침표, 느낌표등특수문자는불가 - 글자수 255개이하 - 예 w Var, tel_123, 119fire, bip*3 - 상수 w 값이한번정해지면변하지않는수 w Const Pi = ü 연산자 - 할당연산자 (=) w 변수에어떤값을할당함 - 예 w inta = 10 w intb = inta w intb = intb + 5 ü 산술연산자 - +, -, *, /, - ^ w 지수승 w 2^3? - \ w 나눗셈후정수몫을돌려줌 w 20\3? - Mod w 나눗셈후나머지를돌려줌 w 20 mod 3? [ 실습 ] arithmetic.asp

24 <html> <body> <h2> 산술연산자 </h2> intno1 = 7 intno2 = 2 subres = intno1 - intno2 mulres = intno1 * intno2 divres = intno1 / intno2 powres = intno1 ^ intno2 intdivres = intno1 \ intno2 modres = intno1 Mod intno2 <p> =intno1 - =intno2 = =subres <br> =intno1 * =intno2 = =mulres <br> =intno1 / =intno2 = =divres <br> =intno1 ^ =intno2 = =powres <br> =intno1 \ =intno2 = =intdivres <br> =intno1 Mod =intno2 = =modres <br> 2^3^4 = =2^3^4 </body> </html> ü 비교연산자 - <, <=, >, >=, =, <> - 문자열비교는 ASCII 코드값순임 w A < a? w FMD < am? w 9 < a? [ 실습 ] comparison.asp : 비교연산자

25 <html> <body> <h2> 비교연산자 </h2> intno1 = 7 intno2 = 2 intno3 = Empty string1 = "Good" string2 = "Bad" string3 = "bad" string4 = Empty <p> <table border=0> <tr><td> =intno1 > =intno2 <td> => <td> =(intno1 > intno2) <br> <tr><td> =intno1 < =intno3 <td> => <td> =(intno1 < intno2) <br> <tr><td> =intno1 >= =string1 <td> => <td> =(intno1 >= string1) <br> <tr><td> =intno3 <= =intno2 <td> => <td> =(intno3 <= intno2) <br> <tr><td> =string2 <> =string3 <td> => <td> =(string2 <> string3) <br> <tr><td> =intno3 = =string3 <td> => <td> =(intno3 = string3) <br> <tr><td> =string1 > =string2 <td> => <td> =(string1 > string2) <br> </table> </body> </html> ü 논리연산자 - Boolean형식 w True 또는 False 값을가짐 - And, Or, Not, Xor - 숫자논리연산

26 ü 연결연산자 (&) - 예 w String1 = Good w String2 = Morning! w StrRes = String1 & String2 w StrRes? w Good Morning! ü 연산자우선순위 - 산술 > 연결 > 비교 > 논리연산자순 - P 60 표참조 - 문제 w 3 > 2 and 7 <=5 or 4 = 2? w 3 * 4 > 4 1 and 3 <= 3? ü 배열 - 연속적인기억공간을가지는변수 w 색인 (index) 번호를이용 - 효율적으로값을참조 w Dim arrcol(9) w arrcol(1), arrcol(2),, arrcol(9) - 반복루프를쉽게설정하여코드작성이쉽고간단 For I = 1 to 9 Sum = sum + arrcol(i) Next - 색인값시작은 0 부터 - 값할당은변수처럼 w arrcol(0) = white w arrcol(1) = 다차원배열 w DimArrTable(2,3)

27 - 2행의모든값을더하는코드 Dim arrtable(2,3) Dim sum sum = 0 For I = 1 to 4 sum = sum + arrtable(1, i -1) Next [ 실습 ] 3 열의합을구하는코드를작성하라. ü 제어문 - If~then If 조건식 then End if - If~then~else If 조건식 then 조건이 true인경우 Else 조건이 false인경우 End if - Select case Select case 검사식 Case 결과1 실행1 Case 결과2, 결과3 실행2 Case else 실행3 End [ 실습 ] select-case.asp

28 <html> <body> <h2> 제어문 select case </h2> grade = 84 select case (grade \ 10) case 9, 10 Response.write " 성적은 A 입니다 " case 8 Response.write " 성적은 B 입니다 " case 7 Response.write " 성적은 C 입니다 " case 6 Response.write " 성적은 D 입니다 " case 5,4,3,2,1,0 Response.write " 성적은 F 입니다 " case else Response.write " 잘못입력된성적입니다 " end select </body> </html> ü 반복문 - 4가지반복문 w While Wend w Do Loop w For Next w For each next - 중첩가능 - While Wend w 1 부터 10 까지의합을구하라. [ 실습 ] while-wend.asp

29 <html> <body> <h2>? While... Wend </h2> intcnt = 1 intsum = 0 while intcnt <= 10 intsum = intsum + intcnt if intcnt = 1 then Response.write intcnt & " " else Response.write "+ " & intcnt & " " end if intcnt = intcnt +1 wend Response.write "= " & intsum </body> </html> - For next w 반복횟수를알고있는경우 w 강제로빠져나오려면 exit for를사용 w 1부터 10까지의홀수의합을구하라. w 1부터 20까지의수에서 3의배수의합을구하라. [ 실습 ] for-next.asp

30 <html> <body> <h2>? For...Next </h2> intsum = 0 For intcnt = 1 to 10 step 2 intsum = intsum + intcnt if intcnt = 1 then Response.write intcnt & " " else Response.write "+ " & intcnt & " " end if Next Response.write "= " & intsum & "<br>" </body> </html> ü 프로시저 - 여러스크립트문장을모아서하나의모듈형태의단위로사용하는것 w 반복사용되는기능 w 프로그램코드의이해도증진 - 서브루틴 vs. 함수 w 해당모듈을순차적으로수행 w 결과값을돌려줌 [ 실습 ] procedure.asp

31 <html> <body> <h2> 프로시저 - 서브루틴, 함수 </h2> Sub print(val) Response.write val & " " End Sub Function funcsum(val1, val2) funcsum = val1 + val2 End Function intsum = 0 For intcnt = 1 to 10 intsum = funcsum(intsum, intcnt) if intcnt = 1 then print(intcnt) else Response.write "+ " & intcnt & " " end if Next Response.write "= " & intsum & "<br>" </body> </html> - 문자열함수 w Left(), right(), mid() : 주어진문자열에서서브문자열을취함 [ 실습 ] function-1.asp <html> <body> <h2> 문자열함수 - left(), right(), mid() </h2> strasp = "active server pages" 문자열 : =strasp <br><br> 왼쪽 6 문자 : =left(strasp,6) <br> 오른쪽 5 문자 : =right(strasp,6) <br> 가운데 6 문자 : =mid(strasp,8,6) </body> </html> w Len() : 문자열의길이를돌려줌 [ 실습 ] function-2.asp

32 <html> <body> <h2> 문자열함수 - len(), trim() </h2> strasp = " active server pages " <table> <tr><td> 문자열 : <td> =strasp <tr><td> 문자열길이 : <td> =len(strasp) <tr><td> 왼쪽공백제거후길이 : <td> =len(ltrim(strasp)) <tr><td> 양쪽공백제거후길이 : <td> =len(trim(strasp)) </table> </body> </html> w Replace() : 주어진문자열에서특정문자열을검색하고, 검색한문자열을다른문자열로치환 w instr() : 주어진문자열에서특정문자열을찾아서그위치값을돌려주며만약찾지못하면 0 값을돌려줌 [ 실습 ] function-3.asp

33 <html> <body> <h2> 문자열함수 - 검색관련 instr(), replace() </h2> strasp = " active server pages " <table> <tr><td> 문자열 : <td> =strasp <tr><td> 문자열 Ver 찾기 : <td> =instr(strasp,"ver") <tr><td> 문자열 ver 찾기 : <td> =instr(strasp,"ver") <tr><td> "pages" 찾아서 "PAGES" 로치환 : <td> =replace(strasp,"pages","pages") <tr><td> 문자열 : <td> =strasp </table> </body> </html> [ 실습 ] 주어진문자열에서 b 를찾아서 b 다음의 3문자를출력하는코드를작성하라

34 - 29 -

35 - 30 -

36 - 31 -

37 4. Form 태그 가. Form 태그형식과속성 ü Form 태그형식 <Form > </Form> - 사용자로부터정보를입력받아서버로전송하기위한폼 ( 텍스트박스, 콤보박스, 라디오버튼, 체크박스, 텍스트에어리어 ) 작성 [ 실습 ] ex4-1.asp <html> <body> <h2> 간단한 Form 태그예 </h2> <hr> 성적입력하기 <p> <Form action = "result.asp" method = "post"> 이름 : <Input type = "text" name = "name" ><p> 성적 : <Input type = "text" name = "grade" ><p> <Input type = "submit" value = " 입력하기 " > <Input type = "reset" value = " 취소하기 " > </Form> </body> </html> ü Form 태그속성 <FORM action= result.asp method= post enctype=application/ x-www-form-urlencoded> <INPUT type=text name=grade value= A >... </FORM> - action속성 w 사용자입력값을받을페이지 w 사용자의입력을서버에있는 action에설정된페이지가처리하게됨 - method속성 w 사용자메시지의전송방식 w get : default, 메시지를 URL에포함 w post : URL과별도로전송, 대용량정보, ID,PW 등과같은보안이필요한정보 [ 실습 ] Get방식 : ex4-2.asp, result-get.asp

38 <html> <body> <h2> 간단한 Form 태그예 </h2> <hr> 성적입력하기 <p> <Form action = "result-get.asp" > 이름 : <Input type = "text" name = "name" ><p> 성적 : <Input type = "text" name = "grade" ><p> <Input type = "submit" value = " 입력하기 " > <Input type = "reset" value = " 취소하기 " > </Form> </body> </html> <html> <body> <h2> Form 태그입력값출력하기 </h2> <hr> 입력성적보기 <p> name = request.querystring("name") grade = request.querystring("grade") response.write name & " : " response.write grade </body> </html> [ 실습 ] Post방식 : ex4-1.asp, result.asp <html> <body> <h2> Form 태그입력값출력하기 </h2> <hr> 입력성적보기 <p> name = request.form("name") grade = request.form("grade") response.write name & " : " response.write grade </body> </html> - Enctype속성

39 w w w 전송하는입력값의 encoding 형식 application/x-www-form-urlencoded 가디폴트 파일업로드경우 : multipart/form-data 설정 action 속성 나. 각종태그 ü Input 태그및속성 <FORM action= result.asp method= post enctype=application/ x-www-form-urlencoded> <INPUT type=text name=name> <INPUT type=text name=grade value= A > <INPUT type=submit value= 입력 > <INPUT type=reset value= 취소 > </FORM> [ 실습 ] tag.asp <html> <body> <hr> 성적입력하기 <p> <Form action = "result2.asp" method = "post"> 이름 : <Input type = "text" name = "name" size = 20 maxlength = 40><p> 패스워드 : <Input type = "password" name = "pass" size = 20><p> 성적 : <Input type = "text" name = "grade" size = 10 value = 0 ><p> 평가 : <Textarea name = "etc" cols="30" rows="3" >... </Textarea><P> <Input type = "submit" value = " 입력하기 " > <Input type = "reset" value = " 취소하기 " > </Form> </body> </html> ü 다양한입력태그 - 라디오버튼 : 여러값중하나선택 - 체크박스 : 여러값을선택 - Select 태그 : 목록에서값을선택 [ 실습 ] ex4-4.asp, result3.asp

40 <html> <body> <hr> Radio 버튼및체크박스선택 <p> <Form action = "result3.asp" method = "post"> <Table> <tr><td> 직업은? <td> <Input type="radio" name="job" VALUE="student" CHECKED> 학생 <br><input type="radio" name="job" VALUE="prof" > 교수 <br><input type="radio" name="job" VALUE="assist"> 조교 <br><br> <tr><td> 취미는 <td> <Input type="checkbox" NAME="hobby" VALUE="sports"> 운동 <br><input type="checkbox" NAME="hobby" VALUE="movie"> 영화 <br><input type="checkbox" NAME="hobby" VALUE="tour"> 여행 </Table><br> <Input type = "submit" value = " 입력 " > <Input type = "reset" value = " 취소 " > </form> <HR> <H4> 목록에서값선택하기 </H4> <Form action = "result4.asp" method = "post"> <Select name="list" size="1"> <Option value="list1"> List 1 <Option value="list2"> List 2 <Option value="list3"> List 3 </Select><p> <H4> 목록에서다중값선택하기 </H4> <Select name="listbox" size="3" multiple> <Option value="listbox1"> List 1 <Option value="listbox2"> List 2 <Option value="listbox3"> List 3 <Option value="listbox4"> List 4 </Select> <Input type = "submit" value = " 입력 " > <Input type = "reset" value = " 취소 " > </Form> </body> </html> [ 실습 ] HTML 학습및실습사이트

41 - 36 -

42 - 37 -

43 - 38 -

44 5. 객체 가. 객체정의및구성요소 ü 객체란 - 객체지향프로그래밍에서객체는, 프로그램설계단계에서최초로생각해야할것으로서, 결국프로세스에서유도된코드단위들이다. 중간에, 각객체는일반화된객체클래스로만들어지고더욱일반화된클래스가정의됨으로써, 객체가모델을공유하고그코드에서클래스정의를재사용할수있게한다. 각각의객체는특정클래스또는그클래스의자체메쏘드나프로시저그리고데이터변수를가지고있는서브클래스가실제로구현된것, 즉인스턴스이다. 그러므로객체는실제로컴퓨터내에서수행되는것을말한다. ( 이해될려나 ^^; 그냥이미만들어져있는함수이며자신이재정의하여이용한다고정도로생각하고지나가자.) ü 구성요소 ( 객체 = 속성 + 메서드 ) - 속성 w 객체의정적인특성 - 메서드 w 객체의동적인특성 나. ASP 객체모델 ü Request 객체 - 웹브라우저의요청정보예 ) Form 컬렉션 ü Response 객체 - 웹서버의응답정보예 ) write 메서드 ü Application 객체 - 하나의웹서비스를담당예 ) 사이트방문자수정보 ü Session 객체 - 접속사용자별로연결정보 ü Server 객체

45 - 새로운객체생성시사용 - 예 ) DB 접속 ( connection 객체필요 ) 다. 객체구성요소 ü 컬렉션 : 객체들의집합 ü 속성 : 홍길동이라는객체가있을때 이름 : 홍길동 에서 이름 을지칭 ü 이벤트 : 어떤행위가발생한것으로 클릭, 드래그, 닫기 등의사건 ü 메서드 : 행동을의미하며레코드셋을열때 open() 과같은것 라. Request 객체 ü 사용자의요청정보저장 - 컬렉션 w ClientCertificate : 사용자인증정보 w Cookies w Form : Post 방식사용자입력정보 ( 많이사용 ) w QueryString : Get 방식사용자입력정보 ( 많이사용 ) w ServerVariables : 환경정보 ( 가끔사용 ) ü Form 태그전송정보이용 - Post vs. Get - Post 방식

46 <Form action = "result.asp" method = "post"> 이름 : <Input type = "text" name = "name" ><p> 성적 : <Input type = "text" name = "grade" ><p> <Input type = "submit" value = " 입력하기 " > <Input type = "reset" value = " 취소하기 " > </Form> name = request.form("name") grade = request.form("grade") * request객체의 form 컬렉션을이용한것임 - Get 방식 <Form action = "result.asp" method = "get"> 이름 : <Input type = "text" name = "name" ><p> 성적 : <Input type = "text" name = "grade" ><p> <Input type = "submit" value = " 입력하기 " > <Input type = "reset" value = " 취소하기 " > </Form> name = request.querystring("name") grade = request. querystring ("grade") - URL 형태 ü URL 인코딩규칙 - 영문, 숫자 -> 그대로 - 한글, 특수문자 -> 16진수예 ) space -> + % -> %25 + -> %2B 황 -> %c8%ab - 컬렉션이름생략시우선순위 w QueryString > form > cookies > servervariables ü 서버변수 - 요청과정에서전송되는정보

47 - Request 객체의 servervariables 컬렉션 w 클라이언트의 IP주소 w 웹브라우저정보 [ 실습 ] Ex5-1.asp <html> <body> <hr> 서버변수 <p> 전송방식 : = Request.ServerVariables("REQUEST_METHOD") <p> 클라이언트 IP 주소 : = Request.ServerVariables("REMOTE_ADDR") <p> 전체 HTTP 문자열 : = Request.ServerVariables("ALL_HTTP") <p> <table border=1> <tr><td> 변수이름 <td> 값 for each svar in Request.ServerVariables <tr><td> = svar <td> if Request.ServerVariables(sVar) = "" then Response.Write " " else Response.Write Request.ServerVariables(sVar) end if next </table> </body> </html> 마. Response 객체 ü 요청에대한응답정보저장및처리 - 컬렉션 w Cookies - 속성 w Buffer : 페이지버퍼링, Clear, flush, end 메서드와연관 w contenttype : 문서의 MIME 타입 w Status : 요청에대한상태값 - 메서드 w Clear w End w Flush : Buffer 사용예제 [ 실습 ] Ex5-2.asp

48 <html> <body> <hr> <h4> response 객체 - 페이지버퍼링 </h4><p> response.buffer = true 1. 버퍼설정후, flush 전입니다.<P> response.flush 2. flush 후, clear 전입니다.<P> response.clear 3. clear 후, flush 전입니다.<P> response.flush 4. flush 후, end 전입니다.<P> response.end 5. end 후입니다.<P> </body> </html> w Redirect : 인자로지정한주소로이동, Response.redirect( ) [ 실습 ] 지정된페이지로이동하는예제를작성해보자. w write : 연결연산자 (&) 의사용가능 [ 실습 ] Ex5-3.asp <html> <body> <hr> <h4> response 객체 - write 메서드 </h4><p> Response.Write "Active " Response.Write "Server " Response.Write "Pages <p> " Response.Write "Active " & "Server " & "Pages <p> " </body> </html>

49 - 44 -

50 - 45 -

51 - 46 -

52 6. ASP 어플리케이션 가. asp 어플리케이션이란? ü 하나의응용서비스프로그램 ü 구성 - 가상디렉토리안의여러웹페이지 - Global.asa : ASP 페이지가불려질때먼저참조하는파일 나. ASP 객체 ü Application 객체 - 웹어플리케이션에대한내용을담고있는객체 - 어플리케이션에한개존재 ü Session 객체 - 사용자의접속시생성되는객체 다. Global.asa ü 어플리케이션마다하나존재 ü 어플리케이션의모든페이지에적용되는페이지 ü 이벤트처리서브루틴 - Application 이벤트 w Application_onStart w Application_onEnd

53 - Session 이벤트 w Session_onStart w Session_onEnd ü Global.asa 구성형식 <Script language = VBScript runat = server> Sub Application_OnStart 어플리케이션이처음시작할때실행할스크립트코드 end Sub Sub Application_OnEnd 어플리케이션이종료될때실행할스크립트코드 end Sub Sub Session_OnStart 사용자세션이처음시작할때실행할스크립트코드 end Sub Sub Session_OnEnd 사용자세션이종료될때실행할스크립트코드 end Sub <Script> ü Application 변수 / Session 변수 - 페이지간데이터공유 w Application변수 /Session변수이용예 ) application(usercount) [ 실습 ] Ex6-1.asp, global.asa <html> <body> <hr> <h4>application 이벤트, Session 이벤트 </h4><p> 당신은 =application("usercount") 번째방문객입니다. </body> ] </html>

54 <Script language = VBScript runat = server> Sub Application_OnStart Application("userCount") = 0 end Sub Sub Application_OnEnd end Sub Sub Session_OnStart Application.Lock Application("userCount") = Application("userCount") + 1 Application.Unlock end Sub Sub Session_OnEnd end Sub </Script> ü Application 객체 - 구성 w 컬렉션 : Contents : Application 변수저장 - 메서드 w Lock w Unlock - 이벤트 w onstart w onend

55 - 50 -

56 - 51 -

57 - 52 -

58 7. SQL 의기초 ( 이론 ) 가. 데이터베이스의개요 ü 데이터와정보 - 데이터 : 관찰이나측정을통해수집된사실이나값 - 정보 : 임의의상황에서적절한의사결정을할수있게하는지식으로데이터를가공처리하여얻은결과 ü 구성요소 - 업무데이터, 메타데이터, 하드웨어, 운영체제와데이터베이스관리시스템, 응용프로그램으로대별되는소프트웨어, 데이터베이스시스템을이용하는사용자등 ü 파일시스템 - 초기응용프로그램들은사무적업무에중점을두고개발 - 조직체가커지고데이터양이많아지면서문제발생 w 데이터의중복과불일치 w 데이터의고립 w 보안문제 w 무결성 ( 정확성 ) 문제 w 데이터접근의곤란 - 데이터베이스시스템의목적 w 데이터중복의최소화 w 데이터의공유 w 데이터보안기법도입

59 w 데이터무결성유지 w 데이터일관성유지 - 데이터베이스관리시스템의도입 w 오라클 (Oracle) w 인포믹스 (Informix) w 사이베이스 w MS-SQL 나. 데이터베이스시스템의구성 ü 데이터베이스정의 - 현실세계에근거를둔데이터들을관련있는데이터간의중복을최소화하면서통합하여, 저장매체에저장함으로서여러사용자들이공유할수있도록하는데이터의집합체 - 정의가함축하고있는의미 w 데이터베이스는공용데이터 (Shared Data) 이다 w 데이터베이스는통합데이터 (Integrated Data) 이다 w 데이터베이스는저장데이터 (Stored Data) 이다 w 데이터베이스의데이터는운영데이터 (Operational Data) 이다 - 데이터베이스스키마 w 데이터베이스를구성하는데이터개체, 속성, 관계, 구조, 제약조건등데이터베이스에저장된모든자료들의논리적구조와관계를의미 w 3단계스키마 ( 사용자관점에따라 ) 다. 데이터베이스관리시스템 ü 사용자의응용프로그램과데이터베이스사이에위치하며, 모든응용프로그 램의데이터베이스접근을대행하고관리해주는소프트웨어

60 ü 데이터베이스관리시스템의구성요소 - DDL컴파일러 : 데이터정의어르관계데이터베이스형태인테이블의집합으로변환 - 질의어처리기 : 사용자가요구한질의어를데이터베이스처리기가이해할수있는명령어로변환 - 예비컴파일러와 DML 컴파일러 : 응용프로그램내에저장된데이터조작어를호스트언어로변환 - 런타임데이터베이스처리기 : 데이터베이스내에저장된데이터와시스템에제출된응용프로그램및질의프로그램간의인터페이스제공 - 저장데이터관리자 : 디스크기억공간의할당과디스크에정보를저장하기위한데이터구조를관리 - 데이터베이스관리시스템구성요소 ü 데이터베이스관리시스템의분류 - 데이터모델, 허용되는사용자수, 데이터베이스설치장소수에따라분 류 ü 데이터베이스시스템언어 - 데이터정의어 (DDL : Data Definition Language) w 데이터베이스의구조를정의하기위해사용되는언어 w 데이터베이스설계자는 DDL을이용하여시키마기술 w 설계된데이터베이스시키마는 DDL 컴파일러에의해컴파일됨 - 데이터조작어 (DML : Data Manipulation Language) w 사용자로하여금데이터를조작하도록지원하는언어 w 질의어를통한검색, 삽입, 삭제, 수정 - 데이터제어어 (DCL : Data Control Language)

61 w w 데이터의제어를정의, 기술하기위해사용된언어 불법사용자들로부터데이터베이스를보호하기위해데이터베이스 관리자에의해사용 ü 데이터베이스시스템사용자 - 일반사용자 (End User), 응용프로그래머, 데이터베이스관리자 라. 데이터모델과모델링 ü 데이터모델 : 현실세계의데이터와데이터들간의관계, 의미, 제약조건등을어떻게나타낼것인가에대한개념적이고논리적인틀 - 개념모델 : 데이터표현의논리적인성격에초점을맞춤 w 개체관계 (entity/relationship) 모델, 객체지향 (object oriented) 모델 - 구현모델 : 데이터베이스내의데이터를어떻게표현할것인지에초점 w 계층형모델, 망형모델, 관계형모델 ü 데이터모델링 : 데이터모델에현실세계를단순화하는작업과정 ü 개념데이터모델 - 데이터표현의논리적인성격에초점을두어데이터표현 - 대표적인개체 / 관계 (entity/relationship : E/R) 모델 - 다음과같은목적으로사용 w 데이터에대해관리자, 사용자, 프로그래머들이서로다르게인식하고있는뷰 (view) 들을하나로통합할수있는단일화된설계안을만들기위해사용 w 서로다른뷰들을충족시킬수있는데이터처리와제약조건등의요구사항들을정의하기위해사용 - E/R 모델은도표 ( 다이어그램 ) 로표현 - ERD는최종사용자의관점에서데이터베이스를그림형태로묘사한것 w 사각형 : 속성의집합으로구성되어있는개체집합 w 원 : 속성 w 마름모 : 개체와개체간의관계 ü 교수 / 학생 / 과목관계를표현한 ERD

62 ü 구현데이터모델 - 데이터의구조표현에초점 - 계층형 (Hierarchical data model) w 1969년아폴로우주선의수많은부품을관리하기위해처음사용 w 데이터구성요소들간의관계를트리라는계층형구조로구성 - 네트워크형 (Network data model) w 계층형모델보다더복잡한데이터의관계를효과적으로표현 - 관계형 w 1970년 Codd에의해개발 w 기본적인데이터구조를열과행의 2차원구조의테이블로표현 마. 관계형데이터베이스 ü 단순한데이터구조인릴레이션과수학적인이론인관계연산을기초로함 ü 기본구조 (ACCESS 또는 MS-SQL을실행하여비교 ) - 속성 : 테이블의열, 필드 (field) - 투플 : 테이블의행, 레코드 (record) - 도메인 : 속성에서표현할수있는값의집합

63 ü 관계형데이터베이스의특성 - 한테이블에포함된투플은서로다른유일한값을가진다 - 한테이블내에서투플들의순서는의미가없다 - 한테이블내의속성은유일하다 - 한테이블내에있는속성들의순서도의미가없다 - 한투플내에서행과열이교차하는곳의속성값은원자값이다 - 한속성의값이도메인을벗어나서는안된다 ü 키 (Key) 의종류 - 각투플들을유일하게식별할수있어야함 - 키의두가지성질 w 한테이블에같은키값을가진투플들이두개이상있으면안됨 w 키가두개이상의속성으로구성되어있을때한속성이제거되면더이상식별이불가능하게되는키의최소성만족 - 수퍼키 : 두성질중첫번째성질만만족하는키 - 후보키 : 한테이블에서여러개의키가존재할수있을때이들키를의미 - 기본키 : 후보키중에서한키를선정해서사용할때의키 - 대체키 : 기본키를제외한후보키를의미 - 외래키 : 한테이블의기본키가다른테이블의속성으로표현되는데그속성을외래키라고함 ü 무결성 (Integrity) 제약조건 - 현실세계를반영하는오류가없는정확한데이터만을데이터베이스에저장될수있도록하는제약조건 - 아래두가지제약조건을위배할때데이터베이스가비일관적이됨 - 개체무결성제약조건 w 한테이블의기본키를구성하는어떤속성값도널 (null) 값이나중복값을가질수없다 - 참조무결성제약조건 w 두테이블간에정의되는제약조건으로외래키와기본키와관련 w 한테이블의외래키값은반드시다른테이블의기본키이어야함 ü SQL(Structured Query Language) 년 IBM에서발표한 SEQUEL에서기원 - 사용자나응용프로그램이관계형데이터베이스와상호동작하기위해사용하는데이터베이스언어 - SQL은데이터베이스나테이블의생성, 수정, 삭제등의 DDL과데이블에데이터삽입, 삭제, 검색등을위한 DML로구분 - 대표적인데이터정의어 (DDL) - 대표적인데이터조작어 (DML)

64 바. Access 사용하기 ü memberdb.mdb 열어분석해보기 - memberdb.mdb 파일을더블클릭하여열어보기 - 디자인버튼을눌러구조살펴보기 - member 테이블을더블클릭하여저장된내용보기 ü 쿼리 (Query) 만들기 - 왼쪽개체부분에서 [ 쿼리 ] 클릭 - [ 디자인보기에서새쿼리만들기 ] 클릭 - 테이블표시창에서 [ 닫기 ] 클릭 - 도구의 [SQL 보기 ] 클릭한후명령어작성 ü 쿼리 (Query) 실행 - 창안에 Select * from member 라고입력 - 도구의느낌표 ( 실행 ) 버튼클릭 - 결과확인

65 ü Select - 형식 : Select 필드명1, 필드명2, from 테이블명 [Where 조건식 ] - 테이블에서조건식에맞는데이터중에필드명1, 필드명2, 만을가져옴 - 예 ) 나이가 20살이상인남자의이름과나이를알아보자. Select name, age from member where age >= 20 and sex= 남 ü Insert - 형식 : Insert into 테이블명 ( 필드명1, 필드명2, ) Values( 필드명1의값, 필드명2의값, ) - 테이블의각필드에필드명의값을삽입함 - 예 ) 새로운회원을삽입시켜보자. Insert into member(id, password, name, age, sex, birthm, birthd) values( queue, 1111, 이순신,50, 남,10,28) ü Update - 형식 : Update 테이블명 set 필드명 1= 필드명 1 의값, [where 조건식 ]

66 - 예 ) 이순신의나이를 60 살로고치려고한다. Update member set age=60 where name= 이순신 ü Delete - 형식 : Delete from 테이블명 [where 조건식 ] ü 데이터베이스만들기 - [Access] 실행 - [ 새 Access 데이터베이스 ] 선택후확인 - 파일이름에만들데이터베이스이름을입력한후만들기클릭 ü 테이블만들기 - [ 디자인보기에서새테이블만들기 ] 클릭 - 필요한필드명과데이터타입입력 - X 버튼 ( 종료버튼 ) 을눌러 테이블 Table1의디자인에서변경한내용을저장하시겠습니까? 에대해 예 선택 - 테이블의이름을임의로작성한후확인버튼 - 키를만드시겠습니까 에대한대답으로일단아니오선택 ü 데이터입력하기 - 만들어진테이블명더블클릭 - 필요한내용입력

67 - 62 -

68 - 63 -

69 - 64 -

70 8. HTML 가. 소개 ü HTML(HyperText Markup Language) 이란? - 하이퍼텍스트를표현하기위한마크업언어 - 하이퍼텍스트 : 하이퍼링크를이용해웹정보를연결해놓은문서 - 마크업언어 : 문서내용에글꼴, 문단모양과같은각종정보를표시해서문서의모양과구조를결정하는언어 - < > 로둘러싸인태그를이용하여문서의구조와모양을정의하는언어 나. 구성요소및구조 ü HTML 구성요소 - 태그 (Tag) : HTML 문서의기본 - 속성 (Attribute) : 태그가가지는옵션을의미 - 값 (Value) : 속성에서지정할수있는값 ü 구조 ü 예제

71 - 위와같은 HTML 페이지에 ASP 코드를포함시키고싶다면? w, 를사용하자 다. 태그와폼태그 ü 태그 - <P><BR> - <Font> - <Center> - <blink> - <hr> - <u>, <b>, <i> - <Table>, <th>, <tr>, <td> - <a> - <img> - <Frame> - <Form> [ 실습 ] 각각의태그에맞는예제작성하기 ü Form 태그의사용 - HTML 태그 - 사용자로부터정보를입력받아전송할수있도록함 - <Form> ~ </Form> ü Form 태그작성하는방법

72 <FORM action= result.asp method= post > <INPUT type=text name=grade value= A > </FORM> - method는주로 post를사용함 - 다양한입력태그 w 텍스트박스 w 콤보박스 w 라디오버튼 w 체크박스 w Select 태그 w 제출, 취소버튼 라. 데이터베이스이용을위한준비 ü OLE DB 연결 curpath = Server.MapPath("/project/csshop/database/webdb.mdb") ConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&curPath Set db = Server.CreateObject("ADODB.Connection") db.open ConnString ConnString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/db/webdb.mdb") & ";UID=;PWD=;" Set db = Server.CreateObject("ADODB.Connection") ü Client로부터데이터받기 name = Request("name") addr = Request("addr") ü 저장하기 SQL = "Insert Into Member(mem_name,mem_addr) Values" SQL = SQL & "('" & name & "','" & addr & "')" db.execute SQL ü 데이터베이스로부터읽어옮기기

73 SQL = "Select name, addr from member" Set Rs=db.Execute(SQL) name=rs("mem_name") Addr=rs( mem_addr ) ü Client 에게데이터출력하기 Response.write(name) Response.write(addr) 마. 간단한예제작성 ü 입력받을페이지 (input.asp) 작성하기 <Form action="result.asp" method="post"> 이름 : <Input type="text" name="name"><p> 주소 : <Input type="text" name="addr"><p> <Input type="submit" value=" 입력하기 "> <Input type="reset" value=" 취소하기 "> </Form> ü 입력받은데이터저장페이지 (result.asp) 작성하기 curpath = Server.MapPath("/project/csshop/database/webdb.mdb") ConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&curPath Set db = Server.CreateObject("ADODB.Connection") db.open ConnString name = Request("name") addr = Request("addr") SQL = "Insert Into Member(mem_name,mem_addr) Values" SQL = SQL & "('" & name & "','" & addr & "')" db.execute SQL ü 저장되어있는데이터읽는페이지 (read.asp) 작성하기 (1)

74 curpath = Server.MapPath("/project/csshop/database/webdb.mdb") ConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&curPath Set db = Server.CreateObject("ADODB.Connection") db.open ConnString SQL = "Select mem_name, mem_addr from member" set rs=db.execute(sql) name=rs("mem_name") addr=rs("mem_addr") Response.write(name) Response.write(addr) ü 저장되어있는데이터읽는페이지 (read.asp) 작성하기 (2) ConnString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("test.mdb") & ";UID=;PWD=;" Set db = Server.CreateObject("ADODB.Connection") db.open ConnString SQL = "Select mem_name, mem_addr from member" set rs=db.execute(sql) Do while Not rs.eof name=rs("mem_name") addr=rs("mem_addr") Response.write(name) Response.write(addr) rs.movenext loop 바. 사전숙지사항 ü XP 에서 DB 권한설정 - 권한설정을하지않으면조회는혹시될지몰라도입력과수정과삭제 는할수없다

75 ❶ [ 윈도우즈탐색기 ] 실행 - 메뉴 [ 도구 ] - [ 폴더옵션 ] - [ 보기 ] 탭 - 모든사용자에게동일한폴더권한설정 ( 권장 ) 해제 ❷ Inetpub 폴더내의 wwwroot 폴더에 Access 로작성한 mdb 파일위치 ( 저장 ) 시킴 ❸ mdb 파일위에서오른쪽버튼을누른뒤단축메뉴의속성을클릭함 ❹ 보안탭을누른후사용자의권한설정을함 ❺ ASP 에서 DB 연결방법 ConnString = "Driver={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("webdb.mdb")&";UID=;PWD=;" Set db = Server.CreateObject("adodb.Connection") db.open ConnString

76 - 71 -

77 - 72 -

78 - 73 -

79 9. 에디터사용하기 가. Edit Plus v.2.20 다운로드하기 ü 나. 설치하기 ü 더블클릭하여순서대로설치한다. 다. 실행하기 ü 에디트플러스를설치하면다음그림과같은편집화면이나타난다. ü 메뉴의파일 (F) - 새파일 (N) - HTML 페이지를선택한다. ü 해당내용을지우고아래와같이간단한두예제를작성해보자. / 저장하 는위치는 C:\Inetpub\wwwroot 이어야한다

80 [ 예제 1] <html> <body> <h2> 간단한 Form 태그예 </h2> <hr> 성적입력하기 <p> <Form action = "result.asp" method = "post"> 이름 : <Input type = "text" name = "name" ><p> 성적 : <Input type = "text" name = "grade" ><p> <Input type = "submit" value = " 입력하기 " > <Input type = "reset" value = " 취소하기 " > </Form> </body> </html> [ 예제 2] <html> <body> <h2> 반복문 </h2> intsum = 0 For intcnt = 1 to 10 intsum = intsum + intcnt Next Response.write "1 부터 " & intcnt-1 & " 까지의더하면 <br>" Response.write " 합계 = " & intsum & "<br>" </body> </html> ü Ctrl + B 를눌러실행시켜본다. / 첫번째예제는정상적으로보이지만두 번째예제는정상적으로보이지않을것이다. / 서버설정이되어있지않 으므로 HTML 코드부분만확인된다. 라. 서버설정하기 ü editplus 를실행시킨다. / [ 도구 ] - [ 기본설정 (P)] - [ 항목 (C)] 의도구 - [ 웹서버루트디렉토리 (E):] 에서추가버튼을클릭한다

81 ü [ 웹서버루트 ] 대화상자에서 [ 웹서버 IP 또는호스트이름 (E):] 에 또는 localhost 또는자기 IP 주소를입력한다. / [ 웹서버루트디렉토리 (W) 에는 C:\Inetpub\wwwroot를입력한후 [ 확인 ] 버튼을누른다. ü 다시한번 [ 확인 ] 을눌러적용시킨다. / 이전의두번째예제를실행시켜보 고어떻게다른지확인해보자

82 - 77 -

83 - 78 -

84 - 79 -

85 10. 회원관리사이트제작 가. 개요 ü 신규회원등록기능, 회원인증기능, 회원정보수정기능, 회원비회원구분기능, 회원검색기능을가지고있는회원관리사이트를제작하고함 나. 전체적인흐름도 다. 데이터베이스 라. 각페이지및모듈설명 ü index.htm 첫페이지로서신규회원등록과로그인제공 ü new_form.htm 회원등록폼페이지 ü new_act.asp 회원등록실행페이지 ü login_act.asp 로그인실행페이지 ü member_form.asp 회원전용구역페이지로서회원정보수정, 회원 검색, 회원글올리기및로그아웃제공 ü update_form.asp 회원정보수정폼페이지

86 ü update_act.asp ü search_form.asp ü search_act.asp ü write_form.asp ü write_act.asp ü read_act.asp ü logout_act.asp ü warning.htm 회원정보수정실행페이지회원검색폼페이지회원검색실행페이지글쓰기폼페이지글쓰기실행페이지글읽기실행페이지로그아웃실행페이지경고문페이지 마. 각페이지작성 ü index.html <HTML><head><title>index.htm</title><head> <BODY> <h2> index.htm </h2> <hr> <a href=new_form.htm> 신규회원등록 </a><br> <form method=post action=login_act.asp> I D :<input type=text size=10 name=id> 암호 :<input type=password size=10 name=password><br> <input type=submit value= 로그인 > <input type=reset value= 다시 > </form> </BODY> </HTML> ü new_form.htm <HTML><head><title>new_form.htm</title> <script language="javascript"> <!-- function check_form() { if(document.aform.id.value == ""){ alert("id 입력하세요 "); } else if(document.aform.password.value == ""){ alert(" 암호입력하세요 "); } else if(document.aform.name.value == ""){ alert(" 이름입력하세요 "); } else{ document.aform.submit(); } } //--> </script> <head>

87 <BODY> <h2> new_form.htm </h2> <hr> 회원등록페이지 <form method=post name=aform action=new_act.asp> I D :<input type=text size=10 name=id><br> 암호 :<input type=password size=10 name=password><br> 이름 :<input type=text size=10 name=name><br> <input type=button value= 등록 onclick=check_form()> <input type=reset value= 다시 > </form> </BODY> </HTML> ü new_act.asp <HTML><head><title>new_act.asp</title> Set cn = Server.CreateObject("ADODB.Connection") curpath = Server.MapPath("/aaa/mycustomer.mdb") cn.open "DBQ="& curpath & ";" & _ "Driver={Microsoft Access Driver (*.mdb)};" &_ "DriverId=25; FIL=MS Access;" <head> <BODY> <h2> new_act.asp </h2> <hr> id = request("id") password = request("password") name = request("name") point = 0 SQL = "insert into mycustomer" SQL = SQL & "(id, password, name, point)" SQL = SQL & " values('" & id &"','" & password & "','" & name SQL = SQL & "'," & point & ")" 'response.write SQL cn.execute SQL cn.close set cn = nothing 회원등록이되었습니다 <br> <a href=index.htm> 로그인화면으로 </a><br> </BODY> </HTML> ü login_act.asp

88 <HTML><head><title>login_act.asp</title> Set cn = Server.CreateObject("ADODB.Connection") curpath = Server.MapPath("/aaa/mycustomer.mdb") cn.open "DBQ="& curpath & ";" & _ "Driver={Microsoft Access Driver (*.mdb)};" &_ "DriverId=25; FIL=MS Access;" <head> <BODY> <h2> login_act.asp </h2> <hr> id = request("id") password = request("password") SQL = "select * from mycustomer where id ='" & id & "'" 'response.write SQL set rs = cn.execute(sql) if rs.bof then 그런회원이없습니다 <br> <a href=index.htm> 다시로그인페이지로 </a><br> elseif password <> rs("password") then else end if 비밀번호가틀립니다 <br> <a href=index.htm> 다시로그인페이지로 </a><br> session("who") = id =rs("name") 님환영합니다 <br> <a href=member.asp> 회원전용구역으로 </a><br> rs.close cn.close set rs = nothing set cn = nothing </BODY> </HTML> ü member.asp

89 if session("who") = "" then response.redirect "warning.htm" end if <HTML><head><title>member.asp</title><head> <BODY> <h2> member.asp </h2> <hr> 회원전용구역에오심을환영합니다 <p> <a href=update_form.asp> 회원정보수정 </a><br> <a href=search_form.asp> 회원검색 </a><br> <a href=write_form.asp> 글쓰기 </a><br> <a href=read_act.asp> 글읽기 </a><p> <a href=logout_act.asp> 로그아웃 </a> </BODY> </HTML> ü update_form.asp if session("who") = "" then response.redirect "warning.htm" end if <HTML><head><title>update_form.asp</title> <script language="javascript"> <!-- function check_form() { if(document.aform.password.value == ""){ alert(" 암호입력하세요 "); } else if(document.aform.name.value == ""){ alert(" 이름입력하세요 "); } else{ document.aform.submit(); } } //--> </script> Set cn = Server.CreateObject("ADODB.Connection") curpath = Server.MapPath("/aaa/mycustomer.mdb") cn.open "DBQ="& curpath & ";" & _ "Driver={Microsoft Access Driver (*.mdb)};" &_ "DriverId=25; FIL=MS Access;" loginid = session("who") SQL = "select * from mycustomer where id ='" & loginid & "'" 'response.write SQL set rs = cn.execute(sql)

90 password = rs("password") name = rs("name") rs.close cn.close set rs = nothing set cn = nothing <head> <BODY> <h2> update_form.htm </h2> <hr> =loginid 회원정보수정페이지 <form method=post name=aform action=update_act.asp> 암호 :<input type=text size=10 name=password value==password><br> 이름 :<input type=text size=10 name=name value==name><br> <input type=button value= 수정 onclick=check_form()> <input type=reset value= 다시 > </form> </BODY> </HTML> ü update_act.asp <HTML><head><title>update_act.asp</title> Set cn = Server.CreateObject("ADODB.Connection") curpath = Server.MapPath("/aaa/mycustomer.mdb") cn.open "DBQ="& curpath & ";" & _ "Driver={Microsoft Access Driver (*.mdb)};" &_ "DriverId=25; FIL=MS Access;" <head> <BODY> <h2> update_act.asp </h2> <hr> loginid = session("who") password = request("password") name = request("name") SQL = "update mycustomer set password = '" & password & "'," SQL = SQL & " name = '" & name & "'" SQL = SQL & " where id = '" & loginid & "'" 'response.write SQL cn.execute SQL cn.close set cn = nothing 회원정보가수정되었습니다 <br>

91 <a href=member.asp> 회원전용구역으로 </a><p> <a href=logout_act.asp> 로그아웃 </a> </BODY> </HTML> ü search_form.asp if session("who") = "" then response.redirect "warning.htm" end if <HTML><head><title>search_form.asp</title> <script language="javascript"> <!-- function check_id() { if(document.aform.id.value == ""){ alert(" 입력하세요 "); } else{ document.aform.submit(); } } function check_name() { if(document.bform.name.value == ""){ alert(" 입력하세요 "); } else{ document.bform.submit(); } } //--> </script> <head> <BODY> <h2> search_form.asp </h2> <hr> 회원검색페이지 <form method=post name=aform action=search_act.asp> i d:<input type=text size=10 name=id> <input type=button value= 검색 onclick=check_id()> </form> <form method=post name=bform action=search_act.asp> 이름 :<input type=text size=10 name=name> <input type=button value= 검색 onclick=check_name()> </form> </BODY> </HTML> ü search_act.asp

92 <HTML><head><title>search_act.asp</title> Set cn = Server.CreateObject("ADODB.Connection") curpath = Server.MapPath("/aaa/mycustomer.mdb") cn.open "DBQ="& curpath & ";" & _ "Driver={Microsoft Access Driver (*.mdb)};" &_ "DriverId=25; FIL=MS Access;" <head> <BODY> <h2> search_act.asp </h2> <hr> id = request("id") name = request("name") if id <> "" then SQL = "select * from mycustomer where id ='" & id & "'" elseif name <> "" then SQL = "select * from mycustomer where name ='" & name & "'" end if Set rs = Server.CreateObject("ADODB.Recordset") 'response.write SQL rs.open SQL, cn, 3 response.write rs.recordcount & " 명의회원이있습니다 " Response.Write "<TABLE border = 1>" Response.Write "<tr><td>id</td><td> 이름 </TD></tr>" Do while Not rs.eof Response.Write "<tr>" Response.Write "<TD>" & rs("id") & "</TD>" Response.Write "<TD>" & rs("name") & "</TD>" Response.Write "</tr>" rs.movenext Loop Response.Write "</TABLE>" rs.close cn.close set rs = nothing set cn = nothing <p><a href=search_form.asp> 다시검색페이지로 </a><br> <a href=member.asp> 회원전용구역으로 </a><p> <a href=logout_act.asp> 로그아웃 </a> </BODY> </HTML> ü write_form.asp

93 if session("who") = "" then response.redirect "warning.htm" end if <HTML><head><title>write_form.asp</title> <head> <BODY> <h2> write_form.asp </h2> <hr> 회원글쓰기페이지 <form method=post action=write_act.asp> <textarea name=letter rows=5 cols=40></textarea><br> <input type=submit value= 전송 > <input type=reset value= 다시 > </form> </BODY> </HTML> ü write_act.asp <HTML><head><title>write_act.asp</title> Set cn = Server.CreateObject("ADODB.Connection") curpath = Server.MapPath("/aaa/mycustomer.mdb") cn.open "DBQ="& curpath & ";" & _ "Driver={Microsoft Access Driver (*.mdb)};" &_ "DriverId=25; FIL=MS Access;" <head> <BODY> <h2> write_act.asp </h2> <hr> loginid = session("who") letter = request("letter") SQL = "update mycustomer set letter = '" & letter & "'" SQL = SQL & " where id = '" & loginid & "'" 'response.write SQL cn.execute SQL cn.close set cn = nothing 글쓰기가완료되었습니다 <br> <a href=member.asp> 회원전용구역으로 </a><p> <a href=logout_act.asp> 로그아웃 </a> </BODY> </HTML>

94 ü read_act.asp <HTML><head><title>read_act.asp</title> Set cn = Server.CreateObject("ADODB.Connection") curpath = Server.MapPath("/aaa/mycustomer.mdb") cn.open "DBQ="& curpath & ";" & _ "Driver={Microsoft Access Driver (*.mdb)};" &_ "DriverId=25; FIL=MS Access;" <head> <BODY> <h2> read_act.asp </h2> <hr> 회원님이쓰신글 :<p> loginid = session("who") SQL = "select letter from mycustomer where id = '" SQL = SQL & loginid & "'" 'response.write SQL set rs = cn.execute(sql) response.write rs("letter") rs.close cn.close set rs = nothing set cn = nothing <a href=member.asp><p> 회원전용구역으로 </a><p> <a href=logout_act.asp> 로그아웃 </a> </BODY> </HTML> ü logout_act.asp <HTML><head><title>logout_act.asp</title><head> <BODY> <h2> logout_act.asp </h2> <hr> session("who") = "" 로그아웃되었습니다 <br> <a href=index.htm> 로그인화면으로 </a><br> </BODY> </HTML> ü warning.htm

95 <HTML><head><title>warning.htm</title><head> <BODY> <h2> warning.htm </h2> <hr> 로그인후이용하십시오 <br> <a href=index.htm> 로그인화면으로 </a><br> </BODY> </HTML>

96 - 91 -

97 - 92 -

98 - 93 -

99 11. 게시판제작 가. 개요 ü 글쓰기, 글목록보기, 글읽기, 답변하기기능이있는게시판을제작하고함 나. 전체적인흐름도 다. 데이터베이스 라. 각페이지구성및모듈설명 ü write_form.htm 글쓰기폼 ü write_act.asp 글쓰기폼의응답페이지로데이터베이스에글저 장 ü board.asp 글의목록을디스플레이하는페이지 ü view.asp 목록에서글의제목이클릭되었을때해당글의 내용을보여주는페이지 ü answer_form.asp 글의답변을위한폼을제공하는페이지 ü answer_act.asp answer_form의응답페이지

100 마. 각페이지작성 ü write_form.htm <html><head> <title> 게시판쓰기 </title> <script language="javascript"> <!-- function send_chk(f){ if(f.title.value==""){ alert(" 제목을입력하세요."); f.title.focus(); }else if(f.author.value==""){ alert(" 이름을입력하세요."); f.author.focus(); }else if(f.letter.value==""){ alert(" 내용을입력하세요."); f.letter.focus(); }else{ f.submit(); } } //--> </script> </head> <body bgcolor="white"> <center> <table border="0" width="600"> <form action="write_act.asp" method="post" name="aform"> <tr><td colspan=2 height=50> <p align="center"><font size="5"> 글올리기 </font></p><hr></td> </tr> <tr><td align=right> 제목 :</td> <td><input name="title" size="50" maxlength="50" ></td> </tr> <tr><td align=right> 이름 :</td> <td><input name="author" maxlength="10" size="10"></td> </tr> <tr><td align="right" valign="top"> 내용 :</td> <td><textarea cols="60" name=letter rows=15></textarea></td> </tr> <tr><td colspan=2 height=20> </td> </tr> <tr><td colspan=2><input type="button" value=" 글올리기 " onclick="send_chk(this.form)"></td> </tr> </form> </table> </center>

101 </body> </html> ü write_act.asp set cn = Server.CreateObject("ADODB.Connection") cn.open "board" SQL = "select max(groupnum) from board" set rs = cn.execute(sql) if isnull(rs(0)) then groupnum = 1 else groupnum = rs(0) + 1 end if title = replace(request("title"),"'","''") author = replace(request("author"),"'","''") letter = replace(request("letter"),"'","''") SQL = "insert into board(title,author,day,viewcnt,letter," SQL = SQL & "groupnum,depth,disp) values(" SQL = SQL & "'" & title & "','" & author & "','" & date SQL = SQL & "', 0,'" & letter & "'," & groupnum & ",0,0)" 'Response.write SQL cn.execute(sql) rs.close cn.close set rs = nothing set cn = nothing Response.redirect("board.asp") ü board.asp <html><head> <title> 게시판 </title> </head> <body> if Request.QueryString("page")="" then page = 1 else page = int(request.querystring("page")) end if Set cn = Server.CreateObject("ADODB.Connection") cn.open "board" Set rs = Server.CreateObject("ADODB.Recordset") SQL = "SELECT * FROM board ORDER BY groupnum DESC, disp ASC" rs.open SQL, cn,

102 <h2> 게시판 </h2> <hr> <table border="0" width="800" bgcolor="white"> <tr> <td width="50" bgcolor="teal"><p> 번호 </td> <td width="450" bgcolor="teal"><p> 제목 </td> <td width="100" bgcolor="teal"><p> 작성자 </td> <td width="100" bgcolor="teal"><p> 작성일 </td> <td width="100" bgcolor="teal"><p> 조회수 </td> </tr> rs.pagesize = 5 i = rs.pagesize seqno = rs.recordcount - i*(page-1) rs.absolutepage = page do while Not rs.eof and i > 0 <tr> <td width="50" height="20" bgcolor="white">=seqno</td> <td width="450"> depth = rs("depth") if depth > 0 then <img src="image/blank.gif" border="0" height="20" width==20*depth> <img src="image/open.gif" border="0"> else <p><img src="image/close.gif" border="0"> end if <a href="view.asp?num==rs("num")&page==page"> =rs("title")</a> </td> <td width="100" align="center"><p>=rs("author")</td> <td width="100" align="center">=left(rs("day"),10)</td> <td width="100" align="center"><p>=rs("viewcnt")</td> </tr> seqno = seqno - 1 i = i - 1 rs.movenext loop <tr> <td colspan="5"><hr></td> </tr> <tr> <td height="20" align="right" colspan="2"><p> <a href="write_form.htm">[ 글올리기 ]</a></p></td> <td align="right" colspan="3"> if page > 1 then <a href=board.asp?page==page-1>[ 이전페이지 ]</a> else [ 이전페이지 ] end If

103 ( =page / =rs.pagecount ) if page < rs.pagecount then <a href=board.asp?page==page+1>[ 다음페이지 ]</a> else [ 다음페이지 ] end if </td> </tr> rs.close Set rs = Nothing cn.close Set cn = Nothing </table> </body> </html> ü view.asp num = Request.QueryString("num") page = Request.QueryString("page") Set cn=server.createobject("adodb.connection") cn.open "board" SQL = "SELECT * FROM board WHERE num = " & num Set rs=cn.execute(sql) letter=replace(rs("letter"),chr(13),"<br>") <html> <head> <title> 게시판보기 </title> </head> <body bgcolor="white"> <table border="0" width="800"> <tr> <td align="center" bgcolor="#d16363" height="4"> <font color="white"><b>=rs("title")</b></font></td> </tr> <tr> <td height="30" align="center"> 글번호 : =num 작성자 : =rs("author")</a> 작성일 : =rs("day") 조회수 : =rs("viewcnt")</td> </tr> <tr> <td bgcolor="#fdf0e8">=letter</td> </tr> <tr> <td height=30> </td>

104 </tr> <tr> <td height="20" align=center> <a href="board.asp?page==page">[ 목록보기 ]</a> <a href="write_form.htm">[ 글쓰기 ]</a> <a href="answer_form.asp?page==page&num==num"> [ 답변하기 ]</a></td> </tr> </table> cn.execute("update board SET viewcnt=viewcnt+1 WHERE num = " & num) rs.close cn.close Set rs = Nothing Set cn = Nothing </body> </html> ü answer_form.asp num=request.querystring("num") page=request.querystring("page") Set cn=server.createobject("adodb.connection") cn.open "board" SQL = "SELECT * FROM board WHERE num = "& num Set Rs=cn.execute(SQL) groupnum = rs("groupnum") depth = rs("depth") disp = rs("disp") title = rs("title") <html> <head> <title> 게시판답장쓰기 </title> <script language="javascript"> <!-- function send_chk(f){ if(f.title.value==""){ alert(" 제목을입력하세요."); f.title.focus(); }else if(f.author.value==""){ alert(" 이름을입력하세요."); f.author.focus(); }else if(f.letter.value==""){ alert(" 내용을입력하세요."); f.letter.focus();

105 }else{ } } //--> </script> </head> f.submit(); <body bgcolor="white"> <center> <table border="0" width="600"> <form action="answer_act.asp" method="post" name="aform"> <tr> <td colspan=2 height=50> <p align="center"> <font size="5"> 답장쓰기 </font></p> </td> </tr> <tr> <td colspan=2 height="27"> <input type="hidden" name="page" value="=page"> <input type="hidden" name="num" value="=num"> <input type="hidden" name="groupnum" value="=groupnum"> <input type="hidden" name="depth" value="=depth"> <input type="hidden" name="disp" value="=disp"></td> </tr> <tr> <td align=right> 제목 : </td> <td><input name="title" size="50" maxlength="50" value="[re:]=title"></td> </tr> <tr> <td align=right> 이름 : </td> <td><input name="author" maxlength="10" size="10"></td> </tr> <tr> <td align="right" valign="top"> 내용 : </td> <td><textarea cols="60" name=letter rows=15>=rs("letter") </TEXTAREA></td> </tr> <tr> <td colspan=2 height=20> </td> </tr> <tr> <td colspan=2 align="middle"><input type="button" value=" 답변글쓰기 " onclick="send_chk(this.form)"></td> </tr> </form> </table> </center> </body> </html>

106 ü answer_act.asp num = request.form("num") page = request.form("page") groupnum = request.form("groupnum") depth = request.form("depth") disp = request.form("disp") title = replace(trim(request.form("title")),"'","''") author = replace(trim(request.form("author")),"'","''") letter = replace(request.form("letter"),"'","''") Set cn = Server.CreateObject("ADODB.Connection") cn.open "board" SQL = "UPDATE board SET disp = disp+1 WHERE groupnum = " SQL = SQL & groupnum & " AND disp > " & disp cn.execute(sql) disp = disp+1 depth = depth+1 SQL = "INSERT INTO board(title,author,day,viewcnt," SQL = SQL & "letter,groupnum,depth,disp) VALUES('" & title SQL = SQL & "','" & author & "','" & date & "',0,'" & letter SQL = SQL & "'," & groupnum & "," & depth & "," & disp & ")" 'response.write SQL cn.execute(sql) cn.close Set cn = Nothing Response.redirect("board.asp?page=" & page)

107

108

109

110 12. 각종에러와오류수정 가. DB 관련에러 ü DB 경로가잘못설정된경우 오류형식 : Microsoft JET Database Engine (0x ) 'C:\inetpub\wwwroot\bohun\bohun.mdb' 파일을찾을수없습니다. /bohun/member_m/edit_save.asp, line 18 - 해결 : 해당라인을찾아 DB 경로수정 ü DB 권한설정이되어있지않은경우 오류형식 : Microsoft JET Database Engine (0x ) Microsoft Jet 데이터베이스엔진에서 'C:\inetpub\wwwroot\bohun\db\bohun.mdb' 파일을열수없습니다. 이미다른사용자가이파일을단독사용모드로열었거나데이터보기권한이필요할수도있습니다. /bohun/member_m/simsa_ok.asp, line 18 - 해결 : 라인과무관하게 DB 권한만설정 ü 테이블이름이다른경우 오류형식 : Microsoft JET Database Engine (0x80040E37) Microsoft Jet 데이터베이스엔진에서입력테이블이나 'masters' 쿼리를찾을수없습니다. 테이블이나쿼리가있는지, 이름을정확히입력했는지를확인하십시오. /bohun/member_m/edit_save.asp, line 54 - 해결 : masters 라는테이블명이있는지확인한후없다면재이름으로수정 ü SQL 문장이잘못된경우 오류형식 : Microsoft JET Database Engine (0x80040E07) 조건식의데이터형식이일치하지않습니다. /bohun/member_m/edit_save.asp, line 58 - 해결 : 해당라인은실행문장이므로이전라인의 SQL 문장의잘못을확인함. 문자가아닌경우큰따옴표를사용하지않아야함 나. 자바스크립트에러 ü 저장이되지않고브라우저하단에 페이지에오류가있습니다 의경우 - 해결 : 브라우저의 [ 도구 ]-[ 옵션 ]-[ 고급 ] 에서아래와같이 모든스크립트오류에관련된알림표시 를선택하고다시실행하여해당오류라인을찾아수정함.( 정확한라인이아닐수있음 )

111 다. 오류수정방법 ü Response.End를이용한에러잡아들이기 - 에러를잡는가장고전적인방법으로 ASP코드의중간에 Response.Write " 여기까지는이상이없습니다." Response.End 라고사용하면에러가발생되는라인을알아낼수있는방법이다. 하지만이방법은프로그램의라인이많으면반복해서사용해야함으로효율이떨어지고 IE의버퍼에문제있는코드가있다면계속오류발생하여버퍼를다지우고 IE를모두닫았다가열어야하는번거로움이있다. 하지만위의방법은가장간단하고별다른코드입력이없기때문에아직도많이쓰여지고있다. 특히 SQL문실행과정에서에러가나는부분은아래처럼함으로확인할수있다. Response.Write sql Response.end ü Err 객체를이용한에러처리하기 - 아래와같이에러가있는파일 (Err.asp) 을작성한후불러온다

112 <HTML><BODY> Dim su1, su2, hap, cha, gob, div su1=100 : su2=0 hap=su1+su2 : cha = su1-su2 : gob = su1 * su2 : div = su1 / su2 Response.Write " 두수의더하기 : " &hap &"<BR>" Response.Write " 두수의빼기 : " &cha &"<BR>" Response.Write " 두수의곱하기 : " &gob &"<BR>" Response.Write " 두수의나누기 : " &div &"<BR>" </BODY></HTML> 위의에러의경우서버와클라이언트에서테스트해보면... 서버상에서의결과화면 다른클라이언트에서의결과화면 같은에러에대해서다른화면이보이고있다. 어떤때는에러의원인이보이고어떤때에는골치아픈 HTTP 500 내부서버오류가나오고있다. IIS를정지하고버퍼를지우고다해보지만결과는같다. 위의경우해결방법은 Response.end를중간중간에심어서테스트하는첫번째방법을이용하면찾아낼수있다. 이런상황이계속되면성질급한사람

113 은포기를하든지아니면오기로매달린다. 밤새도록... 이번에는 Err객체를이용해서에러를잡아보자. 아래의소스 (Err2.asp) 처럼수정하고실행시킨다. Option Explicit On Error Resume Next <HTML><BODY> Dim su1, su2, hap, div su1=100 : su2=0 : hap=su1+su2 : div = su1 / su2 Response.Write " 두수의더하기 : " &hap &"<BR>" Response.Write " 두수의나누기 : " &div &"<BR>" If Err.Number >0 then Response.Write " 에러가있습니다." Err.Clear else Response.Write " 에러가없습니다." End if </BODY></HTML> 아래는 2대의컴퓨터의결과화면이다. 자세히원인은모르지만페이지자체적으로 Err객체는에러를알아내고있다. Option Explicit 는변수선언확인문이다. 선언되지않은변수는사용할수없어서변수로인한오류를막을수있는좋은방법이다. On Error Resume Next문은에러가나도계속진행하라는선언문이다. 그래야에러원인을알수있다. Err.Number는에러가난갯수를갖고있는객체이다. 따라서에러가발생하면에러갯수로에러를알수있다. Err.Clear는반드시선언해야한다. 에러를 Err객체목록에서지우는역활을한다

114 아래와같이소스를수정 (Err3.asp) 하고테스트하자. Option Explicit On Error Resume Next <HTML><BODY> Dim su1, su2, hap, div su1=100 : su2=0 : hap=su1+su2 : div = su1 / su2 Response.Write " 두수의더하기 : " &hap &"<BR>" Response.Write " 두수의나누기 : " &div &"<BR>" If Err.Number >0 then Response.Write " 에러가있습니다.<BR><BR>" Response.Write "ASP에지정된에러번호 :" &Err.Number &"<BR>" Response.Write " 에러원인 : " &Err.Description &"<BR>" Response.Write " 에러를발생시킨객체 :" &Err.Source &"<BR>" Err.Clear else Response.Write " 에러가없습니다.<BR>" End if </BODY></HTML> 결과는아래와같으며좀더자세한결과가출력되었다. Err 객체의경우어느라인에서에러가났는지알아낼방법이없다. ü IE 의기능을이용한에러잡기 (HTTP 500 내부서버오류잡아냄 ) - 아래처럼소스 (Err4.asp) 를작성하고 IE 에서확인하자. ("" ASP 표식이빠져있 다.)

115 <HTML><BODY> Response.clear Response.Write "A" &"<BR>" Response.Write "B" &"<BR>" </BODY></HTML> 아래는결과화면이다. 역시 HTTP 내부서버오류가뜬다. IE 를열고 [ 도구 ] 메뉴의 [ 인터넷옵션 ] 을클릭한다. [ 고급 ] 탭의 [HTTP 오류메시지표시 ] 체크를풀어준다

116 [ 확인 ] 을누르고페이지를다시불러온결과이다. 내부서버오류의원인이 보이고있다. 이방법은 DB 관련내부서버오류도잡아내는기능을갖고있다. 위의방법중에서세번째가가장정확히 HTTP 내부서버오류를찾아냈다. 세번째방법은한번만설정해두면편리할것이다. 평상시에 Option Explicit문을선언하는습관을가지면좋겠다. 그리고 Err객체도완전한건아니지만많은도움이될것이다

117

118

119

120 13. 포트폴리오 (PortPolio) 가. 대한민국상이군경회 ü 단순한회원관리사이트가아닌회원관리시스템의규모임. 나. 초기화면

121 다. 데이터베이스 - 컨버전 (conversion) 데이터약 9 만건 라. 각페이지구성 ( 약 130 개프로그램 ) ü bohun 폴더 : 전체페이지포함폴더 (3 개 ) - index.htm / link.css / regist.asp ü member_m : 회원관리폴더 (27개( 우편번호폴더제외 )) - zip.asp / view.asp / upload_ok.asp / upload.asp / simsa_view.asp / simsa_search_ok.asp / simsa_ok.asp / simsa_front.asp / simsa_back.asp / simsa.asp / searchzip.asp / search.asp / sangi_search.asp / sangi_edit.asp sangi_delete.asp / print2_view.asp / print1_view.asp / member-save.asp / index.asp / edit_save.asp / delete.asp / change_search.asp / change_edit.asp / card_search.asp / card_ok.asp / card_delete.asp / card.asp ü member_v : 회원관리폴더 (19개) - sangi.asp / print_search.asp / print_sangi.asp / print_name.asp / print_member.asp / print_index.asp / print_gibu.asp / print_edu.asp / print_change.asp / print_army.asp / print_addr.asp / name.asp / member.asp / index.asp / gibu.asp / edu.asp / change.asp / army.asp / addr.asp ü member-s1 : 지부관리폴더 (14 개 ) - sangi.asp / print_sangi.asp / print_index.asp / print_edu.asp / print_death.asp / print_change.asp / print_birth.asp / print_army.asp /

(Microsoft PowerPoint - 2\300\345.ppt)

(Microsoft PowerPoint - 2\300\345.ppt) 2 장. ASP 를위한 VBScript 정보처리학과서보원교수 목차 서버스크립트 VBScript 변수 연산자 배열 제어문및반복문 프로시저 문자열함수 1 스크립트언어 간단한프로그래밍언어 인터프리트언어와유사한특성을갖고있음 Script 언어 vs. Programming 언어 표현력 용도난이도 스크립트언어 제한적특정용도쉬움 프로그래밍언어 풍부범용적어려움 VBScript

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

var answer = confirm( 확인이나취소를누르세요.); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write( 확인을눌렀습니다.); else { document.write( 취소를눌렀습니다.); 자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

PHP & ASP

PHP & ASP PHP 의시작과끝 echo ; Echo 구문 HTML과 PHP의 echo 비교 HTML과 PHP의 echo를비교해볼까요

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

PHP & ASP

PHP & ASP 단어장프로젝트 프로젝트2 단어장 select * from address where address like '% 경기도 %' td,li,input{font-size:9pt}

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 HTML5 웹프로그래밍입문 부록. 웹서버구축하기 1 목차 A.1 웹서버시스템 A.2 PHP 사용하기 A.3 데이터베이스연결하기 2 A.1 웹서버시스템 3 웹서버의구축 웹서버컴퓨터구축 웹서버소프트웨어설치및실행 아파치 (Apache) 웹서버가대표적 서버실행프로그램 HTML5 폼을전달받아처리 PHP, JSP, Python 등 데이터베이스시스템 서버측에데이터를저장및효율적관리

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

Javascript

Javascript 1. 폼 (Form) 태그란? 일반적으로폼 (Form) 태그는입력양식을만들때사용됩니다. 입력양식이란어떤데이터를받아전송해주는양식을말합니다. 예를들면, 방명록이나게시판, 회원가입등의양식을말합니다. 이러한입력양식의처음과끝에는반드시폼태그가들어가게됩니다. 폼의입력양식에는 Text Box, Input Box, Check Box, Radio Button 등여러가지입력타입들이포함됩니다.

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

PART 1 CHAPTER 1 Chapter 1 Note 4 Part 1 5 Chapter 1 AcctNum = Table ("Customer").Cells("AccountNumber") AcctNum = Customer.AccountNumber Note 6 RecordSet RecordSet Part 1 Note 7 Chapter 1 01:

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

슬라이드 1

슬라이드 1 Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능

More information

Javascript

Javascript 1. 이벤트와이벤트핸들러의이해 이벤트 (Event) 는웹브라우저에서발생하는다양한사건을말합니다. 예를들면, 버튼을마우스로을했다거나브라우저를닫았다거나 Enter 키를눌렀다거나등등아주다양한사건들이있습니다. 그렇다면이벤트핸들러 (Event Handler) 는무엇일까요? 이다양한이벤트들을핸들링 ( 처리 ) 해주는것입니다. 예를들면, 어떤버튼을했을때메시지창이뜨게하는등을말합니다.

More information

PowerPoint Template

PowerPoint Template 설치및실행방법 Jaewoo Shim Jun. 4. 2018 Contents SQL 인젝션이란 WebGoat 설치방법 실습 과제 2 SQL 인젝션이란 데이터베이스와연동된웹서버에입력값을전달시악의적동작을수행하는쿼리문을삽입하여공격을수행 SELECT * FROM users WHERE id= $_POST[ id ] AND pw= $_POST[ pw ] Internet

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 웹 (WWW) 쉽게배우는데이터통신과컴퓨터네트워크 학습목표 웹서비스를위한클라이언트 - 서버구조를살펴본다. 웹서비스를지원하는 APM(Apache, PHP, MySQL) 의연동방식을이해한다. HTML 이지원하는기본태그명령어와프레임구조를이해한다. HTTP 의요청 / 응답메시지의구조와동작원리를이해한다. CGI 의원리를이해하고 FORM 태그로사용자입력을처리하는방식을알아본다.

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E > 6. ASP.NET ASP.NET 소개 ASP.NET 페이지및응용프로그램구조 Server Controls 데이터베이스와연동 8 장. 데이터베이스응용개발 (Page 20) 6.1 ASP.NET 소개 ASP.NET 동적웹응용프로그램을개발하기위한 MS 의웹기술 현재 ASP.NET 4.5까지출시.Net Framework 4.5 에포함 Visual Studio 2012

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습문제 Chapter 05 데이터베이스시스템... 오라클로배우는데이터베이스개론과실습 1. 실습문제 1 (5 장심화문제 : 각 3 점 ) 6. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (2) 7. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (5)

More information

Microsoft PowerPoint 세션.ppt

Microsoft PowerPoint 세션.ppt 웹프로그래밍 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 세션변수 (Session Variable) (1/2) 쇼핑몰장바구니 장바구니에서는사용자가페이지를이동하더라도장바구니의구매물품리스트의내용을유지하고있어야함 PHP 에서사용하는일반적인변수는스크립트의수행이끝나면모두없어지기때문에페이지이동시변수의값을유지할수없음 이러한문제점을해결하기위해서 PHP 에서는세션 (session)

More information

SK Telecom Platform NATE

SK Telecom Platform NATE SK Telecom Platform NATE SK TELECOM NATE Browser VER 2.6 This Document is copyrighted by SK Telecom and may not be reproduced without permission SK Building, SeRinDong-99, JoongRoGu, 110-110, Seoul, Korea

More information

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - e pptx Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용   한 수업환경구축 웹데이터베이스구축및실습 구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 http://chrome.google.com 한림대학교웹데이터베이스 - 이윤환 APM 설치 : AUTOSET6

More information

로거 자료실

로거 자료실 redirection 매뉴얼 ( 개발자용 ) V1.5 Copyright 2002-2014 BizSpring Inc. All Rights Reserved. 본문서에대한저작권은 비즈스프링 에있습니다. - 1 - 목차 01 HTTP 표준 redirect 사용... 3 1.1 HTTP 표준 redirect 예시... 3 1.2 redirect 현상이여러번일어날경우예시...

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

Javascript

Javascript 1. HTML 이란? HTML 은 Hyper Text Mark Up Language 의약자로예약되어있는각종태그라는명령어를이용하여웹페이지를작성할때사용하는언어입니다. 2. HTML 의기본구조 < 태그 > 내용 < 태그속성 = 변수 > 내용

More information

슬라이드 제목 없음

슬라이드 제목 없음 MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770> 제 8강 SQL: 관계데이터베이스언어 강의목표 관계데이타베이스언어로서상용 DBMS에서가장널리사용되는 SQL의동작원리에관하여학습하고, 이를이용하여다양한질의문을작성하는방법을습득한다 기대효과 SQL의데이터정의기능을이해한다 SQL의데이터조작기능중질의기능을이해한다 SQL의데이터조작기능중데이터갱신기능을이해한다 SQL의데이터조작기능중뷰및인덱스관련기능을이해한다 SQL 의개요

More information

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우. 소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423

More information

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt 1. 데이터베이스정의 : 특정조직이업무수행하는데필요한관련성있는자료들의집합체 ( 통합, 저장, 운영, 공용 ) 2. 데이터베이스시스템도입배경 : 파일시스템의문제점을해결 응용프로그램 1 ( 인사 ) 응용프로그램 2 ( 급여 ) 응용프로그램 3 ( 자재 ) 응용프로그램 4 ( 마케팅 ) 파일 1 파일 2 파일 3 파일 4 * 독립된파일단위로업무와관련한데이터를저장하므로데이터중복성과데이터종속성발생

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi 소프트웨어공학 Tutorial #2: StarUML Eun Man Choi emchoi@dgu.ac.kr Contents l StarUML 개요 l StarUML 소개및특징 l 주요기능 l StarUML 화면소개 l StarUML 설치 l StarUML 다운 & 설치하기 l 연습 l 사용사례다이어그램그리기 l 클래스다이어그램그리기 l 순서다이어그램그리기 2

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Cookie Spoofing.hwp

Cookie Spoofing.hwp Cookie Spoofing&Sniffing By Maxoverpro[max]( 장상근) maxoverpro@empal.com http://www.maxoverpro.org 1. 서론 이문서는 Cookie Spoofing 과 Sniffing 에대해정석적인방법을이야기하도록하며또 한어느특정곳의취약점을설명하지않고직접제작한예제를가지고 Cookie Spoofing 과

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

하둡을이용한파일분산시스템 보안관리체제구현

하둡을이용한파일분산시스템 보안관리체제구현 하둡을이용한파일분산시스템 보안관리체제구현 목 차 - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - 1. 사용자가웹서버에로그인하여다양한서비스 ( 파일업 / 다운로드, 폴더생성 / 삭제 ) 를활용 2. 웹서버와연동된하둡서버에서업 / 다운로드된파일을분산저장. ( 자료송수신은 SSH 활용 ) - 9 - - 10 - - 11 -

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 PHP 와 MySQL 의연동 Jo, Heeseung Content MySQL을지원하는 PHP API 함수 과변수값전달 DB 테이블생성과데이터읽기성적관리프로그램제작 2 1.2 DB 테이블생성과레코드삽입 데이터베이스테이블구조설계 [ 표 7-1] 명함관리데이터베이스테이블 ( 테이블명 : biz_card) 필드명 타입 추가사항 설명 num int primary

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

1) 인증서만들기 ssl]# cat >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

1) 인증서만들기 ssl]# cat   >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키 Lighttpd ( 멀티도메인 ) SSL 인증서신규설치가이드. [ 고객센터 ] 한국기업보안. 유서트기술팀 1) 인증서만들기 [root@localhost ssl]# cat www.ucert.co.kr.key www.ucert.co.kr.crt >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 1. 데이터베이스환경 (#2/2) 2013.03.04. 오병우 컴퓨터공학과 Database 용어 " 데이타베이스 용어의기원 1963.6 제 1 차 SDC 심포지움 컴퓨터중심의데이타베이스개발과관리 Development and Management of a Computer-centered Data Base 자기테이프장치에저장된데이터파일을의미

More information

Chapter 1

Chapter 1 3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks XSS s XSS, s, May 25, 2010 XSS s 1 2 s 3 XSS s MySpace 사건. Samy (JS.Spacehero) 프로필 페이지에 자바스크립트 삽입. 스크립트 동작방식 방문자를 친구로 추가. 방문자의 프로필에 자바스크립트를 복사. 1시간 만에 백만 명이 친구등록. s XSS s 위험도가 낮은 xss 취약점을 다른 취약점과 연계하여

More information

Studuino소프트웨어 설치

Studuino소프트웨어 설치 Studuino 프로그래밍환경 Studuino 소프트웨어설치 본자료는 Studuino 프로그래밍환경설치안내서입니다. Studuino 프로그래밍 환경의갱신에따라추가 / 수정될수있습니다. 목차 1. 소개... 1 2. Windows... 2 2.1. 프로그래밍환경설치... 2 2.1.1. 웹설치버전설치방법... 2 2.2. Studuino 프로그래밍환경실행...

More information

1) 인증서만들기 ssl]# cat >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

1) 인증서만들기 ssl]# cat   >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키 Lighttpd ( 단일도메인 ) SSL 인증서신규설치가이드. [ 고객센터 ] 한국기업보안. 유서트기술팀 1) 인증서만들기 [root@localhost ssl]# cat www.ucert.co.kr.key www.ucert.co.kr.crt >www.ucert.co.kr.pem // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture4-1 Vulnerability Analysis #4-1 Agenda 웹취약점점검 웹사이트취약점점검 HTTP and Web Vulnerability HTTP Protocol 웹브라우저와웹서버사이에하이퍼텍스트 (Hyper Text) 문서송수신하는데사용하는프로토콜 Default Port

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

PowerPoint Presentation

PowerPoint Presentation Computer Science Suan Lee - Computer Science - 06 데이터베이스 1 06 데이터베이스 - Computer Science - 06 데이터베이스 2 목차 1. 데이터베이스의개요 2. 데이터모델 3. 관계형데이터베이스 4. SQL 5. 모바일데이터베이스 - Computer Science - 06 데이터베이스 3 데이터베이스의개념

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

Observational Determinism for Concurrent Program Security

Observational Determinism for  Concurrent Program Security 웹응용프로그램보안취약성 분석기구현 소프트웨어무결점센터 Workshop 2010. 8. 25 한국항공대학교, 안준선 1 소개 관련연구 Outline Input Validation Vulnerability 연구내용 Abstract Domain for Input Validation Implementation of Vulnerability Analyzer 기존연구

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 CHAPTER 7. HTML 와 CSS 로웹사이트만들 기 웹사이트작성 웹사이트구축과정 내비게이션구조도 홈페이지레이아웃 헤더 web Shop 내비게이션메뉴

More information

SBR-100S User Manual

SBR-100S User Manual ( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S

More information

슬라이드 1

슬라이드 1 전자정부개발프레임워크 1 일차실습 LAB 개발환경 - 1 - 실습목차 LAB 1-1 프로젝트생성실습 LAB 1-2 Code Generation 실습 LAB 1-3 DBIO 실습 ( 별첨 ) LAB 1-4 공통컴포넌트생성및조립도구실습 LAB 1-5 템플릿프로젝트생성실습 - 2 - LAB 1-1 프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

Microsoft PowerPoint Python-WebDB

Microsoft PowerPoint Python-WebDB 8. 웹과데이터베이스연결응용 순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 학습내용 파이썬과데이터베이스연결 웹과데이터베이스연결 로그인페이지예 순천향서핑대회예 순천향대학교컴퓨터공학과 2 파이썬과 SQLite3 연결 sqlite3 모듈을사용하여파이썬과 SQLite3 데이테베이스연동프로그램작성 데이터베이스연결을오픈, 종료및내보내기 sqlite3.connect(filename)

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx 과목명 : 웹프로그래밍응용교재 : 모던웹을위한 JavaScript Jquery 입문, 한빛미디어 Part3. Ajax Ch20. XMLHttpRequest 2014년 1학기 Professor Seung-Hoon Choi 20 XMLHttpRequest XMLHttpRequest 객체 자바스크립트로 Ajax를이용할때사용하는객체 간단하게 xhr 이라고도부름 서버

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가 혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가웹페이지내에뒤섞여있어서웹페이지의화면설계가점점어려워진다. - 서블릿이먼저등장하였으나, 자바내에

More information

SQL

SQL 데이터베이스및 SQL 언어의기초 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 데이터베이스및 SQL 언어의기초 1 / 36 Part I 데이터베이스 박창이 ( 서울시립대학교통계학과 ) 데이터베이스및 SQL 언어의기초 2 / 36 데이터의구성및표현 개체 (entity): DB가표현하려는유형 / 무형적정보의대상속성 (attribute): 개체가갖는특성도메인

More information

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드] Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google

More information

Windows Server 2012

Windows Server  2012 Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB

More information

강의 개요

강의 개요 정규화와 SELECT (II) 웹데이터베이스 학과 학생 과목 학과 지도교수 학과학번성명 수강과목 담당교수 A 김수정 A 0001 고길동 성질이론 김수정 B 허영만 A 0002 둘리 한식의멋 허영만 C 강풀 B 0003 희동이 심리학의이해 강풀 과목 _ 성적 학번 수강과목 성적 0001 성질이론 A 0001 한식의멋 C 0002 성질이론 A 0002 한식의멋

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information