2008년 1월 31일 목요일

JSDT

JSEclipse를 사용하여 JavaScript 코드를 보던 중 prototype 1.6 기반의 소스코드를 보게 되었습니다.
var Editor = Class.create(...) 와 같은 형식의 코드는 JSEclipse의 Outline 뷰에서 전혀 동작을 하지 않더군요.
사용자 삽입 이미지

혹시나 싶어 JSEclipse 업데이트 버전이라도 있을까 싶어서 Adobe lab을 뒤져봤지만, 보이는 것은 JSEclipse가 죽었다는 사용자들만의 불만만 보이더군요. 결국 새로운 IDE를 검색해 보았지만, 마땅한 대안은 보이지 않더군요.
사용자 삽입 이미지

그나마, 기대를 갖게하는 것은 JSDT(JavaScript Development Tools)입니다. JDT(Java Development Tools)를 기반으로한 JavaScript 에디터이구요. prototype, dojo도 지원할 예정이라고 합니다.

기능 스펙 보기 ..


비슷한 부서가 함께 있는다고 시너지가 나는 것은 아니다!!

"비슷한 부서가 함께 있는다."
이말을 다시 풀어쓰면,
"개발 팀은 개발 팀끼리 묶어서 한 곳에 놓는다."
와 동일한 의미로 볼 수 있습니다. 이런 경우 몇 가지 예상치 못한 결과가 올 수 있습니다.

사용자 삽입 이미지

  1. 대부분의 불행한 케이스로 남자의 비율이 과도하게 높아져 팀 분위기 자체가 칙칙해지면서, 회사를 가도 아무런 즐거움이 없는 어둠 속으로 빠질 수 있습니다.
  2. 특히, 회식 때 삼겹살+소주, 맥주의 로테이션이 무한 루프로 들어갈수가 있죠.
  3. 덕후가 덕후를 알아본다고 끼리끼리 모여서 덕후 짓 또는 게임의 세계로 빠질 수도 있습니다. (이거~ 위험하죠..)
  4. 사람들의 생체 시간이 왜 이리도 비슷한 지... 9시 전후, 오후 2시 정도에 화장실 자리싸움은 오늘도 어김없이 진행됩니다. 이 시간대에는 신문 보는 것을 삼가해 주세요 -_-;;;;;
음..... 또 어떤 해악이 있을까요 ^^



2008년 1월 30일 수요일

ip-address.com

사용자 삽입 이미지

부엉이님이 알려 준 IP 확인하는 My IP(ip-address.com) 사이트입니다. ip부터 회사, 지역, 사용자까지 알 수 있군요~ 몰랐어요 이런게 있는지 ㄷㄷㄷ -_-;;;;

2008년 1월 28일 월요일

distance하면 미터일까요? 마일일까요?

헬스클럽에 가게되면 러닝머신을 자주 이용하는 편입니다.(사실은 달리기만 하다 옵니다.;;;)
평소에는 아무런 생각이 없다가 어느날 계기판을 들여다보니 distance 4.00으로 나오더군요.

사용자 삽입 이미지

거리낌없이 4km이겠지 하고 생각을 했었는데... 자세히보니 단위가 없더군요. -_-;;
머신을 이리저리 살펴보니 cybex라는 단어가 눈에 띄어서 한... 두 달정도 뒤인 오늘 드디어 검색을 해봤습니다.
(모델은 LCX|425T라는 모델입니다.)

그러나, 역시 단위에 대해서는 나오지 않더군요.
Graphic Display
Upper display may scan or select between distance, calories,
calories/hr, METs, pace, and heart rate. Lower display shows
time, incline and speed.
눈에 띄는 것은 distance가 나온다는 얘긴데... distance하면 기준 단위가 마일일까요? 아니면, km일까요?

이미지 출처: Cybex intl.

P.S> Cybex international에 distance의 단위에 대해서 질문을 어제 했었는데 오늘 확인해보니 답변과 함께 메뉴얼을 보내줬네요 ^^;;;;;.

