2008년 7월 29일 화요일

Tidy

php에서 html을 파싱하여 특정 node의 innerHTML을 얻어내는 프로그램을 작성하려고 했습니다. 올빼미 님의 도움으로 Tidy라는 라이브러리를 알게되었는데요. 설치(윈도우, 한글 메뉴얼) 후

tidy_node->get_nodes(TIDY_TAG_DIV)

를 호출하자 다음과 같은 에러가 발생하더군요.

Fatal error: Call to undefined method tidyNode::get_nodes()

해결 방법은 못찾았습니다. -_-;;;;;; (Tidy의 php 5.1.2 버전의 dll에서는 발생하는 것 같습니다. 다른 버전은 모르겠구요.)

야근 내내 삽질(OTL)만했군요.

2008년 7월 26일 토요일

미션8 - 나만의 팁

사실 블로그의 기능을 다양하게 쓰지는 않기 때문에 팁이라고 붙이기는 어려울 것 같네요 ^^;;;; 본 포스트도 8번째 미션을 위한 포스트로 보셔도 될 것 같습니다. (후후;;;;)

2008 베타에서 업데이트 된 기능 중 하나가 사진 올리기 기능에서 '올리기 일괄 설정'이 추가된 건데요.

사진들을 올릴 때 사진 가로크기를 직접 설정하여 올릴 수 있게 되었습니다. 게다가 사진 정렬을 직접 넣을 수도 있으며 이미지 왼쪽 흐름, 오른쪽 흐름 정렬을 추가하여 이미지 옆에 글을 직접 쓸 수 있게 되었죠.

옆의 사진은 스페인 여행 때 찍었던 바르셀로나 Mercè 2007의 사진입니다.

DSLR이 대세인 시기에 이미지 원본 저장 기능의 지원과 쉬운 이미지 축소/확대의 기능의 지원은 흐름에 딱 맞는 에디터 기능이 아닐까 싶네요.



이상.. 팁이였습니다. -_-bbbbbb


티스토리 2008 베타 오픈 리뷰 (7) - 플러그인

티스토리 2008 베타에서 플러그인 설정화면도 바뀌었는데요. 이전 설정 화면에서는 플러그인 설정을 하려면 팝업창을 띄우고 값을 설정한 후 저장을 해야 했습니다.


변경된 플러그인 설정창에서는 팝업창을 띄우지 않고 플러그인 페이지에서 바로 설정이 가능합니다.

설정 버튼을 누르면 플러그인 설정 페이지가 열리고 설정내용을 입력한 후 사용을 누르면 활성화가 됩니다.

플러그인 페이지가 바뀐 부분은 환영할만한 부분입니다만, 몇 가지 아쉬운 점이 있습니다.

  1. 주로 사용하였던 Daum 책 정보 넣기 플러그인이 종료되었다는 점하구요.
    (종료예정인 플러그인들이 왜 종료되는 지에 대한 설명도 함께 넣어주면 좋을 것 같습니다. )
  2. 플러그인 설명에 대한 미흡함
    1. 태터툴즈에서 제공하는 플러그인의 설명을 클릭하면 텍스트큐브로 이동하였다고 설명하는 페이지로 연결됩니다.
    2. 플러그인을 사용하면 어떻게 변하는 지에 대한 캡쳐 이미지나 왜 사용하면 좋은지에 대한 내용도 매우 부족한 것 같습니다.
  3. 개인이 직접 플러그인을 작성하고 올리수 없는 점 (가이드 같은 것도 같이 제공되었으면 좋겠습니다.)

추가되었으면 하는 플러그인은 Syntax Highlighter를 플러그인으로 만들어 주셨으면 합니다. ^^

// Code from jQuery 
var jQuery = window.jQuery = window.$ = function( selector, context ) {	
// The jQuery object is actually just the init constructor 'enhanced'	
return new jQuery.fn.init( selector, context );};

기대해도 되는거죠?



2008년 7월 25일 금요일

25일

월급날입니다.

대출, 전기세, 카드값 이것저것 때고나니 남는게 없군요.

'도대체 뭐한거지???? -_-;;;;'


2008년 7월 22일 화요일

저의 첫 페이지는 '다음'입니다.

구글 또는 about:blank를 즐겨 사용하다가 요 며칠 전 이슈를 보고서 첫 페이지를 다음으로 바꿨습니다.

