...2010. 1. 12. 14:42
.NET(닷넷)이 나온 이후 그 기술이 이끌려 마소잡지에도 글을 몇 개 올리고 2001년부터는 책을 쓰기 시작했다.
대학원 시절이고 BK21이라는 아주 편안한 울타리(?)에서 그리 바쁠 것 없이 집중할 수 있었다.
그 유명한(?) 무려 2000페이지가 넘는 영진출판사의 비주얼 C++ 바이블(이상엽 저)처럼 만들려는게 목표였다.


[품절]

[품절]

나름 그 당시 번역서가 아닌 책으로는 최초 C# 책이었고 모든 내용, 예제, 그림까지 최선을 다했으니 만족했던 작업이었다.
하지만 2000년 부터는 본격적인 인터넷시대였고 정보로 넘쳐나기 시작했다.
그 당시 초기의 구글은 정말 대단했다. 대학원 시절 논문은 모두 구글링으로 찾았으니,
IT 출판사들이 많이 사라질 수 밖에...

그 시절을 생각하면 마이크로소프트의 닷넷 기술은 지금의 안드로이드처럼 대단한 관심을 불러일으켰고 자바와 같이 놓고 항상 개발자들 사이에서 장단점을 논하는 대상이었다.
마치 아이폰과 안드로이드폰의 관계라고 할까.

하지만, 요즘과 같은 "오픈"시대에 MS의 기술은 아무리 좋아도 대세가 되지 못하고 있다.
안드로이드로 인해서 자바 언어는 여전히 개발자들에게 필수 아이템으로 장수하고 있지만, 닷넷의 C#은 여전히 윈도우즈 안에서 살고있다 (물론, MONO 등 오픈플랫폼으로 시도가 되었었지만 리눅스 등에서 닷넷을 쓰는 사람은 한 명도 본 적이 없다 -.-).

