'2008/06'에 해당되는 글 5건

  1. 2008/06/27 영화 원티드를 보고 (4)
  2. 2008/06/26 객체지향 이야기 - JYP 엔터테인먼트 박진영 대표의 객체지향 음악? (6)
  3. 2008/06/21 미얀마에 따뜻한 마음을 전달해요. (2)
  4. 2008/06/20 Javascript Optional pattern(pre-configured Pattern) 옵셔널 패턴 (3)
  5. 2008/06/19 레거시 코드 이야기와 javascript 개발(Rich UI)의 현재? (6)
2008/06/27 01:08

영화 원티드를 보고

요즘 영화에서 느껴지는 점은 질 높은 시나리오보다 비쥬얼함과 외양적인 요소가 매우 강하다는 것이다.
시대 흐름에 맞춰서 변하는 것일까?

단지 영화를 비쥬얼한 시각적인 요소로만 영화를 만드려는 느낌이 들때마다 아쉽다.

스케일은 어느 때보다 거대해지고 CG의 발달로 비 현실적인 장면들도 많아지고 있다.
매우 멋지고 화려하고 풍만하다..

오늘 "원티드"는 그런 비쥬얼함과 액츄얼한 면에서는 ★★★★를 선사한다.
초반에 코믹한 요소는 예고편에서만 느껴졌던 영화의 재미를 조금 뛰어넘는 요소였다라고 하고 싶다.

사용자 삽입 이미지
안젤리나 졸리와 남자 주인공 제임스 맥어보이 와의 글로서리(마트)에서 첫 대면하는 장면이다.
차분하던 안젤리나 졸리의 인상은 결사단의 배신자를 만나면서 인상이 급변한다.

사용자 삽입 이미지
급 변한 졸리의 모습 카리스마가 넘치다 못해 터져나온다..

사용자 삽입 이미지
서두부터 흥미 진진하게 만드는 자동차 추격 신!!
역시 예고편의 기대를 뛰어넘는 장면이였다.

사용자 삽입 이미지

웨슬리 깁슨(제임스 맥어보이) 주인공은 역중 6주간의 폭스(안젤리나 졸리)의 특훈으로 자신의 운명이 결사단(암살 조직)의 킬러임을 깨닫고 새롭게 태어난다.

결국 진실은 반전속에서 알게 되고 주인공은 반전을 꾀한 슬로언을 찾아가는데....

사용자 삽입 이미지
마지막즈음에 나오는 총질(?)은 이퀄리브리엄 보다는 조금 못 미치지만 그에 못지않는 대단한 총질임은 확실하다. 
스토리라인도 자세히 공개하고 싶지만 해버리면 재미 없자나.
Trackback 0 Comment 4
2008/06/26 18:16

객체지향 이야기 - JYP 엔터테인먼트 박진영 대표의 객체지향 음악?

들으면 들을수록 중독되는 so Hot!
원더걸스
             이미지 출처 : 고뉴스

과연 음악이 어떻게 만들어 졌을까요?  이런 곡에서도 어떤 객체지향이라는 느낌을 받게 하네요.
실 세계의 사물을 단순화해 놓은 객체들의 유기적인 조합은 so Hot이라는 음악과 같이 한 시대를 풍미하는 좋은 문화로 자리 남고 IT세계에서는 서비스나 좋은 소프트웨어로 남을 수 있다라는 생각을 해봅니다.  또한 후배들에게 물려줄 좋은 자산이 되리라 생각해봅니다.

박진영 대표는 객체지향 음악을 설계하는 패턴과 제작과정에 대한 상세한 설명을 알려주었습니다.

원더걸스의 이전 앨범의 텔미는  반주를 오브젝트를 먼저 만들고 거기에 멜로디라는 오브젝트는 붙인 경우이고 이번 앨범의 so Hot 은 멜로디를 먼저 만들고 반주를 붙이는 패턴을 적용하였다고 합니다.

1.    Kick (loop)구성 - drum
2.    Clap 구성

3.    Hihat 구성
4.    Percussion 구성

5.    Main synth – 기본 테마
6.    Base 구성

7.    Lead 구성

이렇게 7가지의 단계를 통하여 so Hot이라는 곡이 탄생하게 되었네요.  거기에 비쥬얼한 원더걸스라는 UI가 씌워졌고 테스트와 연습을 거쳐 최고의 음악으로 음악 방송을 통해 많은 팬들에게 서비스하게 되었습니다.



Trackback 0 Comment 6
2008/06/21 00:33