모든 단위 체계는 기본 단위(unit) 설정을 Eng로 할 지, Euro로 할 지에 따라 달라진다고 합니다.
  • Eng -> miles
  • Euro -> kilometers
상식적으로 생각해봐도 매일 4mile(6.437376km)을 달릴 순 없겠죠 -_-;;;; (회사에서 졸 수도 없잖아요~)

Rules of Thumb.org

(a) rule of thumb : 주먹구구, 눈어림, 손대중, 경험 법칙
Rules of thumb.org는 사용자들이 얻은 경험들을 공유하고 그 경험에 대한 추가 덧글이나 추천을 하는 시스템입니다.
사용자 삽입 이미지

"Be Famous"라는 타이틀에 비해서는 'Rule of Thumb'가 많이 부족합니다만... 이런 서비스도 있네요..

관련 링크: Web Site Attempts to Collect Every Rule of Thumb - ReadWriteWeb

P.S> "Rule of thumb"의 의미가 네이버 사전에서는 주먹구구, 눈어림, 손대중과 같이 부정적인 의미인 반면에 Rules of thumb.org에서는 상당히 좋은 의미로 쓰인 것 같네요. 뭐라 해석하는게 정확할지..

2008년 1월 26일 토요일

JSLeaksDetector

Rhio.Kim님의 블로그에서 'JavaScript Memory Leak Detector - 자바스크립트 메모리 누수 디텍터'글을 보고 설치를 해보았습니다. (Rhio.Kim님 좋은 글 감사해요 ^^)

  1. JSLeaksDetector는 IE에서 Memory leack을 측정하는 툴입니다.
  2. 설치는 인스톨러에 나와있는 명령대로 설치를 하면 됩니다. (바로 설치하니 나오지 않더군요. 저의 경우 재부팅 후 활성화가 되더군요.)
  3. JSLeaksDetector을 실행시키기 위해서는
    • '메뉴 모음 > 보기 > 탐색창 > js memory leaks detector'를 클릭하면 IE Dev toolbar 처럼 창의 하단에 나오게 됩니다.

    • 또는 '명령 모음 > 도구 > 도구모음 > 탐색창 > js memory leaks detocr'를 클릭합니다.
  4. 그 다음에, '도구 > 인터넷 옵션 > Advanced > Disable script debugging(Internet Explorer)'의 체크를 풀어서 디버깅이 가능하게 설정합니다.
  5. JSLeaksDetector에서 Settings를 눌러서 IE6/7 또는 Actual leaks를 눌러서 각각의 케이스의 경우에 Memory leak에 대한 체크를 설정합니다.
    • IE6: where all circular references are considered leaks
    • IE7: where only the DOM objects detached by the markup at "closing" time could be leaked. (IE 7에서는 circular reference에 대해서 gc 시점에 제거를 합니다.)
    • Actual leaks: look for leaked DOM elements.
      사용자 삽입 이미지
  6. 페이지를 load/unload를 해보면서 memory leak을 찾아보면 됩니다.
    사용자 삽입 이미지

사용 소감: DOM leak에 대해서는 잘 찾는 것 같습니다만, jsObject에 대한 Memory leak에 대해서는 잘 모르겠네요.^^;; - 만들었던 페이지를 이동하면서 보니 leak이 생각외로 많군요;;;;;

출처:

EazzzY USB Camera

EazzzY USB 카메라가 Engadget에 올라왔습니다. 뷰파인더나 LCD 카메라 없이 촬영할 수 있는 버튼 하나만을 가지고 있는 카메라로 USB 포트를 사용해서 찍은 이미지를 옮길 수 있는 카메라입니다.

사용자 삽입 이미지

기능적인 디자인보다는 감성적으로 마음에 찍혔으면하는 이미지를 상상해서 찍어보는 카메라...

마음에 드네요. ^^ 가격도 그렇게 비싸지는 않을 것 같지만... 컨셉디자인이라서... ^^;;;;
디자이너 분이 Sungwoo Park 님이라고 하네요 한국인 디자이너실까요? ^^

출처:

P.S> 구글에서 EazzzY 카메라를 검색하다보니 Mahalo의 검색 결과가 상당히 높게 잡혀 있네요.
사용자 삽입 이미지

