무플 무서워요
드디어 텍스트 큐브 플러그인을 완성 했다. 처음 개발을 시작 할 때 기본 지식 부터 습득해야 할 것 같아 자바스크립트와 PHP서적을 처음부터 정독하면서 앉아 있었는데, 그것 때문에 시간이 너무 오래 걸렸다. 처음부터 다른 소스들 보면서 파악했더라면 금방 끝났을텐데. 허접하지만 나름의 결과물을 내서 기분은 좋다.

http://www.textcube.org/plugin/652

+ 플러그인에 관한 자세한 개발 과정은 추후에 올리도록 하겠습니다.
:
우연한 기회가 있어 linux에 AMP를 설치하고 drupal설치를 해봤다. 설치는 생각보다 쉬웠고(한글로된 설치 방법은 쉽게 찾을 수 있음), 모든 것이 뜻대로 되어가고 있었으나...

처음 설치 완료 후 administer->logs->status report를 확인 했는데 에러가 몇 개 있었다. GD library 에러를 제외 하고는 쉽게 해결을 했다. GD library를 설치 해야하는 문제는... 리눅스 환경에서 무언가를 설치한다는게 쉽지만은 않은 초보의 위치라 오랫동안 해매던 중 우분투에서 패키지로 제공된다는 글을 보고
apt-get install php5-gd
로 쉽게 설치 할 수 있었다. 첫번째 문제는 이렇게 해결.

