2010년 12월 28일 화요일
신년계획
2010년 11월 3일 수요일
플래시 액션스크립트 xml연동시 캐싱 문제
액션스크립트를 이용해 xml과 연동하여 게시글 및 메뉴 등을 불러오는 스크립트를 짜고 테스트중 문제에 봉착했다.
인터넷 임시 파일에(로컬에) 최초 저장된 xml 파일이 서버에 올라가있는 xml 파일로 안덥히고 계속적으로 로컬꺼를 가져다 쓰는 문제였다. 이런젠장...
xml 파일을 asp 로 바꾸고(개발언어가 asp였음) 난리 부르스를 쳐도 안됨.ㅡㅡ;
해결은 플래시 에서 XML 을 로드 할때 패러미터 값에 랜덤함수를 뿌려 새로운 파일인듯 받아 오는것이다.
네이버에서 검색질을 좀 하니 비슷한 문제로 고민하시던 분들이 계시더라.
윈도우 비스타 이상 운영체제에서는 같은 파일을 되풀이 해서 읽을경우 로컬에 캐싱해 뒀다가 읽어 준다고 한다.
Math.round(Math.random() * 100000000);
변수 하나에 랜덤값을 넣고(혹시 모르니 수를 크게 보냈다.)고때 고때 불러 왔다.
사이트 전체url 및 메뉴이미지 등을 하나의 xml 파일에 쑤셔 넣고 돌리는 방식으로 작업 했기때문에 위에 방법이 아니었으면 액션스크립트 작업을 처음부터 다시해야 할 뻔 했던...
운영 및 개발의 편의 성을 위해 3일간 작업한 것 이 물거품이 될뻔했다..ㅡㅡ;
2010년 7월 8일 목요일
html5 의 찬양반론
![]() | ![]() |
2010년 6월 17일 목요일
테이블을 위한 자바스크립트 샘플


포스카인드를 봤습니다.

2010년 6월 16일 수요일
자바스크립트로 xml문서 불러 들이기
2010년 6월 15일 화요일
접근성을 높이는 자바스크립트
- 스크립트는 사용성이 높아야 한다. 즉 스크립트는 사이트의 사용성을 눈에 띄게 높여야 한다.
- 스크립트는 접근성이 높아야 한다. 즉 웹페이지는 자바스크립트가 동작하지 않더라도 읽을 수 있고 이해할 수 있어야 한다.
- 스크립트는 구현하기 쉬워야 한다. 웹개발자가 스크립트를 웹페이지에 포함시키고 자바스크립트 훅(hook)을 추가하기만 하면 스크립트가 동작해야 한다.
- 스크립트는 분리돼야 한다. 스크립트는 HTML안에 흩어져 있는 것이 아니라 js파일에 따로 존재해야 한다.
egg 구매





