2008년 5월 31일 토요일

다음 UI DevDay에 다녀왔습니다.

다음에서 UI DevDay를 삼성동 섬유센터에서 개최했습니다.
1시 부터 6시까지 진행되었었는데 본 내용은 2시부터 시작해서 5시 20분쯤 끝이 나더군요
개인적으론 Daum에서 하는 행사에 처음 참여해 봤습니다. 다음 컵하나 받아왔습니다.

Daum이 비록 검색 시장에선 Naver에게 밀렸는지 몰라도 최근의 다른 개발사의 개발자를 아우르는 활동적인 액션은 마음이 듭니다. 개방적인 부분에선 티스토리나 테터툴스나 오픈 id등의 서비스를 가지고 있는 다음이 네이버 보다는 낫지 않나 하고 생각합니다.

세션은 2가지 였습니다. 사례중심과 기술 중심으로 보면 될 것 같습니다. 전반엔 기술 중심의 세션을 들었고 후반엔 기술중심을 들었는데 개발자가 태생인지라 기술적인 부분이 재미있더군요.

기술적인 측면에선 실버라이트, 플렉스를 한 번씩 짚어주고 Wiget Based Development라고 사이트의 컴포넌트 부분을 위젯으로 만들어 페이지를 구성하는 방향으로 가려고 한다고 하더라구요.
흠흠..

XUL이란것을 사용하면 HTML과 Javascript로 된 소스를 윈도우즈 프로그램으로 설치해서 사용할 수 있는 기술도 있었습니다. XUL과 XUL Runner가 필요한데 이것은 Adobe의 AIR와 비견할 만한 기술이었습니다. 10년 이상 된 기술이라 안정성이 보장된다고 하더군요. 심지어 Netscape가 이것으로 만들어 졌다고 하더라구요, 그 후손인 Firefox도 물론이고 XUL로는 Firefox 플러그 인을 만들때 주로 사용된다고 하더군요.

각설하고 우리의 UI는 그동안 외국의 사이트와 비교해 봤을때 화려하긴 했다는 장점이 있는것은 인정하겠다 헌데 이제는 상황이 바뀌어서 수 많은 정보를 다양한 방법으로 보여주고자 할 경우 디자이너나 개발자나 모두 창조적 사고를 해야만 하는 시점에 이르렀다고 봅니다. 기존의 방법을 고수해서는 더이상 눈높이가 높아진 사용자들이 WOW할 수 없다는 것입니다, 최근 창의력 부재를 수없이 많이 느끼고 있습니다. 지금처럼 시간에 쫒겨선 아무래도 그냥 페이지를 찍어내는 공장에 불과 하겠죠.

왜 모든 Web 2.0 을 위한 framework은 모두 외국 사람이 만들었을까? (만드는 것은 고사하고 잘 사용하지도 못하겠다) 변화에 거부하고 눈치보기 보다는 적극적으로 앞장서 변화를 주도하는 사람이 되고자 합니다. 예전처럼 페이지 하나 하나를 뚝딱뚝딱 만들기 보단 이 페이지에선 사용자들이 어떤 액션을 취할 것인가? 그리고 그의 최적 동선은 어떻게 될 것인가? 정보는 어떻게 보여줘야 할 것인가를 한 번 더 생각하고 또 생각하고 또 생각하는 그런 기획자 및 개발자가 되고자 합니다.

다음 UI Devday에 다녀와서

사이즈 변경

// panel object를 가져 옴
var instCp = Ext.get('content-panel');

// resize event에 맞춰 dataPanel object의 사이즈 조절 가능
instCp.on('resize',function(){
    dataPanel.setHeight(instCp.getHeight());
    dataPanel.setWidth(instCp.getWidth());
});

2008년 5월 26일 월요일

[jQuery] checkbox context

$("#chk_box:checked").val();

check된 경우 value를 return
check가 안된경우 undef return

2008년 5월 21일 수요일

아기들이랑 가야할 곳- 서울국제만화페스티벌

일시: 21일부터 25일까지.
장소: 서울무역전시컨벤션센터 학여울역 근처
정보 좀 더 찾아봐야겠다.

다음 UI Devday 2008을 계최 한다고 합니다.

최근 다음은 OpenApi나 openID나 등을 통해 네이버보다는 정보 공유에 힘쓰는 모습을 보여 왔습니다.
이번엔 다음 사이트 개발의 노하우를 나누려 하나 봅니다.

최근 한메일의 인터페이스도 변경을 했던데, javascript 개발 프레임웍을 공개하지는 않으려나 모르겠습니다. ^^;

여하튼 참가 신청은 해 놓았는데 27일날 추첨을 통해서 공개 한다고 하네요.
흠...뭘까?

2008년 5월 20일 화요일

자기앞의 생 - 에밀 아자르

