2006년 3월 31일 금요일

Web Office가 나가야 할 방향

개인적으로 Office 개발에 몸을 담고 있어서 Web Office에 대해서 많은 관심을 가지고 있습니다.
패키지로서만 존재하던 Office가 Web을 만나서 어떻게 진화할 것인가?
'지민아빠'님과도 토론을 한적도 있고 직장 상사이신 ㅇ대리님과 논쟁을 벌인적도 있습니다. 1년반이라는 짧은 기간의 경험만으로 답을 내기는 어려운 문제였고, 어찌보면 답이라는게 없을 수도 있습니다. 그래서 나름대로 다른 사람들(Macmanus아저씨 같은 유명한 사람들 ^^;;)의 블로그 글들을 뒤져봤습니다.

Web Office가 지녀야할 특징들을 살펴보면 다음과 같은 조건이어야 할것입니다.
  1. Web 상에서 실행되어야 합니다. (설치과정이 없어야 합니다.)
  2. Web 상에서 작성된 문서들은 Web상에 저장할 수 있어야 합니다.
그러면, 이분들이 생각하는 Web Office를 사용함으로서 얻을 수 있는 장점은 어떠한 것들이 있을까요?
  1. Collaboration - between people, between machine, between service(Mash up)
    Web 문서(html 페이지)처럼 쉽게 배포하고 공유할 수 있습니다.

    예로 들자면, 10명의 사람들에게 문서를 보내고 이 문서에 대한 의견을 듣고 싶다고 가정해보구요. 현재의 시스템에서는 먼저 10명의 사람들에게 doc으로 작성한 문서를 메일로 배포를 하고 메일을 통해서 피드백을 얻는 형태가 될 수 있습니다.

    그러나, Web Office를 사용하게 되면 작성한 문서를 Web 상에 쉽게 배포를 하고 10명의 사람들에게 이 문서에 대해서 수정하거나 자신들의 의견을 추가하게할 수 있습니다. (Wiki 형태를 생각하시면 좋겠군요.)

  2. Reduces Costs - Web Office라함은 Web을 기반으로 하여서 다른 시스템에 쉽게 통합될 수 있는 형태를 지니게 됩니다. (전재 조건으로 Web에서 동작한다 뿐만아니라 HTML 데이터를 생성하고 이를 바탕으로 다른 Web 기반 시스템과 상호 작용할 수 있음을 가정합니다.)

    이를 통하여 파트너쉽 또는 아웃소싱이 쉽게 이루어질 수 있고, 이를 통해서 비용을 줄일 수 있습니다. 또한 백업, 업그레이드, 배포에서 발생할 수 있는 비용도 줄일 수 있습니다.

  3. Universal Access - Device independant, Location independant
    회사 이외의 장소에서 회사 이외의 Computer나 Mobile Device로 접근하고 Update하는 것이 가능해지게 됩니다.

  4. Versioning - version control
    해당 문서에 대해서 Versioning을 함으로서 문서의 갱신이나 수정을 추적하거나 복원등을 할 수 있습니다.

  5. 기타  - 바이러스 걱정을 할 필요가 없다.
그럼, 반대로 Web Office를 사용함으로 발생할 수 있는 문제점들은 어떠한 것이 있을까요?
  1. 보안이슈 -
    Web Office 기능을 제공하는 회사의 제품을 이용할 때 자신들의 문서가 외부 유출없이 잘 관리되리라고 확신할 수 있을까요? 단순히 Ajax기능만을 추가함으로서 이러한 이슈를 해결할 수는 없을 것입니다. zot.com이나 intranets.com이 traffic을 얻지 못하는 이유중의 하나로도 볼 수 있을 것입니다.

  2. 인터넷 의존성

  3. 제한된 기능들(limited features)

  4. 프로그래밍하기 어렵다.
1번과 2번의 경우는 Web Office 뿐만아니라 Web이라는 플랫폼이 안고있는 문제라고 봐야할 것 같습니다. 3번의 경우에는 현제로서는 Word, Excel, Powerpoint 만한 기능을 Web에서 가질 수는 없다고봐야할 것 같습니다.

그러나, Mashup 등을 통하여 기존의 오피스에서는 얻을 수 없는 기능들을 Web에서는 가질 수 있으므로 단순한 비교는 해서는 안된다고 생각합니다. 4번의 경우에도 Win 3.1이나 C++이 처음 나왔을 때를 생각한다면 크게 문제가 될 것은 없다고 생각해야 합니다.

그러나, Web Office가 좋다, 나쁘다 등을 논의하기 전에 Web이라는 공간에 대한 전제조건이 항상 포함되어야 함을 잊지 말아야 합니다. 사용자가 혼자서 문서를 작성하는 것이 아니라는 점을요.

참고 자료들



DOM 객체에 EventListener 등록

 Javascript에서 Load, Interpret, Run 등의 Event를 받아서 처리하기 위해서는 EventListener에 등록을 시켜줘야 합니다. 이 때 사용되는 메소드가 attatchEvent()addEventListener()입니다. W3C에서는 addEventListener()를 사용하며 IE에서는 attatchEvent()를 사용합니다.

이 때 주의할 점은 IE에서는 event 이름 앞에 "on"을 붙여주어야 하는 점입니다. 그리고, w3c DOM인 경우 마지막에 받게 되는 파라미터는 이벤트의 발생 순서를 의미합니다.