2008년 1월 24일 목요일

친구가 맥북프로를 산다고 자랑을 했었다.

다음날 Engadget에 올라온 'MacBook Pro rumored to be getting multi-touch trackpad, sun also rumored to rise tomorrow' 기사를 기쁜 마음에 알려줬다.

사용자 삽입 이미지
앗싸~  그래도 부럽네.. 휴~ -_-;;;

관련 링크: 친구 놈의 '맥북 프로 지름 현장 포스트'?
이미지 출처:  애플스토어의 맥북 프로사진 입니다.

dW Review Blogger 2.0

IBM의 developerWorks(이하 dW)에서 dW의 글들을 리뷰(또는 홍보)해 줄 블로거들을 모집하네요.
  • 활동비 : 월 10만원 지급 (월 3건 이상 포스팅 시 지급)
눈에 가장 띄는 문구 월 10만원 지급 *_*;;;;;;;
dW 글들이 좋와서 읽고 링크걸기도 했었는데, 돈도 받는다면.. 으왕ㅋ굳ㅋ이군요 ^^;;;

출처: dW Review Blogger 2.0: IBM developerWorks가 dW Review Blogger를 모집합니다.


2008년 1월 21일 월요일

Zivity

TechChrunch에 'As Promised, Zivity Founder Does The Full Monty'라는 기사에 Zivity라는 서비스가 올라왔더군요. 좀 야시시한(?) 사진과 함께 NOT SAFE FOR WORK라는 친절한(또는 강렬한) 메시지에 무심코 클릭을 하게 되더군요.
 What's Zivity?

Zivity offers a reality media platform for sexy models and beautiful photography where members get to distribute royalties to the models and photos they find appealing via Zivity's patent-pending dollar-backed voting system. With a $10 subscription, members receive five votes every month to cast for their favorite Zivity stars.
Zivity의 서비스(특허 대기중인 dollar-backed voting system)은 서비스에 $10을 내고 가입하면 Zivity의 스타들을 선출할 수 있는 투표권 5장을 부여받게 됩니다. 이 투표권을 이용해서 자신의 마음에 드는 스타들에 투표하여 순위를 변동(?) 시키고 그 결과에 따라서 금전적인 보답(? - Reward)을 받게 되는 서비스 인 것 같네요.
(역시 번역은 힘들군요 ㅠㅠ, 공돌이는 관련 도서나 봐야.. 쿨헉~ -_-;;;)

사용자 삽입 이미지

출처: As Promised, Zivity Founder Does The Full Monty
이미지 출처: Zivity

P.S> Zivity가 뭔지 Wikipedia에서 검색해보니 단어에 대한 뜻은 없군요. Scott Banister 씨(Chairman of Zivity) 항목에서 소개가 나오기는 나오는데.... Social Networking site로 나오는군요. 오호~
사용자 삽입 이미지

2008년 1월 17일 목요일

3일간의 회식 후...

월요일은 대학교 친구들과 오랜만에
화요일은 rirublue님 퇴사하신다고 회식이..
수요일은 K이사님과 팀회식이...

오늘도 술 기운을 빼기 위해 열심히 달렸건만 남는것은 살뿐;;;;;

사용자 삽입 이미지

2008년 1월 15일 화요일

과속 방지 단속기를 민자사업으로 추진하다면?

(아마 다른 분도 생각하신 적이 있을 듯한 아이디어입니다. ^^;;;)

길을 걷다 보면 건널목에 파란불임에도 질주하는 차량이나 과속하는 위반 차량이 많은데요. 단속인원도 부족하고 단속기도 많이 부족한 형편이죠.

이런 건널목에 민간인이 돈을 투자해서 설치하고 단속 비용을 부분적으로 받게하면 위반사항이 팍 줄지 않을까요? -_-;;;;;;;

문득 생각이 들어서 서울시 상상제안에 제안한번 넣어봤습니다.

P.S> 사이트에 상상제안에 넣는다고해서 메인에 바로 노출은 안되나보네요. 사용하기 불편하네요 쿨헉~ -_-;;;;

