자세한 내용은 아래 링크를 클릭하세요. :)
http://www.ibm.com/developerworks/kr/library/wa-aj-ajaxcomm/index.html


요약: 비동기 JavaScript 및 XML(Ajax) 기반 웹 애플리케이션의 핵심이 되는 부분은 클라이언트와 서버 사이의 통신 계층입니다. 이 계층을 구현하려면 브라우저에서 제공하는 다양한 통신 메커니즘뿐 아니라, 각 메커니즘의 장단점에 대해서도 잘 이해할 필요가 있습니다. 이 기사에서는 어떤 애플리케이션의 구체적인 통신 요구 사항과 그에 알맞은 메커니즘을 올바로 매치하는 방법을 학습할 수 있습니다. 세부적인 사항을 보여주는 예제들을 통해 이런 각기 다른 클라이언트-서버 통신 요구를 충족시킬 수 있는 통신 계층을 만드는 방법을 이해할 수 있습니다.


Ajax 방식으로 작업하는 방법

Ajax 기반 웹 애플리케이션은 보통 서버에서 작동하는 애플리케이션에 대한 클라이언트 역할을 하므로, 그 서버로 데이터를 앞뒤로 보내며 통신 기능을 집중적으로 사용하는 애플리케이션이 되는 결과를 낳는다. 데이터 전송 기능을 제공할 메커니즘이 필요하다. 애플리케이션의 주요 컴포넌트로서, 이런 메커니즘은 최대한 가볍고 안전해야 한다. 다행히도, 모든 현대적 브라우저에는 정확히 이런 목적으로 사용할 수 있는 오브젝트, 즉 XHR(XMLHttpRequest)이 갖춰져 있다. 실제로 가벼운 XHR은 페이지를 검색한 서버로 한정되는 요청을 생성한다. XHR은 사이트 간 스크립팅 문제를 제거하며, 텍스트만 전달할 수 있다.


할 수 있는 일과 할 수 없는 일

애플리케이션은 XHR 오브젝트를 사용하여 서버로 정보를 보내고 서버에서 데이터를 페치할 수 있다. 이 메커니즘은 앞서 설명한 메커니즘에 비해 여러 가지 장점이 있다.

어떤 유형의 HTTP 메소드라도 사용 가능
현재 도입된 대부분의 일반적인 서버 아키텍처는 REST 원리를 기반으로 하기 때문에, GET, PUT, POST 및 DELETE 요청을 사용해야 한다. 클라이언트와 서버 간 통신의 핵심이라 할 수 있는 XHR 오브젝트의 사용으로 RESTful 서버 아키텍처를 사용할 수 있다.
완료 시 알림
XHR 오브젝트는 생성에서부터 응답이 완전히 로드되기까지 여러 가지 상태에서 존재할 수 있다. 각각의 상태 변화 시, 이벤트가 실행되고 앞으로의 상태 변화 시 호출할 콜백을 정의할 수 있다. 이 이벤트 핸들러를 통해 서버에서 페치된 데이터에 의존하는 코드가 해당 데이터를 사용할 수 있을 때 실행되도록 할 수 있다.
페이지 히스토리에 개입 없음
XHR 호출은 페이지의 히스토리 오브젝트에 반영되지 않으므로, 브라우저의 뒤로 및 앞으로 동작의 일반적인 용도에서 벗어나지 않는다.

 

Posted by 클로버,,
♣소소한 일상♣2010. 9. 30. 22:47
버스 정류장에 도착했는데 사람들이 둥글게 모여있었다.
뭔가 싶어 가보니 무한도전 촬영중이었던 것이다.ㄷㄷ
유재석씨랑 김태호 PD랑 몇몇 스태프들이 있었는데
잘은 모르겠지만 목적지까지 1등으로 도착해야 하는 미션을 수행중인 듯 싶었다.
꼴찌하면 벌칙 있다꼬~ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ

결과는 방송 보고 확인하세요. 라는 말과 함께,
마지막으로 무한~~을 외치니 버스 정류장 근처에 있던 사람들 다같이 도전!!!을 외침ㅋㅋ
몇 분 안되는 시간이었지만 정말 즐거웠다. 유재석씨 잘생겼음ㅠㅠ
아무튼 보는 사람 기분 좋게 만드는 사람인 듯 싶다. ^^