두번째 문제는 모듈을 이것저것 설치하면서 발생 했는데, 관리자 화면에 들어가려고 하면 아래와 같은 에러가 발생한다.
Fatal error : Allowed memory size of x bytes exhausted(tried to allocate Y bytes)...
이 문제는 도무지 쉽게 해결을 할 수 없었다. 검색을 통해 알아보던 중 php.ini파일에서 memory_limit 값을 올려보라는 답변이 많길래 값을 여러번 바꿔보면서 해봐도 도무지 해결되지 않았다. firefox에 관련 페이지의 탭을 수십개는 띄워놓고 그렇게 있던 중, drupal 사이트에서 관련 FAQ를 제공해 주고 있는 것을 알 수 있었다.
(해당 링크 : http://drupal.org/node/76156)
php.ini 파일에 있는 memory_limt = 12M 를 수정
(이쪽 문제는 아니었음 32M로 잡혀있었다)
drupal/sites/default/settings.php 에 ini_set('memory_limit', '12M'); 를 추가
(이 부분을 추가시켜주고 실행 했더니 잘 돌아가서 에러 해결)
php_value memory_limit 12M 를 drupal root에 있는 .htaccess 파일에 추가
(이건 무슨 말인지 모르겠다 저런 파일이 없는거 같던데... 혹시 아시는 분은 좀 알려주세요)
위와 같이 수정하고 나니 모든 것이 잘 돌아갔다. 설치 하나로 몇 시간 헤맨게 너무 아쉽다. 지난번에도 느꼈지만 기본으로 제공하는 문서는 반드시 읽어봐야 하고, 에러가 났을 경우에도 기본으로 제공하는 문서에서 검색해서 보는 것이 가장 좋은 것 같다.

이거 설치하면서 영어 문서를 제법 많이 보게 되었는데, 그 동안 갖고 있던 영어 문서에 대한 두려움이 어느정도 가시게 됐다. 다음에는 drupal을 설치 하면서 찾은 관련 URL을 포스팅 해야겠다.
:
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /DATA/dozenideas/public_html/online/dic.php on line 9
PHP5로 OpenAPI를 만지작 거리다가 웹에 올려도 같은 결과가 나올지 궁금해서 파란 무료 호스팅에 올려봤다. 내 컴퓨터에서는 잘 돌아가던 소스가 막상 웹에서는 'Unexpected T_OBJECT_OPERATOR' 이런 오류를 출력한다?

알고보니 파란 호스팅은 PHP4가 설치되어 있어 simpleXML을 인식을 못하는 것이었다.(simpleXML은 PHP5이상 지원)

네이버 openAPI 가이드북에 보면 백과사전 검색 샘플 예제가 나와 있는데 PHP5에서 사용할 수 있는 simpleXML함수를 사용하고 있다. 따라서 그 아래 버전이 설치되어 있는 컴퓨터에서 실행을 하면 당연히 에러가 난다.

T_OBJECT_OPERATOR에러는 PHP manual에 '해석기 토큰 목록'에 보면 '->' 문법이 잘못된 것이라고 나와있고 참고 문서로 classes and objects가 링크되어 있다.

$item=simplexml_load_file($url)->channel->item[0];

simpleXML이 지난번 포스팅에서도 언급했듯이 object 형태를 반환하는데 위의 문장에서 보면 반환되는 object에서 channel의 item[0]에 접근하기위해 사용하는 '->' 이것이 simpleXML을 모르는 PHP4에서는 당연히 위와같은 에러가 날 수 밖에 없다.

해결 방법은... XML을 쉽게 다룰 수 있는 simpleXML을 사용하기 위해 PHP5로 업그레이드 하거나, 부득이하게 PHP4를 사용해야 하는 경우라면 아래의 URL을 참고해서 학습하고 해결할 수 있다.

Backport of PHP5 simpleXML
http://www.web2dong.com/?document_srl=2559#0
http://blog.kakaka.org/archives/162

Unexpected T_OBJECT_OPERATOR -- SimpleXML Error
http://forums.devshed.com/php-development-5/unexpected-t-object-operator----simplexml-error-455031.html
:

openAPI 사용해보기

Dev. Diary 2008. 7. 8. 23:55 |
PHP가 아직 익숙하지 않은 이 때에 openAPI를 이용한 개발을 해야만해서 샘플 코드를 구경하면서 이것저것 만져봤다. 처음에는 쉽게 생각하고 똑같이 따라서 코드만 넣어봤는데, 그것만으로는 openAPI사용법을 - 당연히 - 익힐 수 없었다.

하나하나 뜯어 보면서 - 샘플 코드에 나와 있는 각종 함수들이 무엇을 의미하는지 찾아보고 - 코드를 분석해 보니 서서히 길이 보이기 시작했다. 프로그래밍도 많이 해보지 않았거니와 PHP를 처음 써보는데 당연히 이렇게 했어야 했다.

중간에 가장 헤맨 부분은 simplexml_load_file 이라는 함수로 해당 openAPI의 XML값을 받아오는 것이었는데, 당연히 문자열로 반환받아서 출력해주면 나오겠거니 했었다.(아는 사람들은 알겠지만 object 형태로 반환해 주는 함수다.) object를 반환해주는데 문자열 다루듯이 echo(출력)를 이래저래 해주면서 끙끙거렸으니 될리 없었다.
object simplexml_load_file ( string $filename [, string $class_name [, int $options [, string $ns [, bool $is_prefix ]]]] )
결국은 다시 한번 PHP manual을 보고 알게 되었지만, 쉽게 끝낼 수 있었던 부분에서 시간을 끌었던 것이 너무 아쉽다. 앞으로는 매뉴얼을 꼼꼼히 읽어야겠다.
:
스크립트 언어를 공부하기 시작했다. JSP를 공부하고 싶었으나, 당장에 필요한 PHP를 해야만 했다. 이틀정도 문법을 익히고 - 문법은 그동안 사용했던 언어들과 다른 점이 거의 없어 익히기 편했다.(더 쉽게 적응 할 수 있는 부분도 있었고...) 이틀동안 익힌 것으로 무엇을 만들 수 있을까 생각하던 중, 어린 시절 웹사이트에서 메일 보내는 양식을 HTML로 만들다가 실패한 생각이 나서(그 당시 나는 HTML로 폼만 만들면 메일을 보낼 수 있는 줄 알았다;;) 만들어보기로 했다.

e-mail form

예외처리도 안 했고, 폼에 신경도 안 썼다(초등학생 수준). 단지 추가한게 있다면, send버튼 밑에 있는 상태 표시 텍스트. (메일이 성공적으로 발송되면 seccess를 출력, 실패하면 failure를 출력) 메일 보내는 함수 사용법을 알게 된 것과,(보다시피 어려울 것 없다)
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
몇 일간 공부한 언어에 대한 감을 잡아간다는 것 정도... (정말 별거 없으므로 소스코드 요구하시면 안됩니다;;)

다음에는 SQL공부해서 메일링 리스트 관리 양식을 만들어봐야겠다.
:

믹시 블로그 등록

Dev. Diary 2008. 6. 17. 16:03 |
앞으로는 이곳저곳 떠도는 일 없이 티스토리에 정착했으면 합니다.

인증코드 : Qg+oazD8+lrId99xZO2fNDzXolpxOBWpBCvWi+bjJwE=
: