KISA-WP hwp

Size: px
Start display at page:

Download "KISA-WP hwp"

Transcription

1 최종연구보고서 KISA-WP Privacy All 개발완료보고서 Report of Privacy All development completion 수탁기관 : 주식회사웹티즌

2 제출문 한국정보보호진흥원원장귀하 본보고서를 PrivacyAll 의최종연구개발결과보고서로제출합니다 년 6 월 28 일 수탁기관 : 주식회사웹티즌연구책임자 : 매니저강한승참여연구원 : 연구원오진영연구원김광종연구원김태우연구원경현일연구원안현준 - 2 -

3 요약문 1. 제목 PrivacyAll 개발완료보고서 2. 연구개발의목적및중요성 P3P관련모든툴을한곳에서제공함으로써비용, 상호호환기술등의측면에서개발의효율성을높이고이용자접근및이용의편의성을제고하여 S/W 보급활성화를촉진할수있도록한다. 3. 연구개발의내용및범위 이용자용 P3P 통합사이트인체크프라이버시에이전트와체크프라이버시온라인, 그리고사용자용 P3P 개인정보취급방침생성기 4. 연구결과 PrivacyAll 제작을통해 W3C의 P3P XML의구조파악과국내법규를 P3P XML 에적용토록하였고, 웹브라우저를통한 XML 파싱, 다운로드에이전트를통한 XML 파싱과정을통해사용자경험을고려한프로그램 ( 웹페이지 ) 을제작할수있었다. 또한 Windows vista의지원을통해새로운 O/S 환경에도적응할수있도록하여사용자의편의성을최대한고려하여버전업및기능추가시에좀더신속하고원활한작업이될수있도록하였다. 5. 활용방안및기대효과 별도의다운로드과정없이웹을통해서사이트의정책을검색할수있게하여네 - 3 -

4 티즌에게편리함과안정성을더해줄것이다. 인터넷이용자들은체크프라이버시온라인으로언제어디서나쉽게개인정보보호에대한서비스를받을수있다. 또한기존에사용하던 P3P 에이전트의불편함을해소하고그절차를간소화시킴으로써 S/W 보급을증진시킬수있을것으로기대된다

5 SUMMARY 1. Title Report of PrivactAll development 2. Purpose of the study By managing every tools regarding P3P at the same place, it is possible to improve efficiency of development in aspects of price and compatibility which will result in diffusion of S/W by improving accessibility and convenience for p3p uses. 3. Contents and scope P3P Website for Users, Check-Privacy Agent and Check-Privacy Online, and P3P Privacy Policy Generator for Service Providers. 4. Results of the study By developing PrivacyAll, successfully understood the structure of P3P XML of W3C and applied domestic law to P3P XML. Also it was possible to create a program (Web page) which was designed to consider users experience by performing XML parsing through web browser and download agents. In addition to this, with Windows vista, it is successfully developed to be adapted to new O/S in order to maximize users convenience by adding a version up function. 5. Expected effects and applications - 5 -

6 Without additional downloading, it became possible to search the policy of site for web users through web site. It will provide users with more convenience and stability. Internet users will be able to have private information protection service anywhere at anytime with CheckPrivacy Online. And it will improve diffusion of S/W by minimizing inconvenient steps which previous P3P agent had, - 6 -

7 목 차 제 1 장서론 9 제 1 절시스템개발의필요성및목적 9 제 2 절 P3P 통합사이트구축의필요성 10 제 3 절과제의목표 10 제 2 장시스템개발내용안내 12 제 1 절과제내용상사용자대상 12 제 2 절이용자용 P3P 통합사이트 12 1 체크프라이버시에이전트 12 2 체크프라이버시온라인 13 제 3 절사업자용 P3P 개인정보취급방침생성기개발및업그레이드 14 1 개인정보취급방침생성기 14 제 4 절시스템구성도 14 제 5 절개발범위 15 1 체크프라이버시에이전트 16 2 체크프라이버시온라인 16 3 개인정보취급방침생성기 16 제 3 장개발관리부문 18 제 1 절개발추진체계 18 제 2 절개발추진전략 19 제 4 장개발결과부문 22 제 1 절개인정보취급방침생성기 22 제 2 절체크프라이버시에이전트 27 제 3 절체크프라이버시온라인 38 제 5 장맺음 41 제 1 절기대효과및활용방안 41 [ 부록 1] 소스코드

8 Contents Chapter 1 Introduction 9 Section 1 Necessity and purpose of System development 9 Section 2 Necessity of P3P Website Establishment 10 Section 3 Purpose of the Project 10 Chapter 2 Contents in System Development 12 Section 1 Targets of this Project 12 Section 2 tails of P3P Website for users 12 1 Check-Privacy Agent 12 2 Check-Privacy Online 13 Section 3 Development and Upgrade of P3P Privacy Policy Generator for Service Providers 14 1 Privacy Policy Generator 14 Section 4 System Diagram 14 Section 5 Development Scope 15 1 Check-Privacy Agent 16 2 Check-Privacy Online 16 3 Privacy Policy Generator 16 Chapter 3 Development Managing 18 Section 1 Development System 18 Section 2 Development Strategy 19 Chapter 4 Development Consequences 22 Section 1 Privacy Policy Generator 22 Section 2 Check-Privacy Agent 27 Section 3 Check-Privacy Online 38 Chapter 5 Epilogue 41 Section 1 Expectations and Plan for Practical Uses 41 [Appendix 1] Source Code

9 제 1 장서론 제 1 절시스템개발의필요성및목적 1. 개인정보보호의중요성 웹 2.0 과UCC( 이용자생산컨텐츠 ) 가로개인의참여가늘어나고있다. 또한나의정보가어디에나존재하게될유비쿼터스시대에개인정보보호는필수이다. 정보화의확산과참여를위해웹사이트로의개인정보제공은필수적이기에개인정보보호에대한중요성은더욱커지고있다. 만약자신이정보를얻기위해 ( 회원가입등을통하여 ) 가입한웹사이트 ( 서비스제공자 ) 에서타인이해킹을통해자신의정보를수집하여악용한다면혹은웹사이트가개인의정보를브로커에게넘기기라도한다면금전적인피해부터시작하여명예실추까지이루말할수없는피해가생긴다. 또한가입한웹사이트가개인정보를제휴관계에있는다른회사에공유를하였는데제휴사가고객의개인정보를, 회사를매각하면서판매하게되면나도모르는사이에나의개인정보가다른사람에의해악용될수있는위험을갖게된다. 2. 인터넷사용자들이간과하는개인정보 많은네티즌들은자신의개인정보가이렇게중요하다는것을알고있지만스스로보호하려는노력이부족하다. 사실부족하다기보다는마땅한방법이없기에어쩔수없는경우가더많다고할것이다. 네티즌들의정보를보호할의무가있는각웹사이트들은개인정보보호약관이라는것을통하여네티즌들의동의를구하여정보를보호하고있지만사실상네티즌들은이를무시하고 ( 읽어보지아니하고 ) 각사이트에가입하는경우가허다하다. P3P 시스템은네티즌들이무시하고지나가는개인정보보호약관을각네티즌의취향및중요도에맞게자신이직접설정하여 ( 이용자스스로정보제공범위를조절 ) 각사이트에적용되어있는지를쉽게확인할수있으며서비스제공자의신용도및서비스의종류등도체크할수있어개인정보보호에뛰어난역할을할수있다

10 제 2 절 PrivacyAll(P3P 통합사이트 ) 구축의필요성 현재까지발표된 P3P 표준은개인정보보호정책을적용하기위한기본적인구조만을나타내고있는것으로서비스사업자내부에서운영하는개인정보보호정책이공개한 P3P 정책을그대로적용하고있는지에대한보장은하지못하고있다. 따라서공개된개인정보보호정책의운영을확인할수있는전체적인메커니즘의확장으로 P3P 표준이발전할것으로기대된다. 한편, P3Pv.1.1은이후버전에서개발되어야할메커니즘으로다음의 4가지를명시하고있다. a. 사이트가 P3P 정책의선택권을방문자들에게부여해주는메커니즘 b. 서비스이용자가 P3P 에이전트를통해특정사이트의 P3P 정책에명시적으로동의하는것을가능하게해주는메커니즘 c. 서비스이용자및웹사이트사이의합의에의한부인방지를가능하게하는메커니즘 d. P3P 에이전트가서비스이용자의개인정보를서비스에전송할수있도록해주는메커니즘 뿐만아니라, 현재의 P3P 규격은개인정보보호에관한전체적인구조에초점을맞추고있어서세부적으로는각국가별개인정보보호의법적인요구사항을만족하지못하므로, 이를각국가의실정에맞는형태로적용하면서상호모순없이호환운영되는기술개발이지속적으로발전할것으로예상된다. 제 3 절시스템개발의목표 PrivacyAll(P3P통합 ) 사이트를통하여 P3P관련모든툴을한곳에서제공함으로비용, 상호호환기술등의측면에서개발의효율성을높이고이용자접근및이용의편의성을제고하여 S/W 보급활성화를촉진할수있으며, 나아가웹페이지를통해개인정보보호관련다양한콘텐츠를제공하여효과적으로개인정보보호홍보창구로활용할수있다. 또한기존 P3P방침생성기를한국형표준을기본으로업그레이드하여향후모순없이호환운영될수있도록한다 a. 기존 P3P 지원 S/W에서나타난다운로드방식의불편함과이용절차의복잡함을간소화한다. b. 웹운영자용 P3P 방침생성기의 S/W 설치를쉽게할수있도록개발 (P3P 개인정보취급방침생성기업그레이드, 07년개정예정인정통망법사항을추가표

11 참조 ) c. 이용자용에이전트 S/W를일반이용자가간편하게사용할수있도록개발 d. 이용이간편한웹기반형식의 Privacy Finder를개발 e. 기타개인정보보호관련자료들을업로드하여종합적인개인정보보호관련정보를제공하도록한다. ( 그림 1-1) 인터넷사업자 10 대의무고지사항

12 제 2 장시스템개발내용안내 제 1 절과제내용상사용자대상 개발된기술을웹사이트운영자 ( 웹서비스제공자 ) 와네티즌 ( 웹서비스이용자 ) 들에게공개하고자신의개인정보정책과웹사이트의개인정보보호약관을손쉽게비교할수있어맞춤형으로개인정보를보호할수있도록한다. 1 웹사이트운영자 ( 웹서비스제공자 ) 웹서비스제공자들은 XML 정책생성기를통해생성한 XML 문서를토대로하여서비스가입자및가입예정자들에게효율적으로이용약관을전달할수있으며, 표준약관을이용함으로서효과적이고범용적인데이터관리를가능하게한다. 또한웹서비스이용자들에게신뢰를얻을수있다. 2 네티즌 ( 웹서비스이용자 ) 정보를얻기위해가입하는사이트의개인정보보호이용약관을손쉽게확인할수있으며자신의개인정보보호정책과웹사이트의개인정보보호약관을비교하여가입여부를숙고할수있다. 제 2 절이용자용 PrivacyAll 구축 (P3P 통합사이트 ) 이용자용 PrivacyAll 은다음과같은기능이구축된다. a. 웹사이트의 P3P 방침자동인식을통해웹사이트방침고지효율화 b. 개인정보취급방침핵심사항을알려주는 간편방침 조회기능 c. 이용자가설정하는방침과웹사이트의방침비교결과표시 d. 정책불일치시불일치상세내역에대한알림기능 e. 개인정보취급방침전문, 개인정보관리책임자정보, Opt-in/Opt-out 조회기능 1. 체크프라이버시에이전트 웹사이트의 P3P 정책을자동인식하는 S/W 로, 이용자의 PC 에설치후자신의

