2007년 1월 31일 수요일

Apollo, Adobe

User inserted image

조만간 Adobe의 Apollo가 릴리즈 된다는 얘기가 있군요. 2월달의 키워드는 Apollo가 되지 않을까 생각이 됩니다. Apollo와 관련되 키워드를 잠시 정리해보죠.

  • Apollo는 데스크탑에 배포되는 RIA이다.
  • Flash, Flex, HTML, JavaScript, Ajax를 사용할 수 있다.
  • 개발툴은 어떠한 IDE를 써서 개발해도 가능하다.
  • Apollo는 무료다. (Flash Player처럼..)
  • Mac OS X와 Windows를 지원한다.
  • Webkit기반의 엔진(Mac OS X의 Webkit과 완전히 같지는 않다.)을 가지고 있다.
  • 5-9 MB의 런타임 배포다.
  • will be albe to integrate closely with PDF documents(뭐라 번역하면 좋을지 애매하네요)
  • Apollo application은 일반 application 설치와 동일하게 설치된다.
  • CD-ROM에서도 실행할 수 있다.
제공되는 API들은?
  • File I/O
  • Online / Offline
  • Windowing
  • Clipboard
  • System Drag and Drop
  • Full Network API support
  • Local Storage / Settings
  • more...
개인적인 생각
  • Java와 비슷하다.
  • 언어가 다르다.
  • 성공할 것인가?
출처 :

2007년 1월 27일 토요일

개발하는데 사용하는 툴들

User inserted image

저같은 경우에는 개발하는데 이클립스를 기본으로 사용합니다.
그리고, 웹에서 개발하기 위한 기능들을 위하여 몇가지 플러그인들을 사용합니다.
  • 웹(html, js, css)편집을 위한 eclipse wtp project : html, css 편집에 상당히 강력한 기능을 제공합니다.
  • PHP 편집을 위한 pdt project : 이전에는 php eclipse를 사용했습니다. 그런데, 옆자리의 가야님께서 php eclipse에서는 php 코드 내의 javascript에 하이라이팅이 안된다고 하시면서 pdt를 추천해주시더군요.
  • JavaScript편집을 위한 jseclipse
  • 팀내에서 소스관리를 위해 사용하는 subclipse
저만 그런지는 모르겠습니다.... wtp project의 Mac 버전을 받아서 설치할 때, 한국에서 받은 버전은 에러가 나더군요. Manage Configuration에서도 에러가 나구요. 한 다섯번은 삽질을 하게되더군요. -_-;;;

그런데, 혹시나 싶어서 일본서버에서 받아봤는데 에러가 나지 않더군요. --;;;;;;;;



2007년 1월 22일 월요일

감기...

금요일 퇴근하면서 으슬으슬하던게 감기몸살이 되었네요. ㅠㅠ
주말동안 하려고 했던일들 다 멀어지고.. 자꾸 연기하게 되네요. 죄송합니다. (__)

User inserted image

이미지 출처 : http://flickr.com/photos/ajna6/

2007년 1월 20일 토요일

여러분도 지진느끼셨나요?

9시쯤에 흔들 거리면서 두차례나 흔들거리더군요.
혹시나 싶어서 창문을 열어 살펴봤는데 -_-;; 아무 소리도 안들리길래 그런가보다 싶었는데 지진이 있긴 있었군요.

User inserted image

Earthquake Experience Vehicle



그런데, 지진이 짧은 시간에 났음에도 불구하고 음.. 방안에서 떠있는.. 마치 놀이기구를 탄 듯한 느낌이 나더군요.  ^^a ;;;

관련 뉴스 : 강릉 강원 인근서 규모 4.8지진 발생
이미지 출처 : Earthquake Experience Vehicle

2007년 1월 16일 화요일

자리를 옮긴다..

회사생활 시작한지... 고작 2년 6개월 정도 밖에 안됩니다.
그런데, 가는 팀(회사?)마다 이사를 자주 하는 군요. T빌딩의 20층, 39층(여기서 2번정도 자리 배치가 바뀌었었고), 36층(여기서도 3번정도 바뀌었군요.) L빌딩의 20층, 그리고.... 이사!!

User inserted image

이사를 영어로 뭐라하나요? change residence? settle?로 검색한 짤방사진..


책사재기가 취미인 옷모씨로서는 참 괴로운 현실입니다. ㅠㅠ

