HTML5 현재 상황

카테고리 없음 2010. 6. 9. 13:45 posted by 무병장수권력자


작성자 : 김문규
최초 작성일 : 2010.06.09

너무나 절묘하게 설명이 되어 있다. 좀 내용이 아는 사람이 보아야 도움이 될 것 같긴 하지만...
http://www.theblogismine.com/wp-content/uploads/2010/06/rsz_html5.jpg_1.jpeg



TAG HTML5
  1. Commented by pmk at 2010.12.07 01:31

    스크랩 방지좀 풀어주세요 ... 주소같은거 긁어서 웹브라우저에 바로 붙일려니 안되서 불편하네요... :)
    여하튼 좋은 정보 감사합니다.

  2. Commented by 무병장수권력자 at 2011.01.10 11:42 신고

    URL 링크가 자동으로 걸리지 않았나 보네요.
    링크를 추가하였습니다. 감사합니다.

안드로이드 개발 시 유의 사항

개발 노트 2009. 10. 19. 09:43 posted by 무병장수권력자


작성자 : 김문규
최초 작성일 : 2009.10.19

device 개발 시에는 코드 유지 보수의 효율성과 성능 최적화간의 절묘한 trade-off가 중요합니다. 물론 제작자 입장에서는 성능최적화가 최우선되어야 한다고 생각할 수 있지만, 이 경우에는 차기 모델 출시시에 더 많은 공수가 투입되어야 하기때문에 꼭 좋은 선택만은 아닙니다.

안드로이드 개발자 사이트에 보면 몇가지 권고사항이 있습니다. 딱히 안드로이드 개발에만 국한되지는 않아 보입니다. 간단하게 소개합니다. 자세한 적용은 원문을 참조하세요.
http://developer.android.com/guide/practices/design/performance.html

안드로이드 개발 시 유의 사항
1. 불필요한 임시 객체를 만들지 말아라
2. 최대한 native method를 사용하라
3. virtual > interface
Map myMap1 = new HashMap();
HashMap myMap2 = new HashMap();
후자를 사용한다.
4. static > virtual
5. 내부적으로는 getter, setter를 사용하지 않는다. direct access해라.
6. 자주 사용할 경우에는 멤버 변수를 local copy 한 후 사용한다.
    - 속도 측면에 이득이 있다.
7. constant는 final 선언을 한다.
8. enhanced for loop는 조심해서 사용한다.
   - 컨테이너의 종류에 따라 성능이 떨어질 수 있다. ArrayList에서는 무조건 사용하지 않는다.
9. (외부 공개 API가 아닌 경우에는) enum은 가급적 쓰지 마라.
10. inner class에서 접근해야 하는 변수의 경우 public화 하자. (? 이거는 잘 이해가 안되네요.)
11. float, double은 가급적 쓰지 마라. 많이 느리다.



  1. Commented by 최종일 at 2009.12.14 17:07

    안드로이드 SDK 나도 한번 배워보고 싶은데...
    삼성전자 다녔으면 폰쪽에서도 제대로 일좀 해봐야 하는데 쩝

    현실적으로 11월말까지 해주기로 약속한 프로그램도 제때 안해주는데 ... 지금은 여력이 없네. ㅋㅋ
    나중에 좀 알려주삼 ^^

    와이프 예정일이 곧 닥치는지라 긴장하며 지내고 있음.

    둘째 태어나면 최초로 소식 알려주겠음

    따뜻한 연말연시 보내라~

  2. Commented by 1111 at 2010.11.15 10:32

    http://blog.doortts.com/133

    android 에서도... enhanced for loop 의 사용을 권장하는 것으로 아는데요.. OTL

    • Commented by 무병장수권력자 at 2010.12.14 00:38 신고

      해당글을 보니 잘 쓰여져 있어서 도움이 많이 되었습니다. 그런데, 권장을 하는 이유가 성능이 아니라 코드 읽기에 더 비중이 많아 보이는 군요.

  3. Commented by 선배 at 2011.10.05 15:42

    잘보고 지나갑니다.
    10번 내용은 inner class에서 멤버 변수를 접근 할 때 getter / setter를 사용하지 말아도 된다. 정도로 생각하시면 될 듯 한데요..ㅎㅎ
    그럼 좋은 포스트 감사해요

HTML5 그 놈이 온다.

웹, 인터넷 2009. 9. 24. 23:02 posted by 무병장수권력자


작성자 : 김문규
최초 작성일 : 2009.09.24