13 개인정보보호정책을설정. P3P가적용된웹서버에접속시웹서버가제공하는개인정보취급방침과자신이설정한방침을비교하여웹브라우저에그결과값표시알람기능제공.( 이용자웹브라우저에설치돼개인정보제공범위등을자동으로결정할수있도록지원 ) 가. Toolbar 형식으로제공하여웹기반의 Privacy Finder 와연동하도록한다. 나. 유저가이용함에있어불편을느끼지않도록다양한유저인터페이스및설정을제공한다. 다. 쉬운설정 / 사용자설정등의메뉴를제공하여쉬운설정의경우정책생성을최대한자동화하여제공하고, 상세설정의경우 XML의상세내역을제어할수있도록제공한다. 2. 체크프라이버시온라인. 특정사이트에대한 P3P 정책을검색할수있는 S/W로, 이용자자신의개인정보보호정책을설정하고 ( 툴제공 ) 검색을원하는사이트입력하면, 해당사이트의웹페이지별결과를아이콘등으로간략히표시 가. 현재 AT&T 사가개발한 Privacy Finder S/W 를모델로기능업그레이드 나. 한국형 CheckPrivacy Online 로업그레이드 ( 그림 2-1) 한국형 CheckPrivacy Online 요구사항

14 제 3 절사업자용 P3P 개인정보취급방침생성기개발및업그레이드 1. 개인정보취급방침생성기 웹운영자가해당사이트의개인정보취급방침작성시 P3P 표준에맞게 XML파일로자동으로생성해주는 S/W ( 각사업자의개인정보보호방침을기계어로변환, P3P 파일로생성 ) 각사업자는생성된 XML파일을 P3P 정책검색모듈이검색할수있도록특정위치에위치시키거나링크를생성하는방법으로 XML 파일을공개한다. ( 그림 2-2) PrivacyAll 가상화면구성 제 4 절 P3P 시스템구성도 가. 웹사이트운영자가해당사이트의개인정보취급방침을작성하고이를네트웍에서컴퓨터가기계적으로판독이가능하도록 *.xml 파일로생성 나. 이용자는 P3P 에이전트 (CheckPrivacy Toolbar) 및 CheckPrivacy Online(Privacy Finder 기능 ) 를통해자신의개인정보선택사항을입력 다. P3P 를채택한웹사이트방문또는검색시해당사이트의 P3P xml 개인정보취