2010년 6월 14일 월요일
html5에 대한 퍼블리셔의 생각
이제 드디어 본격적으로 HTML5 와 관련된 책들이 나오는군요.
저도 그중 한권을 사서 훑어 보고 있습니다. 분명 혁신적이고 참 좋은데 실질적으로 바로 써먹을 수 없는 현실 때문인지
집중해서 보게 되지는 않네요.
물론 크론, 사파리, 파이어폭스 등의 브라우저가 HTML5의 현재까지나온 어느정도를 지원하고 있지만 아직까지 개발중인 언어임이 분명하므로, 어느순간 어떤 오브젝트가 생기고 사라질지 모르기 때문에 책의 앞 부분에서도 저자가 경고 하길, 이책이 쓰여지는 시점 이라는 기준을 분명히 잡아 주더군요.
꾀나 관심 가고 흥미로운 것 은 사실입니다.
솔직히 웹표준 코딩 을 위한 웹퍼블리셔가 생겨났고(혹은 UI개발자 라는), 이를 필요로 하는 회사들도 많이 생겨 났지만,
과연 제가 웹퍼블리셔로 이 위치에서 어느정도의 가능성을 확보할 수 있을까 라는 의문이 들었습니다.
HTML이라는것 자체가 누구나 쉽게 접근할 수 있고 습득할 수 있는 쉬운 문서 언어라는 것이기 때문이죠.
사실상 문서 자체를 만드는 것 은 내용과 관련된 태그들만 잘 알고 있다면 어려운 것은 아니니까요.
실제로 디자이너 = 코딩 이라는 개념을 갖고 있는 에이전시 및 업제도 많고, 외국에서도 비슷한 개념의 회사들이 종종 있다고 하더군요.
문제는 디자인 산출물을 CSS를 이용해 레이아웃을 잡고 그에따른 코딩과 크로스 브라우징을 해주고 하는 것 들이죠.
CSS로 레이아웃 과 디자인을 입혀 나가는 것 은 분명 매력있는 일일 수 있으나 짧게는 1~2년 에서 길게 4~5년 정도 경력이 쌓이시면 여기서 더 깊이 파고들고 싶은 무언가가 없어지는 공허함이 있을 수 있다고 생각 됩니다.(이건 어디까지나 저의 개인적인 생각입니다.)
그래서 자바스크립트라는 추가 무기를 갖게 되는건데요. 개인적으로 자바스크립트는 웹퍼블리셔가 정년을 늘리는데 한몫 할 것이라고 생각하고 있습니다. 아마도 자바스크립트 까지 어느정도 하시는 분들은 추가적으로 제이쿼리나 제이슨등을 서브로 잡고, 서버사이드 언어를 약간 공부하셔서 Ajax까지 구연하시는 분도 계신걸로 알고 있습니다.
이렇게 되면 개발자와 웹퍼블리셔(혹은 UI개발자..등등)의 업무가 중복되거나 모호해 지는 부분들이 많습니다.
저는 조금더 깊게 생각하게 되었습니다. 내가 웹에 발을 들여 놓은지 얼마 안되었으나, 살아 남기 위해서는 코딩하는 디자이너 혹은 코딩하는 개발자 사이에서 살아남을 수 있는 무언가가 확실히 필요 하겠다 싶었습니다.
이때 HTML5라는게 눈에 들어 왔는데요.
개인적으로 HTML5는 웹쪽 일 하시는 분들, 그중에서도 코딩을 맡고 있는 직군에서 주로 관심을 갖고 있었을뿐 일반에게 알려지지는 않고 있었는데요, 여기서 애플의 잡스가 한건 하죠.ㅡㅡ;
플래시 대체로 HTML5를 발언하면서 언론 및 각종매체에 어느정도 HTML5에 대한 소개 기사가 뜨게 됩니다.
개인적인 생각(자꾸 개인적인 생각이..)으로 HTML5를 쓰려면 언제쯤일까 라는 생각을 해봤습니다.
어떤 분은 2020년...어떤분은 더 멀게 보시는 분도 계시고 어떤분은 2012년...이라는 분도 계시더군요.
저는 2012년 ~2015년 사이정도로 보고 있습니다.
HTML5 개발이 완료되는 시점에서 HTML5의 사양을 따르는 브라우저가 두개이상 존재해야 한다고 하는데 이미 많은 브라우저가 현재 사양을 따라 계속적으로 업데이트 되는 중이므로 개발 완료와 동시에 표준이 되지 않을까 싶네요.
문제는 익스플로러 입니다.
우리는 앞으로 익스6,7,8 과 싸워야 할지도 모르겠군요..ㅡㅡ;
책을 보다 보니 추가된API를 모두 소화해 내기 위해서는 신규 직군이 필요할 수 도 있겠다는 생각이 들 정도 였습니다.
이게 모두 웹퍼블리셔의 몫이겠구나 라는 생각을 넘어서 말이죠-_-
향후 몇년간 얼마나 많은 분들이 웹퍼블리셔라는 직군으로 넘어오시거나 혹은 타직군으로 빠져나갈지는 모르지만, 확실한것은
앞으로의 웹퍼블리셔의 진로는(현재로서는) 희망적이다 라는 생각입니다.
익스9가 어느정도로 HTML5를 지원할지도 의문이긴 하지만 지원하겠다고 했으니 지원하겠죠.
물론 HTML5가 표준으로 채택되더라도 몇년 혹은 10년이상 익스플로러 잔재를 위해 예전같은 (네스케이프와 익스를 맞추기위해 JS파일을 따로두는등)일을 반복하게 될지 모르지만. 어찌 되었든 앞으로의 웹은 빠르게 발전하고 변화하고 있으므로 우리들은 이에 맞춰 나가야 할듯 합니다.
이 블로그가 모바일에서 이렇게 심하게 접근성이 떨어지는지..
자바스크립트를 이용한 그래프
2010년 3월 30일 화요일
아이폰,안드로이드 운영체제 Touch Event
- touchstart - mouseDown 이벤트와 비슷한 이벤트로 손이 화면에 닿으면 발생
- touchmove - mouseMove 이벤트와 비슷한 이벤트로 손 터치한 상태로 이동하면 발생
- touchend - mouseUp 이벤트와 비슷한 이벤트로 손을 화면에서 뗄때 발생. 아이폰의 경우 touchcancel 이벤트가발생
- touchcancel - bit of a mystery 라고 표현하네요. 쬐금 이상하다는...
document.addEventListener('touchstart', function(event) {
alert(event.touches.length);
}, false);
Event objectdocument.addEventListener('touchmove', function(event) {
event.preventDefault();
var touch = event.touches[0];
console.log("Touch x:" + touch.pageX + ", y:" + touch.pageY);
}, false);
- clientX: X coordinate of touch relative to the viewport (excludes scroll offset)
- clientY: Y coordinate of touch relative to the viewport (excludes scroll offset)
- screenX: Relative to the screen
- screenY: Relative to the screen
- pageX: Relative to the full page (includes scrolling)
- pageY: Relative to the full page (includes scrolling)
- target: Node the touch event originated from
- identifier: An identifying number, unique to each touch event
iPhone Touch and Gesture Events
애플의 WebKit은 안드로이드와 달리 몇가지 것들을 추가적으로 지원한다. touchEnd 이벤트는 event.touches array에서 현재 touch 를 제거해준다. 대신 event.changeTouches array를 이용해서 볼 수 있다.- touches - touchStart, touchMove, touchEnd 의 터치 정보를 포함하고 있는 array
- targetTouches - 같은 target Element로부터 비롯된 touches 정보를 포함
- changedTouches - 모든 touch 정보를 가지고 있는 객체
Gesture events
애플에서는 pinching, rotating과 같은 멀티 터치 이벤트를 처리할 수 있도록 지원한다.- gesturestart - 멀티 터치 시작
- gesturechange - 멀티 터치를 해서 움직일 때 발생
- gestureend - 멀티 터치 이벤트가 끝날때 발생
예제 )
document.addEventListener('gesturechange', function(event) {
event.preventDefault();
console.log("Scale: " + event.scale + ", Rotation: " + event.rotation);
}, false);
Event table
| touchstart | touchmove | touchend | gesturestart | gesturemove | gestureend | |
|---|---|---|---|---|---|---|
| Android |
y |
y |
y |
n |
n |
n |
| iPhone |
y |
y |
y |
y |
y |
y |
| has event.touches |
y |
y |
y |
n |
n |
n |
| (iPhone) has event.scale and
event.rotation |
n |
n |
n |
y |
y |
y |
| (iPhone) touch in event.touches |
y |
y |
n |
- |
- |
- |
| (iPhone) touch in
event.changedTouches |
y |
y |
y |
- |
- |
- |


테이블용 스크립트 샘플.html