새해가 됐으니.. 먼가 또 재미난걸 해봐야징..

머릿속에 2~3가지 생각들이있다..

요새 매일 점심 먹을때마다.. 고민하는 뭐 먹을까?..
이런 고민좀 덜해보고싶다..
점심 뽑기 프로그램하나 만들어서 메인에 박어놔야징…
내 블로그 리피러를 보면,.  대다수가 내 블로그 주소를 치고 들어온다. 
즉, 고정방문객이 많다는것.. 많아봐야 2~3명이지만..ㅋㅋ
그래서 메인 페이지를 좀더 재밌는걸로 채워넣을 생각이다. 
갑자기 마이크온블로그 시작페이지 개편!! 뚜둥..
나도 네이버개편처럼.. 개편일 일자를 공개한다!!
3월 1일 마이크온블로그닷컴이 다시 태어납니다. 
이렇게 해두면,.. 먼가 의욕이 생기겠지? ㅋㅋ
—-
올해 첫 스킹을 하고 왔다. 완전 힘들다.. 어흑어흑.. 
종아리에 아주 그냥.. ㅎㅎ
오늘 오전은 눈이 너무 많이 내려서..-_-
타다 말고 내려왔다..
—-
요새 술을 넘 많이 마신것 같다..
그 좋아하는 맥주를 끊지는 못하고… 먹을때.. 딱 500cc 이하로만 마실 계획이다..
절대 원샷은 없다!!
늘어나는 뱃살을 보고,.. 오늘 거울을 보면서.. 약간의 충격을 먹었다..
이건 아니지 싶다!!
특단의 조치가 필요하다!!

Httpwatcher에서 이미지 요청시 Aborted 되는 현상

항상 이런 이슈는 퇴근쯔음 생긴다..-_- 싫다 정말..
여튼, 개편이후, PV가 갑자기 줄어서.. 확인해본결과..
문제는 이미지 태그의 src 이용해 리퀘스트를 날릴때, 그 리퀘스트가 중지되는 현상이 발견됐다.
Httpwatcher에서 확인해본결과.. 
아래와 같은 코드 사용시에..
(new Image()).src = “로그집계기록” 
열에 2~3번은 aborted가 되고 있었다. 
위와 같은 상황이라면 PV가 대략 20~30%는 하락할것이다..ㅎㅎ
여튼 수많은 삽질을 통해 대강의 원인을 찾아본결과..
아래와 같은 이유가 있었다.  (이유는 3가진데.. 자세한건 아래 링크 참조)

http://blog.httpwatch.com/2008/01/28/what-does-aborted-mean-in-httpwatch/

그중에서 다운로드 중일때, 리퀘스트를 날리면 요청을 끊어버린다는 것!!
이게 가장 유력한 원인으로 파악되고 있다. 
일단.. 내일 다시 테스트해봐야징.. 졸립넹..-_-
—–
최종정리~
위에서 발생한 문제는 최종적으로 가비지 콜렉션 문제로 정리됐다. 
즉, 위와 같이 (new Image()).src = “로그집계 기록”을 호출할경우..
요청에 대한 응답을 받기도 전에 이미지 객체가 가비지 콜렉션 되어 사라질수 있다. 
이럴경우, 응답은 취소가 된다. 
해결책은 간단하다. 가비지 콜렉션 되지 않도록 이미지의 참조 카운터를 누군가가 들고 있으면 된다. 아래와 같이 전역변수로 가지고 있어도 되고,
_gImg = [];
function 로그집계 = {
    var o = new Image(); 
    o.src = “로그집계”;
    _gImg.push(o);
}
로그집계();
혹은 아래와 같이 abort 이벤트에 대해서 이벤트를 바인딩 해둬도 된다 
function 로그집계 = {
    var o = new Image(); 
    o.src = “로그집계”;
    o.abort=function(){};
}
로그집계();
후자보다는 전자가 보다 명확한 방법이다. 
후자의 경우의 코드상의 의미는 abort 이벤트가 발생했을때, 어떠한 처리를 따로 해주는것인데..
저렇게 아무런 의미없는 함수를 바인딩해둘필요는 없지 않을까?
그래서 전자로 처리했다.