변하고 있다. 당신이 모르고 있을

 아마도 매일 인터넷 서핑을 하고 있는 당신, 개발에 관심 있으신 분이 아니라면 HTML이란 단어에 많이 익숙하지 않으실 겁니다. 개발자라고 하시더라도 HTML 단순한 표현 언어라고 생각하시는 분이 많습니다. 맞습니다. 그런데, 더 이상 아닐지도 모르겠습니다. HTML5라는 말을 들어 보셨나요? 구글에 HTML5라는 키워드를 넣는 순간 많은 글이 쏟아져 나오는 것을 보시게 겁니다. 2007년도 글이 있고, 2009년도부터 많은 글이 등록되고 있습니다. 또한, 구글을 비롯한 인터넷 업체의 발표회에서 절대 빠지지 않는 단어 하나는 HTML5 입니다. 대체 뭐길래? 그들은 이에 오감을 곤두세우고 있을까요?


먼저 말씀 드리면, HTML5?

 최근 10여년 간의 기술 발전을 대부분 포함하는 새로운 HTML 표준 규약을 가리킵니다. 그리고, 이면의 HTML5 인터넷 관련 업체들이 다음 세대 시장의 주도권을 쥐기 위한 싸움의 결정체라고도 생각됩니다.


조금만 백그라운드 지식을...

 HTML4 1998년도에 정해진 표준입니다. 인터넷에서 문서를 표현하기 위한 마크업 언어(Markup Language) 표준으로 만들어 졌습니다. 한동안 사용되어 왔지요. 하지만, 그래픽, 멀티미디어에 대한 요구가 많아지면서 어느 날부턴가 우리에게는 RIA, AJAX라는 표현이 많이 들리기 시작했습니다. 한잠 자고 일어나면 Flash, Flex, Silverlight, JavaFX 등등 이름이 멋진 기술들이 속속 소개되기 시작했습니다. 따라가기도 힘들고 모두 파악하기도 힘들어져 버렸습니다. 그래서 인지 심플해야 웹이 점점 복잡해져 버리기 시작한 것이지요. (ActiveX 이야기도 꺼내지 않겠습니다.)

 이유야 여러 가지가 있겠지만, 표준 기관이 역할을 못했고 시장 지배적인 회사가 기술을 선도하지 못했기 때문이라고 저는 생각합니다. 그래서, 모두가 생각하길(대부분이 맞을 수도..), 속된 말로 '더러워진 ' 정리할 때가 것입니다. 그래서, 업계의 젊은 (?)들이 힘을 모아 판도를 바꾸어 보겠다고 나서게 되었습니다. 구글과 애플 그리고 오픈 소스 진영의 모질라 재단입니다.

'너무 복잡해지고 몇몇 업체의 기술이 지배하고 있는 기술을 표준화하고 공개해서 사용자에게 새로운 선택(choice) 기회를 주자!'

라는 대의 명분을 가지고 반란은 시작되었습니다.


잠시 이야기 ... 브라우저 쓰세요?

 잠시 이야기를 하겠습니다. 브라우저 무엇을 사용하시나요? 아마 IE라고 답하시는 분이 대부분일 것입니다. 맞습니다. 아직도 IE 점유율이 70% 이상인 것이 사실입니다. 하지만, 재미난 사실은 국내에서도 이미 파이어폭스(firefox)라는 불여우 브라우저의 점유율이 30% 넘보고 있다는 사실입니다. 조사마다 값은 차이가 있지만 확실한 것은 비주류 브라우저들의 반란이 시작되었다는 것입니다. 항간에는 불여우 브라우저의 점유율이 세계적으로(단기적으로) 51% 넘었다는 기사도 있습니다.

 무엇을 의미할까요?

그간 시장의 대장이라는 이유로 수없이 많은 좋은 기술을 핍박하고 누를 있는 힘이 점점 약해지고 있다는 것입니다. 이상 대장의 보다 대세의 말이 중요해 졌단 말이지요.


대세는 무엇?

 당연히 HTML5 표준화가 대세입니다. HTML5 신기술에 대한 정의가 아닙니다. 그런데, ? 주목하는 것인가요? 판세를 바꿀 있기 때문입니다. 예전에 왕을 폐위하기 위해서는 항상 명분이 필요했습니다. 그리고, 이를 위해 법과 관련 조례 등등이 필요했지요. ( 아니더라도 느낌만.. ^^) 이번 표준화도 이와 비슷해 보입니다. 시장의 약자들이 모여서 HTML5 무기로 현재 왕인 MS IE, Adobe flash 콤비의 힘을 약화 시켜서 생태계를 평등하게 만들겠다는 겁니다. ( 다른 왕이 되고 싶기도 하겠지요.) 다르게 말하면 'IE 완벽 호환' 이라는 단어를 웹에서 없애 버리겠다는 것이지요. 만에도 거의 불가능해 보였습니다. 그런데, 처음에는 불가능해 보이던 반란이 년에 걸쳐서 힘을 키우더니 최근에는 드디어 주목을 받기 시작한 것입니다. 앞서 말한 브라우저 지배력의 재편으로 인해 3약이 모여 1강을 협박하기에 이른 것이지요. 이미 변화는 시작되었습니다.


