2011-01-01から1年間の記事一覧
Perl › モジュール › here MySQLのデータベースの差分から、差分をなくすようなコマンドを自動生成するツールを探していたら、MySQL::Diffというモジュールを発見した。このモジュールにはmysqldiffというコマンドラインツールがついているので、通常はこち…
Perl › モジュール › データベース › DBIx::Custom › here DBIx::Custom::Orderクラスを利用するとorder by句を簡単に記述することができます。たとえば、デフォルトの順序を最初に指定しておいて、状況に応じて順序をカスタマイズすることが簡単にできます…
Perl › モジュール › データベース › DBIx::Custom › here DBIx::Customで「フィルタリング」を利用する方法を解説します。 列名によるフィルタリング DBIx::Customでは列名を指定して値をフィルタリングすることができます。データベースにデータを送信する…
Perl › モジュール › データベース › DBIx::Custom › here DBIx::Customで「動的にwhere句を作成」する方法を解説します。 動的なWhere句の生成 DBIx::Customでは動的にWhere句を生成することができます。たとえば、与えられたパラメータにtitleしか含まれて…
hypnotoadサーバーはMojoliciousの本番環境でデプロイするために利用されるプリフォークサーバーです。 開発環境でmorboで開発していて、本番環境でアプリケーションを動かすときには、タイムアウトに注意する必要があります。 hypnotoadはプリフォークサー…
Perl › Mojolicious MojoliciousはIO監視としてIO::Pollをデフォルトでは使用しますが、より速いEVを利用することもできます。MojoliciousはEVがインストールされていると自動的にIO監視でEVを利用し、パフォーマンスが向上します。EVは他のCPANモジュールと…
Perl › モジュール › データベース › DBIx::Custom › here DBIx::Customの「テーブル」と「列」の情報を調べるメソッドを紹介します。 すべてのテーブルの情報を順番に調べる each_table すべてのテーブルの情報を順番に調べるにはeach_tableメソッドを使用…
Perl › モジュール › データベース › DBIx::Custom › here 最後に実行されたSQLを取得する - last_sql 最後に実行されたSQLを取得するにはlast_sqlメソッドを使用します。 my $last_sql = $dbi->last_sql; デバッグを行うときに便利です。 実行されたSQLを確…
Perl › モジュール › here 「Imager」モジュールを使用すると「画像の編集」が簡単にできます。Tipsを紹介します。 「日本語」を描画する Imagerで日本語を描画するには次のようにします。 use strict; use warnings; use utf8; use Imager; my $img = Image…
Perl › モジュール › データベース › DBIx::Custom › here DBIx::Customで「モデル」を利用する方法を解説します。 モデルを生成する - create_model モデルを作成するにはcreate_modelメソッドを使用します。 $dbi->create_model( table => 'book', primary…
Perl › モジュール › データベース › DBIx::Custom › here DBIx::Customで「SQLを生成」するためのメソッドを紹介します。 select文で利用する列名を簡単に生成する - column select文で利用する列名の部分を簡単に生成するにはcolumnメソッドを使用します。…
メインウインドウの幅と高さを指定するにはg_wm_geometryメソッドを使用します。 # Width and height $mw->g_wm_geometry("600x300"); 幅と高さは「幅x高さ」という形式で指定します。 表示位置も同時に指定したい場合は次のようにします。 $mw->g_wm_geomet…
Perl › モジュール › データベース › DBIx::Custom › here DBIx::Customで「行をフェッチ」する方法を解説します。 行をフェッチする executeやselectメソッドの戻り値はDBIx::Custom::Resultオブジェクトです。DBIx::Custom::Resultクラスは行をフェッチす…
Perl › モジュール › データベース › DBIx::Custom › here SQLを実行するにはexecuteメソッドを使用します。 # Execute SQL my $result = $dbi->execute("select * from book"); 戻り値はDBIx::Custom::Resultオブジェクトです。すべての行を取得するにはall…
Perl › データベース › here (CentOS5.5, CentOS5.7で確認) PerlモジュールのDBD::Oracleをインストールしたのでメモ。 DBD::Oracleをインストールするためには以下のライブラリが必要でした。 oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm oracle-i…
Perl › モジュール › Text::CSV::Encoded 日本語を含んだCSVファイルを扱うにはText::CSV::Encodedモジュールを使用します。以下にCSVを処理するサンプルを示します。スクリプトはUTF-8で保存します。 use strict; use warnings; use utf8; use Text::CSV::E…
Perl › Mojolicious Mojoliciousのタグヘルパーの一覧です。 テキストフィールド text_fieldタグヘルパーを使うとテキストフィールドを簡単に記述することができます。 <%= text_field 'first_name' %> <%= text_field first_name => 'Default name' %> <%= …
Perl › モジュール › here Errnoモジュールを使用すれば、システムのエラー番号をあらわす定数をインポートすることができます。 use Errno qw/EAGAIN EINTR ECONNRESET EWOULDBLOCK/; インポートできる定数の種類についてはこちらを参考にしてください。 Un…
form_forヘルパーを使うとフォームを簡単に記述することができます。 <%= form_for login => (method => 'post') => begin %> <%= text_field 'first_name' %> <%= submit_button %> <% end %> <%= form_for login => {foo => 'bar'} => (method => 'post') …
Perl › モジュール › here Data::Pageモジュールはページングの処理を便利にするモジュールです。必要な情報をコンストラクタに与えると、さまざまな情報を取得することができます。 use Data::Page; my $page = Data::Page->new($total_entries, $entries_p…
Perl › Mojolicious Mojolicious::Liteでさまざまなルートを記述してみましょう。 GETメソッドとPOSTメソッド GETメソッドによる「/」へのルートです。GETメソッドはページを取得するときや検索を行うときに利用されることが多いです。 # Via get method use…
Perl › Mojolicious MojoliciousによるHello Worldアプリケーション(hello.pl)は次のように書きます。Mojoliciousに含まれるMojolicious::Liteというモジュールを利用します。たったの3行ですがひとつの完全なWebアプリケーションになっています。 use Mojol…
Mojoliciousは単なるPerlのモジュールですので、他のモジュールのインストールと同じようにとても簡単にインストールすることができます。 cpan Mojolicious WindowsでMojoliciousを試したいのであればこれで十分でしょう(YAMLのエラーがでる場合の対処法。…
Perl › モジュール › データベース › DBIx::Custom › here データベースへ接続するにはconnectメソッドを使用します。データベースとしてSQLiteに接続してみます。 my $dbi = DBIx::Custom->connect( dsn => "dbi:SQLite:dbname=bookshop" ); データベースに…
Perl › モジュール › データベース › DBIx::Custom › here DBIx::Customをインストールにはcpanコマンドを使用します。 cpan DBIx::Custom WindowsでもUnix系のOSでもインストールすることができます。cpanコマンドではルート権限がないインストールを行うこ…
Perl › Mojolicious HTTPヘッダを取得するにはMojo::Headersクラスのheaderメソッドを使用します。 my $x_forwarded_host = $headers->header('X-Forwarded-Host'); またMojo::Headersクラスには一般的なヘッダを取得するためのショートカットメソッドがたく…
Perl › Mojolicious Mojoliciousでパラメーターといった場合次の三つの要素を含むことが多いので、まず次の三つのものの区別をしておきましょう。 クエリ文字列に含まれるデータ POSTで送信されたHTTPボディに含まれるデータ URLの中でキャプチャされたデー…
select_fieldヘルパーを利用するとselectタグとoptionタグが簡単に記述できます。 <%= select_field country => [qw/ドイツ 日本/] %> <%= select_field country => [['ドイツ' => 'de'], ['日本' => 'ja']] %> 以下のようなHTMLに展開されます。 <select name="country"> <option value="ドイツ">ドイツ</option> <option value="日本">日</option></select>…
Perl › Mojolicious パラメーターをハッシュリファレンスに変換するには、Mojo::Parametersクラスのto_hashメソッドを使用します。 my $hash_data = $params->to_hash; Mojolicious::Liteのサンプルです。パラメーター(クエリ文字列、POSTデータ、URLの中で…
Perl › Mojolicious HTTPメソッドを取得するにはMojo::Message::Requestクラスのmethodメソッドを使用します。 my $method = $req->method; 以下はMojolicious::Liteでの例です。Mojo::Message::RequestオブジェクトにはMojolicious::Controllerオブジェクト…