2013-01-01から1年間の記事一覧

hypnotoadが立ち上がらないときのチェック方法 / Mojolicious

Perl › Mojolicious Mojoliciousの本番用のサーバーであるhypnotoadが立ち上がらないという事象が起こって、何がエラーなのかをチェックするのが大変だったので、対処方法を書いておきます。 原因は、単に設定ファイルが間違っていたというだけなのですが、h…

Data::Page::Navigation - ページナビゲーションの実装

Perl › モジュール › here Data::Page::NavigationモジュールはData::Pageに機能を追加するモジュールで、ページナビゲーション用のデータを簡単に作成することができます。 use strict; use warnings; use Data::Page; use Data::Page::Navigation; my $tot…

PDLによるグラフの作成

Perl › モジュール › PDL PDLを使ってグラフを作成する方法を解説します。 PDL::Graphics::PLplotのインストール グラフを描画するためにはPDL::Graphics::PLplotというモジュールをインストールします。(先にPDLをインストールしておく必要があります。) Wi…

PDLのインストール

Perl › モジュール › PDL 統計・解析のためのモジュール「PDL」をインストールしてみましょう。 Linux/Unix cpanかcpanmを使ってインストールするだけです。PDLとPDL::Statsをインストールしておきましょう。 cpan PDL cpan PDL::Stats あるいはcpanmをダウ…

PDLにおける多次元データの表現