그럼 잠깐 알아볼까요? HTML5 뭔지? (주의! 기술에 관심 없으면 패스!)

 진짜 너무 방대하고 기술적인 스펙이라서 일일이 설명하는 것은 포기했습니다. ^^ 다만 핵심적인 키워드 5개만 짚고 넘어가겠습니다. 예제 사이트를 적절하게 이용해 주세요~

 

1. Canvas 통한 그래픽 드로잉(drawing) 지원

 - 이제 Javascript 그림을 그리는 것이 가능합니다. 사각형, , 자유도형 그리고 색칠하고 모두 가능합니다. 게임도 가능하겠지요?

뮤직 플레이어 (firefox3.5+ and more)

http://9elements.com/io/projects/html5/canvas/

둠과 유사한 게임 (firefox3.5+ and more)

http://www.benjoffe.com/code/demos/canvascape/

마리오카트와 유사한 게임 (firefox3.5+ and more)

http://www.nihilogic.dk/labs/mariokart/

데이터 시트 (firefox3.5+ and more)

http://igrapher.com/ 

3D 지원 (firefox3.5+ and more)

http://www.macrumors.com/2009/09/13/webgl-support-begins-to-arrive-in-webkit/

http://www.sebleedelisle.com/2009/09/simple-3d-in-html5-canvas/


2. Video 코덱 표준화

 - 현재 Ogg Theora H.264 격돌 중입니다. 코덱이 표준화 되면 동영상 플러그인이 필요 없게 됩니다. 바로 시청 가능~ 개발자 입장에서는 비디오 객체를 Javascript 다룰 있게 됩니다. 기존보다 easy!

HTML5 <video>로 구현된 예제 (firefox3.5+ and more)

http://people.opera.com/brucel/demo/video/controls.html

http://www.double.co.nz/video_test/test1.html

http://tinyvid.tv/

video 객체를 script로 제어하는 예제 (firefox3.5+ and more)

http://people.mozilla.com/~prouget/demos/DynamicContentInjection/play.xhtml

SVG를 연동하여 동적으로 video를 제어하는 예제 (firefox3.5+ and more)

http://www.double.co.nz/video_test/video.svg


3. Local Storage 지원

 - 구글 기어(Google Gear) 비슷한 겁니다. 로컬 하드의 특정 영역에 DB 형태로 저장하고 꺼내고 가능합니다. 오프라인 어플리케이션! 가능해 집니다.

Notepad 데모 (Safari only)

http://webkit.org/demos/sticky-notes/index.html

Key, Value 쌍 저장 데모 (firefox3.5+ and more)

http://people.w3.org/mike/localstorage.html

 

4. Geolocation API 표준화

 - 장치 API 브라우저 간에 인터페이스를 표준화해서 위치 정보를 브라우저에서 사용할 있게 됩니다. 네비게이션 이런 것도 가능해 지겠지요?

현재의 위치를 알려주는 서비스 예제 (firefox3.5+ and more)

http://www.browsergeolocation.com/

canvas 기술로 구현한 자동차 내비게이션 컨셉 구현 예제 (firefox3.5+ and more)

http://ernestdelgado.com/public-tests/canvas-gpsmap/

(현재는 위치 정보와 연계되지 않았지만, 주요 응용 분야임)


5. Web Worker 이용한 multi thread 지원

- multi thread 지원하기 때문에 task 병렬처리가 가능해 집니다. 기술로 얻을 있는 효과로는 부드러운 UI 렌더링, 백그라운드 프로세스를 이용한 로컬 데이터 업데이트 등을 있습니다.

http://people.mozilla.com/~prouget/demos/worker_and_simulatedannealing/index.xhtml



6. 외에 태그 표현과 관련해서 많은 변경

- 너무 많아서 패스

http://dev.w3.org/html5/html4-differences/

http://channy.creation.net/project/html5/html4-differences/Overview_ko.html


그럼 이제 무슨 생각이 드십니까?

 ', 빼고는 사용자 입장에서 장점은 없는 아닌가요?' 라는 생각이 드시나요? 그럴 수도 있습니다. 실제로 사용자 입장에서는 그래픽, 멀티미디어 이런 Flash 줬습니다. 인터넷도 빵빵하니까 굳이 로컬에 저장 필요도 없습니다. 그깟 위치정보 없으면 어떻습니까?

