구글 Picasa 웰앨범으로 이미지 호스팅 하기

GData API로 구글 Picasa 웹앨범을 이미지호스팅처럼 사용할 수 있습니다.

구글 Picasa 웹앨범은 기본 1G를 제공하며,
20GB($5.00 USD/년), 80GB($20.00 USD/년), 200GB($50.00 USD/년), 400GB($100.00 USD/년), 1TB($256.00 USD/년)
옵션을 제공하기 때문에 쓸만합니다.

대책없는 트래픽을 유발하는 사진, 중고장터 등의 게시판에 적용하면 상당히 유용할 듯 합니다.

업로드하면 이미지를 가져오는 것은 직접링크기 때문에 빠릅니다.
서버에서 직접 보여주는 것과 차이가 없습니다.

[장점]
1. 싸다.(ㅡ_ㅡa).. 트래픽 제한이 없는 것 같습니다. 못 찾겠습니다;; 따라서 무지 싼겁니다.
2. 어느 웹에디터든지 적용이 가능하리라 봅니다. 본문은 cheditor4를 기준으로 작성되었습니다.
3. 구글신께서 서버 내리는 날 전세계 인터넷 재앙이 올겁니다. 망할리 없죠?? 저장공간에 대한 신뢰도 역시 중요합니다.

[단점]
1. 이미지 업로드/삭제 등 API를 이용한 작업시 Delay가 있습니다.
2. Zend, PHP5 요구
3. Zend 이름만 들어본 저같은 사람은 메뉴얼삽질+시간이 필요합니다.

테스트URL : http://picasa.webiz.kr (접속이 안될경우 DNS 캐쉬 refresh 후 시도)

========================================================================
1. 파일(백업필수!!)

(설치Path)/lib 복사
 – gdata.lib.php

(설치Path)/cheditor4 덮어쓰기
 – imageupload-class.php
 – insert_image.php
 – insert_image_form.php

(설치Path)/ 복사(아무대나 해도 됨. 앨범아이디 확인용)
 – picasa_album_list.php

========================================================================
2. 준비하기

GData API는 Zend Framework에 포함되어 있습니다.
따라서 Zend Framework가 설치되어 있다면 정말 쉽습니다.

Zend Framework가 설치되어 있지 않다면 http://code.google.com/intl/ko/apis/gdata/articles/php_client_lib.html 페이지를 참고하셔서 설치해 주시면 됩니다.

PHP 5.1.4 이상, OpenSSL이 설치되어 있어야 한다고 나와 있습니다.

꼭 참고할 페이지
http://code.google.com/intl/ko/apis/gdata/docs/developers-guide.html
http://code.google.com/intl/ko/apis/gdata/articles/php_client_lib.html
http://code.google.com/intl/ko/apis/picasaweb/docs/1.0/developers_guide_php.html

========================================================================
3. 구글계정만들기

Pacasa 웹앨범을 이용하기 위해서는 구글계정이 필요합니다.
적당히 하나 만들어 줍니다.

업로드용으로 사용할 앨범을 만들기 위해서 http://picasaweb.google.com/home 로 이동합니다.
상단 버튼중 [업로드] 버튼 클릭, [새 앨범을 만드세요] 클릭 후
제목, 설명 등을 입력한 뒤, 공유탭에서 비공개로 변경하여 생성합니다.
ActiveX는 설치하실 필요는 없습니다.

========================================================================
4. 앨범아이디 확인

picasa_album_list.php 파일에서 아래부분을 에디터로 수정합니다.
12: $user = “아이디@gmail.com“;
13: $pass = “비밀번호”;

파일을 웹브라우저로 확인해보면 Picasa 웹앨범에서 존재하는 모든 앨범이
앨범명(album: 앨범아이디(숫자))로 출력됩니다.
사용할 앨범아이디(숫자)를 카피해둡니다.

========================================================================
5. /cheditor4/insert_image.php 수정

12: $attach->gdata[‘user’] = “아이디@gmail.com“;
13: $attach->gdata[‘pass’] = “비밀번호”;
14: $attach->gdata[‘albumId’] = “앨범아이디(숫자)”;

========================================================================
6. 마침