세대차이?

사용자 삽입 이미지

하고 있는 업종의 일과 관련되어서 대략의 뜻은 알지만.. 이런 글을 보다보면 가끔 세대 차이가 느껴지기는 합니다. -_-;;;;;;;

2008년 1월 13일 일요일

직화냄비

"군고구마의 참 맛을 느끼려면 직화냄비를 지르세요!!"라는 엄끼님의 말이 무의식 중에 가슴에 와 닿았는지
마트에서 장을 보던 중 무심 결에 직화냄비(불에 구워먹을 수 있게 바닥에 구멍이 뚤린 냄비?)를 질러버렸습니다. 사서 이틀 간 군고구마를 굽고나니 탄냄새가 방안에 진동을 하는군요;;;;;;;

굽고나서 뭘 해먹어야할 지 인터넷을 뒤져보니 다음을 할 수 있다고 합니다.
  • 고구마
  • 감자
  • 오징어
  • 밤 - 구울 때 잘 튀고, 먹기 힘들다는 rimo님의 평
  • 쥐포
또 뭐가 있을까요? 흠~

P.S> 오늘도 마트가서 고구마 좀 사서 사진 찍어 올려야 겠네요. -_-;;
P.S.2> CJMall에 "죽염안동 간고등어 16마리 + 직화냄비"를 같이 판다는데 혹시 간고등어를 직화냄비에 구워 먹을 수 있다는 얘길까요? -_-;;;

특정 element의 css 스타일 속성을 얻어오기

function getStyle(elementID, propertyName)
{
// 1. element를 얻어옵니다.
var element = document.getElementById(elementID);

// 2-1. ie인 경우
if (element.currentStyle)
{
// 2-2. currentStyle 속성을 이용하여서 propertyValue를 얻어옵니다.
var propertyValue = element.currentStyle[propertyName];
}
// 3-1. Firefox, Opera 등의 경우
else if (window.getComputedStyle)
{
// 3-2. element에 적용된 CSS 스타일들(CSSStyleDeclaration object)을 얻어옵니다.
var computedStyle = document.defaultView.getComputedStyle(element,null);

// 3-3. 속성 이름을 인자로 넘겨서 propertyValue를 받아옵니다.
var propertyValue = computedStyle.getPropertyValue(propertyName);
}
return propertyValue;
}
quirksmode.org에 소개되어 있는 특정 element의 style 속성 값을 얻어오는 함수입니다.
  • IE의 경우 currentStyle 속성을 이용해서 값을 얻어오고
  • Firefox나 Opera의 경우에는 getComputedStyle을 이용해서 값을 얻어옵니다.
출처: Quirksmode.org - Get Styles

P.S> 어쩌다 yagne.com의 yag_lib.js를 보게 되었습니다. getStyle과 같이 element의 style의 특정 속성을 가지고 올 때,
  1. 가장 먼저보는 곳이 element.style[property]를 살피고
  2. 그 다음 처리가, element.currentStyle
  3. 그리고 window.getComputedStyle을 호출하네요.
var camel = YOB_String.camelize(property);
if (ele.style[camel]) {
    return ele.style[camel] || null;
}
else if (ele.currentStyle) {
    return ele.currentStyle[camel] || null;
}
else if (document.defaultView && document.defaultView.getComputedStyle) {
    return document.defaultView.getComputedStyle(ele, null).getPropertyValue(property) || null;
}
else {
    return null;
}
element.style[property]에 설정되는 값은 CSS 적용 룰에서 최우선적으로 적용되기 때문에 2,3의 코드를 탈 필요도 없이 바로 확인이 가능하겠죠.
Element.Methods = {
    getStyle: function(element, style) {
        ...
        var value = element.style[style];
        if (!value) {
            var css = document.defaultView.getComputedStyle(element, null);
            value = css ? css[style] : null;
        }
        ...
    },
}