근데 아쉽게도 하나만 알고 둘을 모르시는 것은 아닐까요? 지금까지 인터넷을 PC로만 하셨지요? 휴대폰으로 인터넷다운 인터넷을 해보았기 때문에 그러한 반응을 보이시는 같습니다. 지금까지 모바일 항상 뒷전이었습니다. 이유는 일단 화면이 작고 브라우저 성능이 너무 떨어졌기 때문입니다. 네이티브 어플리케이션(native application) 표현력의 격차가 너무나 크기 때문에 이미 눈높이가 높아진 사용자에게 모바일 웹으로는 어필하기가 어려웠습니다. 하지만, 모바일 브라우저로도 게임이 된다면? 인터넷에 연결 하지 않아도 이전에 읽었던 메일을 확인할 있다면? 웹에서 멀티미디어를 빵빵(? 약간 과장)하게 즐길 있다면? 어떠시겠습니까?

그렇습니다. HTML5 모바일 웹에 새로운 바람을 불어 넣을 것입니다. 새로운 표준은 우리의 눈높이를 맞추기 위한 기술적인 환경을 만들어 것입니다. 기존에 우리가 바라고 원하던 모바일 웹이 실현되기에  좋은 환경이 만들어 지게 되는 것입니다. 우리가 지금까지 프로그램을 깔아야만 즐길 있던 유용한 모바일 애플리케이션들을 플랫폼과 무관하게 브라우저를 통해 디바이스(휴대폰)에서 사용하게 날이 것입니다.


이제 마치며

 제가 드리는 말씀은 최신 논문을 분석해서 드리는 말씀이 아닙니다. 이미 분야의 전문가(?)라는 분들의 의견을 제가 편드는 쪽으로 미화해서 말씀 드리고 있습니다. ^^ (그래도 근거가 있단 말이지요.) 누구도 아직까지는 HTML5 어떻게 거라고는 단언하지 못합니다. 아직 강자가 건재하기 때문입니다. 하지만, 바램이 있다면 웹이 이상 폐쇄적인 기술에 휘둘리지 말고 플랫폼 기술이 모든 오픈 되는 것입니다. 소스 코드의 오픈이 아니라 플랫폼의 오픈을 말씀드리는 것입니다.

 수년간 윈도우즈라는 고마운 OS 의해 IT 이끌어져 왔습니다. 하지만, 여기에는 분명히 장점과 단점이 존재했고 단점에 의한 폐해도 많이 보아 왔습니다. 차세대 응용 플랫폼 하나일 ! 누군가가 이를 소유한 다는 것이 옳을까요? 가지고 있어야 돕는다는 논리는 이제 구식이라고 생각합니다. 이제는 같이 생각하고 같이 발전시킬 시기입니다. 그렇게 되길 희망합니다.




  1. Commented by 숲속얘기 at 2009.11.18 10:28

    html5의 성공은 구글에 달리지 않았을까 싶네요. w3c는 일단 진행이 너무 느려요. 그게 제일 문제인듯. 그 사이에 다른 플러그인들의 진행속도는 빠르고.

  2. Commented by joogunking at 2009.12.26 09:31

    플래시가 절대선이 아님에도 불구하고 너무 남발되고 있어요.
    실버라이트도 방송사를 중심으로 서서히 보급되고 있구요.
    맞아요 플러그인의 난립을 이제는 종식할 때가 왔습니다.

  3. Commented by hjhwang at 2010.05.18 16:55

    좋은 글 잘 봤습니다. 현재 회사에서 Flex로 소프트웨어를 개발하고 있는데, 우리 회사에서도 좀 더 발빠르게 HTML5를 준비할 필요가 있음을 절실히 느낍니다. =)

삼성 스타폰의 명암

모바일 2009. 9. 17. 08:53 posted by 무병장수권력자



5월 출시 이후, 현재 글로벌 판매량 600만대, 조만간 1000만대 돌파 유력!
삼성 휴대폰 사상 최단 기록
대만내 인기 휴대폰 5주 연속 1위

하지만, 180유로의 중저가 폰...

업체들이 목매고 기다리고 있는 코비 역시 스펙을 상당히 낮춘 저가형 모델입니다. 지난 포스트에서도 걱정어린 말을 적었지만 모두가 스마트폰에 열광하고 신기술에 눈을 돌리고 있는 것 처럼 보이지만...

그런 우리 생각입니다. IT 업계에 녹을 먹고 있는 사람들 말입니다.

재미가 덜 할 뿐이지 아직도 돈 버는 곳은 피쳐폰 쪽인 듯 하네요. 그리고 솔직히 이 판도 자체가 바뀔지도 의문입니다. (아니라는 것이 아니라 궁금함..진짜로..)

'모바일' 카테고리의 다른 글

삼성 스타폰의 명암  (2) 2009.09.17


  1. Commented by 진시황제 at 2010.06.04 20:36

    피처폰가지곤 이제 수익내기엔 딸릴텐데요..