이미지 출처 : http://flickr.com/photos/samanthalamb/61375256/

2007년 1월 15일 월요일

파리바게뜨의 '행운의 빵'

오늘 저녁 5시 10분 경에 문자를 하나 받았습니다.
[파리바게뜨] 가까운 매장에 방문하시면 행운의 빵이 공짜 쿠폰 No.XXXXXXXXX (~1/17)
퇴근하는 길에 들러서 빵도 사고 행운의 빵도 받았는데요.
행운의 빵은 갓구운 빵이라고 하시던데, 와서 먹을 때 참 따뜻하면서도 부드러운 맛이 좋더군요.

User inserted image

P.S.
행운의 빵 위에는 'Happy New Year, 당신은 많은 것을 가진 행복한 사람입니다.'라고 되어 있네요 ^^

폰트 속성을 쉽게 찾아볼 수 있게해주는, Font properties extension

User inserted image

Microsoft의 홈페이지에는 Microsoft Typography라는 페이지가 있습니다.
TrueType, OpenType폰트에 대한 여러 정보와 프로그램이 제공되고 있는데요. 그 중에서 재미있는 프로그램이 하나 있습니다. Font properties extension이라는 프로그램인데요. 폰트안에 있는 여러가지 속성에 대해서 보여주는 프로그램입니다.


User inserted image

인코딩 정보, Font 및 Font Family Name, Vertical 폰트인지 여부, Embedding하여 사용할 수 있는 지 여부 등에 대한 정보를 볼 수 있습니다. (폰트 파일안에 있는 정보를 보기 쉽게 보여주는 거죠.)

MSDN을 검색할 때는 ie를 쓰자..

거의 대부분의 웹생활을 Firefox를 쓰다보니... 이런걸 놓치게 되는군요. -_-;;;



User inserted image

TextRange를 Firefox에서 본 화면




User inserted image

TextRange항목을 IE로 본화면

Safari의 Windows버전이 출시될 것이라는 소문이 돌고 있습니다.

User inserted image

Ajaxian에 Rumor: Safari for Window?라는 글이 올라왔습니다. Apple에서 "Safari의 Windows버전을 출시하여iTunes와 dot Mac과의 연동"을 고려하고 있다. 라는 내용이 핵심인 것 같은데요. 개인적으로는 iTunes 사용 시 심하게 잡아먹던 리소스 때문에 별로 좋은 기억이 없기 때문에.. 별로 기대를 하지는 않고 있습니다.

iPhone과 관련해서도 dot Mac, iLife와 연계하여 Apple의 Web 2.0 서비스에 대한 글이 올라온 적이 있었는데요. dot Mac에 대해서 한번 지켜봐야하지 않을까 싶습니다.

출처:

P.S. 그래도 연 12만원의 비용을 들이고 사용하기에는 부담이 너무 큽니다. -_-;;

2007년 1월 12일 금요일

2007년 1월 10일 수요일

iPhone에도 Mac OS X처럼 Vector 그래픽으로 처리하는 것 같네요..

Hyeonseok님의 블로그에서 iPhone과 줌 브라우징이라는 글을 봤습니다.
링크된 영상에서 Safari가 보여주는 줌 형식의 브라우징은 사용자들에게 상당히 어필할 수 있을 것 같다는 생각(== 지름신의 도래)이 듭니다. 그런데, Safari에서 사용하는 이미지의 축소 확대를 살펴봤는데요.

User inserted image

중앙의 이미지가 축소된 사이즈임에도 불구하고 image processing이 부드럽게 처리되었죠.


iPhone에서도 Mac OS X의 Quarts처럼 Vector Graphic을 사용하는 모듈을 사용하는 것처럼 보이더군요. (Mac OS X를 돌린다는군요  ㅎㅎㅎ)웹표준을 준수하는 경우 확대 축소도 가능하지만, 이미지 처리까지는 되지는 못하죠. Mac에서는 Quarts로 처리가 가능하죠.
User inserted image

확대한 상태에서도 상당히 깔끔한 것을 볼 수 있습니다.


개인적인 의견으로는 델버님의 의견과는 반대로 한국 시장내에서 상당히 먹힐만한 요소가 많을 것 같습니다.
그러나, 폰자체의 순수한 기능으로서보다는 뭐랄까요, PMP? MP3? 이런 소형 포터블한 Mac으로서가 아닐까 생각합니다.