※ addEvent를 사용하여 handler를 추가하게 되면 호출된 handler에서 this를 호출하게 되면 handler가 속해있는 object가 아니라, element가 호출됩니다. 이를 해결하기 위해서 element의 property에 handler가 속해있는 object의 인스턴스를 넣어주는 것도 하나의 방법입니다.


B element를 포함하고 있는 A element를 가진 웹페이지를 만든다고 가정을 하구요. 두 element 모두 onClick event를 처리하는 function을 가지고 있다고 가정을 합니다. 이 때, 어떤 Element가 이벤트를 먼저 받을까요?

정답은 브라우저와 addEventListener의 마지막 파라미터에 따라 달라집니다. 과거 익스플로러와 넷스케이프간의 브라우저 전쟁이 있었던 무렵에는 두 브라우저의 이벤트 순서는 완전히 달랐습니다.

B element를 클릭했을 경우 익스플로러에서는 B element에서 먼저 이벤트를 받은 다음에 A element으로 이벤트가 발생하게 됩니다. (이를 'Bubbling'이라고 합니다.)
반면에, Netscape에서는 A element가 이벤트를 먼저 받고 그 다음으로 B element에서 이벤트가 발생하게 됩니다. (이를 'Capturing'이라고 합니다.) Netscape 4에서는 Capturing만 지원합니다.
그리고, 이를 해결하기 위해서 w3c에서의 해결책은 addEventListener의 마지막 파라미터의 값에 따라 caturing(true) 또는 bubbling(false)을 처리할 수 있도록하는 해결책을 내놓게 됩니다.
브라우저마다 이벤트 처리방식을 다르게 하지 않을거라면 세번째 파라미터를 true로 사용하는 일은 없겠죠 ^^;;

- event를 설정하는 방법에는 위의 addEventListener()방식을 사용하는 방법 외에도 여러가지가 있습니다.
- 가장 잘 알려진 방식인 element.eventType = callback;으로 설정해주는 방법도 있고 (예: div.onClick = callbackMethod;)
- 또 다른 방법으로 element[elementType] = callback;같이 배열을 이용하는 방법도 있습니다. (예: div[onClick] = callbackMethod;)
- 위의 방법은 모두 똑같습니다.

참고사이트
W3C의 DOC관련 사이트 :
     http://www.w3.org/TR/DOM-Level-2-Events/events.html
Event order :
     http://www.quirksmode.org/js/events_order.html

Boolean 값

 Javascript에서 Boolean 값은 true 또는 false를 가질 수 있습니다. 이 외에도 가질 수 있는 값이 한가지 더 있는데요. undefined 입니다. 다음과 같이 testBoolean()이라는 function을 만들고 호출을 해보면 다음의 결과를 얻을 수 있습니다.

       function testBoolean(b){
          return "This is " + b;
      }

testBoolean() 출력 결과는 다음과 같습니다.

testBoolean(true) =>  This is true
testBoolean(false) => This is false
testBoolean() => This is undefined

Boolean값을 if에 넣고 테스트할 때 true, false, undefined가 들어올 수 있다는 점에 주의해야 되겠더군요.

2006년 3월 30일 목요일

Javascript관련 리소스들

1. Mozilla developer center

Mozilla developer center(MDC)는 제가 JavaScript관련 작업을 할 때, 가장 많이 이용하는 사이트중 하나입니다. (또 다른 하나는 Prototype API 사이트입니다.) MDC는 MediaWiki로 나누어져 있기 때문에 카테고리 정리가 잘 되어 있는 사이트 중의 하나입니다.

MDC(Mozilla develpoer center)의 구성
  • Topics
    • Extensions
    • Plugins
    • ...
  • Technologies
    • AJAX
    • CSS
    • DOM
      • Gecko DOM Reference: DOM에 대한 property와 method 등에 대해서 잘 정리되어 있습니다.
      • Tools: Mozilla에서 Web 개발할 때 필요한 프로그램 목록이 여기에 있습니다.
        • Firebug: Firebug는 디버깅, CSS 변경 등 여러가지를 확인, 실험해 볼 수 있는 Firefox 플러그인 입니다. JavaScript 개발의 필수품(Web Developer도 저의 완소 프로그램입니다. ^^)이라고 할 수 있습니다.
        • DOM Inspector
        • Mouse-over DOM Inspector
        • Aadvark Firefox extension
    • HTML
    • JavaScript
      • Core JavaScript 1.5 Reference: JavaScript의 모든 Reference들을 다루고 있습니다. (없는 부분도 있기는 합니다만, 없는 경우 w3c 표준안으로 링크가 되어 있습니다. -아닌 부분도 있기는 하지만요.)
      • Core JavaScript 1.5 Guide : JavaScript의 전반적인 소개 및 Type, Object, Operator, Function에 대해서 다양하게 다루고 있습니다.
    • ...
Reference의 경우 Global Object나 Function을 보는데 좋고 Guide는 JS 1.5 문법에 관련된 내용 위주로 보시면 좋을 것 같습니다. DOM을 보시려면 Gecko DOM Reference를 보시구요.