도대체 사랑이란게 무엇일까? 무엇이길래 사람은 사랑없이 살 수 없는 것일까? 어머니의 사랑이 없는 아기는 어떻게 살아야 하나?
자식에 대한 사랑이 없는 여자는 어떻게 살아야 하나? 모모는 하밀 할아버지에게 묻는다 하밀 할아버지는 살아갈날이 얼마 남지 않은 지혜로운 노인이다, "하밀 할아버지 사람은 사랑없이 살 수 있나요?" 하밀 할아버지는 말이 없다 모모는 또 묻는다 "할아버지 사람은 사랑없이 살 수 있나요?" 하밀 할아버지는 마지못해 대답한다 "그렇단다" 그리곤 부끄러운 듯 고개를 숙인다.
 
 누가 나에게 같은 질문을 한다면 나는 어떻게 대답할까? 어릴땐 어머니 아버지 친구를 사랑하고 성인이 되어선 여자를 사랑하고 애기를 낳고 나면 자신의 애기를
사랑하고 늘 누군가 사랑할 대상을 찾으며 사랑하며 지내오긴 했지만 과연 살 수 없을정도 일까? 라고 스스로에게 묻지 않을 수 없다.

모모는 태어날 때부터 혼자였다, 반듯이 가족과 어머니가 필요하다는것을 알지도 못했고 함께 사는 로자 부인이 전부인 10살 먹은 소년이다. 그러던 어느날 문득 깨닫는다, 다른 친구들은 모두 어머니가 있다는 것이다, 심지어는 길건너에 놀고 있는 녀석들도 모두 어머니가 있는것이었다. 그 소년은 말한다 자기는 언제나 배가 아프면 엄마가 온다고 모모도 복통과 발작을 일으킨다. 아무리 발작을 해도 아무도 오지 않는다. 아무데나 똥을 싸본다. 그래도 아무도 오지 않는다. 그렇다 그는 세상에 혼자인 것이다. 그에게는 로자 부인이 유일한 가족이다.
 
로자 부인은 모모를 맡아 키우는 유태인 여자다, 젊은 시절 창녀 생활을 했으며 지금은 7층 계단을 오르는것도 힘든 뚱뚱하고 나이 많은 볼품없는 노부인 이다, 로자부인은 모모 말고도 다른 여럿의 아이들을 키우고 있다, 모두들 창녀의 아이들로 그들의 부모에게는 정기적으로 돈이 오고 있다 모모도 마찬가지 였다 헌데 모모는 로자 부인이 자기를 사랑해서 키우고 있다고 생각하고 있었다, 돈을 받고 있다는 사실을 안 순간 그는 너무 슬펐다 만약에 돈이 더이상 오지 않는다면 로자 부인은 자기를 고아원으로 보내고 말것이라고 생각했기 때문이었다, 그런 모모에게 로자 부인은 나는 너를 사랑하기 때문에 키우고 있는것이라 얘기 한다. 사실 로자 부인은 모모의 나이를 4살이나 속이고 있었다. 사실 모모는 14살인데 모두들 10살로 알고 있다. 모모가 묻는다 "아줌마 왜 제 나이를 숨기셨어요?" "모모야 나는 니가 떠나는게 두려웠단다, 니가 너무 나이를 빨리 먹는게 두려웠단다". 로자 아줌마는 모모를 사랑하고 있었던 것이었다, 모모가 로자 아줌마를 사랑하듯. 사람이 사랑하는것은 외모가 아니다. 빵장수 야곱의 얘기가 생각난다 미남미녀가 아름다움에 대해 묻는다. 아름다움이란 무엇입니까? 우리처럼 아름다운 사람이 있는데 왜 아름다움을 논하지 못하는 것입니까? 야곱은 말이 없다 "왜 말씀이 없으십니까" 야곱은 대답한다 "시간이 흐르길 기다리는 중입니다. 시간이 흐른뒤에도 그런말을 할 수 있는지 말입니다." 모모나 로자 부인이나 세상에 서로 밖에 없고 서로 필요하다는 그 마음이 사랑인 것이었다.

모모는 로자 부인이 착한 사람이라고 생각한다 그 중 진정제 얘기가 있는데 로자 부인은 아이들이 난장판으로 만들어 놓은 집 한가운데서 진정제를 먹고 앉아 있기 때문이라 했다 왜냐면 다른 보모는 아이들에게 진정제를 먹이기 때문이라고 했다.
 
모모는 우산에 옷을 입혀서 항상 가지고 다닌다. 정당한 사랑을 쏟을 대상이 필요했던 것 일까? 그 우산에게 아르띄르라는 이름을 붙여서 가장 친한 친구라 하고 어디든 함께 다니곤 했다. 뭘까? 뭔가에 집착한다는 것은 무엇일까? 사랑할 적당한 대상을 찾는것이 집착이 아닐까? 그렇다면 우리네 사랑도 집착일까? 쿨하다 라는 말이 있는데 그것은 또 무엇일까? 사랑이 없다는 것일까? 순수가 없다는 것일까? 만일 모모에게 적당한 가족과 부모 형제가 있었다고 하면 어떠했을까? 그리고 우산에게 정을 쏟는일이 잘 못일까? 아닐까?

