• ベストアンサー

perlでのWEBアプリ開発について

勉強のためにperlでWEBアプリを開発しようと試みてます。 作成するWEBアプリは、DB(mysql)と連携し使用して家計簿アプリを作ろうと考えています。(10画面程度を想定) ざっくりとした仕様としてはメインにカレンダーを置き(日にち毎に収支を出力)、日毎のページで家計簿の項目の登録等を行う動作を考えています。多分外部には公開しませんが、ユーザ登録を行い、ユーザ管理についても実装したいです。 現状、サーバはlinuxにapacheを載せてper-CGIが動作する環境は作成でき、HTMLについてもページ毎に最低枠は作成済みの状態です。 使用するperlのモジュールについては、現状以下を考えています。 CGI(パラメータの譲与等) Templete-Toolkit(CGIと画面ソースの分離) DBI(DB接続用) Calendar(カレンダー作成用) Jcode(文字コード操作) Aapache::Session(ページのセッション管理) 以上を踏まえて質問なのですが、 (1)家計簿のアプリを想定して上記のモジュール以外に必要、または有ると便利と思われるモジュール等を教えて頂けないでしょうか。 (2)また、perlのフレームワーク(Catalyst、CGI::Application等)を使用するかも検討したのですが、個々のモジュールの役割だったりモジュールの勉強にもなるかと思い選びませんでした。使うべきかどうかについて(使えばここがこう簡単に出来る等)の意見を頂けますでしょうか。 よろしくおねがいします。

  • Perl
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

Class::DBI は開発がほぼ止まっていますので、ORマッパーを利用するのでしたらDBIx::Classを使うべきです。 セッションに関しては、CGI::Session と言うモジュールもあります。こちらの方が伝統的なモジュールでメンテナンス状況もよさそうです。 フレームワークに関しては、CGI::ApplicationはCGIプログラムに求められるインタフェースだけを定義した程度のとても薄いフレームワークですので、使っても差し支えないと思います。Catalystに関してはCatalyst独自の知識を多く要求されますので、Perlそのものの勉強として使うのには向いてないかもしれません。

turubeelll
質問者

お礼

開発が止まっているというのであれば、CGI::Sessionを使用することにしました。 CGI::Applicationについては薄いフレームワークなのですね。 現状使用しない方向でやっていますので機会があれば触ってみたいと思います。 ありがとうございます。

その他の回答 (1)

回答No.1

DB接続には DBIx::Class http://search.cpan.org/~ribasushi/DBIx-Class-0.08012/lib/DBIx/Class.pm もしくは、 Class::DBI::mysql http://search.cpan.org/~tmtm/Class-DBI-mysql-1.00/lib/Class/DBI/mysql.pm を使った方が楽ですね。 perlのバージョンが分かりませんが、 現在は、Jcode -> Encode を使った方がよろしいかもしれません

turubeelll
質問者

お礼

早々な返信ありがとうございます。 Perlのバージョンは5.8.9です。 DBIモジュールについては見当させて頂きます。 Class::DBI::mysqlのモジュールは調べてみるとメジャーであるようですし、検討させて頂きます。Class::DBI系のモジュールが複数あるようなので検討してみます。 文字コードの変換についてはEncode.pmが標準で入っているようですし、そちらを使おうと思います。 参考になりました。ありがとうございました。