P.S iPhone에 Mac OS X가 구동이된다면.. ㅎㅎㅎㅎ 지르고 싶다는 욕망이 넘쳐 흐르는군요. ㅎㅎㅎㅎ

Apple Computer가 뒤의 Computer를 때버렸다는 기사를 보면서..

Engadget의 Apple drops "Computer" from name 기사를 보면서...
Computer가 삭제될 때 유성처럼 뿌려지는 Computer단어 앞에서 스티브 잡스가 어떻게 임팩트를 줬을까 궁금해 하게 되네요. 키노트로 작성되었을까요? ㅎㅎ
User inserted image

출처 : Engadget의 Apple drops "Computer" from name

Novalet 사용기

User inserted image
Introduction

Ajaxian에 올라온 Novalet기사를 보다가 Vox보다 가볍게 만들어졌다는 기사를 보고 Novalet Beta를 신청하였습니다. 그런데, 신청한 사람들은 다 주는지 바로 메일로 주소가 날라오더군요. 바로 테스트에 들어가보았습니다.

User inserted image

맨들맨들한 첫 화면~


Create, Edit and Delete Instantly

Novalet의 가장 큰 특징은 블로그 페이지에서 바로 Post, Category, Page 등의 모든 정보를 Admin 페이지에 들어가는일 없이 바로 추가 삭제가 가능한 점입니다. 일반적으로 부르는 Admin(또는 Config)가 없고 동일한 스킨상에서 글을 쓰거나, 설정을 변경합니다.
User inserted image

글쓰기를 바로 그 자리에서~

각각의 포스트나 카테고리 항목도 블로그 화면에서 바로 제어가 가능합니다.
User inserted image
스킨위에서 설정하기 어려운 항목들은 우측의 Adminbar를 통하여 Setting 페이지로 이동하여 설정이 가능하게 되어 있습니다. Adminbar에는 네가지 항목들이 있습니다. Add Post, Manage, Settings, Log out이구요. Manage는 글에 대한관리를 Settingss에는

User inserted image
Settings에는 블로그 설정 사용자 설정 테마 설정을 할 수 있게 되어 있습니다.

[참고로, 이글을 보실 기획자 분들께 Novalet에서 제공하는 스킨은 하나입니다. 스킨 수정가능하지 않습니다. 똑같이 만들라면 만들 수 있습니다. 지금 가진 기능들 다빼면~ ^^]
User inserted image

하나밖에 없는 스킨~


Implementation
기본 라이브러리로 Prototype.js와 Script.aculo.us를 사용하였구요. 에디터는 TinyMCE를 사용하였습니다. Side의 Adminbar와 Top의 메뉴바를 제외하고는 다른 JavaScript는 보이지 않습니다.

Novalet이 가볍다고 기사는 나와있으나 실제 사용한 느낌은 그렇게 가볍지는 않다는 느낌입니다. TinyMCE관련 소스는 Minifying 및 Obfuscating이 되어 있으나 Prototype.js와 Script.aculo.us에 대해서는 Minifying처리가 안되어 있기 때문에 정식 버전이 나올경우 충분히 개선할 여지가 있을 것 같습니다.

에디터로 사용된 TinyMCE에 대해서도 다른 Plugin을 추가하지는 않았습니다.

Problem
문제는 스킨이 담을 수 있는 HTML의 범위를 넘어선 경우, 글 본문의 가로길이보다 더큰 이미지를 삽입하는 경우라던가, 잘못된 HTML이 삽입되어 레이아웃이 잘못될 경우 어떻게 될 것인가가 가장 큰 문제가 아닐까 싶습니다.
User inserted image

레이아웃보다 큰 이미지를 삽입한 경우

Conclusion
그래도, 사용자가 페이지 상에서 바로바로 에디팅할 수 있다는 것은 상당한 매력이 아닐까 싶네요.
아.. 그리고 다국어도 조만간 지원하지 않을까 싶습니다. 언어별 리소스가 en.js로 따로 분리되어 있네요 ^^

출처: Ajaxian의 NovaLet: More simple blogging

2007년 1월 9일 화요일

OpenID 사용하기