한글 모질라 사이트에도 훌륭한 자료가 많이 있습니다.
  • 웹 개발자 자료 : 한글 모질라 사이트에서 제공하는 웹 개발자 자료입니다. w3c와 Netscape, KIPA 등의 외부 자료 링크목록이 잘 정리되어 있습니다.
  • 한글 모질라 포럼: 한글 모질라 포럼 게시판으로 훌륭한 Q&A가 많습니다. 질문을 올리셔도 되구요. (저의 경우에는 답변을 받지 못했습니다... 답이 없는 문제였거든요. ^^)

2. MSDN

사용자가 가장 많은 IE를 지원하려면 필수적으로 들러야하는 MSDN입니다. MSDN을 사용하시기 전에 주의하실 점은 IE를 사용할 것입니다. Firefox를 사용하실 경우, Properties/Methods에 대한 내용을 볼 수가 없습니다. 그래서 저같은 경우는 IE 탭을 사용하고 있습니다.

MSDN에서 웹 개발과 관련된 항목들은 Web Developer 항목에 정리되어 있습니다.

Web Developer - Web Developer 관련 항목의 시작 페이지
저의 경우에는 Firefox 기준으로 개발을 하고, IE는 나중에 Firefox와 다른 부분만 추가 개발합니다.(IE에는 Firebug같은 프로그램이 없거든요.) 따라서, MSDN에 이용할 때는 HTML and DHTML Reference만 사용합니다.

3. OPERA

오페라의 경우도 훌륭한 브라우저이기는 합니다만, 사용자가 별로 없기 때문에, (이논리대로라면 IE에서 개발해야겠죠 ^^;;) 테스트할 때만 사용합니다.

opera developer tools - DOM console, css editor, dom snapshot

4. Webkit