처음에는 불편하다가 지금은 꽤 쓸만하더군요. -_-;;;;; 그래도 blank가 더 좋기는 합니다. 쩝~


그러나, 가끔 이 분들을 보기 위해서 네이버는 갑니다. ^^

2008년 7월 21일 월요일

jQuery와 다른 라이브러리를 함께 사용하기

  시작하는 글 

jQuery는 다른 라이브러리와 함께 사용할 수 있도록 만들어졌는데요. jQuery라이브러리와 플러그인들은 jQuery(namespace) 안에 포함되도록 제한되어 있습니다. jQuery의 일반적인 규칙으로 "global"한 객체들은 모두 jQuery(namespace) 안에 정의되어지기 때문에 Prototype이나 MooTools 또는 YUI와 충돌에 관해서 걱정할 필요가 없습니다.

그러나, 단 하나의 예외가 있는데요. jQuery 라이브러리에서 jQuery(namespace)의 shortcut으로 사용되는 $입니다.

  $ 함수 재정의하기 

그러나, 이러한 $에 대해 충돌이 발생하더라도 jQuery.noConflict()를 호출함으로서 해결할 수 있습니다. (jQuery.noConflict()를 호출하기 위해서는 jQuery 라이브러리가 선언된 뒤여야만 합니다.)

<html>
  <head>
    <script src="prototype.js"></script>
    <script src="jquery.js"></script>
    <script>
      jQuery.noConflict();
    
      // Use jQuery via jQuery(...), $가 아닌 jQuery를 사용
      jQuery(document).ready(function(){
         jQuery("div").hide();
      });
    
      // Use Prototype with $(...), etc.
      $('someid').hide();
    </script>
  </head>
  <body></body>
 </html>

jQuery.noConfict()를 호출하게되면 _$(jquery.js 파일이 로딩될 때 기존에 선언되었던 $의 내용을 _$에 저장)의 내용들을 복원하게 됩니다. $를 호출하게 되면 위에서 선언하였던 prototype의 $가 호출이 되지만 jQuery는 페이지의 다른 곳에서 계속 사용할 수 있게 됩니다.

이 외에도 다른 해결책도 있습니다. 다른 라이브러리와 충돌이 나지 않는 shortcut을 선언하는 것입니다.

<html>
  <head>
    <script src="prototype.js"></script>
    <script src="jquery.js"></script>
    <script>
      var $j = jQuery.noConflict();
   
       // Use jQuery via $j(...), $가 아닌 $j를 사용
      $j(document).ready(function(){
         $j("div").hide();
      });
    
       // Use Prototype with $(...), etc.
      $('someid').hide();
    </script>
  </head>
  <body></body>
 </html>

jQuery.noConflict()에서 리턴되는 값은 jQuery입니다. 여기에 $j가 jQuery를 참조하도록 하는 코드구요. 당연히 $j 외에도 여러 다른 기호들을 alias로 사용할 수 있습니다.

  jQuery 코드

jQuery 시작 부분을 보게 되면 jQuery에서 사용되는 jQuery와 $ namespace에 대해서 따로 저장을 하게 되구요.

// Map over jQuery in case of overwrite
var _jQuery = window.jQuery,
// Map over the $ in case of overwrite
    _$ = window.$;

noConflict 함수가 호출되는 경우 이를 복원하는 형태를 취하고 있습니다.

jQuery.extend({
    noConflict: function( deep ) {
        window.$ = _$;

        if ( deep )
            window.jQuery = _jQuery;

        return jQuery;
    },

  참고자료


2008년 7월 20일 일요일

WYSIWYG.CSS - 티스토리 2008 베타

티스토리 2008 베타에서는 wysiwyg.css 스펙을 추가하였는데요. 스킨을 작성할 때 wysiwyg.css를 따로 정의하면 글쓰기 페이지를 로딩할 때 wysiwyg.css를 읽어와서 글쓰기 페이지에 적용하게 됩니다.

지금까지는 Butterfly 스킨, IsBase 스킨, Moving Box 스킨, Pure 스킨, ViewFinder 스킨에 적용이 되었습니다. 아래는 적용한 예이구요.

스킨을 잘 구조화시키고 분리하였다는 생각이 드네요. 에디터의 header를 보면 wysiwyg.css 파일을 link 태그로 뿌려주는 것을 볼 수 있습니다.