Perl › モジュール › PDL これまでは1次元のデータだけを扱ってきましたが、PDLで多次元データを表現する方法を解説したいと思います。 多次元データの表現 多次元データを表現するには、pdl関数を使って次のようにします。 use PDL::Lite; my $data = pdl […

PDLにおける統計関数

Perl › モジュール › PDL 基本的な統計関数を紹介します。 最大 一次元のPDL変数から、最大値を求めるには、maxメソッドを使用します。 use PDL::Lite; # データ my $nums = pdl [4, 2, 7]; # 最大値 my $max = $nums->max; PDL::Ufuncモジュールは、PDL変数…

PDLの基礎を学ぼう

Perl › モジュール › PDL R言語で統計解析を行っている人が、PerlでのPDLを使った統計解析作業を行えるように、PDLの入門を書いてみたいと思います。Perlの統計解析ライブラリであるPDLが使えるようになれば、Excelで行うような複数列のデータの統計処理が行…

ヒストグラムのグラフ / PDLによる統計解析

PDL::Graphics::PLplotでヒストグラムのグラフを描くにはhistogramメソッドを使います。 use strict; use warnings; use PDL::Lite; use PDL::Graphics::PLplot; # PLPlotオブジェクトの作成 my $pl = PDL::Graphics::PLplot->new(DEV => 'png', FILE => 'gr…

Perlのガーベッジコレクション(GC)の特性について

Perl › 読み物 オブジェクト(変数や値)が必要ではなくなったときに、自動的にメモリ上から解放する仕組みをガーベッジコレクションといいます。ガーベッジというのは、ごみという意味。コレクションというのは集めるという意味です。 Perlのガーベッジコレク…

DDP - データをわかりやすく出力する

Perl › モジュール › here データをわかりやすく出力するのにDDPというモジュールを利用することができます。 ハッシュや配列が入れ子になった複雑なデータの内容を見るのに便利です。 # データをわかりやすく出力 use DDP; p $data; DDPはData::Printerとい…

warningsモジュール

Perl › モジュール › here 警告を表示するにはwarningsプラグマを使用します。 use warnings; Perlにおいては、デフォルトの状態では、警告は表示されず、スクリプトが実行されます。warningsプラグマを使えば、警告を表示させることができます。スクリプト…

strict - 文法チェックを厳しくする

Perl › モジュール › here 文法チェックを厳しくするにはstrictモジュールを使用します。 use strict; strictプラグマはPerlの文法チェックを厳しくするためのプラグマです。strictプラグマは、Perlのスクリプトを書くときには、必ず記述するようにしてくだ…

TaskDealをリリースしました。 - 複数代マシンへの設定の反映。Perl製のRuby Chefの代替ツール。

開発していたTaskDealの0.01をリリースしました。メジャーリリースです。Perl製のツールなので簡単にインストールでき、Webブラウザの画面から、複数マシンに環境設定を反映することができます。複数のマシンに、ひとつのコマンドを一度に送信することが可能…

ファイルを配置でルーティングを自動生成 - Mojolicious::Plugin::AutoRoute

Perl › Mojolicious › here Mojolicious::Plugin::AutoRouteは、ファイルを配置するだけで、ルーティングを自動的に生成してくれるプラグインです。 Mojolicious::Plugin::AutoRoute テンプレートをファイルとして配置するだけで書くだけで、Webアプリケーシ…

Perlのコメント

Perl › 構文 › コメント Perlにおけるコメントを行う方法を解説します。コメントは、実際に実行されない部分で、注釈のために記述します。 コメント Perlでコメントを記述するには、#を使用します。 # コメント #から末尾までがコメントになります。 複数行…

ハッシュベースのオブジェクト指向を見直そう

Perl › 読み物 僕自身はハッシュベースのオブジェクト指向が好きです。mopは簡単なことをするには複雑すぎると感じます。mopをコアに導入するか、いつできるかで、何年も何年もかかるなら、先にハッシュベースのオブジェクト指向モジュールをひとつコアに入…

rootユーザーでいるときに、一般ユーザーにスイッチしてコマンドを実行する方法 / Mojolicious

Perl › Mojolicious rootユーザーでいるときに、一般ユーザーにスイッチしてコマンドを実行するには、以下のようにsuの-cオプションを使用します。 su - ユーザー名 -c コマンド 最近はWebアプリケーションを作成しているのですけれど、rootユーザーから一般…

WebDBViewer - Webブラウザからデータベースの情報を見るためのデータベースビューア

Perl › アプリ › WebDBViewer | 木本プロジェクト WebDBViewerの1.0をリリースしたのでお知らせします。WebDBViewerはWebブラウザからデータベースの情報を見るためのデータベースビューアです。phpMyAdminに似ていますが、データベースの情報を見る機能に特…

テンプレートディレクトリの中のファイルを自動でディスパッチする方法 / Mojoliciousリファレンス

テンプレートディレクトリの中のファイルを自動でディスパッチする処理は以下のようにして書くことができます。 use Mojolicious::Lite; # 手動でルートを作成 get '/foo' => 'foo'; # 自動のルートを作成 any '/(*Path)' => sub { my $self = shift; my $pa…

DBD::ODBCのエラー install_driver(ODBC) failed: Unable to get DBI state function. DBI not loaded

環境を移行したときにDBD::ODBCで次のエラーが発生した。 install_driver(ODBC) failed: Unable to get DBI state function. DBI not loaded これはDBIのバージョンが古いことでDBDの関数が見つからなかったことが原因のようでDBIもDBD::ODBCもともにバージ…

Perlを使ったモダンなCGIスクリプトについて書いておきたい

「いまさらCGIですか」と誰かがいった。CGIという言葉には、偏ったイメージがついてしまっていて、代表的なイメージは「Perl=CGI=古い」というイメージだと思います。このみっつがセットになっていて、否定的に語られることが多いように思います。 でもよく…

ユニコード文字をコードポイントで表現する

Perl › 文字コード › Unicode › コードポイント ユニコード文字には、すべての文字にコードポイントが割り当てられています。Perlでは、ユニコード文字をコードポイントを使って表現することができます。 # あ my $str = "\x{3042}"; コードポイントで表現さ…

ある文字のユニコードのコードポイントを調べる方法

Perl › 文字コード › Unicode › コードポイント ある文字のユニコードのコードポイントを知りたい場合は、次のようにします。utf8プラグマは有効にして、ソースコードをUTF-8で保存する必要があります。 use utf8; my $str = 'あ'; # 十六進数として表示 pri…

ノンブロッキングIOはどの部分がノンブロッキングなのかを理解する / Mojolicious

Perl › Mojolicious Mojoliciousが持っているWebサーバーはノンブロッキングIOに対応しています。でもノンブロッキングといったときには、人それぞれにいろんなイメージを抱いていると思いますし、誤解がたくさんある気がするので簡単に解説します。 ノンブ…

リバースプロキシからSSL通信であることを伝える / Mojolicious

Perl › Mojolicious リバースプロキシを利用するときSSL通信が行われていることをMojoliciousに教えるにはX-Forwarded-HTTPSリクエストヘッダを設定します。 以下はApacheの例です。 <VirtualHost *:443> ServerName some.com <Proxy *> Order deny,allow Allow from all </Proxy> ProxyRequests </virtualhost>…

Perl 5.18 がリリースされました

Perl › バージョン情報 › here Perl 5.18がリリースされました。パチパチパチ。 Perl 5.18.0 バージョンアップするときに注意する点 今回のPerl 5.18 へのバージョンアップは、すぐに行うのは、少し待ったほうがよいという感じがします。 一つ目は、Perlのke…

GitPrep - ポータブルなGithubシステムをUnix/Linuxにインストール

Perl › here GitPrepはGithubのクローン、ポータブルなGithubシステムをUnix/LinuxにインストールできるWebアプリケーショGitPrepです。インストールはとても簡単で、ひとつのコマンドだけでインストールすることができます。 Githubの機能を、会社などでも…

Mojolicious::Plugin::DBViewer - データベースの情報をブラウザで観覧するためのプラグイン

Mojolicious::Plugin::DBViewerはデータベース情報をブラウザから見るためのMojoliciousのプラグインです。 機能 MySQLとSQLiteをサポートしています テーブル名の一覧表示 CREATE TABLEの内容の表示 簡単SELECTステートメントによる検索の実行。複数検索条…

getpwnam関数 - ユーザー名からユーザーIDを取得する

Perl › 関数 › here ユーザー名からユーザーIDを取得するにはgetpwnam関数を使って、次のようにします。 # ユーザー名からユーザーIDを取得 my $uid = (getpwnam 'ken')[2]; Perl › 関数 › here

getgrnam関数 - グループ名からグループIDを取得する

Perl › 関数 › here グループ名からグループIDを取得するにはgetgrnam関数を使って、次のようにします。 # グループ名からグループIDを取得 my $gid = (getgrnam 'devel')[2]; Perl › 関数 › here