gmail online.

죠커의 이미지

gmail을 계속 켜두고 있는데 실시간으로 갱신이 되는 군요. 일정 시간 별로 다시 정보를 제공하는지 이 메일이 왔을때 제공하는지는 모르겠지만 인상적입니다.

xmlhttprequest 정말 강력한 기술인 것 같습니다.

syyune의 이미지

일정 시간마다 reload 해줍니다.
제가 Gmail을 좋아하는 몇 가지 이유 중 하나입니다.
Firefox에서 tab 하나를 할당해 두고 다른 tab에서 web surfing을 하다 보면 tab에
새로 온 mail 갯수가 괄호 안에 표시되죠. 굳이 gmail notifier 같은 것이 필요하지
않습니다. 전에는 Thunderbird를 많이 썼는데 Gmail로 옮긴 이후 thunderbird를
사용해야 할 이유를 찾지 못하고 있습니다. local에 backup을 해둔다는 정도의
의미 뿐??
무엇이 그런 일을 가능케 하는지는 몰랐는데 한 수 배웠네요. "xmlhttprequest"

Shin-young Yune

Prentice의 이미지

xmlhttprequest가 아니더라도 meta 태그로도 비슷한 일이 가능할 것입니다. 어떤 차이가 있을지는 잘 모르겠습니다.

ByB의 이미지

검은해 wrote:
xmlhttprequest가 아니더라도 meta 태그로도 비슷한 일이 가능할 것입니다. 어떤 차이가 있을지는 잘 모르겠습니다.

음.. 차이라고 얘기해도 될런지 모르겠습니다만..
meta tag를 이용한 단순 reload는 페이지 전체를 다시 읽어오는 관계로,
모든 페이지를 구성하는 전체 tag (데이터 reload 포함)를 다시 rendering하게 될것입니다. (아마 그렇겠죠 ? ^^a; )
하지만 xmlhttprequest의 경우 (회사제품에 구현을 적용해본 결과..)
전체 페이지를 구성하는 tag를 모두 읽어오거나 해서 전체 페이지를 다시 rendering 하는 등의 작업은 없이,
오직 data만 갱신한 후에 그 해당하는 데이터 영역만 다시 화면에 표시를 하게 만들 수 있고,
gmail 역시 그렇게 하고 있는 것으로 보입니다.
다른 응용법이나 작동방식에 대한 설명을 드렸으면 좋겠는데.. 능력 밖이군요 ^^a;..
대답이 되셨는지 -..-;;;

----------------------------------------------------------=>
Be supercalifragilisticexpialidocious, run for your life!

ByB의 이미지

ByB wrote:
검은해 wrote:
xmlhttprequest가 아니더라도 meta 태그로도 비슷한 일이 가능할 것입니다. 어떤 차이가 있을지는 잘 모르겠습니다.

음.. 차이라고 얘기해도 될런지 모르겠습니다만..
meta tag를 이용한 단순 reload는 페이지 전체를 다시 읽어오는 관계로,
모든 페이지를 구성하는 전체 tag (데이터 reload 포함)를 다시 rendering하게 될것입니다. (아마 그렇겠죠 ? ^^a; )
하지만 xmlhttprequest의 경우 (회사제품에 구현을 적용해본 결과..)
전체 페이지를 구성하는 tag를 모두 읽어오거나 해서 전체 페이지를 다시 rendering 하는 등의 작업은 없이,
오직 data만 갱신한 후에 그 해당하는 데이터 영역만 다시 화면에 표시를 하게 만들 수 있고,
gmail 역시 그렇게 하고 있는 것으로 보입니다.
다른 응용법이나 작동방식에 대한 설명을 드렸으면 좋겠는데.. 능력 밖이군요 ^^a;..
대답이 되셨는지 -..-;;;

아, 다른 글을 읽다가 생각이 난건데요.
xmlhttprequest를 이용하면,
어떤 게시물을 보고 있을때, 그 게시물에 새로운 답글이 생기면,
사용자가 글을 읽고 있는 것에 상관없이, 자동으로 필요한 위치에 새로운 답글을 붙여 줄 수가 있겠네요..
만약 meta의 reload를 이용하면, 중간쯤 보고 있을때 reload 되면, 그 페이지의 맨 위로 올라가 버리니 불편하겠지요.

----------------------------------------------------------=>
Be supercalifragilisticexpialidocious, run for your life!

정태영의 이미지

검은해 wrote:
xmlhttprequest가 아니더라도 meta 태그로도 비슷한 일이 가능할 것입니다. 어떤 차이가 있을지는 잘 모르겠습니다.

