swfobject 오픈 소스 프로젝트로 진행중이다.
http://code.google.com/p/swfobject/

웹표준에 부합하지 않는 플래시를 좋아하진 않지만, 플래시를 어쩔 수 없이 써야하는 경우가 있다. 동적인 컨텐츠를 로드한다랄지 클라이언트에서 그렇게 원한다던지...

근데 Internet Explorer와 FireFox는 서로 다른 방식으로 HTML 태그(embed, object)를 사용한다. 그리고 그 파라미터는 복잡해서 매번 컨텐츠를 넣을때마다 외울 수도 없고 항상 찾아서 넣어야 한다. swfojbect를 사용하면 이러한 불편함을 줄일 수 있고, 태그를 잘못썼나 하는 고민에서 해방될 수 있다. 그리고 무엇보다 몇줄만 추가하면 되고 스펙에 정의된대로 뿌려줄 수 있기 때문에 매우 편리하다.


기존 플래시 가져오는 코드
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
  <head> 
    <title>SWFObject - step 3</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    <script type="text/javascript" src="swfobject.js"></script> 
 
    <script type="text/javascript"> 
    swfobject.registerObject("myId", "9.0.115", "expressInstall.swf"); 
    </script> 
 
  </head> 
  <body> 
    <div> 
 
      <object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420"> 
 
        <param name="movie" value="myContent.swf" /> 
        <!--[if !IE]>--> 
        <object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420"> 
        <!--<![endif]--> 
          <p>Alternative content</p> 
        <!--[if !IE]>--> 
        </object> 
        <!--<![endif]--> 
      </object> 
    </div> 
  </body> 
</html>



swfobject 사용후 변경된코드

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
 
<head> 
   
<title>SWFObject dynamic embed - step 3</title> 
   
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
   
<script type="text/javascript" src="swfobject.js"></script> 
     
   
<script type="text/javascript"> 
    swfobject
.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0"); 
   
</script> 
 
 
</head> 
 
<body> 
   
<div id="myContent"> 
     
<p>Alternative content</p> 
   
</div> 
 
</body> 
</html>




swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0"); 

위 한줄로 쉽게 사용할 수 있다는게 매우 매력적이다.

저작자 표시 비영리 변경 금지
Posted by iHWAN

사용자가 입력하는 유동적인 데이터 처리시 띄어 쓰기를 하지 않아서 의도하지 않게 텍스트가 밀려나온다던지, 의도하지 않는 크기 이상으로 부모 컨테이너가 밀려 나오는 경우가 있다.

IE에서는 word-wrap: break-word;이라는 CSS가 있어서 이전부터 사용해왔었고, 많은 곳에서 이것만을 사용하고 프로그램 로직에서 스페이스를 주는 트릭을 사용한다.

그러나 FireFox나 Opera에서도 이를 해결할 수 있는 방법이 있는데, white-space를 이용하여서 줄바꿈이 가능하도록 하는 구문이다.

#wordwrap{
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
word-wrap: break-word; /* Internet Explorer 5.5+ */
}

저작자 표시 비영리 변경 금지
Posted by iHWAN

MS Project 2007 에서 가장 쉽지 않은게, 작업간의 의존관계를 정하는 일이다.

이 의존관계에 따라서 작업의 순서를 정할 수 있다. 기본적으로 이 4가지의 의존관계를 알고 있어야만 프로젝트를 제대로 사용 할 수 있다.


Project에서는 기본적으로 완료 후 시작 연결 (연결: 프로젝트에서 작업 간의 의존 관계를 설정하는 것입니다. 작업을 연결하면 작업의 시작 날짜와 완료 날짜 사이에 의존 관계가 설정됩니다. OLE에서 프로그램을 서로 연결하면 한 문서에서 데이터가 변경될 때마다 다른 문서의 데이터가 업데이트됩니다.)로 작업을 연결하지만 모든 경우에 완료 후 시작 연결을 적용할 수 있는 것은 아닙니다. Project에서는 프로젝트를 현실적으로 모델링할 수 있도록 여러 가지 종류의 작업 연결이 제공됩니다.




완료후 시작 (FS)


작업 B는 작업 A에 의존하고 있으며 작업 A가 완료되어야 시작할 수 있습니다.

예를 들어 "기초 공사"와 "콘크리트 타설"이라는 두 가지 작업이 있을 경우 "콘크리트 타설" 작업은 "기초 공사" 작업이 완료되어야 시작할 수 있습니다.

 

동시 시작(SS)


작업 B는 작업 A에 의존하고 있으며 작업 A가 시작되어야 시작할 수 있습니다.

이 경우 한 작업이 시작되면 아무 때나 그 작업에 의존하는 작업을 시작할 수 있습니다. SS 연결 종류에서 두 작업을 반드시 동시에 시작할 필요는 없습니다.

예를 들어 "콘크리트 타설"과 "콘크리트 고르기"라는 두 가지 작업이 있을 경우 "콘크리트 고르기" 작업은 "콘크리트 타설" 작업이 시작되어야 시작할 수 있습니다.


동시 완료(FF)


작업 B는 작업 A에 의존하고 있으며 작업 A가 완료되어야 완료할 수 있습니다.

이 경우 한 작업이 완료되면 아무 때나 그 작업에 의존하는 작업을 완료할 수 있습니다. FF 연결 종류에서 두 작업을 반드시 동시에 완료해야 할 필요는 없습니다.

예를 들어 "배선"과 "전기 점검"이라는 두 가지 작업이 있을 경우 "전기 점검" 작업은 "배선" 작업이 완료되어야 완료할 수 있습니다.



 시작 후 완료(SF)

작업 B는 작업 A에 의존하고 있으며 작업 A가 시작되어야 완료할 수 있습니다.

이 경우 한 작업이 시작되면 아무 때나 그 작업에 의존하는 작업을 완료할 수 있습니다. SF 연결 종류에서 한 작업의 시작 시점이 그 작업에 의존하는 작업의 완료 시점과 같아야 할 필요는 없습니다.

예를 들어 건축 프로젝트에서 지붕 트러스를 부지 밖에서 시공하는 경우를 가정하면 프로젝트의 두 가지 작업은 "트러스 운송"과 "지붕 조립"이 됩니다. 이때 "지붕 조립" 작업은 "트러스 운반" 작업이 시작되어야 완료할 수 있습니다.



출처: 프로젝트 내에서 작업 의존 관계(연결) 만들기

저작자 표시 비영리 변경 금지
Posted by iHWAN