2006년 6월 29일 목요일

책상이 부서졌다.

Y님의 몸무게에 책 20권 정도의 전공서적을 더한 무게가 우리 회사 책상이 버틸 수 있는 무게다.
대충 130~140 Kg?

XML.com의 Flash to the Rescue

브라우저에서 코딩하기 위해서는 여러가지 제약점이 발생하게 된다. XMLHttpRequest도 브라우저 호환성이나 보안 정책적 면에서 문제가 존재한다. 이를 해결하기 위해서 Flash의 XMLHttpRequest를 이용해서 통신하는 것을 workaround로 제시한 글이다.

2006년 6월 28일 수요일

저금통을 털었다.

급하게 돈이 필요한 일이 생겨서 저금통을 털었다...물론 숨겨돈 Visa금도 털었다..
[혼자 사는 사람이 무슨 비자금이라는 말도 있을 법하지만.. 생략]

털고나니.. 딸랑... 12만원정도.
나름대로는 큰돈이다. 그렇지만...

전에 누구한테 들은 얘기다.
'가난하다 부자다라는 개념이 요즘들어서 바뀌었습니다. 돈을 얼마 가지고 있고, 돈을 얼마 벌고 있고가 기준이 아니라, 내가 가진 직업을 당장 그만 두었을 때 얼마만큼을 버티느냐가 요즘의 가난하다와 부자라는 것을 나누는 기준이 됩니다.'
[ㅡㅡ;; 적고보니.. 정확한지는 애매하군요.]




2006년 6월 26일 월요일

산책



지하철타고 산책을 갔다왔다.
갔다가 그냥 왔을 뿐이다.

2006년 6월 21일 수요일

onFontResize

CustomEvent : onFontResize

How it works?

1 : Create an Iframe

<iframe style="position:absolute;top:-5000px;width:100em;"></iframe>

2 : Attach onResize Event to iframe's window object

3 : When fontSize is changed, this Iframe will fire an onResize event which we can catch later.

Why using Iframe?

Because onResize event is fired by window object only on most browsers (except IE)

추측: 안보이게 iframe을 숨겨두고 font-size 변경에 따라 iframe이 바뀌는 경우 이를 처리하는게 아닌가 싶다.

출처 : CustomEvent : onFontResize

2006년 6월 20일 화요일

다시 가고 싶다..

그때 그시간 속으로...



Why there is a 1904 Date System options in excel?

"Yeah, but probably an intentional one. Lotus had to fit in 640K. That's not a lot of memory. If you ignore 1900, you can figure out if a given year is a leap year just by looking to see if the rightmost two bits are zero. That's really fast and easy. The Lotus guys probably figured it didn't matter to be wrong for those two months way in the past. It looks like the Basic guys wanted to be anal about those two months, so they moved the epoch one day back."

"Aargh!" I said, and went off to study why there was a checkbox in the options dialog called 1904 Date System.


출처:
Joel on Software - My First BillG Reveiw
P.S:
빌게이츠가 모든 스펙을 다읽고 이를 이해했다는 내용이 참.. 감명깊게 느껴지네요 ㅎㅎ




2006년 6월 19일 월요일

연차휴가

  • 연차휴가 시기지정권과 시기변경권
사용자는 연차휴가에 대하여 근로자의 청구가 있는 시기에 주어야 하며, 그 기간에 대하여는 취업규칙이나 그 밖의 정하는 바에 의한 통상임금 또는 평균임금을 지급하여야 한다. 다만, 근로자가 청구한 시기에 휴가를 주는 것이 사업운영에 막대한 지장이 있는 경우에는 그 시기를 변경할 수 있다(제59조 제5항).

  • 미사용연차휴가의 소멸
연차휴가는 1년간 행사하지 아니한 때에는 소멸된다. 다만, 사용자의 귀책사유로 사용하지 못한 경우에는 그러하지 아니하다(제59조 제7항). 연차휴가 사용촉진에 대하여 개정법(제59조의 2)에서 별도 규정이 있기 때문에 일정한 경우에는 미사용연차휴가가 보상도 없이 소멸될 수 있다.

