대한민국에서 S/W를 업으로 삼고 있는 회사들은 대부분 용역사업으로 생계를 꾸린다. 나는 어떤 S/W 결과물을 내놓을 때마다 그것을 내 자식이라고 생각한다. 내 자식이 어디 가서 똘똘하다는 이야기를 들어야 부모된 마음이 편하다. 대부분의 부모는 자기 자식이 똘똘해질 때까지 무한 애정을 쏟을 용의를 갖는다. 사실 애 하나 키우는 일이 쉬운 일이 아니다. 세상에 나가서 자기 몫을 충분히 하는 인재를 키워내려면 무척 많은 시간 동안 정성을 쏟아야 한다. 그런데, 용역 사업은 말하자면 자식을 낳아서 다른 곳에 입양시키는 사업이다. 게다가 제대로 키울 틈도 없이 낳자마자 입양시키는 사업이다. 용역이 끝나면 용역 결과물에 대한 모든 권리를 용역 발주처가 갖는다. S/W 개발자 입장에서 보면 무척 슬픈 사업 방식이다. 대한민국 S/W 사업 생태계가 질적으로 도약하려면 이런 사업 방식이 바뀌어야 한다. 할말이 무척 많아서 제목에 '(1)'을 달았다. 또 다른 생각이 정리되면 '(2)'를 달아서 글을 올려야겠다.
Posted by ingee
TAG SW 용역

댓글을 달아 주세요

  1. 써니 2009.07.06 14:01 신고  댓글주소  수정/삭제  댓글쓰기

    저 역시 제가 만들어온 솔루션들을 자식이라고 생각합니다.
    여기저기 입양도 보내고, 친권(저작권)도 뺏기고 하면 참 착찹하죠~

    회사를 그만두면 영영 만나지 못하죠. 여기저기 부실한 곳이 있어서
    업그레이드 해야 하는데 라는 생각이 들어도, 괜히 소송이라도 걸릴까 싶어서
    코드 한줄 들고 나오지 못하고... 계모에게 맡겨 버리는 심정인거죠.

    (2)부를 기대하겠습니다.

    • ingee 2009.07.06 14:55 신고  댓글주소  수정/삭제

      댓글 감사합니다. 써니님 블로그에서 좋은 글 자주 읽고 있습니다. 제 회사는 2호선 낙성대역 근처에 있습니다. 지나실때 연락 주시면 소주 한잔 대접하겠습니다. 좋은 하루 되세요.

DOM2 Events Spec 요약

Dev 2009.05.19 14:29
W3C의 DOM2 Events Spec을 다음과 같이 요약한다.
http://www.w3.org/TR/DOM-Level-2-Events/


1.1. Overview of the DOM Level2 Event Model
1.1.1. 용어
UI events
user interface event. 마우스, 키보드 등을 통해 사용자가 발생시키는 이벤트

UI Logical events
focus change 또는 element triggering 같은 장치와 무관한 이벤트

Mutation events
DOM 내용이 바뀔 때 발생하는 이벤트

Capturing
event가 event-target에서 처리되기 전에 event-target의 ancestor 들에서 먼저 처리되는 것

Bubbling
event가 event-target에서 처리된 다음 ancestor들로 전파되는 것


1.2. Description of event flow
1.2.1. Basic event flow
event-listener 처리중에 exception이 발생하더라도 evcent는 계속 전파된다.

1.2.2. Event capture
capture는 top node (Document node)에서부터 target node까지 전파된다.
Event::stopPropagation() 메소드로 capturing을 중지시킬 수 있다. 단, stopPropagation()이 호출된 level의 event-listener 들은 모두 호출된다.

1.2.3. Event bubbling
capturer로 등록된 event-listener 들은 bubbling phase에서는 호출되지 않는다.
Event::stopPropagation() 메소드로 bubbling을 중지시킬 수 있다. 단, stopPropagation()이 호출된 level의 event-listener 들은 모두 호출된다.

1.2.4. Event cancelation
cancelable한 event는 Event::preventDefault() 메소드를 호출해서 implementation의 default 동작을 취소 시킬 수 있다. 즉, hyper-link를 클릭해도 해당 link로 이동하지 않게 만들 수 있다.