HTML5 (HTML4와의 주요 차이점)

웹, 인터넷 2009. 9. 11. 17:22 posted by 무병장수권력자


작성자 : 김문규
최초 작성일 : 2009.9.11

윗분의 지시로 공부중입니다.. 정리한 김에 ..

 


 특정 기업의 독점 기술에 의존하지 않는 공개되고 표준화된 웹 환경을 만들기 위한 기술

: add-on 또는 plug-in 없이도 웹을 사용 가능하도록 광범위하면서도 자세하게 규약 제정

 


1. 표준 codec 기반의 비디오, 오디오 재생 환경 내장

- 웹 멀티미디어 codec 표준화

-기존에는 멀티미디어 재생을 위해 외부의 plug-in을 설치해서 재생해야만 했음

  (다수의 외부 플러그인 존재: Flash, Shockwave, Media Player, Quicktime...)

- HTML5에서는 표준 코덱을 선정해서 브라우저에서 플레이어를 기본 내장하도록 함

-OggH.264가 가장 유력한 후보

  (Firefox,opera:Ogg, Chrome:H.264,Ogg, Safari:H.264 지원함. , 유동적임)

 

2. Graphics 지원을 위한 Canvas 제공

- 애플이 최초로 제안했으며 Mac OS X에서 Dashboard와 같은 위젯 어플리케이션을 동작 시키기 위해 소개되었음

- HTML4는 그리기(Drawing)에 대한 정의 및 기능이 없음 (글자로 구성된 문서를 보여주기 위한 포맷. 따라서, Flash와 같은 플랫폼이 발전하게 됨)

- HTML5에서는 그리기 영역과 그리기 API를 제공함, 브라우저에서 다양한 그래픽 구현이 가능함 (Flash, SilverLight와 기능이 중복되는 부분이 많음)

- 2D Canvas의 경우는 이미 대부분의 브라우저에서 지원하고 있음 (IE 지원 안함)

- 3D Canvas 의 경우에는 최근 제안 형태로 발표되기 시작함 (OpenGL ES 2.0 기반)

 

3. Local storage / DB 지원

- 업체별 각각의 접근 시도가 있었음. 이를 HTML5 Local Storage로 표준화

: IE userData, FF Dom Storage, Flash Local Shared Object, Google Gear

- offline에서도 웹 어플리케이션을 사용 가능토록 하는 것이 주된 목적

  : 항상 online이기 어려운 모바일 환경에서 더 중요해짐

- Session Storage Local Storage 를 제공함

Session Storage

현재 열린 창에서 사용될 수 있는 session data를 저장

Local Storage

다수의 창 간에 사용될 수 있는 특정 도메인의 데이터 저장

- 그 크기는 5M~10M 정도로 예상됨

 

4. Geolocation API 지원

- 기기에서 제공하는 위치 정보(GPS/WiFi/3G based location)를 브라우저에서 Script API를 통해 제공받을 수 있음

- 위치 정보 : 위도, 경도, 높이, 정확도, 진행방향, 진행속도

- 1회 요청 모드(getCurrentPosition)와 반복 요청 모드(watchPosition) 존재

- 캐쉬값(maximumAge) 설정을 하면 해당 기간 동안에는 저장된 값을 사용함

- 지도 정보의 정확도(enableHighAccuracy)를 설정할 수 있음 (네이버의 시,,동으로 표현되는 축척 개념)

 

5. Web Worker를 통한 백그라운드 프로세스 지원

- HTML4 지원 브라우저의 자바스크립트는 단일 프로세스로 순차적으로 동작함

- HTML5에서는 Web Worker라는 기술을 통해 다중 thread를 지원함

- 멀티프로세스 지원으로 인해 효율적인 task의 처리가 가능해 짐

: 웹 어플리케이션이 시각적으로 훨씬 빠르게 반응하도록 개발이 가능해짐



  1. Commented by joogunking at 2010.01.28 19:55

    좋은 자료 감사합니다. 현재 플래시로 하는 많은 기능이 HTML5에서는 기본 탑재되는 것 같군요.^^.

Microsoft Go Map

Microsoft 2009. 9. 10. 15:40 posted by 무병장수권력자




캠퍼스, 병원, 도서관, 마트....등등 어느정도 넓은 공간에서 특정 장소를 찾아야 한다면?
^^ 어렵습니다.

처음 고려대를 방문했는데, 공학관 501호를 찾아야 한다면?
ㅋㅎ 물어봐야 겠지요?

이런 상황에 딱 맞는 서비스 입니다. microsoft tag라는 바코드 인식 기술을 이용해서 현재 위치를 파악하고 현재 지역의 청사진(?) 또는 내부지도(?)를 이용해서 어떤 길로 가야 하는 지를 알려줍니다.