if (Prototype.Browser.Opera) {
    Element.Methods._getStyle = Element.Methods.getStyle;
        ...
    };
}
else if (Prototype.Browser.IE) {
    Element.Methods.getStyle = function(element, style) {
        ...
        var value = element.style[style];
        if (!value && element.currentStyle) value = element.currentStyle[style];       
    };
}else if (Prototype.Browser.Gecko) {
  Element.Methods.setOpacity = function(element, value) {
  };
}
prototype도 동일하게 되어있네요. 다른 점은 2,3의 코드를 로딩타임에 브라우져 별로 분리하여서 로딩하네요.

텀블러

사용자 삽입 이미지

따뜻한 커피를 먹자는 일념하에 스타벅스 텀블러를 질러버렸습니다. -_-;;;;(돈 없다면서도 여전히 너무 잘 지르는 것 같네요.) 사기는 샀지만 텀블러가 뭔지를 잘 몰라서 위키피디아에서 검색을 해봤는데요.
Tumbler란?
Flat-bottomed glassware and drinkware without a handle, foot, or stem (see also shot glass and old fashioned glass)
Flat-bottomed glassware는 바닥이 평평한 유리로 만들어진 그릇이고, 에.... 손잡이랑 발이랑 stem(칵테일 잔처럼 나온부분)이 없는 잔을 뜻한다고 하네요. 검색하다보니 상당히 방대한 모양의 잔이 존재하고 이들을 부르는 명칭이 다 다르더군요. (게다가 이들의 모양새와 관련된 것 들 대부분이 이라는 점도 매우 인상이 깊군요)

사용자 삽입 이미지
그나저나, 잔이 달라지면 술 맛도 달라질까요? -_-;;;;; 2~3시간 정도는 온도가 지속되는 것 같네요. (공식적으로는 한 시간 정도 유지된다고 합니다.)

출처: 위키피디아 - Tumbler

P.S > 텀블러 구입하자말자 색상이 업그레이드 된 새로운 모델이 나왔군요 -_-;

P.S.2 > 텀블러를 씼을 때, 텀블러의 목이 길어서 깊숙히 씼지 못하겠더군요. 마트가서 수세미코너에서 열심히 찾아봤는데 깊숙한 부분까지 씼을 수 있는 솔은 찾지 못했습니다. 점원 분께 물어보니, 젖병 닦는 솔을 애기 용품코너에서 파니 그것을 구매하라고 하더군요.
사용자 삽입 이미지

뭐라 불러야 될지 쇼핑몰의 상품을 찾아보니 일명 '젖병 솔' 또는 '젖병 브러시'라고 부르네요. (Nursing Bottle Brush)

- 이미지 출처: Regal Manufacturing Company by google

탭 브라우징과 'hyperlink'

사용자 삽입 이미지

IE와 Firefox에서 탭 브라우징을 할 때 불편한 점. 링크를 마우스로 클릭할 때

Ctrl+Shift를 누르면서 클릭하면
  • Firefox - 탭 이동 없이 링크주소의 내용이 탭브라우져(?)에 뜹니다.
  • IE - 링크 주소의 내용이 탭브라우져에 뜨면서 현재 탭에서 새로운 탭으로 화면이 전환됩니다.
반대로, Ctrl을 누르면서 클릭하면
  • Firefox - 링크 주소의 내용이 탭브라우져에 뜨면서 현재 탭에서 새로운 탭으로 화면이 전환됩니다.
  • IE - 탭 이동 없이 링크주소의 내용이 탭브라우져(?)에 뜹니다.
태그의 속성(anchor태그의 target 속성과 상관이 없나 실험을 대충 해봤습니다.)과는 상관 없이 동작을 하네요. 확대/축소할 때 마우스 스크롤 방향에 따라 다른 것처럼 반대로 동작하네요 -_-;;;;

이런 동작도 표준으로 해주면 좋겠네요........ --;;;;;;;

2008년 1월 11일 금요일

Sourceforge.net에 Marketplace가 생겼네요.

Sourceforge.net에 Marketplace가 생겼다는 안내메일이 왔더군요.

사용자 삽입 이미지