Posted by 클로버,,


친척오빠가 사준 DAME Lilies 70이 드디어 도착했습니다.
입문자용으로 좋은 평가를 받고 있는 기타라고 하네요ㅎ
아무튼 새 기타를 받으니 기분이 좋구먼요 :)  

 

 


 
 


Posted by 클로버,,

자세한 내용은 아래 링크를 클릭하세요. :)
http://www.ibm.com/developerworks/kr/library/x-dataAndroid/index.html

[요약 내용]
 Android 애플리케이션은 인터넷에 있는 데이터에 액세스해야 하는 경우가 자주 있으며 인터넷 데이터는 여러가지 다른 형식으로 구조화될 수 있다. 먼저 CSV 데이터를 XML, JSON 및 프로토콜 버퍼 형식으로 변환하는 웹 서비스를 개발한다. 그런 다음 이러한 형식으로 웹 서비스에서 데이터를 끌어낼 수 있는 샘플 Android 애플리케이션을 빌드한 후 사용자에게 표시하기 위해 구문 분석한다.

 이 기사에서는 아래 그림과 같은 Day Trader라는 Android 애플리케이션을 개발하는 방법을 알려준다. Day Trader를 사용하면 사용자가 하나 이상의 종목 기호를 입력하여 이러한 기호가 표시하는 종목의 최신 가격 정보를 검색할 수 있다. 사용자는 데이터에 사용할 형식(XML, JSON 또는 프로토콜 버퍼)을 지정할 수 있다.


주식 데이터 제공하기
 애플리케이션을 위한 서버는 두 가지 사항을 수행할 수 있어야 한다. 먼저 종목 기호 목록을 가져와서 각각에 대한 데이터를 검색해야 한다. 다음으로 형식 매개변수를 승인하고 해당 형식을 기반으로 데이터를 인코딩해야 한다. XML 및 JSON 형식의 경우 서버는 텍스트로 직렬화된 주식 데이터를 리턴한다. 프로토콜 버퍼의 경우에는 바이너리 데이터를 전송해야 한다.

데이터 형식에 대해 작업하기
 기본 Activity는 서버가 전송할 수 있는 다양한 형식으로 데이터에 대해 작업해야 한다. 또한 적절한 형식으로 데이터를 요청해야 하며 데이터가 구문 분석되면 데이터로 ListView를 채워야 한다. 따라서 데이터 형식과 관계없이 기능의 많은 부분이 공통된다.


SAX를 사용하여 XML 구문 분석하기
 Android SDK는 표준 DOM 및 SAX를 포함하여 XML에 대해 작업하는 여러가지 방법을 제공한다. 메모리 사용량이 더 많은 상황의 경우에는 SDK의 풀(pull) 구문 분석기를 사용할 수 있다. 대부분의 시간 동안 SAX는 가장 빠른 방법이었기 때문에 Android에는 SAX를 더 편리하게 사용할 수 있게 하는 편의 API가 일부 포함되어 있다.

JSON 사용하기
 XML은 Android의 중요한 구성원이며 XML에 의존하는 웹 서비스가 얼마나 많은지를 생각하면 이것은 바람직한 것이다. 또한 많은 서비스에서는 자주 사용되는 또다른 형식인 JSON도 지원한다. JSON은 XML보다 좀더 간결하지만 사람이 읽을 수 있기 때문에 작업을 편리하게 하고 JSON을 사용하는 애플리케이션의 디버깅을 쉽게 만든다. Android에는 JSON 구문 분석기가 포함되어 있다.

프로토콜 버퍼를 사용하여 바이너리화하기
 프로토콜 버퍼는 네트워크를 통해 데이터를 전송하기 위해 XML보다 빠르도록 설계된 Google에서 개발한 언어가 특정되지 않은 데이터 직렬화 형식이다. 프로토콜 버퍼는 서버 간 호출에 대한 Google의 사실상의 표준이다. Google은 이 형식과 C++, Java 및 Python 프로그래밍 언어를 위한 해당 바인딩 도구를 오픈 소스로 사용할 수 있도록 했다.

Posted by 클로버,,