15 급방침파일과이용자가입력한개인정보선택사항을자동인식 비교하여이용자에게결과값알림으로써손쉽게방침확인 [ ( 그림 2-3) P3P 시스템구성도 제 5 절개발범위 1. 체크프라이버시에이전트 가. 방침생성기를통해작성한 P3P 방침규격과호환가능하도록공동스펙으로개발 나. 설치및이용에있어사용자편의성을최대한고려하여절차간소화 다. 개인정보취급방침항목중개정정통망법에서명시한이용자동의사항 ( 수집목적 / 수집항목 / 보유기간 / 제3자제공 ) 을중심으로정책설정항목구성 라. 웹사이트정책및이용자선호정책비교결과구현 a. 주요비교결과에대해간략히아이콘으로표시 ( 정책일치 / 불일치 / 정책없음 / 알수없음 / 신뢰사이트 ) b. 정책불일치시불일치상세내역에대한알림기능 마. 기타기능구현 a. 개인정보요약방침및방침전문, P3P 정책원문 b. 쿠키차단설정

16 c. 개인정보책임자연락처 2. 체크프라이버시온라인 가. 검색엔진을통해검색대상사이트의웹페이지별정보제공 나. 이용자의개인정보보호정책설정툴마련. P3P 에이전트와동일하게구성 다. 해당사이트의웹페이지별로이용자의정보보호정책비교결과값을아이콘등으로간략히표시 라. 기타기능구현 a. 해당사이트에대한상세정보검색기능 b. 개인정보요약방침및방침전문, P3P 정책원문 c. 개인정보책임자연락처 ( 그림 2-4) 체크프라이버시온라인운영원리 3. CheckPrivacy Editor(P3P 방침생성기 ) 가. W3C P3P 1.1 표준스펙에국내정통망법을반영하여개발한한국형 P3P 표준 (TTA 표준신청중 ) 을기본으로, 07 개정예정인정통망법사항을추가하여개인정보취급방침입력툴구현 - 웹기반의설문형식으로구성된단계별입력방식

17 나. 개인정보취급방침 html 파일및 xml 파일, xml 참조파일자동생성 다. 방침생성기이용사업자 DB 생성 4. 기타개인정보보호관련자료업로드 개인정보보호교육자료및 S/W 다운로드

18 제 3 장. 개발관리부문 제 1 절개발추진체계 현존하는P3P S/W의문제점은네티즌들과웹운영자들이쉽게접근할수없다는점에있다. AT&T 사가개발한 Privacy Finder는한국인의정서와어울리지않아쉽게접근하기가어려우며, KT에서개발한 Pagent S/W는이용이불편하다. 보통한국의네티즌들은개인정보보호약관을무시하고지나가는경향이있는데이용이불편하거나한국인의정서와맞지않는 S/W라면아무리좋은개인정보보호기능이내장되어있더라도사용하기가쉽지않다. 이에따라당사는한국실정에맞고좀더적합한한국형 P3P 통합웹사이트를구축하였다. 먼저한국형 P3P 표준 XML을분석및통합웹사이트를설계하고, 웹검색및 XML 문서분석방법을구현하였다. 위의사항들을처리한뒤에이를통합하여통합웹사이트구축,CheckPrivacy Toolbar(P3P 에이전트 ), CheckPrivacy Editor(P3P 정책생성기 ) 를복합적으로구현하여최적화된한국형 P3P를구축하였다. ( 그림 3-1) 은최종목표달성을위한추진체계를도식화하여나타낸것으로자료분석과단계적인설계및구현을통해효율적인개발을위한지표가되었다. ( 그림 3-1) 목표달성추진체계

19 제 2 절추진전략 1. 추진전략이후에따른설치및운영 가. P3P 에이전트의설치는간소화하고사용이용이하도록하였다. 나. 설치가용이하도록웹기반의매뉴얼을제작하고페이지를디자인하여제공하였다. 다. 전자우편, Q&A게시판, FAQ, 설치메뉴얼등을웹상에운영하여다양한방식으로설치안내및운영방법의안내를지원하였다. 라. 개발완료후 5개월간이러한전자우편, QnA게시판, FAQ, 설치메뉴얼등의제공을통한기술지원서비스를제공한다. 2. 프로젝트관리를위한추진전략 프로젝트를진행하는데있어서시간, 인력낭비를줄이고효과적으로자원을운영하는것이중요하다. 개발을진행중설계를변경하여그동안의개발을원점으로만들거나, 프로젝트참여자간의의사소통이이루어지지않게되는일은분명프로젝트의진행을방해하는요소이다. 이를방지하고효율적인프로젝트의관리를위해다음과같은관리방안을도입하였다. [ 표 3-1] 과제내용별추진방안 가. 초기설계과정에많은비중을둔다. 프로그램개발에앞서요구사항분석서와시스템설계서를작성하여정보보호진흥원 (KISA) 의요구사항에맞는지확인, 요구사항에적합할때까지쌍방향커뮤니케이션및피드백방식으로개선하였다. 나. 프로젝트참여자간의활발한의사소통을유도한다.. 정기적으로프로젝트참여자들이모여프로젝트진행상황, 개발방향, 개발방법등에관하여설명, 회의하는시간을갖도록하여참여자들이프로젝트전반적인안목을갖게하고의사소통효율을높였다

20 과제내용 추진방안 요구사항분석및시스템설사용자의요구사항의정확한분석이요구되며계많은회의를통해최적안을도출하였다. 확장성을고려하여 DB를설계하고업데이트의 DB설계및기능인터페이스자동화를위한부분을우선적으로설계하였다. 설계인터페이스는다양한환경의사용자들이쉽게설치하고업데이트할수있도록설계하였다. P3P 방침생성기구현 1 한국형 P3P표준 XML분석개인정보취급방침생성기 2 XML 정책생성기설계및구현 (xml파일자동생성s/w) 체크프라이버시에이전트구 1 사용자의개인정책설정부분구현현 2 XML문서의비교및분석방법구현 (P3P정책자동인식S/W) 3 사용자인터페이스설계및구현체크프라이버시온라인구현 ( 특정사이트P3P정책검색1 한국형 P3P정책검색엔진구현 S/W) 기타개인정보보호관련자료 1 웹사이트설계및구축업로드및웹페이지구축 2 사용자편의를위한기능구현최종결과물제출이후에도요구사항을수렴하결과물테스트및제출여다양한환경에서안정적으로작동될수있도록지원하였다. 다. 프로젝트진행중주석과관련문서를반드시작성하고프로젝트참여자간에이를공유가가능하도록하였다. 라. 개발프로그램의성능, 안정성테스트와유지, 보수를위하여베타테스트를정기적으로실시하였다. 마. 프로젝트문서관리 프로젝트의문서는외부에대한보안을유지하면서프로젝트참여자의원활한피드백을위하여공유하였다. 또한프로그래밍에대하여상세한주석을통하여추후유지보수가가능하도록하였으며 KISA와웹사이트운영기업의요구사항을파악하기위한새로운정보를지속적으로갱신하였다. 바. 프로젝트일정관리 프로젝트등록후주업무 (Main-task) 및부업무 (Sub-task) 내용및일정을입력하

21 여프로젝트관리를수행하였다. 각개발단계를파악하기쉽도록정리하였고일정이나담당자변경시프로젝트참여자와관계자에게즉시통보하였다. 사. 프로세스관리 시스템설계서의배포 / 현황유지, 적용 / 사후관리및보관 / 보존업무를체계적이고효율적으로수행함으로써, 단계별개발활동에적용될최신설계출력문서를보다용이하게식별및적용할수있도록하였다

22 제 4 장. 개발결과부문 제 1 절개인정보취급방침생성기 개인정보취급방침생성기는웹기반으로개발된 P3P 방침생성기이다. 웹운영자는현재운영하고있는사이트의개인정보취급방침을 P3P 표준에맞게 XML 파일로자동생성할수있다. 개인정보취급방침생성기를통해만들어진 XML 파일은체크프라이버시에이전트혹은체크프라이버시온라인을통해이용자들이간편하게확인할수있도록변환된다. 사업자는개인정보취급방침생성기의 12가지절차에따라간단한설정만으로복잡한 XML 파일을작성할수있다. ( 그림 4-1) 개인정보취급방침생성기 1. 개발환경 a. 개발툴 (Editplus-2) b. 개발언어 (JSP JDK 1.4.0) c. 서버환경 (Solaris 9, Apache-Tomcat, Oracle 9i) 시스템구성 DB 설계는각페이지별, 세션별처리를기반으로하였고페이지별로사업자아이디값을통해 DB 삽입 / 수정을진행. 그외처리는기본적인자바스크립트를통해하였다. 2. 테이블스키마

23 엔티티명엔티티ID 업체관리 xmlmem NO 컬럼ID 컬럼명 PK TYPE LENGTH NULL 비고 1 cop_no 사업자아이디 PK varchar2 12 N 2 cop_pass 비밀번호 varchar proc_date 등록일 date 엔티티명엔티티ID 사업자별방침파일 xmluses NO 컬럼ID 컬럼명 PK TYPE LENGTH NULL 비고 1 cop_no 사업자아이디 PK varchar2 12 N 2 uses 방침파일명 PK varchar2 20 N 3 proc_date 최종처리일 date N 4 use_lv 최종LEVEL varchar2 2 N 최종 LEVEL 엔티티명엔티티ID LEVEL별데이터 xmldata2 NO 컬럼ID 컬럼명 PK TYPE LENGTH NULL 비고 1 uses 방침파일명 PK varchar2 20 N 최종생성파일명 2 process 프로세스 PK number 11 N 기본 "0", 3 자제공및업무위탁시반복횟수 각 LEVEL을구분하는번 3 datanum LAVEL번호 PK number 11 N 호 4 data 데이터 long N 유저입력데이터 엔티티명엔티티ID 수집항목별이용목적 xmlelement_object NO 컬럼ID 컬럼명 PK TYPE LENGTH NULL 비고 1 uses 방침파일명 PK varchar2 20 N 최종생성파일명 2 elnum 항목 PK number 11 N 수집항목번호 3 objnum 이용목적 varchar2 120 N 선택된이용목적을 " " 로구분

24 엔티티명엔티티ID 수집항목별이용기간및보전근거 xmlelement_period NO 컬럼ID 컬럼명 PK TYPE LENGTH NULL 비고 1 uses 방침파일명 PK varchar2 20 N 최종생성파일명 2 elnum 항목 PK number 11 N 수집항목번호 3 prdnum 기간및보존근거 varchar2 120 N 기간및보존근거를 로구분 엔티티명 제3자제공및업무위탁구분 엔티티ID xmlthird NO 컬럼ID 컬럼명 PK TYPE LENGTH NULL 비고 1 uses 방침파일명 PK varchar2 20 N 최종생성파일명 2 gbn 구분 PK number 1 N 0: 3자제공 1: 업무위탁 3 third 제3자및위탁여부 number 1 N 0: 예 1: 아니오 4 t_count 업체수 number 11 N 엔티티명엔티티ID 동일항목제공업체 xmlcorp_5 NO 컬럼ID 컬럼명 PK TYPE LENG TH NULL 비고 1 uses 방침파일명 PK varchar2 20 N 최종생성파일명 0:3자제공, 2 gbn 구분 PK number 1 N 1: 업무위탁동일업체별 3 process 동일업체순번 PK number 11 N 처리순번 corpna 업체명을 4 업체명 long me " " 로구분 엔티티명엔티티ID 동일제공업체수 xmlproc_5 NO 컬럼ID 컬럼명 PK TYPE LENG TH NULL 비고 1 uses 방침파일명 PK varchar2 20 N 최종생성파일명 0:3자제공, 2 gbn 구분 PK number 1 N 1: 업무위탁동일업체별 3 process 동일업체순번 PK number 11 N 처리순번 4 proccnt 동일업체수 number 11 N

25 엔티티명엔티티ID 제공항목 xmlelement_5 NO 컬럼ID 컬럼명 PK TYPE LENG TH NULL 비고 1 uses 방침파일명 PK varchar2 20 N 최종생성파일명 2 gbn 구분 PK number 1 N 3 process 동일업체순번 PK number 11 N 4 elnum 항목 varchar2 120 N 0:3자제공, 1: 업무위탁동일업체별처리순번수집항목을 " " 로구분, 항목의수 / 선택구분은 ":" 로구분 엔티티명엔티티ID 제공항목이용목적 xmlobject_5 NO 컬럼ID 컬럼명 PK TYPE LENG TH NULL 비고 1 uses 방침파일명 PK varchar2 20 N 최종생성파일명 2 gbn 구분 PK number 1 N 3 process 동일업체순번 PK number 11 N 4 objnu m 이용목적 varchar2 120 N 0:3자제공, 1: 업무위탁동일업체별처리순번이용목적을 " " 로구분 엔티티명엔티티ID 제공항목별이용기간및보존근거 xmlelement_period_5 NO 컬럼ID 컬럼명 PK TYPE LENGT H NULL 비고 1 uses 방침파일명 PK varchar2 20 N 최종생성파일명 0: 제3자제공, 2 gbn 구분 PK number 1 N 1: 업무위탁동일업체별 3 process 동일업체순번 PK number 11 N 처리순번 4 elnum 항목 PK number 11 N 항목번호 기간및 5 prdnum 기간및보존근거 varchar2 120 N 보존근거를 " " 로구분 3. 페이지별연결구조

26 가. 사용자인터페이스 (1) index.jsp a. 사용자등록을원할경우 index_03.jsp b. 사용자등록을원하지않을경우 no_login.jsp 사용자등록페이지를거쳤다올경우사용자계정으로세션을생성하고등록을원하지않을경우임의의계정으로세션을생성한다 (Join_check.jsp). Id_history.jsp 로이동한다. (2) Id_history.jsp Lv_main.(1,2,3,4)jsp 로연결한다. 새정책생성, 불러오기의구분은 post값으로한다. Lv_main은페이지별로 do(1,2,3,4,5,6,7,8,9,10,11,12).jsp 와연동된다. 나. XML 생성 (1) Xml_init.jsp 최종 XML 생성시에 xml_init.jsp 을통해 DB 입력값불러오기및 XML 데이터초기화를진행한다. (2) Xml_write.jsp 각조건별로 xml 을생성한다. (3) Xml_down.jsp Xml 다운시에 zip 압축및페이지리다이렉트기능담당한다. 다. 기타페이지 (1) Guide.jsp 생성기가이드제공페이지 ( 각메뉴별로 guide(1,2,3,4,5).jsp 을포함한다. )

27 (2) Logout.jsp 로그아웃시세션정리페이지. xmlview.jsp 최종관리페이지에서 xml 보기 제 2 절체크프라이버시에이전트 이용자는웹사이트의개인정보취급방침내용을체크프라이버시에이전트를통해간편하게확인할수있다. 체크프라이버시에이전트를컴퓨터에설치하면아래의그림처럼웹브라우저에체크프라이버시아이콘이생성된다. ( 그림 4-2) 웹브라우저에추가된체크프라이버시아이콘 CheckPrivacy를통해이용자는웹사이트의개인정보취급방침을일일이찾아서읽지않고도개인정보취급방침의핵심적인내용을확인하거나이미지등을통해웹사이트의개인정보보호수준을파악할수있다. ( 그림 4-3) 체크프라이버시에이전트를통해확인한사이트의개인정보취급방침 또한이용자가설정한개인정보취급방침과이용하고있는웹사이트의개인정보취급방침의일치여부도간단하게확인이가능하다

28 1. 개발환경 a. 개발툴 (Microsoft Visual Studio 2005) b. 개발언어 (Active X, MFC) c. 테스트환경 (Microsoft Windows Server 2003, Microsoft Windows VISTA Home) 시스템구성기본적으로 http 프로토콜을사용하여정책파일을다운로드한다. 사용자용에이전튼Wellknown 폴더로먼저접근을한뒤해당파일이없을경우 link 태그의유무를판단한다. https도동일한순서로접근한다. xml 분석은정책참조파일과정책파일모두다운로드되었을경우분석을실시한다. 위의과정이전부종료되었을경우모달다이얼로그를통해최종결과를출력한다 2. 프로그램주요부분클래스설계및소스코드메인클래스 CmasterObject // CUpdateProgress 대화상자입니다.// classatl_no_vtable CMasterObject : public CComObjectRootEx<CComSingleThreadModel>, public CComCoClass<CMasterObject, &CLSID_MasterObject>, public IOleCommandTarget, public IObjectWithSiteImpl<CMasterObject>, public IDispatchImpl<IMasterObject, &IID_IMasterObject, &LIBID_MyCheckLib, 1, 0> STDMETHODIMP CMasterObject::SetSite(IUnknown *punksite) // 초기화함수 // 경로읽어오기 if( m_filepath.isempty() ) HKEY hkey; wchar_t Path[1024] = 0,; RegOpenKey(HKEY_CURRENT_USER,L"Software\\Microsoft\\Internet Explorer\\Extensions\\36113F9D fd1-987A-F893794C3FC9",&hKey); DWORD dwsize = sizeof(path); RegQueryValueEx(hKey,L"HotIcon",NULL,NULL,(LPBYTE)&Path,&dwSize); m_filepath = Path; m_filepath = m_filepath.left(m_filepath.getlength()-15); RegCloseKey(hKey); // 비스트체크함수 bvista = IsVISTA();

29 // 실제동작시호출함수 STDMETHODIMP CMasterObject::Exec(const GUID*, DWORD ncmdid, DWORD, VARIANTARG*, VARIANTARG*) Smile = 0 ; if(m_spunksite == 0 m_pwebbrowser2 == 0) return S_OK; HRESULT hres = S_OK; CComPtr<IDispatch> pdocdisp; CComPtr<IDispatch> pdocdisp2; CComQIPtr<IHTMLDocument2> phtmldoc2; // CComPtr<IHTMLElementCollection> pelementcol; CComPtr<IHTMLLinkElement> plink1; CComQIPtr<IHTMLElement, &IID_IHTMLElement>objElement; // HWND hwndparent; // m_linkurl.empty(); // hres = m_pwebbrowser2->get_document(&pdocdisp); // HTML 문서및링크태그파악을위한인터페이스 if(succeeded(hres) && pdocdisp) pdocdisp2 = pdocdisp; hres = pdocdisp->queryinterface(iid_ihtmldocument2,(void**)&phtmldoc2); if(succeeded(hres) && phtmldoc2) SHANDLE_PTR nbrowser = 0 ; if(succeeded(phtmldoc2->get_all(&pelementcol))) // 아래와같은 Activex제공함수를통해 Link 태그여부를파악한다. long p = 0 ; if(succeeded(pelementcol->get_length(&p))) if(p!=0 ) for( long ifor = 0 ; ifor<=p-1 ;ifor++) CComBSTR string ; _variant_t index = ifor; if( SUCCEEDED(pelementcol->item(index,index,&pDocDisp2))) BSTR tag_name; objelement = pdocdisp2; objelement->get_tagname(&tag_name); CString temp_tagname = tag_name; if(succeeded(pdocdisp2->queryinterface(iid_ihtmllinkelement,(void**)&plink1)))

30 BSTR p3pchk; plink1->get_rel(&p3pchk); CString p3pchk_string; p3pchk_string = p3pchk; if( p3pchk_string == "P3Pv1") // 링크태그 P3Pv1파악을위해 BSTR p3plink; plink1->get_href(&p3plink); m_linkurl = p3plink; // IE7일경우탭처리를위해 if(m_bisie7) HWND hwndie7activetab = hwndparent; HWND hwnd = GetWindow(hWndParent, GW_CHILD); if(hwnd) TCHAR szclassname[max_path]; while(hwnd) memset(szclassname,0,max_path); GetClassName(hWnd, szclassname, MAX_PATH); if(_tcscmp(szclassname,_t("tabwindowclass"))==0) // 활성화된탭에다이얼로그가보여야함으로 if(iswindowvisible(hwnd)) hwnd = GetWindow(hWnd, GW_CHILD); while(hwnd) memset(szclassname,0,max_path); GetClassName(hWnd, szclassname, MAX_PATH); if(_tcscmp(szclassname,_t("shell DocObject View"))==0) hwnd = FindWindowEx(hWnd, NULL, _T("Internet Explorer_Server"), NULL); if(hwnd) hwndie7activetab = hwnd; break hwnd = GetWindow(hWnd, GW_HWNDNEXT); hwnd = GetWindow(hWnd, GW_HWNDNEXT);

31 if(hwndie7activetab) hwndmenuparent = hwndie7activetab; 가. 정책참조파일분석및다운로드모듈 (1) /w3c/p3p.xml 에정책이위치할경우 ( 가 ) 에이전트가 url/w3c/p3p/xml 에접근하여실제정책파일의위치를분석한다. ( 나 ) 실제정책파일의위치를읽어온뒤로컬디스크에저장한다. ( 다 ) 로컬디스크에저장한파일을분석하여결과를도출한다. (2) Link 태그를통해정책이위치할경우 ( 가 ) pdocdisp2->queryinterface를이용하여 P3Pv1 관련정보여부를찾아낸다. 이후과정은 (1) 의과정과동일하다. (3). 실제정책파일다운로드 ( 가 ) http 로웹을운영할경우 WinAPI 의 URLDownloadToURL 을이용하여해당 URL 에접근하여정책파일을다운로드한다. ( 나 ) https로웹을운영할경우 wget을통하여해당웹의정책파일을다운로드한후경로를리턴받아처리한다. ( 다 ) http, https 를동시에사용하여웹을운영할경우 ( 가 ) 의과정과동일하다. 첨부자료 - 정책파일다운로드클래스코드 (Class- Update_dlg 를사용한다.) #pragma once #include "resource.h" #include "afxcmn.h" #include "afxwin.h" // CUpdateProgress 대화상자입니다. classcupdateprogress : public CDialog DECLARE_DYNAMIC(CUpdateProgress)

32 public: CUpdateProgress(CWnd* pparent = NULL); // 표준생성자입니다. virtual ~CUpdateProgress(); // 대화상자데이터입니다. enum IDD = IDD_UPDATEPROGRESS ; protected: virtual void DoDataExchange(CDataExchange* pdx); // DDX/DDV 지원입니다. DECLARE_MESSAGE_MAP() public: virtual BOOL OnInitDialog(); public: voidworkerthreadproc(void); public: voidprogressupdate( LPCTSTR sziemsg, LPCTSTR szcustommsg,const int npercentdone ); public: afx_msg void OnNMCustomdrawProgress1(NMHDR *pnmhdr, LRESULT *presult); public: CProgressCtrl m_progress; public: CStatic m_stcustommsg; public: wchar_t * m_purl; CString m_filepath; BOOL bref; public: afx_msg void OnBnClickedCancle(); CString ref_file; CString XML_File; CString StringUrl ; BOOL bvista ; // 비스타여부확인 void SetVista(BOOL Vista) bvista = Vista; // 경로지정 void SetUrl(wchar_t * purl,cstring FilePath,BOOL bset = FALSE,wchar_t* pgeturl=null,bool bhtml=true) StringUrl.Empty(); bref =bset; SYSTEMTIME st; CString m_strtemp; ::GetTempPath(MAX_PATH, m_strtemp.getbuffer(max_path)); m_strtemp.releasebuffer(); if(!bref) if(!bhtml) StringUrl = purl;

33 else StringUrl += purl; StringUrl += "/w3c/p3p.xml" GetLocalTime(&st); if(bvista) ref_file.format(l"%smycheck\\tempxml\\%d%d%d%d%d%dref.xml", m_strtemp,st.wyear,st.wmonth,st.wday,st.whour,st.wminute,st.wmilliseconds); else ref_file.format(l"%stempxml\\%d%d%d%d%d%dref.xml", FilePath,st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wMilliseconds); else if(!bhtml) StringUrl += pgeturl; else StringUrl += purl; StringUrl += pgeturl; GetLocalTime(&st); CString m_strtemp; ::GetTempPath(MAX_PATH, m_strtemp.getbuffer(max_path)); if(bvista) XML_File.Format(L"%sMyCheck\\TempXML\\%d%d%d%d%d%d.xml", m_strtemp,st.wyear,st.wmonth,st.wday,st.whour,st.wminute,st.wmilliseconds); else XML_File.Format(L"%sTempXML\\%d%d%d%d%d%d.xml", FilePath,st.wYear,st.wMonth,st.wDay,st.wHour,st.wMinute,st.wMilliseconds); public: public: return ; // 참조파일분석 CString GetRef_File(); // 정책파일분석 CString GetXML_File(); afx_msg void OnClose(); virtual BOOL PreTranslateMessage(MSG* pmsg);

34 // 비스타경로셋팅. Update_dlg.SetVista(bVista); // URL을DLG에넣는다.. Update_dlg.SetUrl(CLastUrl.GetBuffer(),m_FilePath); // 내정책을초기화한다. m_policyxml.initpolicy(bvista); // 읽어올파일경로 m_policyxml.setfilepath(m_filepath); m_policyxml.setwritefilepath(m_writefilepath); // 파일에서읽어온다. m_policyxml.getmypolicy(bvista); // XML 파일들을다운받는다. Update_dlg.DoModal(); // XML 최종 URL( 현재페이지 ) 를담는다. CString tempurl =CLastUrl; 나 ) XML 분석클래스 오픈소스기반의 xmlparser를사용하였다. 로컬에다운받은정책파일을메모리로로드한뒤해당태그여부및어트리뷰트를체크한다. // 개발환경에따른소스처리 #ifndef INCLUDE_XML_NODE #define INCLUDE_XML_NODE #include <stdlib.h> #ifdef _XMLWIDECHAR #ifndef _T #define _T(c) L ## c #endif #define XMLCSTR const wchar_t * #define XMLSTR wchar_t * #define XMLCHAR wchar_t #else #ifndef _T #define _T(c) c #endif #define XMLCSTR const char * #define XMLSTR char * #define XMLCHAR char #endif #ifndef FALSE #define FALSE 0 #endif /* FALSE */ #ifndeftrue #define TRUE 1 #endif /* TRUE */

35 // XML에러코드정리 typedefenumxmlerror exmlerrornone = 0, exmlerrormissingendtag, exmlerrorempty, exmlerrorfirstnotstarttag, exmlerrormissingtagname, exmlerrormissingendtagname, exmlerrornomatchingquote, exmlerrorunmatchedendtag, exmlerrorunmatchedendcleartag, XMLError; // XML엘리먼트 ( 어트리뷰트타입정리 ) typedefenumxmlelementtype enodechild=0, enodeattribute=1, enodetext=2, enodeclear=3, enodenull=4 XMLElementType; // XML 파싱중에러날경우아래와같은타입에서판별 typedef struct XMLResults enum XMLError error; int nline,ncolumn; XMLResults; // XML 초기화구조체 typedefstructxmlclear XMLCSTR lpszvalue; XMLCSTR lpszopentag; XMLCSTR lpszclosetag; XMLClear; // XML 어트리뷰트를담기위한구조체 typedefstructxmlattribute XMLCSTR lpszname; XMLCSTR lpszvalue; XMLAttribute; // XML 노드를담기위한메인구조체 structxmlnodecontents; // XML 노드를담기위한자식구조체 typedefstructxmldllentry XMLNode private: struct XMLNodeDataTag; XMLNode(struct XMLNodeDataTag *pparent, XMLSTR lpszname, charisdeclaration);

36 XMLNode(struct XMLNodeDataTag *p); public: // XML 스트링파싱함수 static XMLNode parsestring *presults=null); // 파일에서 XML 가져올때사용함수 (XMLCSTR lpxmlstring, XMLCSTR tag=null, XMLResults static XMLNode parsefile (XMLCSTR filename, XMLCSTR tag=null, XMLResults *presults=null); // 예외발생시호출함수 staticxmlcstr geterror(xmlerror error); static XMLCSTR getversion(); // XML 파싱함수들 XMLCSTR getname() const XMLCSTR gettext(int i=0) const int ntext() const XMLNode getparentnode() const XMLNode getchildnode(int i=0) const XMLNode getchildnode(xmlcstr name, int i) const XMLNode getchildnode(xmlcstr name, int*i=null) const XMLNode getchildnodewithattribute(xmlcstr tagname, XMLCSTR attributename, XMLCSTR attributevalue=null, int *i=null) const int nchildnode(xmlcstr name) const int nchildnode() const XMLAttribute getattribute(int i=0) const XMLCSTR getattributename(int i=0) const XMLCSTR getattributevalue(int i=0) const char isattributeset(xmlcstr name) const XMLCSTR getattribute(xmlcstr name, int i) const XMLCSTR getattribute(xmlcstr name, int *i=null) const int nattribute() const XMLClear getclear(int i=0) const int nclear() const XMLSTR createxmlstring(int nformat=1, int*pnsize=null) const XMLError writetofile(xmlcstr filename, const char*encoding=null, char nformat=1) const XMLNodeContents enumcontents(int i) const int nelement() const char isempty() const staticxmlnode emptynode(); ~XMLNode(); XMLNode(constXMLNode &A); XMLNode& operator=( const XMLNode& A ); XMLNode(): d(null); static XMLNode emptyxmlnode; static XMLClear emptyxmlclear; static XMLAttribute emptyxmlattribute; // XML 한글처리위해인코딩타입지정 typedef enum XMLCharEncoding encoding_utf8=1, encoding_ascii=2, encoding_shiftjis=3 XMLCharEncoding;

37 private: // XML태그별데이터를담기위한구조체. 수정불가 typedef struct XMLNodeDataTag XMLCSTR lpszname; int nchild, ntext, nclear, nattribute; char isdeclaration; struct XMLNodeDataTag *pparent; XMLNode *pchild; XMLCSTR *ptext; XMLClear *pclear; XMLAttribute *pattribute; int *porder; int ref_count; XMLNodeData; XMLNodeData *d; int indextext(xmlcstr lpszvalue) const int indexclear(xmlcstr lpszvalue) const XMLNode addchild_priv(int,xmlstr,char,int); XMLClear *addclear_priv(int,xmlstr,xmlcstr,xmlcstr,int); static inline int findposition(xmlnodedata *d, int index, XMLElementType xtype); static int CreateXMLStringR(XMLNodeData *pentry, XMLSTR lpszmarker, intnformat); static int removeorderelement(xmlnodedata *d, XMLElementType t, intindex); static int detachfromparent(xmlnodedata *d); XMLNode; // XML 문자열풀구조체 // 메모리릭을막기위해 typedefstructxmldllentry ToXMLStringTool public: ToXMLStringTool(): buf(null),buflen(0) ~ToXMLStringTool(); void freebuffer(); XMLSTR toxml(xmlcstr source); // XML Base64 처리 typedefstructxmldllentry XMLParserBase64Tool public: XMLParserBase64Tool(): buf(null),buflen(0) ~XMLParserBase64Tool(); void freebuffer(); static intencodelength(int inbuflen, char formatted=0); XMLSTR encode(unsigned char *inbytebuf, unsigned intinbytelen, char formatted=0);

38 static unsigned int decodesize(xmlcstr instring, XMLError *xe=null); unsigned char* decode(xmlcstr instring, int *outbytelen=null, XMLError *xe=null); static unsigned char decode(xmlcstr instring, unsigned char *outbytebuf, int inmaxbyteoutbuflen, XMLError *xe=null); private: void *buf; int buflen; void alloc(int newsize); XMLParserBase64Tool; #undefxmldllentry #endif 다. 정책비교클래스 사용자의개인정책은 ini 파일로저장한다. (1) CBIniFile 클래스사용. WriteProfile 계열 API 를사용한다. 실제사용자의정책은 MyPolicy.ini 에저장된다. (2) CPolicyXML 사용자의정책과웹사이트의정책을비교하여최종결과를도출하는클래스 (ismile 변수를사용 ) (3) CsitePolicy 해당웹페이지의정책을저장하는클래스 제 3 절체크프라이버시온라인 체크프라이버시온라인은이용자가웹브라우저를통해원하는사이트의개인정보취급방침을쉽게검색할수있는프로그램이다

39 ( 그림 4-4) 체크프라이버시온라인시작화면 이용자자신의개인정보보호정책을설정하고검색을원하는사이트를입력하면. 이용자가원하는정보가간략하게표시된다. ( 그림 4-5) 사이트검색결과 1. 개발환경 a. 개발툴 (Editplus-2) b. 개발언어 (JSP JDK 1.4.0) c. 서버환경 (Solaris 9, Apache-Tomcat, Oracle 9i) 2. 시스템구성

40 xml 파싱은 javascript로처리한다. 기본적인정책파일다운로드는다운로드에이전트와동일한구조를취하고있다

41 제 5 장. 맺음 제 1 절기대효과및활용방안 1. 체크프라이버시에이전트를통해기존에이용자들이사용하던 P3P 에이전트의불편함을해소하고그절차를간소화함으로써 S/W 보급을증진시킬수있을것으로기대된다. 2. 웹사이트를운영하고개인정보취급방침을관리하는운영자들은체크프라이버시에이전트기능을통해자신의사이트에맞는 P3P 기능을쉽게구현하므로네티즌들이사이트를이용하는데느꼈던불안감을줄이고높은신뢰를얻을수있을것이다. 3. 개인정보취급방침생성기를이용해사이트의운영자들은정확한기준에맞추어쉽게개인정보취급방침파일을생성할수있으므로사용자와이용자모두개인정보취급방침 S/W 사용을활성화할것이다. 4. 체크프라이버시온라인은별도의다운로드과정없이웹을통해서사이트의정책을검색할수있게하여네티즌에게편리함과안정성을더해줄것이다. 또한체크프라이버시온라인으로언제어디서나쉽게개인정보보호에대한서비스를받을수있다

42 부록소스코드 1. 방침생성기소스코드 [Index.html] page language="java" import="java.sql.*" %> page contenttype="text/html; charset=euc-kr"%> include file="./config/define.jsp" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> 개인정보취급방침전자적표시소프트웨어 </TITLE> <meta http-equiv=content-type content="text/html;charset=ksc5601"> <meta http-equiv=cache-control content=no-cache> <meta http-equiv=pragma content=no-cache> <link rel=stylesheet HREF='conf/style.css' type='text/css' title='css'> <link href="css/style.css" rel="stylesheet" type="text/css"> </HEAD> <BODY style="background:url(totalimg/login/choose_bg01.jpg) center top no-repeat;"> <% String aaaaa=(string)request.getparameter("logout"); if(aaaaa!=null) %> include file="./index.notice.jsp" %> <% %> <table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0"> <! 로그인폼패딩위치지정 > <tr> <td align="center" valign="top"> <table width="688" cellpadding="0" cellspacing="0" border="0"> <tr> <td height="485" align="center" > <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td valign="top" style="padding: ;"><! cont 시작 > <table cellpadding="0" cellspacing="0" border="0"> ></td> <tr> </tr> <td colspan="2" height="90" width="116" align="center" <tr>

43 <td valign="top" align="center" > <table cellpadding="0" cellspacing="0" border="0"> <tr> <td style="padding: "><a href="no_login.jsp"><img alt=" 사용자등록하지않기 " src="totalimg/login/choose_bu01.jpg" width="339" height="172" border="0" style="cursor:hand"></a></td> <td><a href="index_03.jsp"><img alt=" 사용자등록하기 " src="totalimg/login/choose_bu02.jpg" width="339" height="172" border="0" style="cursor:hand"></a></td> </tr> </table> </td> </tr> </table> <! cont 끝 > </td> </tr> <tr> <td height="10"></td> </tr> </table> </td> </tr> </table> </BODY> </HTML> [id_histroy.jsp] <%@ page language="java" import="java.util.*, java.sql.*, java.net.*" %> <%@ page buffer="64kb" %> <%@ page contenttype="text/html; charset=euc-kr"%> <%@ include file="./config/define.jsp" %> <%@ include file="./lib/function.jsp" %> <%@ include file="./lib/make.lib.jsp" %> <%@ include file="./config/db_connect.jsp" %> <%@ include file="./lib/inc/db/xmluses_schema.jsp" %> <% // s: 세션에 COP_NO 가없으면초기화면으로이동한다. if (session.getattribute("cop_no") == null) //out.println(alertmsg(" 세션에 COP_NO 가없습니다. COP_NO="+session.getAttribute("COP_NO"),"")); response.sendredirect("index.jsp?logout=1"); %><%@ include file="./config/db_disconnect.jsp" %><% return;

44 // s: 세션에 COP_NO 가있으면 // cop_no 라는문자열변수에입력한다. String cop_no = (String)session.getAttribute("COP_NO"); String tmpuser = (String)session.getAttribute("TMPUSER"); String orig_uses = (String)session.getAttribute("ORIG_USES"); debuginit(cop_no); %> int sel_cnt = 0; String uses = ""; int updatecnt = 0; int i = 0; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> 개인정보취급방침전자적표시소프트웨어 </TITLE> <meta http-equiv=content-type content="text/html;charset=ksc5601"> <meta http-equiv=cache-control content=no-cache> <meta http-equiv=pragma content=no-cache> <link rel=stylesheet HREF='conf/style.css' type='text/css' title='css'> <link href="css/style.css" rel="stylesheet" type="text/css"> <!--전반적인 png파일표시--> <script> function setpng24(obj) obj.width=obj.height=1; obj.classname=obj.classname.replace(/\bpng24\b/i,''); obj.style.filter = "progid:dximagetransform.microsoft.alphaimageloader(src='"+ obj.src +"',sizingmethod='image');" obj.src=''; return ''; </script> <style>.png24 tmp:expression(setpng24(this)); </style> </HEAD> <script language="javascript" src="js/function.js"></script> <script language="javascript" src="js/joinscript.js"></script>

45 <!-- 레이어온클릭시팝업열리기스크립트--> <script type="text/javascript"> var child_menu_array = ["Notice"]; var sel_cnt = 0; var umi_love = -1; function popup_layer(event,popup_name, sel_cnt,file_name) // 팝업레이어생성 var main,_tmpx,_tmpy,_marginx,_marginy; main = document.getelementbyid(popup_name); main.style.visibility = '';// 팝업생성 _tmpx = event.clientx+parseint(main.offsetwidth); _tmpy = event.clienty+parseint(main.offsetheight); _marginx = document.body.clientwidth - _tmpx; _marginy = document.body.clientheight - _tmpy; // 좌우위치지정 if(_marginx < 0) main.style.left = event.clientx + document.body.scrollleft + _marginx+70+"px"; else main.style.left = event.clientx + document.body.scrollleft+70+"px"; // 높이지정 if(_marginy < 0) main.style.top = event.clienty + document.body.scrolltop + _marginy-100+"px"; else main.style.top = event.clienty + document.body.scrolltop-100+"px"; // document.write(sel_cnt); uses_n.value =file_name; umi_love = sel_cnt; // s: 폼전송을하게되면 // act_type 을 update 로만든다음보내게된다. function historyformsubmit() var form = eval("document.form"+umi_love); form.act_type.value = "update"; form.submit(); // s: 이건전송할때 umi_love 가 -1 인지아닌지를체크하고 // -1 이라면전송하지않는다. // act_type 을 insert 로변경하고 // uses_name 값이입력되었는지검사하고입력안되어있으면파일이름입력하라고알려줌 // uses_name 값이입력되었다면 20자까지제한을해야한다. 넘어가면에러출력 // 영문, 또는숫자만가능한데이게아니라면에러출력 function historyformsubmit2()

46 if (umi_love == -1) alert(' 오류 '); return; var form = eval("document.form"+umi_love); form.act_type.value = "insert"; //alert(uses2.value); //Notice if (uses_name.value=="") alert(' 다른이름으로저장할파일명을입력하세요.'); return ; //f (document.membership.trmemid.value.length>20 ) if( uses_name.value.length > 20 ) alert(" 취급방침파일명은 20자로제한됩니다."); return ; var alpanumeric = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz '; var alpa = 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz'; var obj = uses_name.value; if ( Checkvalue(obj,'X',alpanumeric,0,0)) alert(' 영문또는숫자만입력하실수있습니다.'); uses_name.focus(); return; //alert(obj.charat(0)); if(obj.charat(0) >= "0" && obj.charat(0) <= "9") //if(!isnan(obj.charat(0)) alert(' 취급방침명의첫글자는영문이어야합니다.'); uses_name.focus(); return; form.uses2.value = uses_name.value; form.submit(); </script>

47 <!-- 레이어온클릭시팝업닫히기스크립트--> <SCRIPT language="javascript"> <!-- var bshow =false; var x =0 ; var y= 0 ; drag = 0 ; move = 0 ; function Show(divid) divid.filters.blendtrans.apply(); divid.style.visibility = "visible"; divid.filters.blendtrans.play(); function Hide(divid) divid.filters.blendtrans.apply(); divid.style.visibility = "hidden"; divid.filters.blendtrans.play(); //--> </SCRIPT> <SCRIPT LANGUAGE="JavaScript"> <!-- // s: 파일을삭제하는함수이다. // 삭제하기위해서는 history_check.jsp?old_gbn=old=old_proc=del&uses= 파일이름여기로가야한다. // function historyformdel(uses) // var form = document.form1; var url = "history_check.jsp?old_gbn=old&old_proc=del&uses=" + uses; if(confirm(" 삭제하시면복구할수없습니다..\n정말로취급방침을삭제하시겠습니까?")) // form.old_proc.value = "del"; // form.submit(); location.href(url); else form.submit.focus(); // s: 모든파일을삭제하는함수이다. function historyformdelall() // var form = document.form1;

48 var url = "history_check.jsp?old_gbn=old&old_proc=all"; if(confirm(" 삭제하시면복구할수없습니다..\n정말로모든취급방침을삭제하시겠습니까?")) // form.old_proc.value = "del"; // form.submit(); location.href(url); else form.submit.focus(); //--> </SCRIPT> <BODY style="background:url(images/c_privacy_subbg00.jpg) center top no-repeat; background-color:#b9d7b0;" > <! skin 시작 > <%@ include file="id_history.notice.jsp" %> <table width='100%' border='0' cellspacing='0' cellpadding='0'> <tr> <td align='center'><table width='960' border='0' cellspacing='0' cellpadding='0'> <tr> <td height='5' colspan='2'></td> </tr> <tr> <td height='15' colspan='2'> <table width="684" border='0' cellspacing='0' cellpadding='0'> <tr> <td style='padding: '><a href="id_history.jsp"><img alt=" 개인정보취급방침전자적표시소프트웨어 " src='totalimg/skin/skin_logo_checkprivacy2.gif' border="0"></a></td> <td align="right" valign="bottom" style="padding: "><a href="logout.jsp"><img alt=" 로그아웃 " src='images/c_privacy_bu_logout.png' border="0" ></a> </tr> </table> </td> </tr> <tr> <tr> <td height='10' colspan='2'></td> </tr> <tr> <td width='696' height='15' valign='top'><table width='684' border='0' cellspacing='0' cellpadding='0'> <tr> <td height='10'><img alt=" 스킨이미지 " class="png24" src='totalimg/skin/skin_bg01.png'></td> </tr> <tr> <td height='10' align='center' background='totalimg/skin/skin_bg02.gif'>

49 <table width='651' border='0' cellspacing='0' cellpadding='0'> <! 테이블내용시작 > <tr> <td align="center"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td height="15" align='center'><img alt=" 개인정보취급방침전자적표시소프트웨어 " src="totalimg/cont/c_privacy_mainhead02.jpg" border="0"></td> </tr> <tr> <td height="11" align='center'></td> </tr> <tr> <td><img alt=" 파일관리 " src="totalimg/cont/c_privcy_title00_1.gif" ></td> </tr> <tr> <td height="7" align='center'></td> </tr> <tr> <td align="center"> <! cont BG 시작 > <table width="651" cellpadding="0" cellspacing="0" border="0"> <tr> <td><img alt=" 스킨이미지 " src="totalimg/skin/skin_bg_blue01.gif"></td> </tr> <tr> <td background='totalimg/skin/skin_bg_blue02.gif' style="padding: "> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td align="center"> <!--파일새로만들기테이블시작 > <% if(is_true(tmpuser) && tmpuser.equals("1") && is_true(orig_uses)) %> <a href="javascript:history.go(-1);"><u> 이전에작성하던페이지로돌아갑니다.</u></a>

50 <% else %> <form name="form22"> <input type="hidden" name="old_gbn" value="new"> <table cellpadding="0" cellspacing="0" border="0" width="100%" class="private_tablebd"> <tr> <td style="color:1b56af; font-weight:bold; padding: ;" colspan="4"><img alt=" 취급방침새로만들기 " src="images/bullet_title.gif"> 개인정보취급방침새로만들기 </td> </tr> <tr> <td colspan="4" align="center" height="1" class="first"></td> </tr> <tr> <td width="160" align="center" class="headr" ><B> 취급방침명 </B></td> <td align="center" style="padding: ;" class="headr"><input type="text" name="uses" style="width:250;" class="white" value=" 취급방침명 ( 영문또는숫자 ) 을입력하세요." onfocus="javascript:(this.value==' 취급방침명 ( 영문또는숫자 ) 을입력하세요.')?this.value='':this.select()" onblur="javascript:if(this.value==''&&this.value!=' 취급방침명 ( 영문또는숫자 ) 을입력하세요.')this.value=' 취급방침명 ( 영문또는숫자 ) 을입력하세요.'"></td> <td align="center" style="padding: ;"><a href="javascript:historyformnew();"><img alt=" 새로만들기 " src="images/bu_busi_new.gif" border="0" style="cursor:hand"></a></td> </tr> <tr> <td colspan="4" align="center" class="hline"></td> </tr> <tr> <td colspan="4" height="10"></td> </tr> <tr> <td colspan="4" align="center" height="10" > <% cop_no.substring(0,4).equals("temp")) " 새로만들기 " 버튼을누르시면됩니다. <% String main; // if() // main=cop_no.substring(0,4); // // if (cop_no!=null && cop_no.length() >3 && if(is_true(tmpuser) && tmpuser.equals("1")) %> 작성하실취급방침명을입력한후 else %>

