http://www.opera.com/dragonfly/
Debug 메뉴가 생깁니다.
지난 10월 사내에서 위젯 뱅크용 '위젯 컨테스트'가 있었습니다.
예전 부터 위젯을 좋아 했었고, 상품이 탐(?)이 나서 도전했었습니다.ㅎㅎ
1등은 무려 스쿠터!!!!
아이팟 터치와 닌텐도DS 등도 상품목록에 있었습니다.
솔직히 1등까진 안바랐습니다~ 그래서 1등을 못한건지도 모르죠 ㅎㅎ
상품이 좋아서 그런지 참여율이 대단했습니다.
하지만 그것이 꼭 상품 때문만은 아닌듯 합니다.
'위젯'의 인기를 여실히 보여줬다고나 할까요...
위젯은 작은 프로그램이라서 만들기가 쉽습니다.
그렇다고 보잘것 없는 프로그램은 아니죠.
게다가 퍼가기가 쉬워서 확산속도가 굉장히 빠릅니다.
곧, 저에게 닌텐도DS를 안겨준 위젯이 위젯 뱅크를 통해 공개가 되겠지만
제가 만든 위젯도 굉장히 간단한 위젯입니다.
주말에 시간을 내서 반나절 만에 만들었으니까요....
반나절 투자해서 받은 것 치곤 꽤 괜찮죠?? ^^
하지만 지금은 제 손을 떠났답니다...
사실 전 터치가 끌립니다......좀 더 잘 만들껄......ㅡ.ㅜ
chm은 윈도우에서 도움말에 사용되는 파일 포멧입니다.
맥에는 기본적으로 chm파일을 볼 수 있는 뷰어가 설치되어 있지 않기 때문에 별도의 뷰어를 설치해야 chm 파일을 볼 수 있습니다.
이미 많은 수의 맥용 chm 뷰어들이 나와있는데 그 중 iChm은 iPhone 용으로도 만들어져 있습니다.
크기도 작고 디자인도 깔끔해서 사용하기 편리합니다~
탭기능도 지원하기 때문에 여러 챕터를 쉽게 볼 수 있도 있습니다.
또한 PDF로 저장하는 기능도 있어서 PDF형식을 좋아 하시는 분들이라면 변환해서 보시는것도 가능합니다.
http://code.google.com/p/ichm/
Google 캘린더와 Mac iCal 연동 (3) | 2008.11.11 |
---|
구글 캘린더에는 iCal과 공유하는 기능이 있습니다.
하지만 맥 iCal에서(다른 프로그램으로 해본 적은 없습니다) 구글 캘린더와 연동을 시도했으나 실패했습니다.
구글 캘린더에서 iCal과 연동하고자 하는 캘린더를 선택 한 후 설정 메뉴를 열면 아래와 같은 항목이 있습니다.
선택한 캘린더의 고유번호가 표시되고 왼쪽에는 ICAL연동을 위한 URL과 XML,HTML로 공유하기위한 URL을 알려주는 버튼들이 있습니다.
여기서 ICAL버튼을 클릭하면 다음과 같은 팝업이 뜹니다.
팝업에 나온 설명대로 주소를 복사하여 iCal에 추가를 해보았습니다만(iCal 환경설정에 계정탭이 있습니다.) 계정 정보를 얻을 수 없다는 메세지를 내뱉으며 실패하더군요.
구글 캘린더 도움말에서 이 문제에 대한 해결 방법을 찾고 싶었으나 못찾았습니다.
결국 구글 캘린더보다 윗선인 구글 검색을 통해서 찾았습니다.
구글 캘린더가 최근 CalDAV 를 지원하게 되면서 별도의 프로그램 없이 iCal과 연동이 가능하다는 글을 보고 왜 그와 관련한 내용을 구글 캘린더 도움말에서는 찾을 수 없었는지 의문이더군요.
처음에 저는 아무생각없이 그냥 iCal과 구글 캘린더가 연동이 되는 줄 알았습니다. CalDAV 같은건 모르고 있었죠.
단순히 구글 캘린더에 있는 [ICAL]버튼만 보고 연동이 되는 거구나 했으니까요...
구글 캘린더 도움말 어디에서도 CalDAV용으로 등록할 수 있는 URL은 찾을 수가 없더군요....
맥 사용자가 많지 않다고는 하지만, 비단 맥 사용자 뿐 아니라 아웃룩에서 사용을 원하는 사람들을 위해서라도 각 어플리케이션 별 CalDAV계정 등록 하는 방법은 따로 안내를 해 주었으면 좋겠습니다.
Mac에서 chm파일 보기 (3) | 2008.11.14 |
---|
Firefox Extension을 배포하기 위해서는 몇 가지 간단한(?) 절차를 거쳐야 합니다.
1.install.rdf 자동 업데이트 설정
install.rdf파일은 익스텐션의 기본 정보를 갖고 있는 파일이고 이 파일을 통해서 브라우저는 새로운 버전이 있는지를 확인 할 수 있게 됩니다.
install.rdf
위와 같이 <updateURL>속성을 써주면 브라우저가 시작될때 자동으로 익스텐션의 업데이트 정보를 확인합니다.
보다 자세한 내용을 원하시는 여기를 보세요.
일단 install.rdf파일을 만들어 두고 update.rdf파일을 만듭니다.
update.rdf 파일은 아래와 같이 간단하게 만들 수 있습니다.
(저는 update.rdf로 통계 값을 확인 하기 위해 php로 작성하였으나 일반 rdf 파일로 작성하셔도 됩니다.)
Firefox3를 위한 설정
Firefox3부터는 익스텐션 관리에 있어 보안이 한층 두터워 졌습니다.
updateLink가 https 프로토콜을 사용하지 않는다면 무조건 아래의 절차를 밟아야 합니다.
우선 익스텐션 패키지에 대한 updateHash를 얻어야 합니다.
이때 사용되는 해싱알고리즘은 sha1, sha256, sha384 , sha512 중에 아무거나 쓰시면 됩니다.
많이 사용하는 openSSL 을 예로 들어보겠습니다.
간단하죠?
명령이 실행되면 콘솔에 해시가 출력됩니다. 이것을 잘 복사 하셔서 update.rdf에 추가하면 됩니다.
이때 주의 하실 점은 아래와 같이 해시 코드 앞에 꼭 해싱 알고리즘을 명시해야 한다는 것입니다.
다음으로 익스텐션의 updateKey를 만들어야 하는데 McCoy라는 툴을 이용하면 자동으로 이루어집니다.
McCoy의 Create버튼을 클릭해서 공개키를 만듭니다. 그리고 Install버튼을 클릭하고 install.rdf 파일을 선택하면 자동으로 install.rdf에 updateKey가 추가됩니다.
그리고 Sign버튼을 클릭해서 update.rdf 파일을 선택합니다. 역시 자동으로 McCoy가 update.rdf파일을 변경해줍니다.
패키지 생성
zip형식으로 압축 -> 확장자를 xpi 로 변경
이제 패키징을 할 차례입니다.
install.rdf를 익스텐션 소스파일의 루트에 넣고 zip 형식으로 압축합니다.
그리고 확장자를 xpi 로 변경해주면 익스텐션 패키지가 완성됩니다.
이제 진짜 배포하는 일만 남았는데 한 가지 아주 간단한 작업이 남았습니다....
Apache httpd.conf 수정
자신의 서버에서 익스텐션을 배포하려면 Apache가 xpi 파일을 허용하도록 아래의 내용을 httpd.conf에 추가해야 합니다.
AddType application/x-xpinstall .xpi
이제 다 됐습니다. 이제 위 설정 파일에서 지정해 준대로 update.rdf파일과 익스텐션 패키지 파일을 두시고 익스텐션 다운로드 링크를 생성해서 배포 하시면 됩니다.
이후 익스텐션을 수정하여 버전업이 이루어지면 위 순서대로 반복하시면 됩니다. 그럼 이전 버전의 익스텐션을 사용하는 브라우저가 시동될 때 자동으로 업데이트 된 익스텐션을 확인하고 사용자에게 알려줍니다.
보다 자세한 정보는 여기에서 확인 하실 수 있습니다.
웹페이지를 데스크탑 어플리케이션으로... (0) | 2007.12.02 |
---|---|
XUL - Firefox ectention 만들기 (2) | 2007.11.16 |
Ant의 기능은 상당히 많지만 이 포스트에서는 Ant의 기본 구조와 간단한 사용방법을 소개하는 정도에서 그치도록
하겠습니다. ^^
1)설정파일 만들기
Ant설정 파일은 xml형태의 파일로 하나의 project 엘리먼트 안에 여러개의 target 엘리먼트로 이루어지는데요, 이 target은 어떤 하나의 행동(task)을 나타냅니다.
위의 예제는 실제로 제가 쓰고 있는 Ant설정 파일의 일부입니다.
내용을 보면 UIRSS_Extension이라는 프로젝트 이름을 갖고 있는 Ant설정 파일이라는 것을 알 수 있구요,
2개의 target은 각각 zip으로 특정 파일들을 압축하고 tar로 특정 파일들을 묶는 작업을 수행하도록 설정 되어 있습니다.
보시다시피 target안에 있는 zip이나 tar 요소들은 우리가 잘 알고 있는 그 zip과 tar에 대응하는 요소입니다.
각 target은 독립적으로 실행되며 여러 target을 순차적으로 실행하는 것도 가능합니다.
위 target을 실행하면 먼저 local.compress라는 target을 실행한 후 sendToServer target을 실행하고 마지막으로 server.decompress target을 실행하게 됩니다. 배치파일과 비슷하죠?? ^^
이렇게 기능적으로 완전히 독립된 여러 target들을 만들어 두고 작업 득성에 맞게 각 target들을 조립해서 하나의 target을 만들어서 사용하면 배포에 들어가는 시간과 노력을 아낄 수 있습니다.:)
2)외부 속성 파일 사용하기
Ant 설정 파일에서는 변수를 지원하는데요, 맨 위 Ant 설정 파일을 자세히 보시면 ${}로 감싸여져있는 변수 형태의 값들이 여기저기 있는데요, 실제로 이것들은 변수의 역할을 합니다. 맨 윗줄 project요소에 있는 basedir속성을 그 아래 property요소에서 ${basedir}로 재사용하고 있죠?
이렇게 project안에서 속성 값을 공유 할 수 있습니다. 또한 여러 속성들을 외부 파일에 작성 해 두고 그 값들을 불러와서 쓸 수 있는데요, 2번째 줄에 있는 property 요소에 이 변수들에 대한 값을 설정하고 있는 외부 설정 파일의 위치를 담고 있는 것을 볼 수 있습니다.
그 외부 설정 파일은 아래와 같은 모양을 하고 있습니다.
이런식으로 자신의 프로젝트 배포에 필요한 task들을 묶어서 하나의 xml 파일로 만든 다음 이 xml파일을 이클립스의 Ant View에 끌어다 놓으면 자동으로 인식을 하게 됩니다.
2번째 그림에서 보이는 개미아이콘이 붙은 항목은 각각의 xml파일이고 project 요소의 name속성 값을 보여줍니다. 이 부분을 더블 크릭하면 디폴트 target의 내용이 실행됩니다. 그 하위 동그라미 아이콘들은 xml파일 안에 있는 각각의 target요소들을 뜻하며 text는 target의 name속성 값입니다. 각 target항목을 더블클릭하면 해당 target의 작업이 실행됩니다.
3.마치며
이렇게 몇 가지 간단한 내용들고 OSX에서 PHP로컬 개발 환경을 구축하는 방법에 대해 소개해 드렸습니다. 하지만 1번을 제외한 2,3번의 내용들은 OSX에만 국한되는 것은 아니니 Apache를 사용하시는, 이클립스를 사용하시는 윈도우 사용자 분들도 그대로 적용하실 수 있습니다.
너무 많은 내용을 하나의 포스트에 짤막하게 담으려다 보니 세밀함이 많이 부족한 포스트가 되고 만것 같습니다.^^;; 게다가 글재주 또한 잼병이라 아는것마저 정확히 전달을 하지 못한 것 같습니다......;;
더 자세한 내용들은 각 사이트에 세세한 문서들이 많으니 참조하시길 바랍니다.
Enabling PHP and Apache in Leopard (2) | 2008.08.19 |
---|---|
WAV파일 분석 (0) | 2006.11.10 |
간단한 소켓통신 (0) | 2006.10.13 |
간단한 대화식 프로그램 (0) | 2006.07.24 |
시스템 모니터링 툴 (0) | 2006.07.17 |
[OSX] Eclipse에서 PHP 로컬 개발/테스트 환경 구축하기 (4) | 2008.08.30 |
---|---|
WAV파일 분석 (0) | 2006.11.10 |
간단한 소켓통신 (0) | 2006.10.13 |
간단한 대화식 프로그램 (0) | 2006.07.24 |
시스템 모니터링 툴 (0) | 2006.07.17 |
이번 베이징 올림픽에서 보여준 우리 양궁 선수들의 실력은 늘 그래왔던 것 처럼 세계 최고였습니다.
'양궁은 안봐도 금메달이지' 라는 인식이 만연해 있지만 실상은 그렇지 않은가 봅니다.
원래 잘하니까 잘하는게 아니라 잘하기 위해서 뼈를 깎는 노력을 하고 있다는걸 새삼 알게 됐습니다.
그런면에서 우리나라 IT종사자들도 양궁 선수들의 그런 자세를 본받아야 하지 않을까 생각합니다.
서양사람들이 원래 프로그래밍을 잘 하니까...
IT가 원래 미국에서 출발했으니까...
영어권에서 만들었으니까...
이런 핑계보다는 그들을 뛰어넘기 위한 노력을 하는게 맞는것 같습니다.
Google Developer Night 2007 후기 (0) | 2007.10.17 |
---|---|
역시 Apple (0) | 2007.09.04 |
[펌]인스턴트 커피에 담긴 철학 (0) | 2007.07.05 |
매쉬업 경진대회 결과 (0) | 2007.05.03 |
매쉬업 캠프 2007 (2) | 2007.02.25 |
JAVASCRIPT
Netscape originally called their creation
LiveScript. They had a tight partnership with Sun at the time, who had just
generated a lot of marketing buzz around Java. Netscape piggy-backed on the buzz
by changing the name to JavaScript. However JavaScript is not Java, not at all.
But the naming confusion carries on to this very day!
JSCRIPT
Microsoft created their own version of the
scripting language, which they call JScript. They made it "roughly" the same so
that basic features would be supported cross-browser.
ECMAScript
ECMA is the European Computer Manfacturers
Association. Netscape offered JavaScript to the ECMA for standardization in
1996. Netscape and Microsoft then both agreed to support the standards ECMA
developed.
With that bit of complication
handled,
here's the timeline I researched.
JavaScript 1.0
Netscape 2.0
Mar 1996
JavaScript 1.1
Netscape 3.0
Aug 1996
JavaScript 1.2
Netscape 4.0
Jun 1997
JavaScript 1.3
Netscape 4.5
Oct 1998
JavaScript 1.4
Netscape Server Only
No Client Side
release
Javascript 1.5
Netscape 6.0
Nov 2000
JScript 1.0
IE 3.0 - early versions
Approx.
JavaScript 1.0
Aug 1996
JScript 2.0
IE 3.0 - later versions
Approx.
JavaScript 1.1
Jan 1997
JScript 3.0
IE 4.0
Approx. JavaScript 1.3
Oct
1997
Jscript 4.0
No Browser Products
JScript 5.0
IE 5.0
partly compliant with ECMAScript
v3
Mar 1999
JScript 5.5
IE 5.5
Approx. JavaScript 1.5
Jul
2000
JScript 5.6
IE 6.0
Approx. JavaScript 1.5
Oct
2001
ECMAScript v1
More precisely ECMA-262
Approx.
JavaScript 1.3 or JScript 3.0
June 1998
ECMAScript v2
Released for maintenance purposes only
ECMAScript v3
Approx. JavaScript 1.5 or Jscript 5.5
Dec 1999
REFERENCES:
1.
[url=http://www.mozilla.org/js/language/es4/]ECMA v4 Proposal[/url]
projected for this year (2002)
2. [url=http://developer.netscape.com/docs/manuals/javascript.html]Netscape's Javascript Info[/url]
3. [url=http://msdn.microsoft.com/library/en-us/script56/html/js56jslrfJScriptLanguageReference.asp]Microsoft's JScript Info[/url]
IE에서 hasAttributes 대체 하기 (0) | 2010.01.12 |
---|---|
놓치기 쉬운 자바스크립트 크로스브라우징 (0) | 2008.05.23 |
객체 초기화의 중요성 (1) | 2008.05.23 |
오페라,사파리의 DOM Inspector (6) | 2008.04.15 |
Javascript OOP - 객체 생성과 property (1) | 2008.04.07 |