글
IT/Perl 2009.01.27 17:38[ Perl ] 경량프레임워크로 시작하는 웹개발
일본의 유명 Perl 해커 tokuhirom 씨에 의해 만들어진 MENTA 는 한때 Mojo 가 불러일으킨 경량프레임워크 붐을 타고 만들어진 프레임워크입니다. 지금 소개하는 것도 상당히 늦은 감이 없지 않아 있지만... (사실은 실제로 써볼 엄두가 안나봐서 안쓰고 있다가, 업무상으로 쓰게 될 일이 생겨서 이렇게 건드리게 되었습니다.)
일단은 가볍게 설치부터...
svn export http://svn.coderepos.org/share/lang/perl/MENTA/trunk ~/menta
로 export 하면 대략 다음과 같은 디렉토리 구성이 나옵니다.
app
- app/controller : 어플리케이션을 정의
- app/data : 어플리케이션에서 사용할 데이터 (SQLite DB file 따위)
- app/static : 그림파일, CSS, Java Script
extlib - 저자에게 엄선된 CPAN 모듈
lib - MENTA 가 정의된 라이브러리 디렉토리
plugins - MENTA 에서 사용할 플러그인
t - MENTA 자체의 테스트코드
튜토리얼등은 MENTA 의 STANDALONE 서버를 돌리면 자세하게 소개되어 있고(app/controller/*), 아래의 MENTA 홈페이지에서도 소개되어 있습니다.
PHP 스러운 템플릿 파일(.mt)을 준비해서 HTML과 Perl 코드를 혼용해서 쓸 수 있죠.
CGI 서버 뿐 아니라, Mod_Perl 로도 돌릴 수 있기 때문에 어느 정도 규모에서도 써볼만 하지 않을까 싶습니다.
* STANDALONE 서버 가동 (기본 포트는 5555)
./bin/cgi-server
* Mod_Perl 사용예제는 매뉴얼 페이지를 참고하세요. (http://gp.ath.cx/menta//manual/mod_perl)
컨트롤러는 .pl 파일이나 .mt 파일로 지정합니다. 그리고 .pl 은 반드시 최소한 아래와 같은 구조로 되어 있어야 합니다.
use MENTA::Controller;
sub run {
# blahblah...
}
MENTA::Controller 를 use 했을 때, 기본적으로...
use strict;
use warnings;
use utf8;
을 깔고 들어가기 때문에 추가로 지정해줄 필요는 없습니다.
그리고 .mt 의 경우는 자동으로 렌더링되지만, .pl 의 경우는 템플릿을 지정해서 렌더링해주거나, 다른 HTTP Response 를 지정해줘야 합니다.
OOP 에 목메지 않고도 간단하게 쓸 수 있는 여러 튜토리얼들이 준비되어 있기 때문에 별다른 설명은 필요 없을 것 같네요.
개인적으로 필요한 기능이 있다면 MENTA lib 를 직접 건드리는 것도 좋겠지만, 대개의 간단한 공용기능을 정의하려면 plugins/* 에서 정의할 수 있습니다. 저같은 경우에는 MENTA 코어를 건드리지 않으면 좀 번거로워지기때문에 MENTA, MENTA::Dispatch, MENTA::Context 를 만지기도 했습니다.
Perl 에 대해서 별로 모르거나, 혹은 Perl 로 하는 웹개발에 관심이 있으시다면 Catalyst 처럼 학습비용이 큰 것이 아닌 이런 경량 프레임웍부터 시작하는 것도 괜찮지 않을까 생각됩니다.
- MENTA : http://gp.ath.cx/menta/
'IT > Perl' 카테고리의 다른 글
[ Perl ] 경량프레임워크로 달리는 Perl 웹개발 #2 - MENTA 를 더 만져보기... (2) | 2009.01.30 |
---|---|
[ Perl ] 경량프레임워크로 시작하는 웹개발 (2) | 2009.01.27 |
[ Perl ] 간단한 그림파일 리사이즈 작업 (0) | 2009.01.05 |
[ Perl, PHP ] Job Queue 를 통해 친해지길 바래? (4) | 2008.12.04 |
RECENT COMMENT