미얀마에 따뜻한 마음을 전달해요.

사용자 삽입 이미지

풀무원에서 좋은 일을 시작했네요.

사용자 삽입 이미지
이런 좋은 일은 옷장수님 블로그에서 맨날 퍼온답니다. ^-^
그런데 옷장수님도 늘 다른 블로그에서 얻는거 같아요.
촛불도 그랬드라구요.

블로그에 배너를 하나 달면 풀무원에서 2,000원씩 적립하여 500만원을 모아서 한국국제기아대책기구
전달한다고 합니다.

우리에겐 단돈 2,000원이 스타벅스 커피 한잔 값도 안되지만 미얀마 친구들에게는 매우 큰 사랑입니다.

작은 정성이지만 블로거 분들이 많이 도와주시면 좋겠네요.
http://blog.pulmuone.com/116 에 가시면 다양한 베너를 퍼갈 수 있도록 되어있어요.


'blog Tip' 카테고리의 다른 글

미얀마에 따뜻한 마음을 전달해요.  (2) 2008/06/21
서브 도메인 제공해드려요. ^-^  (1) 2008/01/04
Trackback 0 Comment 2
2008/06/20 20:52

Javascript Optional pattern(pre-configured Pattern) 옵셔널 패턴

Javascript Optional pattern

디자인 패턴에 이미 있나? 패턴에 대한 심도 있는 연구를 해본 적이 없지만 javascript 개발을 하다 보니 자주 사용하게 되는 패턴이라 정리해봅니다.  (이미 GoF 나 POSA 에 일부분에 적용되어져 있을 수도 있습니다.)

간단하면서 이미 많은 개발자들이 이런 방식으로 개발하고 있을지 모른다고 생각한다.  외국 라이브러리 역시 이런 방식으로 개발된 라이브러리가 꾀나 있다. 거론하자니 생각이 나지 않네요. Javascript Lib 카테고리 가면 몇몇 링크가 있는데 그들 중에도 있었다.

의도 :
  하나의 클래스를 통하여 다양한 표현할 수 있다.

동기 :
  컴포넌트, 위젯 형태의 개발에 좀더 사용자 설정을 강화하여 다양한 형태의 결과를 표현하고 싶을 때, 이로 개발된 산물은 pre-config 에 대한 이해를 통해 디자이너도 쉽게 접근할 수 있도록 해보자.

sample code


위 소스에서도 알 수 있듯이 사용자는 Hash형 Object 타입으로서 pre-config를 설정하여 해당 클래스가 new 키워드로 인스턴스화 되어질 때 해당 객체의 초기 설정값에 의해 동작한거나 config의 설정된 Option을 참고하여 객체가 동작되게 됩니다.

foo 클래스는 new 키워드에 의해 인스턴스화 될때 options 이라는 파라미터를 받아서 내부의 설정값으로 동작하게 됩니다.  컴포넌트의 Positioning, Sizing, Target Element 등을 생성할때 마다 다른 형태의 결과물을 볼 수 있습니다.

간단하게 생성한 객체들의 getXY 메서드를 수행했을 때 다른 결과 즉
Foo1 의 x, y 포지션은 생성시 아무런 파라미터도 주지 않았기 때문에 [100, 200]이 출력되었고
Foo2 의 x, y 포지션은 생성시 Hash 형태의 Object에 { x:300, y:300 } 을 넘겼기 때문에 생성시 넘겼던 옵션값을 그대로 취하게 됩니다.

이는 위젯 방식의 컴포넌트 개발 시에 매우 유용하며 javascript를 이용한 Rich UI, Application 개발 시 기획에 의도를 다양하게(?) 받아들일 수 있다.

또한 디자이너나 개발자들도 pre-config에 대한 이해만 있다면 값의 설정을 통해서 쉽게 원하는 결과물을 얻을 수 있다.


Trackback 0 Comment 3
2008/06/19 00:57

레거시 코드 이야기와 javascript 개발(Rich UI)의 현재?

개발자들끼리 통하는 한가지!.
소스 코드로서 시스템을 설명하고 이해할 수 있다라는 것이 아닐까 싶다.

2003년 학교를 졸업하고 들어가게된 직장에서 나는 이전 개발자의 철학프로그래밍 스킬의 정도 회사에 대한 충성심을 느낄 수 있었다.

그 개발자의 의해서 생산(?)된 코드의 일부를 생각나는데로 기재해본다.

델파이 소스 중 일부입니다.  변수명에서 느껴지는 회사에 대한 충성심?
procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer;
  cipal, zot : integer;