기존의 GPS 기술과는 다릅니다.
현재 위치를 바코드를 이용해서 인지합니다. (indoor 서비스이기 때문입니다. 중요한 차이점이지요.)

개인적으로는 마트에서 너무 유용할 듯 합니다.
마트 입구에서 저 프로그램 띄우고서 구매 품목 리스트를 쫙 입력하면 차례로 가야할 곳을 알려주는 거지요.
마트 입장에서는 손해일수도 있겠지만, 고객은 너무 편하지 않을까요?

좀만 다듬으면 상용화해도 좋아 보입니다. ^^;
근데....내부 지도 구축 작업....휴우...









'Microsoft' 카테고리의 다른 글

Microsoft Go Map  (0) 2009.09.10
Microsoft OneApp 을 소개합니다.  (2) 2009.08.25
윈도 7 열풍!  (0) 2009.07.30
웹조각 (Web Slice)  (0) 2009.06.16
마이크로소프트가 생각하는 미래의 홈  (0) 2009.05.20
WWT, WorldWide Telescope  (0) 2009.03.31


[javascript] JSON 사용시 유의 사항

개발 노트 2009. 9. 8. 14:30 posted by 무병장수권력자


작성자 : 김문규
최초 작성일 : 2009. 9. 8

JSON은 기본적인 데이터 표현 형식으로 간주하기 때문에 별도의 의심없이 사용하는 경우가 많습니다. 하지만, 경우에 따라서는 스크립트 공격의 대상이 될 수 있기 때문에 주의를 요합니다. JSON은 스트링(string) 입니다. 이를 객체로 만들기 위해서는 eval이라는 함수를 이용해서 변환이 이루어지게 마련입니다. 문제는 여기서 발생합니다.

eval은 스트링을 해석해서 실행하기 때문에 때로는 악성스크립트를 실행할 수 있는 창구 역할을 할 수도 있게 됩니다.
<script>
var a = 'var a=\"wow~!\";alert(a)';
eval(a);
</script>

재밌게도 a에 적혀 있는 문장이 그대로 실행된다는 사실을 확인하실 수 있습니다. 만일 a가 악의를 가진 공격성 스크립트였다면? 뭐 당하는 거지요.

그래서, IBM에서는 다음과 같은 안을 개발자 문서에서 제시하고 있습니다.

JSON 사용을 보안화 할 것

JSON 은 JavaScript의 하위 세트에 기반하기 때문에, 악성 코드를 포함하고 있는 스크립트 콘텐트이다. 하지만, JSON은 할당과 호출을 배제한 JavaScript의 안전한 하위 세트이다. 따라서, 많은 JavaScript 라이브러리들은 eval() 함수를 사용하여 JSON을 JavaScript 객체로 변환한다. 이를 활용하려면, 공격자들은 잘못 형성된 JSON 객체들을 그러한 라이브러리들로 보내서 eval() 함수가 악성 코드를 실행하도록 한다. JSON의 사용을 보안화 하는 여러 방법이 있다. 첫 번째 방법은 RFC 4627에 정의된 정규식을 사용하여 JSON 데이터에 활성 부분이 포함되지 않도록 하는 것이다. Listing 8은 정규식으로 JSON 스트링을 검사하는 방법이다.


Listing 8. 정규식으로 JSON 스트링 검사하기
var my_JSON_object = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(
text.replace(/"(\\.|[^"\\])*"/g, ' '))) &&
eval('(' + text + ')');

보다 안전한 대안은 JSON 파서를 사용하여 JSON 데이터를 파싱하는 것이다. JSON의 문법은 매우 단순하기 때문에, 성능의 차이 없이 이 같은 파서를 쉽게 구현할 수 있다.






Microsoft OneApp 을 소개합니다.

Microsoft 2009. 8. 25. 14:07 posted by 무병장수권력자




공개된 내용이 많지 않아서 사실과 추측이 혼재하고 있음을 미리 알려드립니다.

정확한 출시일은 모르겠지만 전 오늘 기준으로 OneApp의 존재를 알았습니다. 뭐 오래되지 않았다고 생각됩니다.

자료들을 좀 읽어보면 휴대폰 내에 네트워크를 통한 다운로드로 소프트웨어를 제공하는 서비스입니다. 뭐 최근 세간의 화제인 앱스토어 부류 중 하나 입니다.
(물론 보는 사람에 따라서는 저가폰을 위한 소프트웨어 패키지로 볼 수도 있습니다. 하지만, SDK등을 제공할 것으로 보아서 일반인에서 프로그램을 소싱 받게 되고 이를 OneApp을 이용해서 배포될 것으로 판단되기 때문에 앱스토어와 유사하다고 했습니다.)