사용자가 연차 유급휴가의 사용을 촉진하기 위하여
① 연차휴가가 끝나기 3월 전을 기준으로 10일 이내에 사용자가 근로자별로 미사용휴가일수를 알려 주고,
② 근로자가 그 사용시기를 정하여 사용자에게 통보하도록 서면으로 촉구
하였음에도 불구하고,
③ 촉구받은 날로부터 10일이내에 미사용휴가의 전부 또는 일부의 사용시기를 정하여 사용자에게 통보하지 아니한 경우에는
④ 연차휴가 끝나기 2월전까지 사용자가 미사용휴가의 사용시기를 정하여 근로자에게 서면으로 통보하였는데도
근로자가 사용하지 아니하여 소멸된 경우에는, 사용자는 그 미사용휴가에 대하여 보상할 의무가 없으며, 사용자의 귀책사유에 해당하지 아니하는 것으로 본다(제59조의 2).

출처 : http://www.molab.go.kr:8001/kr/oneclick/standard01/sta0401.jsp

Agile Chart란?

Agile Chart란 시간과 비용에 대해서 단순하면서도 명확하게 나타내기 위해서 사용하는 차트다.
  • Are we on time?
  • Are we on budget?


그려지는 선은 세가지로 계획한 목표(Planned Percent Complete)와 실제 완성된 목표(Actual Percent Complete), 그리고 사용된 비용(Percent of Budget Used)만을 나타낸다. 명확하게 나타내고 문제를 쉽게 인식할 수 있는게 이 차트의 목표가 아닐까 싶다.

출처: Agile Charts


2006년 6월 16일 금요일

Evoluent VerticalMouse 2

장시간의 마우스 사용으로 인한 손목의 고통으로 인하여 손목에 편하다는 Vertical Mouse 기사를 보자마자 질렀다. 거금 55,000원을 들인결과 좋다... 그런데, 엉뚱한 근육이 땡긴다는...



2006년 6월 13일 화요일

회사 내에서 물건이 없어진다.

그것도 2~4개씩...
그것도 커피컵이 아닌 50원 더 비싼 롯데리아 컵이..

도대체 뭐하자는건지...

2006년 6월 12일 월요일

Spry framework

  1. Adobe에서 만든 Ajax Framework이다.
  2. 웹 디자이너들이 쉽게 접근할 수 있게 만들었다.
  3. 다른 프레임워크 지원이 어렵다.
출처:


2006년 6월 10일 토요일

createTextNode와 공백

DOM의 일반 element에는 TEXT 노드를 생성할 수 있는 createTextNode 메소드를 가지고 있습니다.
HTML을 핸들링할 때 HTML의 text를 일반적인 노드처럼 처리할 수 있게 해주는 메소드다. 그러나 createTextNode에는 몇가지의 문제를 가지고 있다.

1. 공백을 삽입할 수 없다.(&nbsp; 또는 \u002으로 삽입하는 경우 각각  &amp;nbsp;&amp;로 삽입되거나 삽입자체가 되지 않는다.)
2. 라인브레이크가 삽입이 되지 않는다.

그렇다면, 이를 해결할 수 있는 방법은?

innerHTML을 사용해야 한다. innerText는 사용할 수 없다.

2006년 6월 9일 금요일

eSWT

eSWT = embedded Standard Widget Toolkit
이클립스에서 사용하는(?) SWT의 핸드폰 임베디드 버전.
자바 위에서 돈다는데.. 하는데가 있을런지는??

출처 :


Input 태그를 사용할 때 주의할 점

autocomlete 기능이 활성화 되어 있는 경우 입력한 내용이 다시 나올 수 있다.
따라서, "autocomplete='off'"를 설정해줘야 한다. 그러나 표준이 아니기 때문에 문제가 될 수도 있다.

출처 :


Flat Panel TV


Jonathan Schwartz 아저씨의 블로그의 글을 읽다보니 Flat Panel TV 이야기가 나왔다. Flat Panel TV가 호텔에서 많은 비율을 차지하게된 이야기였는데 글의 내용을 보면 대충 이렇다.
가격면에서는 비싸기는 하나 공간을 적게 차지하고 전기 소모가 훨씬 적었기 때문에 Flat Panel TV가 호텔에서 차지하는 비율이 높아졌다는 얘기다.

그리고 마지막 글. "Care to guess why?"

조건에 따라서는 맞는말이다. 초기비용이 적더라도 장기적으로 이득이 된다면...

회사하고 군대하고 공통점?

어느 동네를 가도 인사팀의 행태와 비능률적인 방식은 똑같다.

2006년 6월 8일 목요일

캐즘(Chasm)

캐즘의 원래 의미는 크게 균열을 의미하네요. 플릭커에서 검색해보니 계곡사진 밖에 없네요.