begin
  //do something
end;
변수명에서 느껴지는 프로그래밍 스킬(전역 변수를 위해 Label Component를 사용)
procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer;
begin
  result := 1 + 2;
  TLabel1.caption := i;
  //do something
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  i : integer;
begin
  ShowMessage(TLabel1.caption);
  //do something
end;

이 개발자의 본성이 그대로 들어나는 레거시한 코드 델파이라 와닿지 않을 수 있지만 저런 코드가 다량의 unit 파일에 내제되 있었고 그의 철학을 느끼며 재개발에 들어갔었다.

과연 저 개발자는 어떤 생각을 가지고 변수에 cipal 과 zot를 남발하였을까? ^-^



한가지의 사물을 보고 단순화 하는 작업에 있어서 개발자마다의 특징이 있고 오브젝트화 하는 작업이 제 각각 틀릴 것이다.  이렇게 다양한 스타일의 레거시한 코드 덕분에 개발자들은 좀더 나은 코드를 위해, 좀더 좋은 서비스/소프트웨어를 개발하기 위해 노력할 수 있는 시간이 줄어든다.

사용자 삽입 이미지
오늘도 레거시한 코드를 살펴보며 이런 저런 고민끝에 역시 재 개발
이미 내가 생각하는 객체화의 영역에서 심하게(?) 벗었났다.


레거시 코드를 관리하는 내 능력의 한계일까 레거시 코드의 문제일까?

라는 질문을 던져보며 또 한가지의 다른 걱정 한번 해봤다.


오지랖인가 싶지만...
사용자 삽입 이미지


javascript 를 이용한 Rich UI, Ajax UI 개발이 조금씩 자리를 만들어 가면서 기존 ASP, PHP, JSP 로 만들때 보다. 개발에 필요한 요소가 더 복잡해졌다라고 하겠다.

디자이너가 해주던 HTML에 서버사이드 언어와 DB Query만 알면 왠만한 사이트 개발은 해치울 수 있다.
(이것도 그다지 간단한 일은 아니지만...)

하지만 javascript를 이용한 Rich UI, Ajax UI 개발시에는 알아야 할 표준만도 DOM, CSS, HTML, JSON, XML, ECMAS 2-262, Cross-Browsing 정도는 기술적 Base로 알아야 한다.  이미 Rich UI, Ajax UI 개발자라면 언급한 7가지의 접근법은 다양하고 많은 경험을 했을 것이라 본다.

사용자 삽입 이미지
(아직도 국내에서는 자바스크립트는 프로그래밍 언어로 보지 않는 개발자들이 아직도 많이 있다는 것)

하지만 국내의 Rich UI 개발자들의 실상은 그다지...
이미 생산성에 맞춘 RIA 개발에 포커싱되어있지 않을까?
이러한 실정을 토대로 이 분야를 선도하는 포털 사이트와 거대 사이트 들에서 자리잡혀 버린다면 최근 강조되고 있는 웹 표준에 대응하면서 생기는 다양한 문제점 보다 더욱 큰 문제를 또 한번 겪게 될지도 모른다. 

또한 한가지 절대적으로 Rich UI, Ajax UI Tech guru로 활동하는 개발자들도 그리 많지 않다라는 것이다.
(숨어있는 고수님들의 노하우 좀 공유 부탁드려요. ^-^)

국외 다양한 자바스크립트 프레임웍을 보고 있자면 그들에게는 위에서 언급한 기술적 Base에 대한 발전된 모습을 느낄 수 있다.  그런 기술을 빠르게 습득하는 것도 우리 개발자들의 문제이겠지만 국내의 기술적인 모티브를 제공하고 외국의 프레임웍처럼 기술적 표본을 잘 정립해야하지 않을까 라는 걱정을 해봅니다.

과연 javascript에서 var foo = { }; 라는 코드가 어떻게 동작하고 각 자바스크립트의 엔진마다 메모리는 얼만큼 사용하고 어떤 차이가 있는지 그로 하여금 각 브라우저에서 구동될 Application에는 어떠한 영향을 미치는지? 

1 + 1 = 2 라는 증명은 매우 간단해 보이지만 러셀의 1 + 1 = 2 에 대한 증명을 보면 그렇지 않다.
참고 : http://k.daum.net/qna/view.html?qid=3Sp2R


내가 짠 코드가 남에게 도움이 될 수 있다면....


이하 영상은 레거시 코드 관리에 대한 영상 및 자료입니다.



Trackback 0 Comment 6