하지만 MS는 여전히 최고의 기술력을 가지고 있다.
운영체제 - Windows,
문서도구 - Office
웹/커뮤니케이션 - IE8, MSN, Windows Live
게임 디바이스, 플랫폼, SW - XBOX, DirectX
멀티미디어 - Zune, Media player/center
모바일 - Windows Mobile, CE, Phone
프로그래밍 개발환경 - Visual Studio
프로그래밍 언어 - 닷넷(C#, VB.NET ...)
그래픽디자인 개발환경 - Express
그래픽디자인 언어 - XAML, Silverlight
검색엔진 - Bing
클라우드 컴퓨팅 - Windows Azure
헥헥 정말 안하는게 없다.

이렇게 안하는 게 없는 회사인데 아래 3가지를 집중하지 않았으니 지금의 MS가 되었지 않았을까.
"오픈" + "웹" + "모바일"

이제 지인들에게 많이 나누어 주고 남은 책은 몇 권 되지 않는다.
사고 싶어도 살 수 없으니 잘 보관해야 겠다.
그리고, "오픈"이 대세이니 누가 볼지 모르겠지만 인터넷에 올릴 생각이다.

Posted by aquicker
web2010. 1. 3. 12:32
2009년은 HTML5가 대중적으로 많이 알려진 해였다.

1. 히스토리
히스토리를 간단히 보면,
- 1998년 HTML4가 나온 이후로 W3C에서는 전혀 HTML이 업데이트하지 않고 있었음 (xHTML를 밀고 있었던 시기)
- 2004년 WHATWG community (Google, Apple, Opera 등에서 주도함)에서 "HTML5"를 자체적으로 스펙 정의하기 시작함 (W3C는 계속 xHTML...)
- 2006년 이후 xHTML은 업데이트되지 않고 있음 (xHTML cancelled).
- 2008년 결국 W3C에서 HTML5를 규정하기 시작함 (WHATWG에서 규정한 것들을 가져옴).

여기까지 보면 결국 W3C는 너무 학술적이었고 웹은 급속히 발전했기 때문에 구글과 같은 인터넷 회사가 주도하게 된 것을 알 수 있다.

2. HTML5의 주요 특징
아래와 같이 5가지 특징으로 설명될 수 있다.
2.1. Vector Graphic (Canvas, SVG)
 - HTML, Javascript와 함께하면 그래픽을 마음대로 주무를 수 있음(Interactive).
 - SVG는 High-level: Import/Export, Easy UIs, Interactive, Mediudfm Animation, Tree of objects
 - Canvas는 Low-level: No mouse interaction, High animation, JS centric, More Bookkeeping, Pixels
 - Chrome, FF, Safari, Opera 이미 지원

2.2. Video (HTML5 standard)
 - <video> as easy as <img> (Flash와 같은 Plugin 불필요)
 - Chrome, FF, Safari, Opera 지원

2.3. Geo locations
 - Geo관련 스크립트 클래스가 있음.
 - ex)  navigator.geolocation.getCurrentPosition(function(position)
 - 위치기반 어플리케이션은 Augment Reality과 결합해서 2010년에는 더 많은 어플리케이션이 나올 것으로 보임.
 - Mashable의 2010년 LBS 예측을 봐도 느끼지만 모든 회사들이 서로 선점하려고 할 것이고 완전히 모바일 깊숙히 자리잡을 듯 하다.

2.4. Application Cache and DB
 - App Cache는 원하는 리소스를 오프라인으로 선언하면 됨.
  CACHE MANIFEST로 선언함. cache.manifest 파일에 내용을 적으면 됨.
 - Local DB는 Google IO 개념과 거의 동일 (역시 구글!!)
var db = window.openDatabase("NoteTest", "1.0", "Example DB", 200000);
db.transaction(
 - 이로 인해 WebApplication의 weak point였던 사용자 데이터 Load/Save가 이제 가능해짐.

2.5. Web workers
 - A more powerful web = a more power ful app.
 - Javascripts가 백그라운드로 동작한다? -> Web Workers
var worker = new Worker('worker.js');
worker.onmessage = function(event) {
console.log('Results: ' + event.data);
}
// workers.js
function findPrimes() {
// ...
}

아래 HTML5 소개 동영상을 보면 더 자세히 설명하고 있다.




3. HTML5의 지원군들
현재 WebOS+WebApplication은 iPhone, Android의 OS+NativeApps과 비교해서 아래와 같은 단점이 있어 장점이 잘 보이지 않는다.
- 느리고 무겁다
- UI가 플랫폼에 최적화되어 있지 않다 
- Interactive하지 않다
- Offline에서 동작하지 않는다.
하지만, HTML5가 대부분의 단점들을 극복하고 있다.

3.1. Web OS
하지만, HTML5+α라면 달라질 수 있다. 그 알파(α)는 바로 WebOS 혹은 WOA(Web Oriented Architecture)가 될 수 있다.

위의 그림은 현재 기존 "HTTP+HTML"이라는 Web의 형태에서 얼마나 많은 기술적, 문화적 발전이 있어왔는지를 잘 보여주고 있다. 
이러한 구조는 Google Chrome 이나 Palm WebOS가 하나의 예를 보여주고 있다고 할 수 있다.
그런데 어찌됐든 느린 단점은 극복될 수 있을지 잘 모르겠다. -_-;

3.2. Mobile Web
HTML5는 MobileWeb환경에서 더욱 빛을 발할 것으로 보인다.

이유는,
 - Mobile 환경은 플랫폼이 매우 다양하다. 물론, 이 다양성으로 시장이 커지고 있지만 MobileWeb은 어떤 플랫폼이든 관계없이 탑재된 브라우저가 지원된다면 MobileWeb 기반 서비스들을 사용할 수 있다.
 - Mobile 환경 디바이스들은 PC 등의 서브로 사용되든지 아니면 동시에 사용되지 완전히 단독으로 사용한다고는 아직까지 볼 수 없다. 따라서, 다양한 환경의 디바이스들을 사용하는 사용자들은 자신의 데이터 동기화나 동일 UI를 선호할 것이다. 즉, MobileWeb은 그런 점에서 Native에 비해 우세하다 (사실, 정말 우세한건지는 잘 모르겠다. 왜냐면 Native도 이미 그런점을 다 극복하고 있기 때문에...)

그 중에서 Fennec (Mobile Firefox)브라우저가 올해 공식 출시될텐데 대략 아래와 같다 (동영상 참고).
 - Nokia가 주도하는 Maemo 플랫폼에 탑재되고 N900 출시.
 - HTML5의 offline storage 지원
 - HTML5의 Javascript, including Javascript access to device capabilities like geolocation, camera, and calling

3.3. Cloud Computing / SaaS (Software as a Service)
클라우드 컴퓨팅하면 구글이다.
Search, Gmail, Docs, Reader, Map, Picasa 등 구글의 GMS(구글 모바일 서비스)들은 모두 구글의 클라우드 서비스 안에 놓여있다. 즉, 온라인 상태에서 동작하는 어플리케이션들이다.
하지만, HTML5의 "Application cache and DB" 기능으로 인해서 오프라인에서도 동작이 가능하게 된다.
구글의 "구글 기어스"가 좋은 예이다.
아마존도 웹서비스회사라는 것은 이미 다 알고 있을 것이다.
SaaS라는 용어는 아마존에 더 어울릴 듯 하다.
2000년 초반에 MS의 닷넷이 나올 때만 해도 이 분야는 MS가 뭔가 보여주는 줄 알았는데 대중적으로는 다 구글 세상이다.


4. 정리
HTML5는 이제 거의 모든 브라우저에서 지원되고 있으며 구글 등의 메이저 회사들이 전폭적으로 지원하고 있다. 따라서, 2010년에는 HTML5를 이용한 웹어플리케이션 및 웹서비스들이 더 많이 늘어날 것으로 보인다.
특히, 아이폰, 안드로이드, 팜프리와 같은 모바일 디바이스에서 HTML5를 풀지원하게되고, Fennec과 같은 브라우저가 합세한다면 웹어플리케이션이 많아질 것으로 보인다.
하지만 웹 어플리케이션이 기존 어플리케이션을 완전히 대체하는 것은 어렵다고 본다. 
결국, 각자 용도에 맞게 어플리케이션들이 만들어질 것이며 이전보다는 웹 어플리케이션의 비율이 조금씩 늘어날 것으로 본다.

Posted by aquicker
...2009. 12. 31. 11:59
2009년 한 해는 정말 많은 일들이 일어났다.

사회적으로,
- 신종플루
- 많은 자살 소식
- 안타까운 용산 참사
- 위대한 분들의 사망
- 미국 경제 붕괴로 인한 전 세계 경제 위축
등으로 암울했던 한 해이었던 것 같다.

개인적으로,
- 도전 실패 
- 뜻하지 않은 직무 변경
- 너무 소중한 팀원들을 잃었다는 것
으로 인해서 많은 좌절을 맛본 해이기도 하다.

기술적으로,
- SNS 어플리케이션들이 모바일로 쏟아져나옴.
- 모바일 웹, HTML5이 메인스트림으로 확고해짐.
- 마이크로블로그, 실시간웹이 블로그의 보조역할이 아닌 메인으로 등장.
- 구글 크롬 OS/브라우저, 안드로이드로 영역을 확대해나감.
- 애플 아이폰으로 국내 모바일인터넷/스마트폰이 시작됨.
- ARM 시스템 이해로 기본지식을 넒힘.
등의 엄청난 기술들이 나에게는 너무나 재미있는 지식탐닉의 소스를 제공해주었다.

나의 소중한 가족,
- 와이프는 아이 둘을 키우면서 자신의 재능을 발휘하고,
- 첫 아이는 6살이 되어 이제 좋아하는 여자친구까지 있고,
- 둘째 아이는 3살이 되어 우리 가족의 웃음을 유발하는 엔터테이너가 되어 있는
등 생각만 해도 참으로 자랑스럽고 행복하다.

이제 30을 넘어 40에 가까워지고 있는 나 자신을 보면 딱히 이루어 놓은 것이 없어 세상이 두렵기도 하다.
하지만 이 시를 읽고 싶다.

생활이 그대를 속일지라도 

결코 슬퍼하거나 노여워 하지 말라.

슬픔을 참고 견디면 

기쁨의 날은 기필코 오리니. 

현재는 언제나 슬픈 것 

마음은 미래에 사는 것 

모든 것은 순식간에 지나가고 

지난 것은 모두 그리워만 진다. 

절대 좌절하지 말고 소중한 나를 생각하자.
나 자신에게 올 한 해 정말 멋지고 자랑스럽게 지냈다고 말하고 싶다.
2009년! 이제 잘 가라!!






Posted by aquicker