51 <!--img alt=" 이미지 " src="images/c_privacy_maint.gif"--> 새로운개인정보취급방침을작성하는경우취급방침명을입력한후 " 새로만들기 " 버튼을누르시면됩니다.<br> 이전에작성한개인정보취급방침이있을경우아래취급방침목록에서확인하거나수정, 편집할수있습니다. <% %> <% %> <tr> </form> </td> </tr> <td colspan="4" height="15"></td> </tr> </table> <!-- 파일새로만들기테이블끝 > </tr> </td> <% <tr> <td align="center"> if(!(is_true(tmpuser) && tmpuser.equals("1"))) // 일딴지워!!! %> <!-- 파일편집테이블시작 > <table width="100%" border="0" cellpadding="5" cellspacing="0" class="private_tablebd"> <tr> <td style="color:1b56af; font-weight:bold; padding: ;" colspan="5"><img alt=" 이미지 " src="images/bullet_title.gif"> 이전에개인정보취급방침 </td> </tr> <tr> <td colspan="5" class="first"></td> </tr> ><B> 취급방침명 </B></td> <tr> <td width="29%" height="30" align="center" class="head" <td colspan="4" align="center" class="head" style="font-weight:bold;"> 취급방침생성일 ( 최근20개 )</td> </tr> <tr> <td colspan="5" align="center" height="1" class="hline"></td> </tr>