1.3. Event listener registration
1.3.1. Event registration interfaces
EventTarget::dispatchEvent() 메소드로 이벤트를 직접 전달할 수 있다.
EventTarget::dispatchEvent() 메소드로 이벤트를 fire 시켜도 capturing과 bubbling이 동일하게 발생한다.


(끝)
Posted by ingee

댓글을 달아 주세요

WebKit 화면 구성 요소

Dev 2009.05.15 15:02

본 기사는 2008년 12월 버전 (rev. 39476) WebKit win32 port를 기준으로 한다.

http://webkit.org에 존재하는 “WebKit Objective-C Programming Guide” 문서를 보면 다음과 같은 그림이 존재한다.



이 그림에서 aWebFrameView는 폐기됐다 (적어도 windows port에서는…). 지금 현실에 맞게 그림을 재구성하면 다음과 같다.


  • WebView는 WebKit 엔진을 담고 있는 main-window를 나타내는 개념이다.
  • WebFrame은 WebKit이 표시하는 페이지를 나타내는 개념이다.
    • WebView는 1개의 WebFrame을 main-frame 멤버로 갖는다.
    • WebFrame은 0개 또는 여러 개의 WebFrame을 children 멤버로 가질 수 있다 (HTML & 태그 처리…).


화면 구성 요소들에 대한 클래스 다이어그램은 다음과 같다.



언제나처럼 이미지를 클릭하면 원본 크기로 볼 수 있다.

 

Posted by ingee

댓글을 달아 주세요

  1. 2009.07.15 01:15  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  2. seungzzang 2010.03.03 14:35 신고  댓글주소  수정/삭제  댓글쓰기

    좋은 자료 감사합니다. 이제 막 webkit에 대해서 알아가는 중인데, 많은 도움이 되고 있습니다. 감사합니다. ^^

  3. seungzzang 2010.03.06 14:56 신고  댓글주소  수정/삭제  댓글쓰기

    아... 죄송해요. 실수했네요. ingee님. 좋은 하루되세요 ^^

  4. seungzzang 2010.03.06 14:57 신고  댓글주소  수정/삭제  댓글쓰기

    궁금한게 있는데요. ingee님은 webkit 소스를 수정할때, 어떤 에디터를 사용하나요? Eclipse? SourceInsight? VC2005? 어떤 에디터가 소스를 보기 편한지가 궁금하네요. ^^

  5. happyshan 2010.03.24 17:57 신고  댓글주소  수정/삭제  댓글쓰기

    좋은 글 감사합니다.
    본문 중 “WebKit Objective-C Programming Guide” 문서는 어디에 있는건가요?
    이외에도 webkit을 이용할 수 있는 programming guide를 찾고 있는데, webkit.org 어디에 있는지 못찾겠네요.

    • ingee 2010.03.25 17:57 신고  댓글주소  수정/삭제

      에이, 너무하시네... 구글링만 해도 나오던데... ^^;;
      농담입니다. 뭐라도 도움줄 수 있어 기쁩니다. 자주 들러 주세요.
      http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/DisplayWebContent/DisplayWebContent.html 입니다.

    • happyshan 2010.03.25 19:13 신고  댓글주소  수정/삭제

      어. 그렇군요. -.-a
      webkit.org site에서 검색했더니 안나오길래...
      어제는 제 손이 삐었나봅니다. ^^

      감사합니다.
      (o.o) (_ _) (o.o)

    • ingee 2010.03.25 22:36 신고  댓글주소  수정/삭제

      webkit.org 메뉴 구성이 좀 난잡합니다. 저도 이런저런 문서를 기억하고 찾으려하다 못찾고 애먹는 경우가 많습니다. 어려움 겪으신것 충분히 이해합니다. 좋은 작업 결과 만드시기 바랍니다.

  6. lisa 2012.07.12 22:25 신고  댓글주소  수정/삭제  댓글쓰기

    1개월차 신입사원입니다.
    웹킷공부하는데 뭐가뭔지하나도모르겠네요 ㅠㅠ
    그래도 많은 도움 받고 갑니다 ㅠㅠ....
    함수나 클래스가 무슨일을 하는지 해석하는것도 안되는 이런 사회초년생 ㅠㅠ
    앞으로자주들리겠습니다 ㅋㅋ
    댓글좋아하신다고하셔서 머리도터질거같고 해서 남기고가요^^