meta 로 리로드를 하게 될 경우

1. 히스토리도 바뀌게 되고
2. 페이지가 깜빡이게 되고.. (페이지 전환되는 소리도 나죠...)
3. 페이지 전체를 갱신하게 되므로 전송량도 많아집니다 ;)

google suggest 라던가... google map 서비스를 보면.. 전부
xmlHTTP 를 통해 구현되어 있는데...

마치 그 페이지 자체에 필요한 데이타가 모두 있는 듯하게
자연스러운 동작을 보여줍니다...

오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...

http://mytears.org ~(~_~)~
나 한줄기 바람처럼..

anarch의 이미지

Ajax (비동기 자바 스크립트 와 XML)이라는 기술이더군요..

철길 루비에서도 이미 들어가 있더군요. http://weblog.rubyonrails.com/archives/2005/04/18/rails-0120-eager-associations-new-basefind-api-assertions-revisited-more-ajax/

자바에서는 Struts에도 다음 버젼에 들어갈 예정인가 봅니다.
http://wiki.apache.org/struts/AjaxStruts?highlight=%28Ajax%29
WW2도 이야기 되고 있구요~ 웹워크 만세!

P으로 시작하는 언어에서는 다음이 있더군요. http://www.modernmethod.com/sajax/

Ajax을 구현할때 꼭 XMLHTTP을 쓸필요는 없는 거 같은데요..
제가 제대로 이해한것이 아니라서...=_=

JS에서 DOM을 읽을수 있으니까.. 구현 방식의 차이가 아닐까 싶습니다..

요즘 웹에서는 이 기술이 뜨겁군요.. :-)

죠커의 이미지

anarch wrote:
Ajax을 구현할때 꼭 XMLHTTP을 쓸필요는 없는 거 같은데요..
제가 제대로 이해한것이 아니라서...=_=

그런가요? 단순히 XmlHttpRequest의 wrapper인줄 알았는데요.

tasy의 이미지

CN wrote:
anarch wrote:
Ajax을 구현할때 꼭 XMLHTTP을 쓸필요는 없는 거 같은데요..
제가 제대로 이해한것이 아니라서...=_=

그런가요? 단순히 XmlHttpRequest의 wrapper인줄 알았는데요.

몰론, 현재 구현되어 있는 Ajax는 XmlHttpRequest입니다.
XmlHttpRequest + Javascript라고 봐야겠죠.

---------
Byeongweon Moon
http://tasy.jaram.org/blog
사랑하면 알게 되고 알면 보이나니 그때에 보이는 것은 전과 같지 않으리라.

anarch의 이미지

Quote:
몰론, 현재 구현되어 있는 Ajax는 XmlHttpRequest입니다.
XmlHttpRequest + Javascript라고 봐야겠죠.

분명히 ajax는 (Asynchronous Javascript + XML) 이므로,
XmlHttpRequest + Javascript 맞습니다. 지메일두 그렇구요.

근데 제 생각에는 꼭 (간단한 구현이라면) JS/DOM을 써야 하나 뭐..그런 생각이었습니다.
JS의 innerHTML으로 가져온 데이터(HTML)를 넣어주어도
리플래쉬 없는 비동기 형태(처럼) 보이는 게 아닐까 하는 생각이었습니다.
(아직 해보지 않아서 정확한 정보가 아닌 점 사과 드립니다..;;)

권순선의 이미지

웹브라우저에서 글을 쓰다가 브라우저 창을 닫으면 '이 문서를 저장하시겠습니까?'와 같은 식으로 일반 애플리케이션처럼 물어볼 수 있는 기능이 제공된다고 하면 웹브라우저에서 거의 모든 일을 다 할 수 있지 않을까 하는 생각이 듭니다. 물론 아주 단편적인 예이긴 하지만, 웹의 UI가 계속해서 발전해 간다면 어느 시점에서는 모든 작업을 웹에서 다 할 수 있는 시대도 올 수 있을 것이고, 그렇게 되면 그때쯤에는 OS의 구별도 무의미해지는 시기가 되지 않을까 하는 생각을 제 마음대로 해 봅니다. :-) 현재 그 선봉에는 google이 있는 것 같은데... 우리나라의 다른 포털 사이트들도 아마 계속해서 할 일이 많을 듯 합니다.

나는오리의 이미지

권순선 wrote:
우리나라의 다른 포털 사이트들도 아마 계속해서 할 일이 많을 듯 합니다.
지금당장 돈이 안된다면 아무것도 안할겁니다.
김정균의 이미지

