1 / 10

10 주 실습강의

10 주 실습강의. - Open API : Naver & Daum OpenAPI - 2008 컴퓨터공학실험 ( I ). Naver OpenAPI. http://openapi.naver.com 검색을 위한 API, 검색 부수기능을 위한 API 와 지도 API 및 데스크톱 위젯 API 를 제공 API Key 를 발급받아 , API 요청시 해당 Key 를 전달 기본 API 는 5,000 건 / 일 , 지도 API 는 50,000 건 / 일로 제한되어 있음

elpida
Download Presentation

10 주 실습강의

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 10주 실습강의 - Open API : Naver & Daum OpenAPI - 2008 컴퓨터공학실험( I )

  2. Naver OpenAPI • http://openapi.naver.com • 검색을 위한 API, 검색 부수기능을 위한 API와 지도 API 및 데스크톱 위젯 API를 제공 • API Key를 발급받아, API 요청시 해당 Key를 전달 • 기본 API는 5,000건/일, 지도 API는 50,000건/일로 제한되어 있음 • 출력 형식은 RSS 2.0 형식으로 통일되어 있음 • API키 이용등록/수정 페이지에서 일반 Key와 지도 API용 Key를 발급받을 수 있음 • API 요청 예제 • http://openapi.naver.com/search?key=test&query=go&display=5&start=1&target=kin&sort=sim

  3. Daum OpenAPI • http://dna.daum.net/apis • 검색 API, 키워드 추천 API, 블로그 글 수정/추가 API, 쇼핑 및 여행 정보 검색 API 제공 • JavaScript 만으로 손쉽게 이용할 수 있도록 AJAX API를 추가로 제공 • 용도에 따른 각각의 API Key를 발급받아서 사용 가능 • 하나의 인증키로 호출할 수 있는 사용가능 회수는 5,000 건/일 로 제한되어있음 • 오픈 API 일반 사용자 등록 – 사용자 인증키 – 발급받기 메뉴를 통해 발급받을 수 있음 • API 요청 예제 • http://apis.daum.net/search/knowledge?q=daum&result=20&pageno=1&sort=accu&range=progress&apikey=xxx

  4. HTTP Cookies • 웹 페이지 서버에서 사용자 하드 디스크로 보내는 아주 작은 텍스트 파일 • 사용자 고유의 것 • 코드로 실행될 수는 없음 • 제공한 서버에서 필요로하는 데이터를 저장하고, 이를 유지할 수 있게 해 줌 • 보통 인증, 세션 유지/추적, 사용자에 특정한 정보를 담는데 사용 • 사용자의 브라우즈 행동을 추적하는데 사용되기도 함 • 쿠키는 각 사이트마다 20개의 쿠키만 허용, 더 많은 것을 저장하려고 하면 가장 오래된 쿠키가 삭제 • 최대 4096 바이트를 저장할 수 있음 • 사용자 정보 저장방법은 세션 상태(Session States)를 사용하는 것이지만, 세션 상태는 쿠키에 의존하게 되어 있음

  5. HTTP Cookies on ASP.NET • HttpResponse 개체를 통해 Cookies라는 컬렉션을 노출 • Page 클래스 – Response 속성 – Cookies 컬렉션 참조 • C# - ASP.NET에서 쿠키 • 생성 • 삭제 • Expires 요소를 현재 날짜보다 뒤로 작성함으로, 브라우저가 이를 삭제하도록 유도

  6. 실습 목표 • Naver & Daum 지식통합검색 • 질의어를 입력 받아, 두 서비스의 검색 결과를 출력 • 사용자 이름을 입력 받아 쿠키로 저장 • 사용자 해제 없이 페이지를 닫았다가 다시 열면 해당 사용자가 떠야 함 • 사용자 등록 시 로그 아웃 버튼 배치 • 사용자 이름이 있으면 해당 사용자가 넣은 질의어를 미리 제공해준 DB에 저장 • 해당 DB는 DataSet / DataSetAdapter를 사용하여 구현할 것 • 지난 질의는 링크를 제공하여 클릭시 그 검색 결과가 나타나게 할 것 • 사용자 이름이 없으면 지난 질의어를 최근 5개만 출력 • 사용자 이름에 맞는 지난 질의어 출력 • 성인 검색어 판별하여 제한, 오타 변환 API를 사용, 대체어를 출력 • AJAX / UpdatePanel의 사용은 자유 구현

  7. 구현 예

  8. 구현시 사용할 SQL구문 • 지난 저장된 질의문 중 가장 높은 5개만 제시 • SELECT TOP 5 seq, username, query, querytimeFROM week10ORDER BY seq DESC • 특정 사용자 이름으로 검색된 질의문을 최근 순서대로 가져오는 SQL문 • SELECT query, querytime, seq, username FROM week10 WHERE (username = ?) ORDER BY seq DESC • 특정 사용자 이름으로 질의문을 DB에 저장할 때 사용할 SQL문 • INSERT INTO week10 (username, query, querytime)VALUES (?, ?, NOW())

  9. DataSet/DataSetTableAdapter 구성 • 기본적인 질의에 사용될 것과, 특정 이름으로 검색할 수 있는 테이블 어댑터, 그리고 질의문을 DB에 삽입할 때 사용될 테이블 어댑터를 구성해야 함

  10. GridView / DataTable Binding • 절차 • 새로운 DataTable 생성 • DataColumn 생성, (DataTable 인스턴스).Columns.Add()로 추가 • GridView에 추가 할 BoundField를생성, BoundField.HtmlEncode 속성을 false로 해 둠 • 컬럼 초기화, GridView.Columns.Add()로 생성한 BoundField 추가 • 데이터를 가져옴 • 생성한 Datatable.NewRow() 메서드로 새 DataRow 인스턴스 생성 • DataRow[“Column명”] = Guid.NewGuid().ToString() • DataRow[“Column명”] = 데이터 값; 으로 대입 • 생성한 DataTable.Rows.Add(값을 넣은 DataRow 인스턴스); 로 열 추가 • GridView.DataSource = 생성한 DataTable 대입 • GridView.DataBind() 로 데이터 바인딩 하면 화면에 그려진다.

More Related