기존에는 오픈소스를 제공하고 reputation과 feedback을 공개하는 시스템이었다면 Marketplace는 서비스에 대한 정보를 가격과 repuatation과 feedback을 함께 공개하는 시스템이라고 하네요. 이미 ZDNet의 Ed burnette이 Michael Rudolph sheds more light on SourceForge Marketplace라는 기사를 2007/04/17에 썼었네요. 음.. 아마도 포인트는
Sellers as "service providers for Open Source Software" and the buyers as "technology professionals around the world."
라고 생각되는데.. 요즘 오픈소스는 Sourceforge.net보다 구글코드에 많이 가게되던데, Sourceforget가 어떻게 바뀔지 지켜보는 것도 재미있을 거라 생각됩니다.

출처:

2008년 1월 10일 목요일

웹사이트의 타이틀을 쉽게 복사하기

Jon Aquino 씨의 묵혀둔 RSS를 뒤져보다 Copy Title bookmarklet이란 포스트를 보개 되었습니다.
Copy Title bookmarklet은 자신이 보고 있는 사이트의 타이틀을 쉽게 복사할 수 있게하는 북마크릿인데요.
  1. Q/A 팀에서 버그를 보고하는 경우 해당하는 페이지의 타이틀을 복사해서 붙여넣으려면 직접 입력하는 방법 밖에 없습니다.
  2. 북마크릿에 자바스크립트 코드를 넣어서 북마크릿을 실행하는 경우
  3. 해당하는 페이지의 타이틀(document.title)을 읽어와서
  4. body태그의 가장 첫 번째 element로 input안에 타이틀을 넣어서 삽입합니다. 즉, 웹페이지의 가장 상단에 타이틀이 선택된 채로 나오게 되겠죠.
  5. input.select()를 호출하기 때문에 당연히 해당 타이틀이 선택된 상태이므로 북마크릿을 클릭한 후 Ctrl+C만 누르면 쉽게 타이틀을 복사할 수 있습니다.
작지만, 효율을 높일 수 있는 재미있는 아이템이 아닌가 싶습니다.

소스코드 (한 줄로 되어있는 코드를 풀었습니다.)
javascript:
var input = document.createElement('input');
input.type = 'text';
input.value = document.title;

input.style.width = '500px';
document.body.insertBefore(input, document.body.firstChild);
input.focus();
input.select();
출처: Copy Title bookmarklet

2008년 1월 6일 일요일

프랑크푸르트를 통해서 입국 시 여권에 서명 꼭 하세요!!

작년 9월에 여행갔을 때 프랑크푸르트 공항에서 한 15분간 붙들려서 영어 인터뷰(?)를 했었습니다.

"얼마 가지고 왔냐?"
"숙소는 어디냐?"
"돌아가는 항공권 좀 보자."
"직업이 뭐냐?"

등등의 여러 질문을 했었는데... 불법체류자(?) 처럼 바라보는 시선이 상당히 기분이 나빴었는데 알고보니 여권에 서명이 빠져 있어서 그랬다고 하더군요. 그런데, 며칠 전 투익 공지사항을 보니 "2008년 부터 여권에 서명이 없는 경우, 입국거부나 2000유로의 벌금을 물어야한다"고 올라왔더군요. 여행 시 주의하셔야 될 것 같습니다.

관련 기사: 투익 - 한국인이 프랑크프르트/뮌헨 입국시 주의사항!!

2008년 1월 3일 목요일

Zend Studio for Eclipse 버전 설치 시 JVM terminated. Exit code=-1이 발생한다면?

강력한 PHP 툴인 Zend Studio for Eclipse를 사용해보려 하는데 계속 에러가 나더군요. 그래서 JVM 재설치도 해보고 (Zend Studio for Eclipse 패키지에 jre가 같이 배포됩니다.) 삭제 재설치도 몇 번 해봤는데 안되서 eclipse 옵션이 잘못되었나 수정을 해봤는데요.
사용자 삽입 이미지

ini 파일의 --launcher.XXMaxPermSize 256m(뒷 부분은 다른 줄에 있었습니다.) 의 뒷부분 256m를 같은 줄로 옮기니 Zend Studio for Eclipse 런칭이 가능하더군요. -_-;;;;;;;; 정확한 해결책은 아니지만 Zend.com 검색결과로는 해결책이 나오지는 않네요. 다른 컴퓨터에도 설치해봤는데 거기에선 정상적으로 바로 런칭이 가능했습니다.