하지만 스마트폰 향 기존의 앱스토어들과는 몇 개의 차이점이 눈에 보입니다. 간단하게 정리하면 다음과 같습니다.
1. featured phone을 그 타겟으로 하고 있다. featured phone이란 저사양의 일반폰을 말하는 듯 합니다. 지원 모델을 보시면 아시겠지만 뭐 그냥저냥한 모델들입니다. 그래서 프로그램 용량이 150K 미만의 가벼운 것들만 해당합니다.

Nokia 3555, 5320, 6300, 6500, 6600, E50, E51, E63, E65, E66, E71, N70, N72, N73, N78, N80, N81, N82, N85, N95, N96
Samsung U900 Soul
Sony Ericsson C510, C902, C905, G705,K610i, K800i, K805i, T650i, W200i, W580i, W595, W660i, W980

2. 일반 어플리케이션이 아니라 위젯과 유사한 웹어플리케이션이다.
위젯이라는 말은 쓰고 있지 않습니다. 하지만, 웹 표준을 기반으로 하고 xml, javascript를 이용하는 어플리케이션이라고 하는 것으로 보아 추측컨데 위젯과 유사한 것이 아닐까 합니다.

현재 South Africa's Blue Label Telecoms의 가입자에게는 실제 서비스를 하고 있다고 합니다. (와우..저긴 어딘지...^^) 그런데, 그 제공하는 어플들은 트렌드가 반영된 킬러앱들입니다. SNS 어플부터 간단한 PIMS, 그리고 흔히 볼 수 있는 날씨, 주식 어플등등 꼭 필요한 유틸들을 제공하고 있습니다.

아무래도 최근 스마트폰 시장이 점점 커지면서 구매후 제공되는 프로그램에 대한 니즈가 크고 이를 반영한 것으로 보입니다. 생각해보면 아직 소위 일반폰(스마트폰이 아닌..)의 시장이 더 큽니다. 그리고, 저가폰에 대한 판매 수요도 절대로 무시할 수는 없습니다. 그런데, 제조사에 딸려오는 어플들은 딱히 좋은 사용성을 제공하지는 못하는 것이 사실입니다. 최근 트렌드도 반영하지 못하고 있고요. 이런 상황에서 마이크로소프트의 이번 시도는 참신해 보입니다. 윈도우즈 모바일 시장은 당연히 장악하면서 그 외의 일반폰 시장의 오픈 sw 시장에서도 그 지위와 경쟁력을 가지기 위한 좋은 시도인 듯 합니다. 어떤 거래가 있었는지는 모르겠지만 제조사 입장에서도 손해 볼 것이 없어 보이고요.

하지만, 각 제조사들이 최근 소프트웨어 역량을 높이고 스스로 하려는 움직임이 활발해 지고 있는 상황에서 OneApp은 사업모델 측면에서는 얼마나 성공할 지는 미지수 입니다. 미주, 구주의 경우에는 판매량이 워낙 많아서 제조사가 심혈을 기울인 어플들이 점점 많이 탑재되고 있기 때문에 굳이 마이크로소프트와 이런 방향으로 협업의 여지가 크지 않다는 것이지요. 몇대 안팔리는 곳이라면 모르겠지만요.

^^ 이 서비스 그 결과가 기대됩니다. 소울에 깔린다는 데 어떻게 해볼 수 있는 방법이 있을까요? 혹시라도 그런 기회가 온다면 자세히 공개토록 하겠습니다. 일단은 다음 동영상으로 만족해 주세요~



'Microsoft' 카테고리의 다른 글

Microsoft Go Map  (0) 2009.09.10
Microsoft OneApp 을 소개합니다.  (2) 2009.08.25
윈도 7 열풍!  (0) 2009.07.30
웹조각 (Web Slice)  (0) 2009.06.16
마이크로소프트가 생각하는 미래의 홈  (0) 2009.05.20
WWT, WorldWide Telescope  (0) 2009.03.31


  1. Commented by 무병장수권력자 at 2009.08.25 16:01 신고

    주식카페에서 왜 트랙백이 걸렸을까요? ^^;

  2. Commented by joogunking at 2009.12.26 09:22

    스마트폰에 비할 수 없을 정도로 많은 피쳐폰들의 OS를 정비한다..
    마진은 적겠지만 영향력과 잠재성으로는 괜찮을 것 같은데 소개된 정보가 거의 없네요.
    좋은 정보 감사합니다.^^.

트위터, 페이스북, 미투데이, 싸이월드...

웹, 인터넷 2009. 8. 24. 18:33 posted by 무병장수권력자