어느날 비 정기적으로나마 오던 모모의 송금이 끊어져 버린다. 이건 큰 사건이 아닐 수 없다. 로자 부인은 돈을 받고 애를 봐주기 때문이기 때문이다. 게다가 로자 아줌마는 너무 나이가 많아 더이상 애를 맡기러 오는 사람도 없다. 모모와 아줌마 둘 뿐인것이다. 게다가 로자 부인은 아우슈비츠의 경험으로 인해 자신을 체제에 노출시키길 꺼려 했기 때문에 연금의 혜택도 기대할 수 없었다. "로자 아줌마 걱정할 것 없어요. 저를 믿으세요. 아줌마가 더이상 돈을 받지 못한다고 해서 제가 아줌마한테 매달리지만은 않을꺼예요" 모모는 늙은 아줌마를 부양하거나 혹은 자기 밥벌이는 자기손으로 할 생각이다. 하지만 형편이 아무리 힘들고 어려워도 그녀를 떠나지는 않을 것이다. 하지만 그도 늙고 병든 로자 부인이 언젠가 자기를 혼자 버려 두게 되리란 것을 알고 있었다, 그는 병든 로자 부인을 보는것이 괴로웠다. 심지어 큰 물건을 훔치고 잡혀가면 집에 들어가지 않아도 될거라 생각했다. 그녀는 혼자서는 더이상 거동이 불가능 할정도로 병이 들어 있었다.





 

일요일날 익현이랑 수영장에서.

익현인 키가 이제 1미터 조금 넘어서 80cm짜리 풀에서도 늘 아빠한테 딱 달라 붙어 다닌다.
애기를 고 이리저리 다니는데 옆에 20살쯤 먹은 아가씨들이 갑자기 물을 튀며 수영 연습을 시작했다.
이리저리 물이 튀며 익현이의 얼굴에도 물이 튀었다, 익현이가 인상을 쓰며 "야~~~!!!" "너희들~~~"
하며 소리를 치기 시작했다, "야~너희들 갖다 버린다" 그러더니 "야~너희들 밥 안준다~~" 하하하

평소 익현이가 할머니 말을 안듣고 땡강 부리면 이렇게 엄포를 놓으셨나보다.
재미있긴 하지만 애기가 이 말이 얼마나 무서웠으면 어럴까? 하고 마음이 아팠다.

최근에 익현이가 대구에 2주정도 가 있어 떨어져 지냈는데 정말 보고 싶었었다. 애기를 떨어져 지내는 기러기 아빠들은 무엇때문에 무엇을 얻기 위해 그렇게 참고 지내는 것일까?

가장 기본 component 인 Panel

Form에도 추가 가능 , Tab이 item으로도 사용가능

AutoLoad기능을 사용해 init될때 자동 수행

ex)
///////////////////////////////////////////////////////////////
// tab_item1을 object 외부의 property로 사용하겠다고 선언하다는 의미
this.tab_item1 = new Ext.Panel({
        width:200,
        height:250,
        plain:true,
        title: '매크로',
        autoLoad: {
            url: "function.htm",
            params: { template: "sms", action: "get_macro" }
        }      
});

//////////////////////////////////////////////////////////////////////
//  해당 tab_item1 의 내용을 새로 로딩 할 경우
//  load method를 사용해 준다.
obj_sms.tab_item1.load({
            url: "function.htm",
            params: { template: "sms", action: "get_macro" },
            text: "Loading",
            success: function() {
                alert ( "완료" );
            }
        });

2008년 5월 14일 수요일

group 별 데이터의 row의 개수를 셀 때.

이럴때 사용하는것이 distinct임

SELECT COUNT(DISTINCT order_id) cnt FROM orders 
           where _date >= '2008-01-15'
             and _date <= '2008-05-14'
            
모 위와 비슷한 식으로써 사용이 가능

2008년 5월 13일 화요일

Grid선택 관련

Grid의 1st row 선택...흠..이게 이리 힘드나?
하루 종일 찾았음..
    _grid.selModel.selectRow(0, true);

선택된 row의 정보를 가져오기
var row = _grid.selModel.getSelected();
alert ( row.get('product_id') );  // 이런식으로 데이터를 가져올 수 있다.

2008년 5월 8일 목요일

Grid column 모델에서 들어오는 값 변경

var cmLIST = new Ext.grid.ColumnModel([
{
  // add text at field
  header: "ID",
  dataIndex: 'id',
  sortable: true,
  renderer: function(v,params,record){
    return 'TOTO-'+v;
  },
  width: 30        
},{
  // add html...
  header: "Field 1",
  dataIndex: 'field1',
  sortable: true,
  renderer: function(v,params,record){
    return '<b>'+v+'</b>';
  },
  width: 50    
}