anarch wrote:
Quote:
몰론, 현재 구현되어 있는 Ajax는 XmlHttpRequest입니다.
XmlHttpRequest + Javascript라고 봐야겠죠.

분명히 ajax는 (Asynchronous Javascript + XML) 이므로,
XmlHttpRequest + Javascript 맞습니다. 지메일두 그렇구요.

근데 제 생각에는 꼭 (간단한 구현이라면) JS/DOM을 써야 하나 뭐..그런 생각이었습니다.
JS의 innerHTML으로 가져온 데이터(HTML)를 넣어주어도
리플래쉬 없는 비동기 형태(처럼) 보이는 게 아닐까 하는 생각이었습니다.
(아직 해보지 않아서 정확한 정보가 아닌 점 사과 드립니다..;;)

XmlHttpRequest 를 사용할 때도 innerHTML 을 이용하는데요. :-)

onreadystatechange 에서 보통 id.innerHTML = reponseText 로 처리하지 않나요? 저만 이렇게 하는가요?

P.S
다만.. XmlHttpRequest 를 사용하면서 겪은 문제로는 XMLHttpRequest 로 호출을 했을 경우 EUC-KR 이 깨지는 문제가 있다는 점 (한글은 UTF8 밖에 사용을 할 수 없는 듯 싶군요.) .. 이 아쉽더군요. 쉽게 UTF8 로 넘어가기가 힘든 상황에서 말이죠.

ByB의 이미지

김정균 wrote:
anarch wrote:
Quote:
몰론, 현재 구현되어 있는 Ajax는 XmlHttpRequest입니다.
XmlHttpRequest + Javascript라고 봐야겠죠.

분명히 ajax는 (Asynchronous Javascript + XML) 이므로,
XmlHttpRequest + Javascript 맞습니다. 지메일두 그렇구요.

근데 제 생각에는 꼭 (간단한 구현이라면) JS/DOM을 써야 하나 뭐..그런 생각이었습니다.
JS의 innerHTML으로 가져온 데이터(HTML)를 넣어주어도
리플래쉬 없는 비동기 형태(처럼) 보이는 게 아닐까 하는 생각이었습니다.
(아직 해보지 않아서 정확한 정보가 아닌 점 사과 드립니다..;;)

XmlHttpRequest 를 사용할 때도 innerHTML 을 이용하는데요. :-)

onreadystatechange 에서 보통 id.innerHTML = reponseText 로 처리하지 않나요? 저만 이렇게 하는가요?

P.S
다만.. XmlHttpRequest 를 사용하면서 겪은 문제로는 XMLHttpRequest 로 호출을 했을 경우 EUC-KR 이 깨지는 문제가 있다는 점 (한글은 UTF8 밖에 사용을 할 수 없는 듯 싶군요.) .. 이 아쉽더군요. 쉽게 UTF8 로 넘어가기가 힘든 상황에서 말이죠.

제가 제가 하는 일에 xmlHttpRequest를 적용하여 제작하여본 결과,

innerHTML을 사용해야만 하는 경우는 IE에 호환되게 하기 위한 경우이더군요.
(Mozilla) firefox 같은 경우는 innerHTML이 필요없었습니다.
단순히 appendChild만 해도 화면에 그 child node만 깔끔하게 그려지더군요.
IE 덕분에 코드가 몇줄더 길어졌죠.. (dirty...)

그리고, innerHTML을 사용하게되면, 화면이 갱신될때마다 다소 깜박이는 것 처럼 보이게 되더군요..
그래도 IE에서 DOM node를 보이게 하려면 어쩔수 없네요.. (젠장 IE..)

----------------------------------------------------------=>
Be supercalifragilisticexpialidocious, run for your life!

kaos009의 이미지

욕심많은오리 wrote:
권순선 wrote:
우리나라의 다른 포털 사이트들도 아마 계속해서 할 일이 많을 듯 합니다.
지금당장 돈이 안된다면 아무것도 안할겁니다.

한표 ㅡㅡ;;;

변화를 추구하며....

anarch의 이미지

Quote:
innerHTML을 사용해야만 하는 경우는 IE에 호환되게 하기 위한 경우이더군요.
(Mozilla) firefox 같은 경우는 innerHTML이 필요없었습니다.
단순히 appendChild만 해도 화면에 그 child node만 깔끔하게 그려지더군요.
IE 덕분에 코드가 몇줄더 길어졌죠.. (dirty...)

firefox에서는 innerHTML이 필요가 없었군요.. :-)

cppig1995의 이미지

욕심많은오리, I totally agree with you. :twisted:

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.