오늘 본 몇 개의 기사들과 관련된 회사들입니다.

트위터, 페이스북, 미투데이, 싸이월드

무슨 관계일까요? ^^ 간단하게 그 내용을 알려드리면 아래와 같습니다.

트위터 - 페이스북 : 페이스북이 기업 고객 상대로 트위터로 글보내기 서비스를 제공할 예정입니다.
트위터 - 싸이월드 : 싸이월드는 일반 고객을 상대로 트위터로 글보내기 서비스를 제공할 예정입니다.
트위터 - 미투데이 : 트위터! 안타깝지만 한국에서는 미투데이라는 복병에 밀리는 형국입니다.

첫째로는 트위터가 대세라는 느낌은 지울 수가 없습니다. 모든 SNS가 트위터를 의식하고 있습니다. 작년에 페이스북이 SNS 플랫폼으로서 그 성공을 알린지 채 1년이 되지 않아서 대장이 바뀌는 듯한 상황이네요.

그건 그렇고, 위의 기사 중 마지막 기사가 너무나도 눈에 띄이는 군요. 관련 링크입니다.
http://www.zdnet.co.kr/ArticleView.asp?artice_id=20090804102833
내용은 미투데이가 한국에서 만큼은트위터를 압도하고 있다는 기사입니다. 아래 그림을 보시지요.



끼아오~! NHN 정말 대단하다는 말 밖에 안나옵니다.
물론 한국이라는 특수성이 있습니다.
한국 사람 영어 잘 못해서 영어로된 사이트 잘 적응 안하려 합니다. 특히 어린 학생들~
(웃기지만 트위터는 좀 나이 있는 사람들이 많이 쓰는 듯 합니다. 유독 한국에서는....뭐 자기 잘난 척하기 좋은 곳이다 보니..)

그리고, 지드래곤이 하는 미투데이! 얼마나 쌔끈한가요? 뭐...마게팅의 승리이네 뭐네 하면서 또 떠드는 사람들이 있을 것도 같습니다.
하지만, 제 생각에 국내 SNS의 신화를 싸이월드가 만들었다면 그 중흥기는 NHN이 만들었고 지금은 춘춘 전국 시대이지만 아직도 NHN는 그 세련된을 잃지 않고 있다고 생각되네요. 다른 곳들은 변하지를 않아요...그대로 처음 그대로(뭐 소주 선전도 아니고..) 계속 뽕 빼 먹고 있습니다.

NHN 유독 최근 멋진 행보를 많이 보입니다~ 흠..축하해요~
그리고, 기다리세요~! 당신의 추격자 들을~



Firefox 3.5 오픈 비디오 지원!

웹, 인터넷 2009. 8. 20. 21:09 posted by 무병장수권력자


드디어 HTML5의 세상이 열리기 시작합니다. 여러시각에서 HTML5를 바라볼 수 있겠지만, 제가 생각하기에 가장 재미있는 변화(?)는 멀티미디어 쪽이 아닐까 합니다. 그간 큰 손들이 잘해먹던 동영상 업계에도 전쟁이 선포되는 것과 같은 느낌입니다.

최근 인터넷 서비스는 open, free를 지향하고 있습니다. 누구도 소유하지 않는 진정한 개방형 시스템으로 진화하고 있는 것이지요.
동영상 시장은 이런 트렌드가 가장 늦게 반영되는 곳입니다. 코덱, 스트리밍등 진입장벽이 높은 기술이 방어진을 치고 있기 때문입니다.

MPEG4, flv 등은 훌륭하지만 유료이며 독점적인 방식입니다. 오픈, 개방과는 거리가 멀지요. 실제로 이런 독점적인 코덱은 막대한 비용이 들기 때문에 실제 그 서비스 업체들도 IT 거물급들이 대부분입니다. 동영상 스트리밍 서비스를 제공하는 벤처~ 들어나 보셨습니까?

하지만, 우리에 모질라 재단(Mozilla Foundation)은 정의에 사도입니다. (물론 언제까지 무료로 제공될 지는 저도 잘 모르겠습니다.) Theora라는 오픈 동영상 포맷을 발굴, 지원, 육성해서 자체적으로 video tag의 기본 포맷으로 설정했습니다.

하지만, 아직 표준으로 채택되지는 않은 상태입니다. 당연히 애플(퀵타임), 어도비(플래쉬비디오) 와 같이 걸출한 스타 코덱을 보유한 업체들이 사활을 걸고 반대하고 있기 때문입니다.

말이 길어졌습니다. 여튼 이제 시작이겠지요~ 공개 비디오 포맷! 생각만 해도 짜릿합니다. 열린 세상에 열린 형식을 사용하는 것은 당연하지 않을까요?

지지합니다! 당신을! 파이어폭스!