52 include file="./lib/inc/db/xmluses_loop_start2.jsp" %> <% if (sel_cnt < 20) String realuses=get_explodedata(" ",XMLUSES_USES,1); %> <form name="form<%=sel_cnt%>" method="post" action="history_check.jsp" > <input type="hidden" name="act_type"> <input type="hidden" name="old_gbn" value="old"> <input type="hidden" name="old_proc" value="edit"> <input type="hidden" name="uses" value="<%=xmluses_uses%>"> <input type="hidden" name="uses2"> <tr> <td align="center" class="hliner"><%=realuses%></td> <td width="150" style="font-size : 12px; padding: ;" ><%=XMLUSES_PROC_DATE%></td> <!-- 다음페이지로넘어가기 <a href='#'> <img alt=" 이미지 " src="images/c_privacy_bu_edit.gif " border="0" ="javascript:historyformsubmit(<%=sel_cnt%>);"> </a></td> --> <td width="8%" style="padding: ;"> <select name="lv" style="width:130;" onchange ="popup_layer(event,'notice', '<%=sel_cnt%>','<%=realuses%>');"> <option value="">--페이지바로가기--</option> <% %> value="<%=st_lv%>" <% ><%=st_text%> </option> <option %> </select>

53 <!-- 편집누르면레이어팝업 --> </td> style="padding: ;"> Integer.parseInt(XMLUSES_USE_LV) == 13 ) <td width="8%" align="center" <% if( %> <% %> <a href="#" onkeypress="if(is_enter(event.keycode))popup_layer(event,'notice', '<%=sel_cnt%>','<%=realuses%>');return false;"><img alt=" 편집 " src="images/c_privacy_bu_edit.gif " border="0" style="cursor:hand;" onclick="popup_layer(event,'notice', '<%=sel_cnt%>','<%=realuses%>');" onkeypress=""></a></td> <td width="8%" align="center" style="padding: ;"> <a href="javascript:historyformdel('<%=xmluses_uses%>');"><img alt=" 삭제 " src="images/c_privacy_bu_del.gif" border="0"></a> </td> </tr> </form> <tr> <td colspan="5" align="center" height="1" class="hline"></td> </tr> <% else //10개이상일경우가장오래된것부터삭제 수정. uses = XMLUSES_USES; %> <% <%@ include file="./lib/inc/db/xmluses_delete.jsp" %> <%@ include file="./lib/inc/db/xmlproc_5_delete_all.jsp" %> <%@ include file="./lib/inc/db/xmlcorp_5_delete_all.jsp" %> <%@ include file="./lib/inc/db/xmldata_delete_all.jsp" %> <%@ include file="./lib/inc/db/xmlelement_5_delete_all.jsp" %> <%@ include file="./lib/inc/db/xmlelement_object_delete_all.jsp" %> <%@ include file="./lib/inc/db/xmlelement_period_5_delete_all.jsp" %> <%@ include file="./lib/inc/db/xmlelement_period_delete_all.jsp" %> <%@ include file="./lib/inc/db/xmlelement_delete_all.jsp" %> <%@ include file="./lib/inc/db/xmlobject_5_delete_all.jsp" %> <%@ include file="./lib/inc/db/xmlthird_delete_all.jsp" %>

54 sel_cnt++; %> include file="./lib/inc/db/xmluses_loop_end2.jsp" %> <% %> if (sel_cnt < 1) <tr> <td colspan="5" height="190" align="center" style="font-size : 12px; padding: ; color:#999999; " bgcolor="#fafafb" > 등록된취급방침ID가없습니다.</td> </tr> <tr> <td colspan="5" height="1" class="hline"></td> </tr> <% %> </table> <% %> <!-- 파일편집테이블끝 > <% %> if (sel_cnt > 1) </td> </tr> <tr> </tr> <tr> <td height="8"></td> <td align="right" style="padding: "> <table border=0> <tr><td align=center><b> 생성된취급방침은매년 12월 31일마다일괄파기되오니유념하시기바랍니다.</b></td> <td><a href="javascript:historyformdelall('<%=xmluses_uses%>');"><img alt=" 모두삭제 " src="images/c_privacy_bu_delall.gif" border="0"></a></td> </tr> </table>

55 <% %> </table> </tr> <tr> </tr> </td> </tr> </table> </td> <td><img alt=" 이미지 " src="totalimg/skin/skin_bg_blue03.gif"></td> <!-- cont BG 끝 > </tr> <tr> </tr> </td> <td height="15"></td> </table> <! 테이블내용끝 > <! 테이블 cont 끝 > </td> </tr> <tr> <td height='15'></td> </tr> </table></td> </tr> <tr> <td height='10'><img alt=" 이미지 " class="png24" src='totalimg/skin/skin_bg03.png' ></td> </tr> <tr> <td height='25'></td> </tr> <tr> <td align='center'><img alt=" 이미지 " class="png24" src='images/c_privacy_foot.png'></td> </tr> </table> </td>

56 <! 우측배너시작 > <td valign='top'> <table width='262' border='0' cellspacing='0' cellpadding='0'> <!---- 방침생성기란배너제외 <tr> <td height='15' ><a href='guide_01.jsp'><img alt=" 이미지 " src='totalimg/skin/skin_rbann_info.gif' border='0'></a></td> </tr> <tr> <td height='8'></td> </tr> -----> <tr> <td height='13'><a href="guide.jsp?link=2"><img alt="faq 보기 " class="png24" src='images/c_privacy_bann_firstconfirm.png' border='0'></a></td> </tr> <tr> <td height='13'><a href="manual.pdf"><img alt=" 매뉴얼다운로드 " class="png24" src='images/manaul_bann1.jpg' border='0'></a></td> </tr> <!--<tr> <td height='13' align="center"><img alt=" 이미지 " src='images/c_privacy_bann_firstcon_sub.gif' border='0' usemap="#help5map"></td> </tr>--> <tr> <td height='15'></td> </tr> </table> </td> </tr> <tr> <td height='55' colspan='2'></td> </tr> </table></td> </tr> </table> <! 편집누를시뜨는팝업레이어시작 > <div id="notice" style="position:absolute; left:138px; top:134px; width:260px height:299px; z-index:5; filter:revealtrans(transition=23,duration=0.5) blendtrans(duration=0.5); visibility:hidden;"> <table width="400" border="0" cellspacing="1" cellpadding="5" bgcolor="#fafafb" style="border : 1px solid #85a5d4;"> <tr> <td><table width="400" border="0" cellpadding="0" cellspacing="0" style="border : 1px solid #ccd8e9;"> <tr> <td bgcolor="ffffff"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="10" ></td> </tr> <tr>

57 <td height="10" align="center" ><table width="95%" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="font-size:12px;padding: ; font-weight:bold; letter-spacing:-0.1em; color:#1b56af;"><img alt=" 다른이름으로저장 " src="images/bullet_title.gif"> 다른이름으로저장하기 </td> </tr> <!-- --> <tr> <td height="5"></td> </tr> <tr> <td height="1" bgcolor="#e7e7e7"></td> </tr> </table></td> </tr> <tr> <td height="15" ></td> </tr> <tr> <td style="padding: " class="headr"> <% out.println(xmluses_uses); %> <% out.println(sel_cnt); %> </td> </tr> <tr> <td height="10" style="padding: "> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="private_tablebd"> <tr> <td colspan="3" class="first"></td> </tr> <tr> <td colspan="3"> <table cellpadding="0" cellspacing="0" border="0" > <tr> <td height="28"> 취급방침명 : </td> <td><input type="text" name="uses_n" style="font-weight:bold; width:100; border:0px; background-color:transparent;" readonly></td> <td> 를선택하셨습니다.</td> </tr> </table> </td> </tr> <tr>

58 <td colspan="3" class="hline"></td> </tr> <tr> <td width="170" class="headr" style="padding: "> 기존표시에덮어쓰기 </td> <td colspan="2" align="right" style="padding: "> <a href="javascript:historyformsubmit();"><img alt=" 기존파일에덮어쓰기 " src="images/btn_confirm.gif" border="0" style="cursor:hand"></a> </td> </tr> <tr> <td colspan="3" class="hline"></td> </tr> <tr> <td height="3"></td> </tr> <tr> <td colspan="3" class="hline"></td> </tr> <tr> <td width="170" class="headr" style="padding: "> 다른이름으로저장하기 </td> <td align="center" style="padding: " class="hliner"> <input type="text" name="uses_name" style="width:100" class="dtext"></td> <td align="center" style="padding: "><a href="javascript:historyformsubmit2();"><img alt=" 다른이름으로저장 " src="images/btn_confirm.gif" border="0" style="cursor:hand"></a></td> </tr> <tr> <td colspan="3" class="hline"></td> </tr> </table> </td> </tr> <tr> <td height="15" ></td> </tr> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="30" align="right" bgcolor="#fafafb" style="padding: "><a href="javascript:void(hide(notice));"><img alt=" 닫기 " src="images/popup_close2.gif" border="0"></a></td> </tr> </table></td> </tr> </table></td>

59 </tr> </table> </div> <! 편집누를시뜨는팝업레이어끝 > </BODY> </HTML> <map name="help5map"> <area alt=" 이미지맵 " shape="rect" coords="10,4,244,38" href="guide.jsp?link=1" onfocus="this.blur();"> <area alt=" 이미지맵 " shape="rect" coords="9,40,243,66" href="guide.jsp?link=2" onfocus="this.blur();"> <area alt=" 이미지맵 " shape="rect" coords="9,69,244,107" href="guide.jsp?link=3" onfocus="this.blur();"> <area alt=" 이미지맵 " shape="rect" coords="9,109,244,139" href="guide.jsp?link=4" onfocus="this.blur();"> <area alt=" 이미지맵 " shape="rect" coords="9,141,243,168" href="guide.jsp?link=5" onfocus="this.blur();"> </map> include file="./config/db_disconnect.jsp" %> [lv_main.jsp] (1,2,3,4 모두아래와같은식으로구성되어있으므로생략한다.) page language="java" page pageencoding="euc-kr" page buffer="64kb" page contenttype="text/html; charset=euc-kr" include file="lv_main.header.jsp" %> file="./lib/inc/db/xmldata_schema.jsp" %> <% int td_loop = 0; String element_checkd = ""; String disabled = ""; String elnum_text = ""; String first_tr = ""; switch (Integer.parseInt(lv)) case 1 : %><%@ include file="./lib/inc/inc_01.jsp" %><% break; %><%@ include file="lv_main.footer.jsp" %> [xmldown.jsp] <%@ page language="java" import="java.util.*, java.sql.*, java.io.*, java.net.*" %> <%@ page contenttype="application" %> <%@ include file="./config/define.jsp" %> <%@ include file="./lib/function.jsp" %> <%@ include file="./lib/make.lib.jsp" %> <% String fdir=request.getrealpath("/")+default+file_dir;

60 if (session.getattribute("uses") == null) response.sendredirect("index.jsp"); return; String uses = (String)session.getAttribute("USES"); String gbn = (String)request.getParameter("gbn"); String tmpuser = (String)session.getAttribute("TMPUSER"); String rndstr = (String)session.getAttribute("RNDSTR"); String xml_filename = uses + "_" + rndstr + ".xml"; String xml_ref_filename = uses + "_" + rndstr + "_ref.xml"; String xml_comp_filename = uses + "_" + rndstr + "_comp.txt"; String html_filename = uses + "_" + rndstr + ".html"; String xmlfile_path_dir=""; String htmfile_path_dir=""; if(is_true(tmpuser) && tmpuser.equals("1")) xmlfile_path_dir = fdir+"/temp/xml/"; htmfile_path_dir = fdir+"/temp/html/"; else xmlfile_path_dir = fdir+"/members/xml/"; htmfile_path_dir = fdir+"/members/html/"; //out.println(xmlfile_path_dir); //if(true)return; String filen1 = ""; String fileviewn1 = ""; String filen2 = ""; if (gbn.equals("xml")) fileviewn1 = xmlfile_path_dir + xml_filename; filen2 = xml_filename; // filen1 = xmlfile_path_dir; filen1+= uses + "_" + rndstr + " p3p.zip"; filen2 = "p3p.zip"; // filen1 = "outfile.zip"; // filen2 = "outfile.zip"; else if (gbn.equals("xml_ref")) filen1 = xmlfile_path_dir + xml_ref_filename; filen2 = uses + "_ref.xml"; //filen2 = xml_ref_filename;

61 else if (gbn.equals("xml_comp")) filen1 = xmlfile_path_dir + xml_comp_filename; //filen2 = xml_comp_filename; filen2 = uses + "_comp.txt"; else if(gbn.equals("html")) filen1 = htmfile_path_dir + html_filename; //filen2 = html_filename; filen2 = uses + ".html"; filen2 = new String(fileN2.getBytes("euc-kr"),"8859_1"); // Download file //String ut = filep+filen1; File file = new File(fileN1); // 절대경로입니다. byte b[] = new byte[1024]; String strclient=request.getheader("user-agent"); if(strclient.indexof("msie 5.5")>-1) response.setheader("content-disposition", "filename=" + filen2 + ";"); else response.setheader("content-disposition", "attachment;filename=" + filen2 + ";"); if (file.isfile()) BufferedInputStream fin = new BufferedInputStream(new FileInputStream(file)); BufferedOutputStream outs = new BufferedOutputStream(response.getOutputStream()); int read = 0; try while ((read = fin.read(b))!= -1) outs.write(b,0,read); outs.close(); fin.close(); catch (Exception e) System.out.println(e.getMessage()); finally if(outs!=null) outs.close(); if(fin!=null) fin.close(); %> [function.jsp]

다른 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

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

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

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

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

PHP & ASP

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

More information

[ 네이버마일리지 ] 디자인셋팅매뉴얼 1. 장바구니페이지에네이버마일리지안내추가 - 위치 : HTML 디자인설정 > 장바구니 > 장바구니주문목록 {{$c_3}} [ 편집 ] 버튼클릭 > HTML 편집탭으로이동 > 여러개의장바구니모두결제버튼 {u9} [ 편집 ] 버튼클릭하

[ 네이버마일리지 ] 디자인셋팅매뉴얼 1. 장바구니페이지에네이버마일리지안내추가 - 위치 : HTML 디자인설정 > 장바구니 > 장바구니주문목록 {{$c_3}} [ 편집 ] 버튼클릭 > HTML 편집탭으로이동 > 여러개의장바구니모두결제버튼 {u9} [ 편집 ] 버튼클릭하 [ 네이버마일리지 ] 디자인셋팅매뉴얼 1. 장바구니페이지에네이버마일리지안내추가 - 위치 : HTML 디자인설정 > 장바구니 > 장바구니주문목록 {{$c_3}} [ 편집 ] 버튼클릭 > HTML 편집탭으로이동 > 여러개의장바구니모두결제버튼 {u9} [ 편집 ] 버튼클릭하여팝업에서코드수정 1) 장바구니페이지디자인수정위치 디자인관리 > HTML 디자인설정 > 장바구니이동