chasm//Gk아가리벌린 구렁 에서〕 n.
1 (지면·바위 의) 크게 갈라진 , 깊고 넓은 ;깊은 수렁;(벽·돌담의) , 균열
2 (연속의) 단절, 공백, 탈락in
3 (gap);결함
4 (감정·의견의) 차이between
ch/s·mal[//] a. ch/smed[/], ch/s·mic[///] a.
캐즘(Chasm)이란 균열을 뜻하는 단어로서 첨단기술관련 분야에서는 기업 컨설턴트인 제프리 무어(Geoffrey A. Moore)박사가 최초로 사용하였다.

이는 혁신성을 중시하는 소비자가 중심이 되는 초기 시장과 실용성을 중시하는 소비자가 중심이 되는 주류시장 사이에 일시적으로 수요가 정체하거나 후퇴하는 단절현상을 말한다.

예를들어 전자책시장이 활성화 될 것으로 예상했지만 어느순간 수요가 갑자기 정체하면서 현재 발전이 이루어지지 못하고 있다.

출처:
  네이버 오픈국어: 캐즘(Chasm)
  네이버 영어사전: chasm
  플릭커의 사진출처 : http://flickr.com/photos/lglendinning/22390166/

2006년 6월 7일 수요일

[오늘의 용어] Django(장고)


이 장고가 아닙니다. 요 장고입니다.
Django is an open source web application framework, written in Python, which loosely follows the Model-View-Controller paradigm

참고로 위키페디아에 나와있는 장고의 의미는 요거랍니다.
Django is a Romany term meaning "I awake"

2006년 6월 6일 화요일

Feature modeling

  • Feature modeling is the activity of modeling the common and the variable properties of concepts and their interdependencies and organizing them into a coherent model.
  • but the feature model - model that specifically captures teh constant and the variable parts of the problem area.

일반적으로 작성되는 프로그램의 클래스나 UML의 상위 개념으로서의 추상적인(사람들이 이해할 수 있는) 계층을 하나 두고 이 계층을 통해서 Code generation이나 Genrative Programming을 사용해서 실제 프로그램을 만들어낸다. 이러한 계층을 정의하는 것을 Feature modeling이라 한다.

출처
   Build Variety Of Consumer Products At Low Cost Using Generative Programming

   EGGG: The Extensible Graphical Game Generator

2006년 6월 5일 월요일

insertAfter(srcNode, dstNode)

DOM의 API에는 insertBefore라는 메소드가 존재합니다. insertBefore는 메소드 이름처럼 Node를 삽입할 때 특정 노드의 앞(Before)에 Node를 삽입하게 해주는 역할을 합니다. Syntax는 다음과 같습니다.

var insertedElement = parentElement.insertBefore(
                                                   newElement, referenceElement)
부모 노드의 Child 노드(newElement)를 삽입할 때 지정한 노드(referenceElement)의 앞에 삽입해주게 합니다. 삽입한 형태는 다음의 트리구조를 갖게 됩니다.

삽입되는 노드가 좌측 하단의 노드라면 P2를 기준으로 C1앞에 삽입하는 형태가 될 것이고, 우측 하단의 노드의 경우에는 P3를 기준으로 C3앞에 삽입하는 형태가 될 수 있습니다.

insertBefore의 경우 DOM에서 제공됩니다만, insertAfter의 경우에는 DOM에서 제공되지 않고 있기 때문에 따로 구현해야 합니다. 구현하는 방법은 두가지가 있습니다.

var insertedElement = parentElement.insertBefore(
                                               newElement, referenceElement.nextSibling)
하나는, 동일하게 insertBefore 메소드를 호출하는 방법입니다. referenceElement의 바로 이웃한 노드인 nextSibling을 호출하여 이웃한 노드의 앞에 삽입하게하는 방법입니다. 아래의 구림을 예로 들자면 P3의 Child인 C2에서 C2의 nextSibling인 C3를 기준으로 하여 C3의 앞에 삽입하는 방법입니다.

좌측하단의 경우에는 nextSibling이 없기 때문에 null이 리턴되므로 child nodes list의 맨 마지막에 삽입되는 방법입니다. (i.e, ff모두 동작합니다.)


또 하나의 방법은 (방법이라고 할 것까지는 없겠네요.) nextSibling을 체크해서 null인 경우 부모노드에 appendChild로 child를 붙여주는 방법입니다. (명시적이기 때문에 나을 수도 있겠습니다.
insertAfter:function(srcNode, dstNode){
   if(dstNode.nextSibling){
       dstNode.parentNode.insertBefore(srcNode, dstNode.nextSibling);
   }else{
       dstNode.parentNode.appendChild(srcNode);
   }
};
출처 :
   http://developer.mozilla.org/en/docs/insertBefore


2006년 6월 2일 금요일

Javascript에서 Mutual Exclusion

한빛 네트워크에서 재미있는 기사가 올라왔다. 'AJAX에서 상호배제 구현'이라는 기사인데 자바스크립트에서의 Mutual Exclusion을 다루고 있다. 브라우저 자체에서는 싱글스레드로 돌기는 하지만 XMLHttpRequest 자체가 비동기 작업이기 때문에 XMLHttpRequest에서 받아온 데이터를 처리하는 코드에서 발생할 수 있는 문제를 처리하는 기사입니다.

자바스크립트코드를 상세하게 들여다보지 않아서 뭐라 말하기는 어렵지만 흥미있는 기사네요.

적성검사?

용회님 블로그에 들어갔다 발견한 적성검사...
문항이 상당히 길군요. 전공을 바꾸기에는 이미 늦은듯 ㅋㅋ


You scored as Sociology. You should be a Sociology major!

Sociology


75%

Engineering


67%

Philosophy


58%

Mathematics


58%

Anthropology


50%

Chemistry


50%

Theater


42%

Art


42%

English


42%

Journalism


33%

Linguistics


33%

Biology


33%

Psychology


17%

Dance


8%

What is your Perfect Major? (PLEASE RATE ME!!<3)
created with QuizFarm.com

Web Performance Suite™ Modules

이름 그대로 Web 상에서 Performance를 체크하기 위한 소프트웨어이며, Stand-alone으로도 제공되며 Eclipse에서 플러그인으로도 제공됩니다. free Analyzer도 제공된다고 하네요.


설치 방법 :
이클립스에서 SW Update하는 방식으로 설치하기

관련기사 :
http://linuxbusinessnews.sys-con.com/read/230283.htm

※ Ajaxian에서도 읽은 기사에도 나왔던 사이트 갔기도 하네요. ㅡㅡ;;


Rake 설치하기

1. Ruby를 설치합니다. Windows의 경우 RubyForge에서 One-Click Ruby Installer를 받아서 설치할 수 있습니다.

2. Ruby 파일 및 Rake 파일을 다루는 이클립스 플러그인인 RDT를 받아서 설치합니다. RDT는 다운로드 받아서 설치하는 방법외에도 Help>Software Updates>Find and install을 사용하여 설치가 가능합니다. (Using the Eclipse Update Manager항목에서 보실 수 있습니다.)



3. 이클립스의  External Tools를 클릭하여 'Ant Build'가 아닌 'Program'을 클릭한 후에 Ruby와 관련한 설정을 합니다. 세부 설정에서 Location은 ruby.exe가 설치된 파일을 Working Directory는 '${workspace_loc}\${project_name}'로 설정하고 Arguments는 다음과 같이 'C:\ruby\bin\rake -f ${workspace_loc}\${project_name}\Rakefile'설정합니다. 이렇게 설정하게 되면 현재 작업중인 Directory의 RakeFile을 실행하게 됩니다.

※ rake.bat을 실행했을 때 eclipse에서 ruby.exe를 찾을 수 없다고 나와서 rake.rb파일을 직접 실행 시켰습니다. Arguments에 'C:\ruby\bin\rake.rb -f  ${workspace_loc}\${project_name}\Rakefile --trace'로 설정을 하였구요.


참고자료 :
http://jrhicks.net/120
http://www-128.ibm.com/developerworks/kr/library/os-rubyeclipse/#resources
http://rubyeclipse.sourceforge.net/download.rdt.html
http://www-128.ibm.com/developerworks/kr/library/os-rubyeclipse/#N1011C

2006년 6월 1일 목요일

ATF

ATF(Ajax Tooling Framework)
The AJAX Tooling Framework (ATF) project passed its creation review andis now being incubated inside the BEA-lead Web Tools Platform (WTP)project at Eclipse. ATP is a new collection of Eclipse-basedtechnologies designed to make it easier to develop rich Internetapplications based on AJAX.

출처 :
http://linuxbusinessnews.sys-con.com/read/193138.htm

aka

영어기사를 보다보니 aka라는 단어가 나왔다.
aka also known as 별명은
General Interface (aka "GI") is an award winning AJAX and Rich Internet Application framework and toolkit, ...