Safari의 경우에는 Apple Developer Connection을 접속하면 됩니다. (대부분의 해외사이트에서는 개발과 관련된 항목을 http://developer.사이트명.com에 둡니다. 또는 여기로 접속하면 자신들이 지정한 위치로 포워딩하기도 합니다. - adobe)


Safari에서 디버깅이 필요한 경우에 사용할 수 있는 방법이 있습니다. WebkitDrosera를 사용하는 것입니다. (Webkit의 경우 Safari의 다음버전 엔진으로, 다르다고 볼 수 있지만, 나름대로 쓸만합니다.)


5. Regular Expression

RegExp: 정규표현 식 중 Javascript에 관련된 내용을 다루고 있습니다.
※ 이 사이트에 들어가보시면 JavaScript뿐만 아니라 다양한 정규표현식을 다루고 있습니다. (요즘들어 느낀거지만, 다양하지는 않은 것 같습니다. -_-a )

6. Javascript, HTML 및 AJAX 참고하면 좋은 사이트와 기사들

jinoxst님 블로그 : AJAX, JSDoc, JsUnit등의 다양한 내용들이 한글로 제공되는 블로그입니다. 정리 및 설명이 진짜 잘되어 있는 블로그입니다.
cadvance.org : 건달콩(RogueBean) 님이 추천해준 사이트 -  전반적인 HTML, XHTML, Javascript가 잘  제공됩니다만,  Javascript의 경우  사용자 정의 객체 등에 관한 자료가 없습니다.
koxo.com : 자칭 미남형 아저씨가 추천해준 사이트, 뭔가는 많은데 좀 찾기 힘들더군요.
JSDoc : Javascript를 Javadoc형태의 문서로 생성해주는 프로젝트입니다. Perl환경을 설치하고 실행하면 됩니다.
JSUnit : Javascript testunit 사이트입니다.
XMLHTTPRequest : w3c의 working draft
crokford.com: crokford.com에서 제공하는 javascript 관련 링크들
W3C - DOM Level2 Style specification

7. Javascript Tutorial들

Simon Willison's Weblog : ETech에서 강좌하기 위해서 사용된 자료라고 합니다. 명확하게 잘설명되어있어서 속성으로 보기를 원하시는 분들은 좋을 것 같네요.
w3schools.com : 지민아빠님이 추천해주셨던 사이트. HTML, XHTML 및 Javascript등을 쉽게 해볼 수 있게 해둔 사이트입니다.
From DHTML to DOM scripting : DHTML과 DOM에 대한 설명이 잘 되어 있다.
O'Relly 책들 : 이건 자바 책이구나 ^^;;
Coding forum: DOM scripting에 관한 FAQ
Tag Overview: w3schools.com의 태그 overview
Ajax Tutorial : 출처 ajaxian
Max Kiesler님의 Ajax tutorial:
XML과 JSON 변환하기 : XML 을 JSON으로 변환시키는 정규표현식 같은 규칙에 관한글(?)
GData : 모음의 모음?
Carson Workshop의 How to Build a Web App:
BootCamp Tutorial
RSS and AJAX: A Simple New Reader
What I didn't know about XHR
Efficient JavaScript - Opera Developer Community

8. execCommand 가이드
Midas Specification : 모질라에서 정의한 execCommand 명령에대한 마이다스 스펙
Command Identifier : MS ie의 execCommand 스펙

9. Javascript Tool
IE관련 (Ajaxian의 기사)
Web Development Helper : debug/trace, page's state, DOM inspector등을 제공
Internet Explorer Developer Toolbar : MS 제공 툴바

Firefox관련
FIREBUG : Firefox 디버깅 툴
Web Developer Extension: DOM 구조 등, 디버깅을 위해서 사용할 수 있는 툴

기타
JSON 변환 툴 : xml을 json으로 변환해줍니다.
Ajax Toolkit Framework (ATF)

10. Javascript Framework
The Latest Trend: Javascript Frameworks on the Server Side
Prototype: API한글 번역, 소개글, 퀵가이드 , 프로토타입을 기반으로 한 라이브러리들

11. CSS
Position is Everything
Details on CSS changes for IE7
leezche님의 글에 올라온 CSS 한글 번역문 : Trio 홈페이지 CSS2
leezche님의 글에 올라온 CSS Design Korea
nmind님의 CSS핵 정리
CENTRICLE.COM의 "Will the browser apply the rule(s)?"
quirksmode - 여러가지 hack이나 디버깅, html/css/js에 관해서 풍부한 자료를 가지고 있는 사이트 아쉽게도 rss 제공 안된다. -_-;
maratz.com의 Essentials of CSS Hacking For Internet Explorer - IE hack과 관련하여 총정리(?)

12. Tutorial for JavaScript Info
MicroSummary : <link rel="microsummary" href="microsummary.txt" /> 를 이용하여서 작은 RSS처럼 사이트의 요약본과 갱신을 알려주는 역할을 합니다. Firefox에서 제공되는 기능입니다.
MD5 Library : 다양한 언어로 구현된 MD5 라이브러리입니다. (JavaScript도 제공)

테터에 구글맵을 붙여보자~



테터에 구글맵을 붙이려고 테터 소스를 많이 뒤져봤습니다.[--;;; 많이는 아니구요]
찾아보던 중 구글맵을 붙이기 위해서 몇가지 문제점(? 제약사항이라고 할수도..)을 발견했습니다.
1. 테터에서 본문중에서 script 태그 지원을 하지 않습니다.
2. 구글맵을 사용하기 위해서는 발급받은 Google Map Key를 HTML Header에 추가해야 합니다.
3. 테테에서 헤더(<html><head></head></html>을 생성하는) 를 생성하는 코드가 따로 존재하지 않습니다.
헤더는 각각의 에디터나 파일들이 모두 가지고 있으며(EAF 프레임웍에서 빌드시 자동으로 완성된 헤더코드를 모든 html 또는 php 파일에 넣어주는 것으로 생각됩니다.)
테터가 문제가 있다는 것은 절대 아닙니다.!!
언제나, 잔머리를 잘굴리는 '옷장수'로서는 다음과 같은 방법으로 붙여보았습니다.
  1. 구글 맵 키를 먼저 발급 받습니다.
    [Google Maps API에서 발급 받습니다.]
  2. 헤더가 들어있는 모든 파일들을 검색해서 다음의 코드를 삽입합니다.
    <script  src="발급받은 Google Map 키를 넣습니다." type="text/javascript"></script>

    <script type="text/javascript">
    //<![CDATA[

       function onLoad() {
         if (GBrowserIsCompatible()) {
           var map = new GMap(document.getElementById("map"));
           map.addControl(new GSmallMapControl());
           map.addControl(new GMapTypeControl());
           map.centerAndZoom(new GPoint(127.544,37.329), 15);
         }
       }

    //]]>
    ※ 귀찮으시면 2번은 생략해도 됩니다. 에디터 창에서 구글맵이 안보일 뿐입니다.
  3. 테터에서는 블로그의 내용이 생성되어 다른 사람에게 보일 때 최종적으로 Skin 파일의 HTML 구조 안으로 삽입되게 됩니다. 따라서~ 테터의 스킨관리 페이지로 들어가서 스킨 편집을 눌러서 2번에 입력했던 코드를 다시 삽입합니다.

  4. 코드의 의미는 다음과 같습니다.
       //이코드가 존재하는 HTML 페이지가 로딩될 때 다음의 코드를 실행합니다.
       function onLoad() {
         //Google Map이 지원하는 브라우져인지 체크를 합니다.
         if (GBrowserIsCompatible()) {
           //구글맵의 모든 기능을 지니는 GMap 클래스('map' id를 지닌)를 생성합니다.
           var map = new GMap(document.getElementById("map"));
           //구글맵을 상하좌우로 이동시킬 수 있는 컨트롤을 추가합니다.
           map.addControl(new GSmallMapControl());
           //구글맵을 MAP, SATELITE, HYBRID 형태로 설정하는 컨트롤을 추가합니다.
           map.addControl(new GMapTypeControl());
           //맵이 다음의 GPoint(위도,경도)를 중앙에 위치시키도록 설정합니다. 15는 depth
           map.centerAndZoom(new GPoint(127.544,37.329), 15);
         }
       }
  5. <div></div>태그를 사용하여 맵을 추가합니다. 이 때 HTML코드를 삽입해야하므로 HTML 모드에서 추가해야하며, 앞의 자바스크립트 코드에서 정의하였던 'map' 아이디를 추가하는 것도 잊으시면 안됩니다.
    <div id="map" style="width: 500px; height: 300px"></div>

이상이 옷장수의 편법으로 테터에 구글맵 붙이기 작업이었습니다. 한일은 별로 없으면서 코드 뒤젹거리는 일은 매우 많군요. 테터에서 헤더를 따로 생성하는 코드가 있었으면 하는 바람도 있었구요.

가장 안좋은 점은 구글맵 자체에서 한국 지도는 매우 허접으로만 제공하기 때문에 붙일만한 가치가 별로 없었다는 점입니다. --;;;; 크~


구글 맵 API documentation이구요. 여기 예제를 사용했습니다.
http://maps.google.com/apis/maps/documentation/#Introduction

쓸만한 Javascript 이클립스 플러그인 [JSEclipse]

쓸만한 Javascript 이클립스 플러그인이 없어서 이리저리 기웃거리던 중 Ajaxian에서 InterAKT(Adobe가 인수하였습니다.)의 JSEclipse를 소개하는 기사를 봤습니다. 원래는 상용이었다가 Free 버전을 내놓았는데 상당히 마음에 드는 기능이 많더군요. 가장 눈에 띄는 놈이 Code completion입니다. 자바의 Code Completion처럼 잘 작동합니다.



Code template, Editing Assistance 등의 기능도 제공합니다.[이기능은 따로 사용해보지 않았습니다.] 그리고, 마음에 드는 것 중 하나는 Outline에서 JavaScript 파일의 구성을 잘 보여준다는 점도 마음에 들더군요.


이 외에도 'F1'을 누르는 경우 Netscape Communications Corp에서 제공하는 Core Javascript Reference 1.5도 포함되어 있는 점도 마음에 듭니다.

Javascript 이클립스 플러그인 중 가장 마음에 드는군요. 더 나은 기능 있는 플러그인이 있으면 소개좀 시켜주세요 ^^

출처 :
Ajaxian - JSEclipse 1.5 Released
Interakt - JSEclipse

P.S:
Mac에서 설치하는 경우 UTF-8로 작성한 js파일의 경우 워크스페이스의 인코딩을 따르지 않네요. 제가 잘못한것인지 몰라도 파일 각각을 UTF-8로 설정해야 했었습니다.

P.S.2:

Windows> Preferences > Content Type에 들어가면 Text 아래의 항목에 JavaScript 항목이 있습니다. 이를 클릭하고 File associations의 아래에 있는 Default Encoding 항목을 UTF-8로 변경합니다. 이 부분이 변경되지 않으면 (P.S에 나와있는 방법만 사용하면) 새로 생성되는 파일은 이클립스 디폴트 인코딩 값을 사용하게 됩니다.


2006년 3월 29일 수요일

그녀는 애교만점~ [06.3.29]

그녀의 매력에 더 빠지고 싶으시다구요?..

2006년 3월 28일 화요일

PDF 출력이 안될 때

살다보면 PDF 출력할 때 프린터에서 다음과 같은 메시지만 뿌리고 출력이 안되는 경우가 있습니다.
ERROR: ioerror
OFFENDING COMMAND: StartData

STACK:
57
(Hex)
- savelevel -
이런 때에는 화를 낼지말고~
PDF Reader기에서 "File>Print>Advanced"를 클릭합니다. 모르시겠다면 아래의 그림을 참조해서 클릭하시구요~



'Advanced Print Setup' 다이얼로그에서 'Print as image'를 체크하시고 출력하시면 이러한 에러를 볼필요없이 PDF 문서를 무사히 출력하실 수 있습니다.

주의 : 이미지 변환에 따른 스플링 파일 및 메모리 사용, 출력 시간이 커지거나 길어질 수 있습니다.

2006년 3월 24일 금요일

방바닥에 물이 동동동.. ㅠㅠ

집에 공간이 없어서 부득이하게 방에 세탁기를 두게 되었습니다.
걱정이 없었던 것은 아니었지만... 세번의 시험 결과 잘 돌길래
어제는 마음 놓고 세탁기를 돌려놓고 잤답니다.

그 결과 !!

세탁기 배출구 호스가 어느세 방으로 들어와서..
잠에서 깨어보니 방에 2~3cm 정도의 물이 둥둥둥 ...

봄날에 때아닌 수재를 입었답니다. 으아아아아ㄱ~ ㅡㅡ;;;;

이미지 출처 : http://www.KKOMABI.co.kr

2006년 3월 23일 목요일

Google Page Creator

Google Page Creator에서 드디어 계정이 추가되었다는 소리에  바로 가서 페이지를 만들어 봤습니다. Writely를 인수하기 전까지는 Page Creator가 Web Office의 한축을 맡을 것이라고 기대를 했었습니다만.. 이미 인수가 된 시점에서 Page Creator가 가지는 장점은 그다지 없을 것 같다는 생각도 듭니다.

굳이 Office와 비교하자면 PowerPoint의 기능에 가깝지 않을까 생각이 됩니다. [비교하기에는 무리가 많지만요. Animation이나 텍스트 상자등은 안들어가니까요.]

※ 나름대로 Captivate를 사용해서 만들어봤습니다. 이상한 점이 있더라도.. 그냥 보삼 ^^


2006년 3월 21일 화요일

테터 업데이트 하였습니다.

드디어 1.02로 업데이트 하고 데이터도 옮겼습니다.
막판에 옮기는 중에 들어온 리플은 수동(?)으로 옮겼구요 ^^;;;

RSS주소가 변경되었습니다.
[http://okjungsoo.woweb.net/tt_100/rss]

그럼.. 자주 놀러와 주세요 ^^

2006년 3월 19일 일요일

Company Type

최근에 구글에 인수된 3D 업체인 SketchUp을 살펴보다 가입란에 Comapny type이라는 입력란이 있더군요. 아는 내용도 있고 모르는 내용도 있어서 한번 찾아봤습니다.



1. Corporation : 주식회사

(찾아보니까. S-Corporation, C-Corporation 등 여러가지가 있네요. ㅡㅡ;;
자세하게 알고싶으시면 '미국비자'님의 블로그에서 확인해보시면 좋을 듯)
http://blog.naver.com/jains1?Redirect=Log&logNo=150002429515

2. Government : 정부

3. Individual : 개인회사(?) - [Individual company가 아닐까 싶네요.]

4. Instructor : '교사', '전임강사'

5. Professional Association : 전문가 협회(?)

6. School Lab or Classroom : 대학원생을 의미하는 걸까요??

7. Student : 학생~

찾다보니 정확한 것은 몇개 안되는군요. 정확한 답을 아시는 분 리플좀 부탁해요~ ^^

도메인을 샀습니다.

www.okjungsoo.com으로

한동안 옷장수닷컴(osjangsoo.com)으로 해야할지 옥정수닷컴(okjungsoo.com)으로 해야할지 고민하다. 옥정수닷컴으로 질러버렸습니다. 도메인 변경을 했는데 언제부터 되려는지는 모르겠네요 ^^

2006년 3월 12일 일요일

테터툴즈 오픈하우스 후기

테터툴즈 GPL 오픈 행사를 갔다왔습니다. 테터툴즈의 사용자 분들이 반정도 업계관련자 분들이 반정도 오시지 않았나 생각됩니다.

먼저 행사는 크게 두가지 파트로 진행되었습니다.

1. 테터툴즈의 나아갈 방향
2. 테터툴즈의 기술적인 구성의 방향

가장 눈에 띄는 점은 테터툴즈의 GPL 공개에 따라서 어떻게 발전해 나갈지를 예기하는 자리였습니다. 기존의 테터가 단일 사용자와 테터툴즈(또는 이올린)와의 단일 관계였다면 1.02부터는 개인 사용자와 커뮤니티(길드)와 이올린으로 엮어지는 발전된 네트워크를 형성하게 됩니다.

1. 기존의 테터툴즈 네트워크



2. 개인과 커뮤니티가 공존하는 테터툴즈 네트워크



이러한 네트워크가 가능하게 되는 이유는 테터툴즈의 변신에서부터 비롯됩니다. 기존의 테터가 단일 사용자가 사용하는 툴이었다면 1.0에 와서는 단일 사용자 뿐만 아니라 여러 사용자의 로그인을 통한 다중사용자들이 사용하는 툴 또는 단일 사용자가 여러가지 블로그를 운영할 수 있게 되었습니다.

3. 하나의 블로그에 여러 사용자가



4. 한 계정에 다양한 블로그를



이러한 테터툴즈의 변화에서 테터&컴퍼니는 어떻게 바뀔까요? 2번에서 보았던 이올린에 답이 있습니다. 먼저 이올린을 살펴보면 개인, 그룹을 연결시켜주는 역할[정확하게는 연결의 역할을 넘어서 다양한 기능을 제공할 것으로 생각됩니다.]을 합니다. 이러한 연결들은 API로 제공되게 됩니다.

이 때 이올린을 통하여 엮여지는 과정에서 발생하는 트랜잭션 등을 통하여 테터&컴퍼니는 수익을 창출하게 됩니다. 기본적인 서비스는 무료로 제공되나 그이상의 서비스는 유료가 되지 않을까 생각이 됩니다. [테터&컴퍼니의 노사장님께서도 정확한 범위는 아직 정해지지 않았다고 하시더군요.]

5. eolin의 역할



5에서 위의 그림 같은경우 결제시스템의 제공등을 통하여 수익창출을 할 수도 있지 않겠느냐는 말씀도 있으셨습니다.

그러나, 가장 강조되었던 부분은 블로거들의 가치를 존중하면서 같이 공존하는 생태계의 형성이 아니었나 싶습니다. 이를 위해 많이 고민하시는 것 같았구요. 그 외에도 여러가지 예기가 있었는데 하루 지나고 나서 적으려니 영 생각이 안나네요 ^^;;

6. 테터툴즈 프레임워크



그리고, 마지막으로 테터툴즈 프레임워크. EAF는 Ajax와 PHP로 이루어진 Eolin Application Framework입니다. 자세한 사항은 테터툴즈 문서가 나온다음에 확인하시는게 좋으실듯.. 상태가 안좋은 사람이 적는 것보다 더 낳겠죠? ^^

어쨌든 개인적으로는 테터툴즈가 블로거들에게도 인정받는 툴이되면서도 동시에 테터&컴퍼니가 나름대로의 수익모델을 창출해 주었으면 하는 생각입니다.

※ 제가 잘못 듣거나 잘못 이해한 부분이 있을지도 모릅니다. 잘못된 점 있으면 예기해주세요.

Google의 Web Office Suite

지난 한주 동안의 여러 이슈 중에서 가장 큰 이슈가 되었던 것 중 하나가 Google의 Writely 인수였다고 생각합니다. [개인적으로 Office를 만들고 있는 회사에 다니는 관계로 중요한 뉴스기도 하였구요.]



Google의 Base, G-mail, Calendar, Writely 등을 인수함으로서 Web Office Suite를 완성하여 MS와의 대결 구도를 형성할 것으로 보고 있습니다.


구글의 Web Office Suite군을 이루게 될 제품들과 구글이 인수한 최근의 기업들의 특징을 보면 크게 두가지의 특징을 갖고 있다고 생각합니다. Web이라는 플랫폼(?공간)상에서 HTML이라는 포멧 위에서 동작한다는 점. 그리고, HTML과 Ajax로 이루어진 제품(회사)들을 사들이고 있다는 점입니다.

Web상에서의 Application들은 HTML이라는 데이타, 이미지, 동영상파일 등의 Raw data들을 CSS, Javascript 등을 사용하여 정형화된 문서를 생성합니다.



Writely등을 인수함으로서 단순한 서비스 군을 추가하는 것이 아니라 Web상에서도 MS 포멧과 같은 정형화된 양식을 제공할 수 있음을 보여주고 HTML이라는 포멧을 MS가 지니고 있는 포멧으로 대체하려는 것은 아닐까 요?
[분명, MS에서도 HTML 포멧을 제공하기는 합니다만, 아직까지는 MS의 바이너리 포멧이 더 우위에 있지 않을까요?]

구글에서는 구글검색, 구글맵, 구글토크 등의 여러 서비스들을 통해서 API를 제공하고 있습니다. 아직까지는 단순하게 API 형태로 서비스만을 제공하고 있습니다만.



이러한 API들이 라이브러리로 커지고, 라이브러리들이 Web상에서 돌아가는 플랫폼을 형성하지 않을까요? 과거 MS가 오피스가 또다른 플랫폼으로서 동작을 하였던 것처럼 구글도 Web보다는 조금 더 고차원의 플랫폼의 형태로 진화하지 않을까 하는 생각을 해봅니다.

※ 주말에 웹서핑하다 생각을 조금 정리해봤습니다.

2006년 3월 9일 목요일

Google Lighthouse

MacManus 아저씨의 새글이 올라왔습니다. What is Google's Lighthouse?
구글의 새로운 서비스인 GDrive, GDS(Google Desktop Search) and Lighthouse에 대한 예기입니다. 구글은 과연 어디까지 갈런지 ^^

From the powerpoint notes, we know that it's an access list of some sort. That seems to suggest "Lighthouse is a security function that controls access to documents and folders" - like an access control list. Or if you want a more poetic guess, Lighthouse could be a next-generation file search solution that 'shines a light' inside documents on your desktop. Thoughts?

SK가 이글루스를 인수해서 얻을수 있는 효과?

이글루스의 SK인수가 많은 블로거들에게 이슈가 되었나 봅니다. 이글루스 검색을해보니 여러 태그가 나오는군요.^^

블루문 님의 '네이트닷컴이 이글루스를 영업양수한 이유'의 글을보고 나름대로 SK의 이글루스의 인수에 대해서 정리해보고 싶어서 글을 써봤습니다.

SK가 이글루스의 인수를 통해서 얻을수 있는 효과는 무엇이 있을까요? 야휴가 플리커를 인수함으로써 얻었던 효과는 Web 2.0에 맞는 서비스의 확보와 인재의 영입이었을 겁니다. 마찬가지로 SK에서도 이글루스를 인수함으로써 이글루스의 인재들과 싸이월드와는 다른 Web 2.0의 블로그 서비스를 확보하게 되었을 것이라고 생각합니다.

그리고, 고급 사용자들을 통한 고급 콘텐트 확보도 물론 SK가 얻을 수 있는 효과일 것입니다. (여기까지는 블루문님의 글하고 동일합니다. ^^;;)




이외에도 얻을 수 있는 효과로는 이글루스의 각각의 블로그에서 연결되어 있는 개방된 네트워크를 싸이월드에 연결시킴으로서 노드의 가치를 높일 수 있습니다.

얼리어댑터에 해당하는 이글루스 사용자들의 모습을 통해 싸이월드 사용자들의 성장(고급 컨텐트의 생산, 개인 컨텐트의 공개)을 촉진할 수도 있겠구요.

반대로 얻을 수 있는 역효과는 이글루스 사용자와 싸이월드 사용자들이 비슷해짐으로서 이글루스 사용자들을 얼리어댑터의 지위에서 내릴 수 있다는 점.

싸이월드처럼 네트워크에 제재 수단을 갖추고 있지 않은 상황에서(예를 들자면 싸이월드에서 일촌에게만 사진 공개 하는 등의) 싸이월드의 네트워크와 연결됨으로써 스패머, 악플러 등의 공격을 받을 수 있다는 점 등이 있을 것 같습니다.

또 어떤 효과가 있을까요? ^^
리플달아 주세요~

2006년 3월 8일 수요일

MS 윈도우 라이브 서치

검색도시에 'MS, 신형 검색엔진 공개 - 윈도우 라이브 서치' 글을 보자마자 '윈도우 라이브 서치'에서 '옷장수'를 검색해보았습니다.

'옷장수' 검색 결과


... 중략 ...

국회의원 강기정

국민이 OK할 때까지! ... 전여옥과 옷장수로부터 DJ를 자유롭게 하라” 전여옥씨의 ‘DJ=치매 노인 ...
www.okang.pe.kr

Call-151 (formerly BlueCoin)

옷장수 [06/02/28 10:11] x '은하수를 여행하는 히치하이커를 위한 안내서'라는 PHP와 무관한 SF 소설도 있습니다. ^^ » ...
hanjava.net/bluecoin/index.php?pl=442

인형극단 하늘에 오신것을 환영합니다.


임금님, 옷장수, 톰, 엄마, 신하, 병사 (총 6명) 옛날 어느 나라에 사치가 심한 임금님이 살았다
www.skypupa.com/product1_7.htm

2006년 3월 6일 월요일

Web 2.0에서 표준은 한특징일까?

Richard MacManus 아저씨의 최신 글 "Learning from past Web Office mistakes"을 보면 Web Office가 지녀야할 가장 중요한 특징으로 상호호환성을 꼽는다. MS의 OLE같은 것을 Open Standard로 만들고 이를 준수해~


맞는 말이긴 하지만, 이글을 보는 PM팀에서 나올 새로운 요구들을 생각하면 끔찍할 것이다. 음.. 생각해보면 HTML, CSS, 그리고 Pixel Image, SVG, Flash 등을 모으면 나름대로 표준이 될지도 모르겠다. ^^

표준을 정하든지 안정하든지 사용자가 많이 쓰는 제품이 표준이 될 가능성이 농후하지 않을까나?

2006년 3월 3일 금요일

QA와 버그에 관한 잡생각..

QA의 목적이 뭘까? '버그를 발견하는 것이다.'라고 단순히 말할 수 있을까요?

원래 담당자 분인 'A모'님께서 보내주시는 버그는 항상 버그가 어떻게 발생하는지에 대해서 친절하게 육하원칙에 의해서 보내주십니다. 그리고 글 본문에서도 항상 '발생합니다.' '실행됩니다.'등의 존칭어를 사용해주십니다.

반면에, 전 담당자였던 'B모'님은 버그 재현보다는 버그 발생자체만을 강조해서 보냅니다. 본문에서도 '생성', '저장', '나타나야 함'같은 명령조의 말투를 사용합니다. 게다가, 버그 발생파일의 케이스가 아니라 발생된 파일 통째로 보내버립니다.


단순한 차이 같지만... 이런 차이점이야 말로 진정한 QA가 누군지를 가려주는게 아닐런지 .. 제멋대로 생각하기 였습니다.

Mashups: who's really in control?

ZDnet에 "Mashups: who's really in control? - posted by Richard MacManus @ 1:48 am"라는 기사가 올라왔습니다.

Mashup 생태계에서는 '누가 컨트롤을 가지고 있는가?'를 묻고서는 '데이타의 소유자가 갇고 있다'라고 말합니다.

이글이 나오게된 결정적인 사건은 온라인 마켓인 craigslist가 Oodle에서 더이상 RSS feed를 가지고 가지 못하게 막은데서 발생하였습니다.

명목사의 이유로는 Oodle에서 craigslist의 RSS feed를 스크랩해갈 때 craiglist의 웹사이트가 매우 느려지는 점과 명시적으로 허용하지 않았다는 점등을 들었는데요. 재미있는 점은 Housing.com의 RSS feed 스크랩은 허용하였다는 사실입니다.




결론을 나타내자면.. 'Web 2.0의 생태계는 다음과 같지 않을까'하는 생각이 드네요

Web 2.0의 Echo system

2006년 3월 2일 목요일

버그를 발견했다...

3일동안 원인을 몰라서 디버깅을 돌리면서 이리 저리 돌리며 따라갔다.



왠걸.. 전임자 분께서 친절하게 버그 XXXX를 수정했다면서 올린 코드가 원인이었다. 그것도 나!가!기! 직전에..

'ㅡㅡ;; 일부러 심어놓은 것이 아닐까????'

[예병일의 경제노트] 예수님이 어부들을 제자로 선택한 이유... 리더십과 결단력

예수님이 왜 예루살렘에 산재했던 탁월한 지식층 엘리트들이 아닌, 어부들을 제자로 선택하셨는지 궁금하지 않는가?
나의 생각으로는 그 중요한 이유 중에 하나가 바로 어부들의 결단력 때문이 아니었나 한다.

그들은 밤새 인내력 있게 기다릴 줄 알았고, 이때다 하고 판단이 되면 조금도 주저하지 않고 그물을 잡아 당기는 결단력의 사람들이었다.
해양학자들은 어떻게 고기를 잡는가에 대해 호텔에서 세미나를 하는 사람들이지만, 어부들은 검푸른 파도 위로 달려나가 구슬땀을 흘리면서 고기들과 직접 온몸으로 부딪치는 행동하는 자들이다.
기독교의 복음은 이런 야성미 넘치는 제자들을 통해서 그 극심한 핍박에도 불구하고 단시일 내에 로마제국 구석구석으로 번져 나갈 수 있었던 것이다.

한홍의 '거인들의 발자국' 중에서 (비전과리더십, 214p)


그래도 복음전파에 가장 큰 기여를 한 사람은 당시 최고의 지식층 엘리트 중의 한명이었던 '바울'이 아닐까요? ^^;;;;;;

2006년 3월 1일 수요일

grease monkey

유겸애비 님의 'Firefox extension 소개' 중에 grease monkey가 나오는데 개인적으로 무슨 의미인지 궁금해서 찾아봤습니다.



출처 : 네이버 영어사전(http://endic.naver.com/endic.naver?docid=504050&rd=s)

※ 그나저나 grease monkey 사용법은 알겠는데 Script 작성 쉽게 한글로 되어있는 곳은 없을까요?