More information

PowerPoint 프레젠테이션

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

More information

PowerPoint Template

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

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

C스토어 사용자 매뉴얼

C스토어 사용자 매뉴얼 쪽지 APP 디자인적용가이드 I. 쪽지 APP 소개 2 I. 쪽지 APP 소개 쪽지 APP 을통해쇼핑몰의특정회원또는특정등급의회원그룹에게 알림메시지나마케팅을위한쪽지를발송하실수있습니다. 쪽지 APP의주요기능 1. 전체회원, 특정ID, 특정회원그룹별로쪽지발송가능 2. 발송예약기능 3. 발송한쪽지에대해수신및열람내역조회가능 4. 쇼핑몰페이지에서쪽지함과쪽지알림창제공 3

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 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

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF CHAPTER 2 (interaction) Ext JS., HTML, onready, MessageBox get.. Ext JS HTML CSS Ext JS.1. Ext JS. Ext.Msg: : Ext Ext.get: DOM 22 CHAPTER 2 (config). Ext JS.... var test = new TestFunction( 'three', 'fixed',

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES 2012.02.18 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone 02-2108-8030 Fax 02-2108-8031 www.softbase.co.kr Copyright 2010 SOFTBase Inc. All rights reserved 목차 1 장 : HTML 연동개요...

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

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

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

More information

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

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

More information

Dialog Box 실행파일을 Web에 포함시키는 방법

Dialog Box 실행파일을 Web에 포함시키는 방법 DialogBox Web 1 Dialog Box Web 1 MFC ActiveX ControlWizard workspace 2 insert, ID 3 class 4 CDialogCtrl Class 5 classwizard OnCreate Create 6 ActiveX OCX 7 html 1 MFC ActiveX ControlWizard workspace New

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

Javascript

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

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 CHAPTER 13. HTML5 위치정보와드래그앤드롭 SVG SVG(Scalable Vector Graphics) 는 XML- 기반의벡터이미지포맷 웹에서벡터 - 기반의그래픽을정의하는데사용 1999 년부터 W3C 에의하여표준 SVG 의장점 SVG 그래픽은확대되거나크기가변경되어도품질이손상되지않는다. SVG 파일에서모든요소와속성은애니메이션이가능하다. SVG 이미지는어떤텍스트에디터로도생성하고편집할수있다.

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

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

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

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

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

More information

C H A P T E R 2

C H A P T E R 2 C H A P T E R 2 Foundations of Ajax Chapter 2 1 32 var xmlhttp; function createxmlhttprequest() { if(window.activexobject) { xmlhttp = new ActiveXObject( Micr else if(window.xmlhttprequest) { xmlhttp =

More information

쉽게 풀어쓴 C 프로그래밍

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

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

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

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

Microsoft PowerPoint 세션.ppt

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

More information

초보자를 위한 C# 21일 완성

초보자를 위한 C# 21일 완성 C# 21., 21 C#., 2 ~ 3 21. 2 ~ 3 21.,. 1~ 2 (, ), C#.,,.,., 21..,.,,, 3. A..,,.,.. Q&A.. 24 C#,.NET.,.,.,. Visual C# Visual Studio.NET,..,. CD., www. TeachYour sel f CSharp. com., ( )., C#.. C# 1, 1. WEEK

More information

chap10.PDF

chap10.PDF 10 C++ Hello!! C C C++ C++ C++ 2 C++ 1980 Bell Bjarne Stroustrup C++ C C++ C, C++ C C 3 C C++ (prototype) (type checking) C C++ : C++ 4 C C++ (prototype) (type checking) [ 10-1] #include extern

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

Overall Process

Overall Process CSS ( ) Overall Process Overall Process (Contents : Story Board or Design Source) (Structure : extensible HyperText Markup Language) (Style : Cascade Style Sheet) (Script : Document Object Model) (Contents

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

Lab1

Lab1 Lab 1: HTML CSS 2015 Fall human-computer interaction + design lab. Joonhwan Lee HTML Web Server (World Wide Web: WWW)? (., FTP ). web 3 웹 구조의 이해 웹페이지 웹페이지는 HTML 이라는 언어로 만들어진 일종의 프로그램 웹페이지는 텍스트, 이미지, 동영상,

More information

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

PowerPoint Presentation

PowerPoint Presentation WordPress 를이용한웹사이트만들기 2015 년 한지웅 WordPress 를이용한웹사이트만들기 Day 1 Day 2 Day 3 Day 4 Day 5 1. 웹사이트제작기초 HTLM 기본 CSS 기본 WordPress 개론 ( 웹사이트구축툴 ) 2. 웹호스팅 / 웹사이트구축 웹호스팅업체선택 cpanel 설정 WordPress 설치 3. WordPress 기초활용

More information

Javascript.pages

Javascript.pages JQuery jquery part1 JavaScript : e-mail:leseraphina@naver.com http://www.webhard.co.kr I.? 2 ......,,. : : html5 ; ; .

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

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

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

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache

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

MasoJava4_Dongbin.PDF

MasoJava4_Dongbin.PDF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr

More information

PowerPoint 프레젠테이션

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

More information

2015 개정교육과정에따른정보과평가기준개발연구 연구책임자 공동연구자 연구협력관

2015 개정교육과정에따른정보과평가기준개발연구 연구책임자 공동연구자 연구협력관 2015 개정교육과정에따른정보과평가기준개발연구 연구책임자 공동연구자 연구협력관 2015 개정교육과정에따른정보과평가기준개발연구 연구협력진 머리말 연구요약 차례 Ⅰ 서론 1 Ⅱ 평가준거성취기준, 평가기준, 성취수준, 예시평가도구개발방향 7 Ⅲ 정보과평가준거성취기준, 평가기준, 성취수준, 예시평가도구의개발 25 Ⅳ 정보과평가준거성취기준, 평가기준, 성취수준, 예시평가도구의활용방안

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 ONE page html 이란? 원페이지는최근의홈페이지제작트렌드로한페이지에상단에서하단으로의마우스스크롤링을통해서컨텐츠를보여주는스타일의홈페이지입니다. USER 의시선을분산시키지않고위쪽에서아래쪽으로마우스스크롤링을통해서홈페이지의컨텐츠를보여주게됩니다. 반응형으로제작되어스마트폰, 아이패드, 태블릿,PC, 노트북등다양한디바이스에서자동으로최적화됩니다. ONE page 웹사이트사례

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

3ÆÄÆ®-14

3ÆÄÆ®-14 chapter 14 HTTP >>> 535 Part 3 _ 1 L i Sting using System; using System.Net; using System.Text; class DownloadDataTest public static void Main (string[] argv) WebClient wc = new WebClient(); byte[] response

More information

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D203130C0E52EBFA1B7AF20C3B3B8AE205BC8A3C8AF20B8F0B5E55D> 10 장. 에러처리 1. page 지시문을활용한에러처리 page 지시문의 errorpage 와 iserrorpage 속성 errorpage 속성 이속성이지정된 JSP 페이지내에서 Exception이발생하는경우새롭게실행할페이지를지정하기위하여사용 iserrorpage 속성 iserrorpage 는위와같은방법으로새롭게실행되는페이지에지정할속성으로현재페이지가 Exception

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont 12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다. 12.1 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont( in LPDIRECT3DDEVICE9 pdevice, in INT Height, in UINT

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

4S 1차년도 평가 발표자료

4S 1차년도 평가 발표자료 모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components

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

Spring Data JPA Many To Many 양방향 관계 예제

Spring Data JPA Many To Many 양방향 관계 예제 Spring Data JPA Many To Many 양방향관계예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) 엔티티매핑 (Entity Mapping) M : N 연관관계 사원 (Sawon), 취미 (Hobby) 는다 : 다관계이다. 사원은여러취미를가질수있고, 하나의취미역시여러사원에할당될수있기때문이다. 보통관계형 DB 에서는다 : 다관계는 1

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

PHP & ASP

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

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

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 CHAPTER 14. HTML5 웹스토리지, 파일 API, 웹소켓 웹스토리지 웹스토리지 (web storage) 는클라이언트컴퓨터에데이터를저장하는메카니즘 웹스토리지는쿠키보다안전하고속도도빠르다. 약 5MB 정도까지저장이가능하다. 데이터는키 / 값 (key/value) 의쌍으로저장 localstorage 와 sessionstorage localstorage 객체

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 C 기초특강 종합과제 과제내용 구조체를이용하여교과목이름과코드를파일로부터입력받아관리 구조체를이용하여학생들의이름, 학번과이수한교과목의코드와점수를파일로부터입력 학생개인별총점, 평균계산 교과목별이수학생수, 총점및평균을계산 결과를파일에저장하는프로그램을작성 2 Makefile OBJS = score_main.o score_input.o score_calc.o score_print.o

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 휴대폰인증서비스 사용자매뉴얼 목차 1. 서비스소개및신청 1) 휴대폰인증서비스란? 2) 휴대폰인증서비스장점 3) 서비스신청하기 1) 회원가입페이지에적용 2) 아이디, 비밀번호찾기페이지에적용 3) 14세미만비회원구매제한팝업에적용 4) 성인인증페이지에적용 2 1. 서비스소개및신청 1) 휴대폰인증서비스란? 휴대폰인증서비스는본인명의의휴대폰을사용하여본인확인을가능하게해주는서비스로써,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