요즘에 뜨고있는 OpenID에 대한 글들을 읽으면서 OpenID에 대해서 어떻게 사용할까 많이 궁금해했었는데요.  Simon Willison님의 Weblog에 "How to turn your blog in to an OpenID"라는 OpenID사용과 관련된 포스트와 동영상이 올라왔습니다.
User inserted image
웹서핑을 하다보면 댓글을 쓰거나 웹사이트의 글을 보기위해서 해당 웹사이트에 가입을 해야하는 일이 자주 생깁니다. 이러한 번잡한 일을 하지 않으면서 온라인상에서의 자신의 아이덴티티를 인증받을 수 있는 방법이 없을까요?

OepnID는 이러한 인증을 위해서 LiveJounal에서 개발된 분산된 인증시스템(decentralized authentication)입니다. 현재는 아파치 재단에 의해서 표준화작업이 이루어지고 있으나 몇몇 사이트에서는 OpenID를 사용하여 로그인할 수 있는 방법을 제공하고 있습니다.

1. OpenID를 사용해보려면 먼저, OpenID를 만들어야겠죠. 현재 OpenID를 생성할 수 있게 해주는 곳은 4군데정도 있다고 합니다.
  • LiveJournal - LiveJournal에서는 가입한 모든 유저에게 OpenID를 제공하고 있으며 사용자의 OpenID는 [userid].livejournal.com의 형태로 제공이 됩니다.
  • Vox - LiveJournal처럼 가입한 유저에게 OpenID를 제공하고 있습니다. 사용자의 OpenID는 [userid].vox.com과 같은 형태로 제공이 됩니다.
  • VeriSign Labs - Personal Identity Provider Beta라는 서비스를 제공하고 있습니다만, 서비스에 접속이 안되서 패스 하겠습니다. ^^;; 사용자의 OpenID는 [userid].pip.verisignlabs.com와 같은 형태로 제공이 됩니다.
  • MyOpenID - 가장 널리쓰이고 있는 OpenID 라이브러리의 저자인 JanRain씨에 의해서 운영되고 있습니다. 사용자의 OpenID는 [userid].myopenid.com와 같은 형태가 됩니다.

LiveJournal, Vox의 경우 블로그 서비스를 제공하는 업체로 LiveJournal이나 Vox의 개인블로그의 헤더에 다음과 같이 link태그에 rel="openid.server" 속성과 server위치가 지정이 되어 있습니다.
<link rel="openid.server" 
href="http://www.livejournal.com/openid/server.bml" />
<link rel="openid.server" 
href
="http://www.vox.com/services/openid/server" />
2. 저는 MyOpenID에서 ID를 가입하였구요. Simon Wilson님의 동영상에 나와있는  WikiTravel.org에서 OpenID를 사용해보았습니다. 먼저, WikiTravel.orgLogin with OpenID 페이지로 들어갑니다. 들어간 후 자신의 OpenID를 입력한 후 LogIn버튼을 누릅니다.

User inserted image

저의 OpenID인 okjungsoo.myopenid.com을 입력한 후 Log in 버튼을 누릅니다.

잠시 후 MyOpenID의 Verification페이지로 이동을 하게 됩니다. 여기에서는 자신의 Nickname, Full Name 등 공개할 정보에 대해서 본인이 선택을 할 수 있구요. 한번만 자신의 Identity를 확인할지 영구히 적용할지에 대해서 설정도 가능합니다.

User inserted image
설정을 하게 되면 다시 WikiTravel.org로 돌아오게 되구요. WikiTravel에서 사용할 닉네임에 대해서 다시 설정할지를 보여줍니다.
User inserted image

설정이 완료된 후 다시 Log in을 누르면, 인증이 성공되었다는 메시지와 함께 사이트를 이용할 수 있게 되는 것이죠. Log out한 후에도 다시 Log in후 사용하고 싶으면 Login with OpenID 페이지로 들어가서 자신의 OpenID를 입력한 다음에 이전의 OpenID Verification과정 없이 사용할 수 있게됩니다.
User inserted image

3. 자신의 블로그에도 OpenID를 설정을 할 수 있습니다. 자신의 블로그의 웹페이지의 head tag아래에 다음과 같이 openid.server와 openid.delegate를 설정을 해주면 해당 서버를 통하여 자신의 OpenID를 사용할 수 있게 됩니다.
<link rel="openid.server" href="openid를 제공해주는 서버의 주소를 입력합니다.">
<link rel="openid.delegate" href="자신의 openid를 입력합니다.">
OpenID를 제공해주는 업체들의 서버의 주소는 다음과 같습니다.