2008년 1월 1일 화요일

올해의 지름 리스트

새해를 맞이하면서 (복리후생비가 다시 채워지는 관계로) 지르려고 했던 품목들을 정리해보았습니다.

역시 1 순위는 dyson 청소기!!!
사용자 삽입 이미지

2 순위는 밥솥.... 맛난 밥먹고 살아야죠... (아직 제품은 결정하지 못했습니다.)

3 순위는 Zend Studio for Eclipse - PHP 디버깅에 프로파일링에 리팩토링 도구 등등등을 제공합니다. 회사에서 사줄리는 만무하고 개인적으로 하나 구매했으면 하네요. (제 컴에서는 잘 죽어서 아직 고민중이기는 합니다.)
사용자 삽입 이미지

세 개 생각하고나니 복리후생비 다 썼군요. ㅠㅠ
올해 말까지 무슨 낙으로 살아야하나 휴....

이미지 출처 및 관련링크

htmlspecialchars()

PHP의 htmlspecialchars() 함수는 html에서 사용되면 안되는(html 태그로 인식되거나 html, js에서 문제가 될 수 있는 문자열)들을 변환해주는 함수입니다. (변환되는 항목은 php manual을 참고)
string htmlspecialchars ( string $string [, int $quote_style [, string $charset [, bool $double_encode ]]] )
첫 번째 인자는 변환할 문자열을 받구요.
두 번째 인자는 ' 또는 " (single quote 또는 double quote)를 어떻게 처리할 지에 대한 여부를 결정합니다.
  • ENT_COMPAT - " (double quote)만 변환합니다.
  • ENT_QUOTES - '와 "(single, double quote) 모두 변환합니다.
  • ENT_NOQUOTES - 아무것도 변환하지 않습니다. (quote에 대해서)
세 번째 인자는 변환 결과에 대한 charset이며
네 번째 인자는 인자로 받는 문자열에 html 태그가 있는 경우 이를 변환할 지 말지에 대한 flag를 받습니다.

htmlspecialchars()와 반대되는 함수인 htmlspecialchars_decode()도 있습니다. 역으로 변환했던 내용들을 다시 변환해줍니다. 첫 번째, 두 번째 인자는 htmlspecialchars()와 동일합니다.
string htmlspecialchars_decode ( string $string [, int $quote_style ] )
만약, 주어진 문자열이 htmlspecialchars()로 변환 되었을 수도 있고 아닐 수도 있는 경우에 정상적으로 페이지를 보여주려면 어떻게 해야할까요?

정답(?): htmlspecialchars_decode()를 호출해 준 다음에 다시 htmlspecialchars()를 호출해줍니다. (입력된 태그를 태그로 처리한다면 답은 아니겠죠;;;;;;;;)

관련자료

2008년 새해가 되었습니다.

새해가 되었으니 새로운 마음으로 새로운 생활을 해야겠지라는 생각으로 정신차리고 돌아보니 집구석이나 회사책상이나 어지러운 난장판이 되어버렸고, 블로그는 운영안한지 꽤 되었고 사는게 힘들다는 투정만 마지막 글로 올라왔네요. 연말을 맞이하여 마구 먹은 음식은 살로 고스란히 돌아와서 몸무게도 2.23% 증가를 해버렸군요. (kg 단위로는 밝히기 어렵죠~)

새해라는 핑계지만 마음을 다시 잡고 지금은 다시 일어서야하지 않을까 생각이 듭니다.
2007년에 새웠던 목표 중 대부분은 포기하였지만 '매일 운동하기'는 나름 성공한 듯 합니다. (실제로는 일주일에 3번 정도가 될 것 같네요.) 2008년에도 지킬지 모를 목표를 또 세우지만.. 역시 지켜지는 것은 개중에 하나겠죠? ^^

2008년 새해 복 많이 받으세요. ^^