gdata.lib.php 파일에는 사진 업로드/삭제 코드만 있지만
가이드/샘플파일을 참고하면 앨범 추가/삭제, 태그 추가/삭제 등 할 수 있는게 더 있습니다.

그누보드 4.32.03 (euc-kr) 버전으로 테스트 했습니다.
그러나 그누보드관련 파일을 수정하지 않았고,
cheditor4만 수정했기 때문에 cheditor4 버전에 따라 오류가 발생할 수 있습니다.

수정한 파일에 따로 주석을 달아 놓지는 않았습니다.

본 파일로 인한 오류/피해는 책임 안집니다 ㅡ_ㅡ^

반드시 테스트 후 적용하시길 바랍니다

yessign 코드서명용 인증서 무료발급 이벤트

금융결제원에서 8월 29일부터 국내 최초로 KISA인증서 기반의 국산 코드서명용 인증서를
발급합니다. 서비스 오픈을 기념하여 코드서명용 인증서 무료발급이벤트를 실시하오니 아래를
참조하시어 무료발급의 혜택을 누려보세요!


코드서명용 인증서란?
   응용프로그램 배포 시 배포자를 확인할 수 있도록 해당 프로그램에 전자서명하는 인증서







● 서비스 오픈일시 : 2008.8.29

● 무료발급기간 : 서비스 본격실시(11월중)전 까지
   ※ 이벤트 종료 후 정상발급가 : 15만원(1년형 인증서 기준, 부가세 제외)

● 발급방법 : ① 홈페이지(https://www.yessign.or.kr/ssl) 회원가입 후
                     발급신청(신청 시 무통장입금 선택)
                 ② 구비서류 송부(사업자등록증 및 전화번호 영수증)
                 ③ 담당자 통화 후 발급완료


※ 참고 : 무료로 발급되는 인증서는 시점확인기능을 포함하고 있지 않음(추후 제공예정)
※ 관련 문의 : 02-531-3323




yessign 코드서명용 인증서의 많은 이용을 부탁드립니다. 감사합니다.

자바스크립트 객체생성


자바스크립트 객체


개요

자바스크립트는 완벽하지는 않지만 객체지향적 프로그래밍을 지원합니다.

자바스크립트 클래스 생성 방법




// Class 생성
className = function(parameter) {
   
}

// Class에 Function 추가
className.prototype.function1 = function(parameter) {
   
}



예제



Member = function(id, name) {
    this.id = id;
    thid.name = name;
}

Member.prototype.setValue = function(newId, newName) {
    this.id = newId;
    this.name = newName;
}

var mem = new Member(“id01”, “헌이름”);  // 클래스 생성
mem.setValue(“newid01”, “새이름”);  // 클래스 함수 사용




객체 확장

자바스크립트는 객체에 직접적으로 프로퍼티나 함수를 추가할 수 있는 기능을 제공한다.



// 객체 생성
var mem = new Object();

// 프로퍼티 추가
mem.id = “id01”;
mem.name = “1”;

// 함수 추가
mem.printInfo = function() {
    alert(this.id + this.name);
}

mem.printInfo();  // 함수 호출


이클립스 3.4 Ganymede + Spring IDE 설치방법

이클립스 새로운 버전인 3.4 Ganymede 와 스프링IDE 설치를 진행하는 과정에서
Dependencies 때문에 설치가 진행이 안된다면 참고

Spring IDE 2.0.6 will be the last version that supports Mylyn 2.3. The port to Mylyn 3.0 APIs has already been finished and will be available in the next few days. This migration is required to make installing Spring IDE into the Ganymede packages possible. If you want to use 2.0.6 with Ganymede please don’t install the Mylyn integration.

참조 : http://springide.org/blog/2008/06/24/spring-ide-206-available/

http://www.eclipse.org/downloads/ 에서
Eclipse IDE for Java EE Developers(163MB) 다운로드 후 압축해제하여 설치

이클립스를 실행하고 Menu > Help > Software Updates… > Available Software >
Add Site 버튼 클릭하고 Location에 http://springide.org/updatesite 입력하고 OK 클릭

사용자 삽입 이미지
Spring IDE Update Site 에서 Dependencies 체크해제후 오른쪽 상단의 Install.. 클릭

사용자 삽입 이미지
위 두곳의 체크를 해제하고 설치를 진행합니다.

 

자바스크립트 정규식





































































































문자 설명
\ 다음에 오는 문자를 특수 문자나 리터럴로 표시합니다. 예를 들어, “n”은 문자 “n”과 일치합니다. “\n”은 줄 바꿈 문자와 일치합니다. 시퀀스 “\\”은 “\”와 같고, “\(“는 “(“와 같습니다.
^ 입력의 시작 부분을 찾습니다.
$ 입력의 끝 부분을 찾습니다.
* 앞에 오는 문자를 0번 이상 찾습니다. 예를 들어, “zo*”를 입력하면 “z” 또는 “zoo”를 찾습니다.
+ 앞에 오는 문자를 1번 이상 찾습니다. 예를 들어, “zo+”를 입력하면 “zoo”를 찾지만 “z”는 여기에 포함되지 않습니다.
? 앞에 오는 문자를 0번 이상 찾습니다. 예를 들어, “a?ve?”를 입력하면 “never”에 있는 “ve”를 찾습니다.
. 줄 바꿈 문자를 제외한 단일 문자를 찾습니다.
(pattern) pattern을 찾고 일치하는 내용을 기억합니다. 일치하는 부분 문자열은 Item [0]…[n]을 사용하여 결과로 나오는 Matches 컬렉션에서 검색할 수 있습니다. 괄호 문자 ( )를 찾으려면 “\(” 또는 “\)”를 사용합니다.
x|y x 또는 y를 찾습니다. 예를 들어, “z|food”는 “z” 또는 “food”를 찾습니다. “(z|f)ood”로는 “zoo”나 “food”를 찾을 수 있습니다.
{n} n은 음이 아닌 정수입니다. 정확하게 n번 일치하는 부분을 찾습니다. 예를 들어, “o{2}”는 “Bob”의 “o”를 찾지 않지만 “foooood”의 처음 두 o를 찾습니다.
{n,} n은 음이 아닌 정수입니다. 적어도 n번 일치하는 부분을 찾습니다. 예를 들어, “o{2,}”는 “Bob”의 “o”를 찾지 않지만 “foooood”의 o는 모두 찾습니다. “o{1,}”은 “o+”와 같습니다. “o{0,}”은 “o*”과 같습니다.
{n,m} mn은 음이 아닌 정수입니다. 최소 n번, 최대 m번 일치하는 부분을 찾습니다. 예를 들어, “o{1,3}”은 “fooooood”의 처음 세 o를 찾습니다. “o{0,1}”은 “o?”와 같습니다.
[xyz] 문자 집합입니다. 괄호 안의 문자 중 하나를 찾습니다. 예를 들어, “[abc]”는 “plain”의 “a”를 찾습니다.
[^xyz] 문자 집합에 없는 문자를 찾습니다. 괄호 안에 있지 않은 문자 중 하나를 찾습니다. 예를 들어, “[^abc]”는 “plain”의 “p”를 찾습니다.
[a-z] 문자 범위입니다. 지정한 범위에 있는 문자 중 하나를 찾습니다. 예를 들어, “[a-z]”는 “a”에서 “z”까지의 알파벳 소문자를 찾습니다.
[^m-z] 지정한 문자 범위가 아닌 집합입니다. 지정한 범위에 있지 않은 문자 중 하나를 찾습니다. 예를 들어, “[m-z]”는 “m”에서 “z”까지에 없는 문자를 찾습니다.
\b 단어의 경계, 즉 단어와 공백 사이의 위치를 찾습니다. 예를 들어, “er\b”는 “never”의 “er”를 찾지만 “verb”의 “er”는 찾지 않습니다.
\B 단어의 경계에 있지 않은 문자를 찾습니다. “ea*r\B”는 “never early”의 “ear”을 찾습니다.
\d 숫자를 찾습니다. [0-9]와 같습니다.
\D 숫자가 아닌 문자를 찾습니다. [^0-9]와 같습니다.
\f 용지 공급 문자를 찾습니다.
\n 줄 바꿈 문자를 찾습니다.
\r 캐리지 리턴 문자를 찾습니다.
\s 공백, 탭, 용지 공급 등 모든 종류의 공백 문자를 찾습니다. “[ \f\n\r\t\v]”와 같습니다.
\S 공백 문자가 아닌 문자를 찾습니다. “[^ \f\n\r\t\v]”와 같습니다.
\t 탭 문자를 찾습니다.
\v 세로 탭 문자를 찾습니다.
\w 밑줄을 포함한 모든 단어 문자를 찾습니다. “[A-Za-z0-9_]”와 같습니다.
\W 단어가 아닌 문자를 찾습니다. “[^A-Za-z0-9_]”와 같습니다.
\num num을 찾습니다. 여기서 num은 양의 정수입니다. 이전에 참조한 값을 다시 참조합니다. 예를 들어, “(.)\1″은 연속적으로 같은 문자가 두 번 나오는 것을 찾습니다.
\n n을 찾습니다. 여기서 n은 8진 제어 값입니다. 8진 제어 값은 1, 2, 3 자리 중 하나라야 합니다. 예를 들어, “\11″과 “\011″은 모두 탭 문자를 나타내지만 “\0011″은 “\001” & “1”과 같습니다. 8진 제어 값은 256을 넘을 수 없습니다. 이 값이 256을 넘는 경우에는 처음 두 자릿수 만이 식을 구성합니다. 정규식에 ASCII 코드를 사용할 수 있습니다.
\xn n을 찾습니다. 여기서 n은 16진 제어 값입니다. 16진 제어 값은 정확히 두 자리이어야 합니다. 예를 들어, “\x41″은 “A”에 해당하지만 “\x041″은 “\x04” & “1”과 같습니다. 정규식에 ASCII 코드를 사용할 수 있습니다.

정규식에 사용할 수 있는 메소드 : test(), compile(), match(), replace(), search()

정규식 테스트

<?
 /**
  * 정규식 테스트
  * PHPSCHOOL TIP&TECH 게시판 제목만 가져오기
  */


 // 게시판 글 가져오기
 $fp = fopen(“http://phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&page=1“, “r”);
 while(!feof($fp)) {
  $str .= fgets($fp, 1024);
 }
 fclose($fp);


 // 제목부분만 $matches에 저장
 preg_match_all(“/(<span style=”)(.*)(<\/span>)/”, $str, $matches);
 
 // 필요없는 부분 제거
 $tmp = str_replace(“<span style=”>”, “”, $matches[0]);
 $tmp = preg_replace(“/(<\/span>)(.*)/”, “”, $tmp);


 // 출력하면서 영문,숫자부분에 링크
 foreach($tmp as $v) {
  echo preg_replace(“/([A-Za-z0-9]([A-Za-z0-9]*)[A-Za-z0-9])/”, “<a href=’$1′>$1</a>”, $v).”<BR>”;
 }
?>

PDT 설치, JVM terminated. Exit code=-1 에러

http://download.eclipse.org/tools/pdt/downloads/release.php?release=S20071213-M1

1. 여기서 All in one 으로 설치.
2. JRE 설치

PDT는 압축해제하면 eclipse 라는 폴더가 생기고 이 폴더를 원하는 곳에 이동시킨다.

eclipse 폴더에서 eclipse.exe 실행

JVM terminated. Exit code=-1 에러 발생시
eclipse.ini 파일을 열어서
====================================================
-showsplash
org.eclipse.platform
–launcher.XXMaxPermSize
256m

-vmargs
-Xms40m
-Xmx256m
====================================================
–launcher.XXMaxPermSize256m
이렇게 수정해주면 실행이 된다

tar 특정디렉토리 제외하고 묶기(–exclude)

디렉토리가 하나일 경우
tar cvfz /home/abc.tgz /home/abc –exclude /home/abc/a

디렉토리가 여러개일 경우
tar cvfz /home/abc.tgz /home/abc –exclude /home/abc/a –exclude /home/abc/b

여러개일 경우.. 탭을 쓰면 디렉토리 마지막에 / 가 붙는데
–exclude /home/abc/a/ 가 아니라
–exclude /home/abc/a 이런식으로 써야 잘 되드라…;;;