03장.스택.key

03장.스택.key ---------------- DATA STRUCTURES USING C ---------------- 03CHAPTER 1 ? (stack): (LIFO:Last-In First-Out) 2 : top : ( index -1 ),,, 3 : ( ) ( ) -> ->. ->.... 4 Stack ADT : (LIFO) : init():. is_empty():

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력

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

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드] GUI 설계 6 주차 DB 연동김문정 tops@yd.ac.kr 강의순서강의전환경 JDK 설치및환경설정톰캣설치및환경설정이클립스 (JEE) 설치및환경설정 MySQL( 드라이버 ) 설치및커넥터드라이브연결 DB 생성 - 계정생성이클립스에서 DB에연결서버생성 - 프로젝트생성 DB연결테이블생성및등록 2 MySQL 설치확인 mysql - u root -p MySQL 에데이터베이스추가

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른

JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른 JSP 의내장객체 response 객체 - response 객체는 JSP 페이지의실행결과를웹프라우저로돌려줄때사용되는객체이다. - 이객체는주로켄텐츠타입이나문자셋등의데이터의부가정보 ( 헤더정보 ) 나쿠키 ( 다음에설명 ) 등을지정할수있다. - 이객체를사용해서출력의방향을다른 URL로바꿀수있다. 예 ) response.sendredirect("http://www.paran.com");

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

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