関連するQ&A

  • PerlでのSessionの使い方について。。。?

    こんにちは。よろしくお願いします。 ただいま、Perlの経験も無いのに、Perlのシステムを触って改版作業中です(涙(普段はASPで開発を行っています。 調べて、可能であろうことは分かった(?)のですが、技術と知識が足りないようです。力をお貸し願えませんでしょうか? 現状、やりたいことは、Perlのプログラムの中で、Sessionを利用したい。ということです。 もうちょっと前提の条件として。。。ASPのページから、ASPのSessionを保持したまま、Perlで呼び出してそれを使って~。。。とか、やりたいのですが、その前に、PerlでSessionの利用方法がイマイチ分かりません。 既存の、質問掲示板~のようなシステムがPerlで作ってあります。 そのトップページにあたるindex.plプログラム内で、「CGI::Session」を宣言して。。。 と、宣言した時点で、既にページが表示されなく。。。 参考サイトとして http://okilab.jp/project/document/japanate/perldoc/html/CGI-Session-4.14/CGI/Session.htm や http://okilab.jp/project/document/japanate/perldoc/html/CGI-Session-4.14/CGI/Session.htm あたりを見ているのですが、 最初に「use」で呼び出して~。。。が呼び出せない。。。? ということで、環境が。。。正しくない?のかと、いろいろと考えてはいますが、なんともなりません。 CGI::Sessionは、Perlが使える標準の設置状態から、追加で何かいれなくてはいけないのですかね?? 支離滅裂な文章になってしまいましたが、アドバイスいただけると幸いです。(ちなみに、一番の担当者がお休み中なため、自分が対応中です_no

    • ベストアンサー
    • Perl
  • Perlのアドレスについて

    はじめまして、 Webサーバー初心者です。 CGIを動かすモジュールを入れて実際自分のサーバーでCGIを動かそうと思ったんですが、CGIのプログラムの頭にある「#!user/local/bin/user」(←例です)などのアドレスの指定がよくわかりません。よく、レンタルサーバーとかであると「うちのPerlのアドレスは#!user/local/bin/user」ですなどと表示されていたりしますが、今回は自分がサーバーなのでほかのユーザーがPerlを使うときにアドレスを指定してあげないといけません。どうしたら自分のサーバーのPerlの場所の指定ができるのでしょうか?(ようは,私の場合どのようなアドレスになるのかが知りたいわけです) ちなみにPerlのインストール先は「C:\Perl」でソフトは「Active Perl」を使用しております。サーバーのOSはWindowsXP(Pro)です。 よろしくお願いします。

  • Cookieを利用したユーザ管理

    perl(CGI::Session)を利用したセッション管理について教えてください。 【実現したい機能】 会員DB(IDやパスワードを保持)を使用し、認証を行い、 認証成功したらCookieを発行し、会員別のページを表示する。 会員DBのIDとCookieを紐づける機能は、CGI::Sessionにあるのでしょうか。 CGI側でCookieから会員DBのIDを結びつけるためには新たにファイルなどを作成する必要があるのでしょうか。

    • ベストアンサー
    • Perl
  • Perlでのセッション管理と不要セッション削除について

    いつもお世話になっています。 Perlにてセッション管理(ログインして、サイト内はユーザーIDなどを持ちまわるような)を行おうとしています。 CGI::Sessionを使用して実現できると思っているのですが、 疑問があります。 セッション情報の持ち方は、サーバー内にファイルか、DBに格納する ことになると思いますが、不要になったファイルやレコードは、 みなさんどうされているのでしょうか? (ログアウトボタンがあっても、ブラウザの閉じるボタンを押される ケースが多いと思いますので、必ずdelete()はできないですよね?) 削除バッチなどで定期的に削除することを考えていますが、 もっとスマートなやり方があればご教示いただければと思います。 よろしくおねがいします。

  • phpとperlでメールフォーム+DB登録機能

    phpとperlでメールフォーム+DB登録機能を作っていますが、 だいぶ煮詰まってしまいました。 ●設計概要 https://dl.dropbox.com/u/85274673/form.jpg ●参考にしたが解決しなかったURLの一部掲載 http://okwave.jp/qa/q3086758.html http://ml.php.gr.jp/pipermail/php-users/2003-October/019138.html ●使用しているsend.cgi(配布フリー) http://www.synck.com/contents/download/cgi-perl/mailformpro.html ●状況 cgi(perl)もしくはphpだけでdb登録+メール送信両方行うプログラムが 必要となりました。 php単体でdb登録+mb_send_mailをスクラッチで書いてうまくいったと思ったのですが、 ユーザー側に送るメール内容(本文)と管理者側に送るメール内容(本文)を 分けることができず、現状使っているsend.cgiでメール送信し、phpでDBに登録 はできないかと思い、調べながらやってみました。 (cgi(perl)はphp以上に完全素人なので、dbへの登録を行うプログラムが書けませんでした。) form.html→db.php→thanks.html from.html→send.cgi→thanks.html は問題なく動作しました。 設計の通り 1. form.html→db.php→send.cgi→thanks.html もしくは 2. from.html→send.cgi→db.php→→thanks.html を実現したいと思っています。 $_POSTの値さえ渡せれば 1.は実現できそうなのですが、話はそう単純ではないのでしょうか。 ヒントでも貰えれば幸いです。宜しくお願いいたします。

    • ベストアンサー
    • Perl
  • Webアプリ開発について質問です

    作りたいWebアプリがあります。 しかし、どうやって作ればいいかわかりません。 具体的には教えることはできませんので、いくつか実装したい機能をあげます。 ・複数のユーザーが同時に参加し選択や行動をリアルタイムで他のユーザーが知る事ができる。例えばskypeやLINEにある「○○さんが書き込み中です・・・」を表示する機能。 ・表示がflashのように動的で、わかりやすいインターフェース。 ・一つのイベントに参加するユーザーを限定するための認証コードの作成。例えば、親ユーザーが一つのイベントを作成すると認証コードが生成される。その認証コードを知らない人間以外はそのイベントに参加できない、といった具合。 非常にわかりにくいと思いますが、現状ではこれぐらいしか書けません。 特徴の2つ目に、flashとありますがiPhoneにも対応させたいので、できればflashは使いたくありません(最悪iPhoneアプリを作ればWeb版はflashでもかまいません)。 flashほど動的でなくても、ユーザーの行動とリアルタイムに表示が遷移できれば十分です。 Webアプリ開発はずぶの初心者なので言語などはほとんどわかりませんが、現在はRubyとRubyOnRailsを平行して勉強中です。 できればこれらの知識を利用して作れればうれしいです。 無知で恐縮ですが、よろしくお願いします。

  • Perl/CGIを学んでいるのですが

    Perl/CGIを独学で学んでいます。 掲示板やチャットが作成できる程度です。 私はPerl=CGIと考えていたのですが(HTMLがサイト作成に使うことのように専用の言語とでもいいましょうか)、ぜんぜん違うようです。 PerlはCGI以外に Perlではどのようなことができるのでしょうか? 大まかな認識だと ビィジュアルを持たない、(VBでいうフォームパーツですかね)バッチファイルなど? で、コマンドプロンプトで動作するようなイメージがありますが(.batを起動するとメモ帳みたいなアプリではなく、特定の処理して終了みたいな) 無知な私にPerlで出来ることをお教えください。 せっかくPerl/CGIが少しは理解できているのでPerlをもっと勉強しようかとあぐねいているとこらです。 混乱しているため変な質問でしたらすいません

  • カレンダーソフト(アプリ)開発のユーザ数

    ブラウザ表示できるカレンダーソフト(アプリ)の開発依頼を検討してます。 同じカレンダーを利用するユーザーは5人~10程度を想定してますが、カレンダーへ複数人が同時アクセスした場合などに対応できる仕様はあるのでしょうか? 開発依頼する前に情報を集めておこうと思い質問させていただきました。 ご教授いただけると助かります。

  • Perl実行時のメモリ不足について

    こんばんは。いきなりですが、質問があります。 CGIで動的にHTMLを作成したのですが あるページに多数ユーザが接続しようとすると フリーズしてしまいます。 調査してみたところ、Perlが実行時にメモリを 多く確保しているためのようです。 また、そのページではフレームを使用しているため、 1ユーザに複数プロセスが起動されるので、 それもメモリ不足の原因ではと思っています。 メモリの使用量を下げようとしているのですが、 知識足らずなため、思うようにいきません。 どなたか良い方法をご存知でしたら、 教えていただきたいのですが。 よろしくお願いします。

  • OracleとWebアプリ

    OracleをDBとして利用し、 Webアプリの開発を行うとしています。 フレームワークを利用して作成しようとしているのですが、 Oracle と CakePHP の情報が少なく困っています。 OracleをDBとして利用し、 Webアプリをフレームワークで作成する場合、 どの言語で、どのフレームワークを使用するのが一番お勧めでしょうか。 PHP?Ruby?java? ご教授お願いします。

専門家に質問してみよう