OpenID ProviderServer URL
LiveJournal http://www.livejournal.com/openid/server.bml
Vox http://www.vox.com/services/openid/server
VeriSign https://pip.verisignlabs.com/server
MyOpenID http://www.myopenid.com/server

4. 본글은 Simon Willison님의 "How to turn your blog in to an OpenID" 글을 한글화(?)했다고 보시면됩니다 ^^;; OpenID가 표준화될지는 아직 미지수이지만, 재미있는 기술이라는 생각이 드네요.

5. 그리고, OpenID에 대한 관련 링크들입니다.

P.S. 어렵다고 생각되시면 Simon Willison님의 동영상을 보시면 모든 것이 해결됩니다. ^^
P.S.2 자~ 이제 아이디 만들러들 가셔야죠~ ^^

Prototype.js사용 시 Array에서 에러가 나는 경우..

Prototype.js를 사용하는 경우 가끔씩, Array처리하는 코드에서 에러가 발생하곤 하였습니다. 이 때 debugging을 해보면 Array의 마지막에 Array를 구동하는 function의 코드가 나오는게 원인이었습니다.

발생하는 부분이 for(index in loop)의 'for in' style의 루프에서만 발생하여서 'for in' 루프를 사용하지 않았었는데요. Ajaxian에 관련한 기사가 있었네요.

Problem
JavaScript에서 다음과 같은방법 Associative Array를 사용하는 경우에 Array.length값은 갱신이 되지 않습니다. 따라서, for in 스타일의 루프를 사용하게 되면 값을 length가 0이므로 오동작하게 됩니다.
var hardcoreBands = new Array();
hardcoreBands["mathyGoodnes"] = "Dillinger Escape Plan";
hardcoreBands["legendary"] = "Converge";
hardcoreBands["fashionistas"] = "Every Time I Die";

alert(hardcoreBands.length);
for in 스타일의 루프를 사용하지 않고, for(var i=0; i < array.length; i++) 스타일의 루프도 동작을 하지 않습니다.
User inserted image
Solution
Associative Array를 생성해서 사용하는 경우에 String을 key로 사용하지 않고 index를 사용합니다. 또는, Prototype.js의 Hash클래스를 사용하는 것이 나을 것 같습니다.

출처 : Javascript Associative Arrays considered harmful

2007년 1월 5일 금요일

정유진의 웹2.0 기획론

정유진님의 "정유진의 웹 2.0기획론 강력한 웹 2.0서비스를 만드는 13개의 키워드"를 읽었습니다. 읽기전에는 '기획책을 개발자가 왜 읽어?'라는 생각이었는데 개발자들도 읽어볼 필요가 있을 것 같습니다.

현재 서비스되고 있는 웹 서비스의 다양한 방법에 대해서 개념과 목적에 대해서 너무나 잘 정리되어있는 한편의 사전같은 책이라고나할까요? 스스로 정리를 잘하는 사람이라고 생각을 했습니다만, 유진님의 포스는 가히... 강렬하군요 ^^

글쓰기의 가장 큰 핵심인 목차도 아주 잘되어 있어서 목차만 읽어도 큰 흐름은 잡을 수 있을 것 같습니다. 레퍼런스 책으로 써도 좋을것 같네요~ 글도 읽기 편합니다. (소셜화는 좀 어렵더군요.)

별점 : 4.5점
장점 : 재미있게 현재의 웹서비스에 대해서 깔끔하게 정리가 잘되어 있습니다.
단점 : 책 무게가 상당히 무겁습니다. 올컬러가 아니더라도 좀 가볍게 만들어 줬으면 하는 바람이네요


2007년 1월 4일 목요일

Excel에서 Random하게 정렬하기

Excel에서 Random하게 값을 뽑아내야할 일이 있었는데요. 검색을 해보다보니 상당히 쉬운 방법이 있었습니다. mrexcel.comRandomg Sorting tip인데요. 먼저 데이터를 준비하구요.

User inserted image

이 데이터의 C열에 Rand함수를 사용해서 Random값을 생성합니다.
User inserted image

그 다음에 드래그 & 드롭을해서 C열의 각 항목의 값들이 Random값이 들어가도록 합니다.
User inserted image

User inserted image

값을 다 채웠으면 C열을 기준으로 Sorting(정렬)을 하면 Random 정렬이 끝납니다.

User inserted image

오늘의 교훈!~! 조금만 돌아서 생각해보면 쉽게 풀린다~

출처 : http://www.mrexcel.com/tip093.shtml

Dojo Offline Toolkit이 제공된다고 합니다.

User inserted image


Ajaxian에 Dojo Offline Toolkit Kicks Off라는 기사가 올라왔습니다.
Dojo Offline Toolkit이란 사용자가 오프라인 상에서도 작업할 수 있는 기능을 제공합니다.
  1. 사용자가 B사이트에 들어갔을 때, 'Work Offline'이라는 버튼을 봅니다. (오~ 뭘까? 하며 클릭을 해야하죠~)
  2. 클릭 시, 창이 하나 뜨면서 '이 Web Application'은 오프라인에서도 사용가능해!'라는 강렬한 메시지를 전달합니다. (미소를 지으며, 그래 나도 오프라인에서 사용할 수 있으면 좋겠어라며 사용자는 다시 또 클릭을 합니다.)
  3. 사용자의 OS에 따라서 100k~300k 정도 되는 프로그램을 다운로드 받아 설치를 합니다. (인스톨러가 따로 제공이 됩니다.)
  4. 설치된 뒤에는 Web applicatoin의 URL을 북마크 해놓거나 링크를 드래그해서 바탕화면에 깔게합니다.
  5. 온라인 상에서 사용자가 사용하더라도 로컬에 저장이 저장하고 싶은게 있다면 로컬에 저장이 가능합니다. 오프라인인 경우에도 Web Application 링크를 클릭하거나 북마크를 클릭하거나 URL을 입력하고 들어감으로 Web Application을 실행시킬 수 있습니다.
  6. 실행을 시키면, 마법과 같이(Ajaxian에 그렇게 되어 있군요 ㅎㅎ) 온라인상에서의 Web Application이 화면에 나타납니다. 오프라인임에도 불구하고 !!
  7. 사용자의 로컬에 저장되어 있는 데이타는 언제라도 읽어들일 수 있고 다시 수정하여 로컬에 저장할 수 있습니다.
  8. 또한, 온라인에 다시 연결될 경우 Dojo Offline은 이를 알아채고 로컬에 있는 데이타들을 웹서버에 보낼 수 있게 해줍니다.
로컬에서의 저장은 Dojo Storage를 사용하게 되는데, 사용자의 허락하에 부라우져에서 몇 백KB에서 MB까지 저장이 가능합니다. Dojo Offline Toolkit은 IE, Firefox, Safari에서 동작이 가능할 것이며(will work라 되어 있네요), Windows, Linux/x86, Mac OS X/Universal Binary에서 구동될 수 있다.(여기도 will run)


상당히 재미있으나 강렬한 기능일 것 같습니다만, Dojo를 사용해야한다는 점이...걸리네요.(언제 또 다 공부할지 ㅠㅠ)

출처 :

2007년 1월 3일 수요일

Vox에서 사용된 toolbar의 css hack

Vox의 toolbar에 적용된 css를 보면 처음 보는게 한가지 있는데요.
<a class="command-bold toolbar button" id="test3"><b>C</b></a>
특정 element의 class에 공백을 주는 방법이 있더군요. (저는 처음 봤습니다.)
a.button
a.button.toolbar
a.button.toolbar.command-bold
a.command-bold
a.toolbar
a.toolbar.command-bold
...
각각이 css에 적용이 될 수 있더군요. 각각은 우선순위를 가지고 있구요.
단계를 상세히 적을수록 우선순위가 더 높은 것 같습니다. vox에서는 각각의 비슷한 element들이 병렬로 연결됬을 때 공통된 style은 a.button에 정의하고 상세한 style은 a.button.command-bold와 같은 형태로 적용을 했더군요.

참으로 신기한 css의 정신세계라고나 할까요 ^^

Copyright
코드의 모든 권한은 Six Apart에 있습니다. Six Apart의 JavaScript 코드는 Copyright과 Disclaimer를 포함하는 조건하에서 재배포가 가능합니다.

Copyright (c) 2005, Six Apart, Ltd.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

   * Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

   * Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.

   * Neither the name of "Six Apart" nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


P.S. IE6에서 다중 클래스 적용 문제

<a class="command-bold toolbar button" id="test3"><b>C</b></a>에 대해서 command-bold class 적용하고 toolbar에 대해서 적용한 class에 대해서 각각에 대한 적용은 됩니다.

그런데 a.toolbar.command-bold와 같은 css는 적용이 안되고 에러가 납니다.
제가 실험을 제대로 안했네요. 죄송합니다. (__)


2007년 1월 2일 화요일

WTP의 HTML formatting

Eclipse의 WTP(Web Tools Platform Prjoect)는 웹과 관련된 여러가지 기능을 제공하고 있습니다.
개인적으로는 HTML 편집을 위해서 주로 사용하고 있구요. HTML의 자동완성 기능은 상당히 강력합니다.

User inserted image

attribute의 이름에 대한 자동완성기능


User inserted image

attribute의 값에 대한 자동완성기능


tag를 쌍으로 만들어주기부터 attribute설정 및 attribue값에 대한 자동완성 기능을 제공해줍니다.
이 외에도 닫아주는 태그가 빠진 경우 표시해주는 등의 다양한 기능이 제공되고 있습니다. 만....

개인적으로 잊어먹고 있던 기능이 있었는데요. Java Programming 할 때 사용했던 Format기능입니다.
단축키는 Java에서 사용했던 단축 키와 동일한 것 같습니다. (Java했을 때는 Windows, 지금은  Mac이거든요.)

User inserted image
아쉬운 점은 (아니면 제가 못찾았을 가능성이 높습니다. -_-;;; 아시는 분은 가르쳐 주세요 ^^) Format > Document를 하는 경우 긴 tag에 대해서 내려쓰기 정도만 지원되고 들여쓰기는 지원이 안되는 점입니다.

대신에 Format위의 Cleanup Document를 클릭하게 되면 Cleanup창이 뜨는데요.

User inserted image


Cleanup창에서는 Missing tag를 채워주기 부터 attribute의 이름을 소문자 또는 대문자로 일괄 변경, tag의 이름을 소문자 또는 대문자로 일괄 변경하는 꼭 있었으면 하던 기능이 제공되더군요.
(xhtml에서는 모든 태그들이 소문자로 작성되야 한다고 합니다. ^^;;)


P.S
개인적으로 이클립스로 js, html을 개발하면서 편하게 생각하고 있는 기능이 있는데요. html페이지를 Open with를 사용해서 브라우저 상에서 바로 볼 수 있는 방법입니다. (이클립스의 내장 브라우저로도 되지만, 파폭이나 IE에서 디버깅 등을 하기 위해서는 브라우저를 띄우는게 가장 좋겠죠.)
User inserted image

  1. Eclipse의 Window > Preferences에 들어갑니다.
  2. General > Editors > File Associations를 클릭합니다.
  3. *.htm, *.html을 선택하고 Associatied editors에서 Add를 눌러서 외부 프로그램을 선택합니다.
  4. Package Explorer에서 Open with를 눌러서 브라우져를 실행시키면 됩니다.

주의 : Mac에서는 사용못합니다. ㅠㅠ
User inserted image

2007년 계획

'07년도 목표는
2006년도의 목표는.. 생각해보니 없었던 것 같네요.  ^^;;;;;;
2007년에는 2006년 목표부터 생각했던 것의 연속이지만 나름 목표가 있습니다. (사실 남들 올리길래 나도 따로 올려보자는 욕심(?)이긴 합니다.

Personal
1. 일주일에 두 번은 운동을 하자. (세번을 하고는 싶지만.. 시간이 안날것 같네요. 노는 시간도 있어야죠 -_-;; )
2. 주간 목표를 세우자.
3. 가계부를 매일 쓰고, 지르지 좀 말자.
4. 한 달에 책 두 권을 읽자.

Work
5. 새글쓰기를 목표했던 대로 개선하기
6. 오픈소스 프로젝트 올하반기까지 동작하는 프로그램으로 만들기

Relationship
7. 좀 더 많은 사람들과 네트워크 만들기(한 50명정도 만나기면 될까요? ^^;;)
8. 올해는.. 여자 친구 만들기를 꼭 해보자. (매년 결심했으나 실패했던.. 핵심 과제일까요? -_-;;;)


늦었지만.. 새해 복 많이들 받으세요 ^^
세상은 마음 먹은대로 돌아가지 않는 법인가보다. 젠장...