Week8-Extra

Week8-Extra Week 08 Extra HTML & CSS Joonhwan Lee human-computer interaction + design lab. HTML CSS HTML, HTML 5 1. HTML HTML HTML HTML (elements) (attributes), (arguments). HTML (tag), DTD (Document Type Definition).!4

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

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

More information

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

PathEye 공식 블로그 다운로드 받으세요!!   지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

Lab 3. 실습문제 (Single linked list)_해답.hwp

Lab 3. 실습문제 (Single linked list)_해답.hwp Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

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

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Html 은웹에서 text, images, movie 등다양한정보의요소를 담을수있는문서형식이다. 정보 (txt, imges) 전송 = 동일한어플리케이션 = 정보 (txt, imges) 정보 (txt, imges Movie, 동작 ) 정보 (txt, imges movie) 어플리케이션 웹브라우저 HTML5 는기존 HTML 에차별화된특징을가진 최신버전의웹표준언어.

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

UI TASK & KEY EVENT

UI TASK & KEY EVENT KEY EVENT & STATE 구현 2007. 1. 25 PLATFORM TEAM 정용학 차례 Key Event HS TASK UI TASK LONG KEY STATE 구현 소스코드및실행화면 질의응답및토의 2 KEY EVENT - HS TASK hs_task keypad_scan_keypad hs_init keypad_pass_key_code keypad_init

More information

Slide 1

Slide 1 Java 기반의오픈소스 GIS(GeoServer, udig) 를지원하는국내공간 DBMS 드라이버의개발 2013. 08. 28. 김기웅 (socoooooool@gmail.com) 임영현 (yhlim0129@gmail.com) 이민파 (mapplus@gmail.com) PAGE 1 1 기술개발의목표및내용 2 기술개발현황 3 커뮤니티운영계획 4 활용방법및시연 PAGE

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information