2013-01-01から1年間の記事一覧
Perl › Mojolicious Mojoliciousの本番用のサーバーであるhypnotoadが立ち上がらないという事象が起こって、何がエラーなのかをチェックするのが大変だったので、対処方法を書いておきます。 原因は、単に設定ファイルが間違っていたというだけなのですが、h…
Perl › モジュール › here Data::Page::NavigationモジュールはData::Pageに機能を追加するモジュールで、ページナビゲーション用のデータを簡単に作成することができます。 use strict; use warnings; use Data::Page; use Data::Page::Navigation; my $tot…
Perl › モジュール › PDL PDLを使ってグラフを作成する方法を解説します。 PDL::Graphics::PLplotのインストール グラフを描画するためにはPDL::Graphics::PLplotというモジュールをインストールします。(先にPDLをインストールしておく必要があります。) Wi…
Perl › モジュール › PDL 統計・解析のためのモジュール「PDL」をインストールしてみましょう。 Linux/Unix cpanかcpanmを使ってインストールするだけです。PDLとPDL::Statsをインストールしておきましょう。 cpan PDL cpan PDL::Stats あるいはcpanmをダウ…
Perl › モジュール › PDL これまでは1次元のデータだけを扱ってきましたが、PDLで多次元データを表現する方法を解説したいと思います。 多次元データの表現 多次元データを表現するには、pdl関数を使って次のようにします。 use PDL::Lite; my $data = pdl […
Perl › モジュール › PDL 基本的な統計関数を紹介します。 最大 一次元のPDL変数から、最大値を求めるには、maxメソッドを使用します。 use PDL::Lite; # データ my $nums = pdl [4, 2, 7]; # 最大値 my $max = $nums->max; PDL::Ufuncモジュールは、PDL変数…
Perl › モジュール › PDL R言語で統計解析を行っている人が、PerlでのPDLを使った統計解析作業を行えるように、PDLの入門を書いてみたいと思います。Perlの統計解析ライブラリであるPDLが使えるようになれば、Excelで行うような複数列のデータの統計処理が行…
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 › 読み物 オブジェクト(変数や値)が必要ではなくなったときに、自動的にメモリ上から解放する仕組みをガーベッジコレクションといいます。ガーベッジというのは、ごみという意味。コレクションというのは集めるという意味です。 Perlのガーベッジコレク…
Perl › モジュール › here データをわかりやすく出力するのにDDPというモジュールを利用することができます。 ハッシュや配列が入れ子になった複雑なデータの内容を見るのに便利です。 # データをわかりやすく出力 use DDP; p $data; DDPはData::Printerとい…
Perl › モジュール › here 警告を表示するにはwarningsプラグマを使用します。 use warnings; Perlにおいては、デフォルトの状態では、警告は表示されず、スクリプトが実行されます。warningsプラグマを使えば、警告を表示させることができます。スクリプト…
Perl › モジュール › here 文法チェックを厳しくするにはstrictモジュールを使用します。 use strict; strictプラグマはPerlの文法チェックを厳しくするためのプラグマです。strictプラグマは、Perlのスクリプトを書くときには、必ず記述するようにしてくだ…
開発していたTaskDealの0.01をリリースしました。メジャーリリースです。Perl製のツールなので簡単にインストールでき、Webブラウザの画面から、複数マシンに環境設定を反映することができます。複数のマシンに、ひとつのコマンドを一度に送信することが可能…
Perl › Mojolicious › here Mojolicious::Plugin::AutoRouteは、ファイルを配置するだけで、ルーティングを自動的に生成してくれるプラグインです。 Mojolicious::Plugin::AutoRoute テンプレートをファイルとして配置するだけで書くだけで、Webアプリケーシ…
Perl › 構文 › コメント Perlにおけるコメントを行う方法を解説します。コメントは、実際に実行されない部分で、注釈のために記述します。 コメント Perlでコメントを記述するには、#を使用します。 # コメント #から末尾までがコメントになります。 複数行…
Perl › 読み物 僕自身はハッシュベースのオブジェクト指向が好きです。mopは簡単なことをするには複雑すぎると感じます。mopをコアに導入するか、いつできるかで、何年も何年もかかるなら、先にハッシュベースのオブジェクト指向モジュールをひとつコアに入…
Perl › Mojolicious rootユーザーでいるときに、一般ユーザーにスイッチしてコマンドを実行するには、以下のようにsuの-cオプションを使用します。 su - ユーザー名 -c コマンド 最近はWebアプリケーションを作成しているのですけれど、rootユーザーから一般…
Perl › アプリ › WebDBViewer | 木本プロジェクト WebDBViewerの1.0をリリースしたのでお知らせします。WebDBViewerはWebブラウザからデータベースの情報を見るためのデータベースビューアです。phpMyAdminに似ていますが、データベースの情報を見る機能に特…
テンプレートディレクトリの中のファイルを自動でディスパッチする処理は以下のようにして書くことができます。 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 これはDBIのバージョンが古いことでDBDの関数が見つからなかったことが原因のようでDBIもDBD::ODBCもともにバージ…
「いまさらCGIですか」と誰かがいった。CGIという言葉には、偏ったイメージがついてしまっていて、代表的なイメージは「Perl=CGI=古い」というイメージだと思います。このみっつがセットになっていて、否定的に語られることが多いように思います。 でもよく…
Perl › 文字コード › Unicode › コードポイント ユニコード文字には、すべての文字にコードポイントが割り当てられています。Perlでは、ユニコード文字をコードポイントを使って表現することができます。 # あ my $str = "\x{3042}"; コードポイントで表現さ…
Perl › 文字コード › Unicode › コードポイント ある文字のユニコードのコードポイントを知りたい場合は、次のようにします。utf8プラグマは有効にして、ソースコードをUTF-8で保存する必要があります。 use utf8; my $str = 'あ'; # 十六進数として表示 pri…
Perl › Mojolicious Mojoliciousが持っているWebサーバーはノンブロッキングIOに対応しています。でもノンブロッキングといったときには、人それぞれにいろんなイメージを抱いていると思いますし、誤解がたくさんある気がするので簡単に解説します。 ノンブ…
Perl › Mojolicious リバースプロキシを利用するときSSL通信が行われていることをMojoliciousに教えるにはX-Forwarded-HTTPSリクエストヘッダを設定します。 以下はApacheの例です。 <VirtualHost *:443> ServerName some.com <Proxy *> Order deny,allow Allow from all </Proxy> ProxyRequests </virtualhost>…
Perl › バージョン情報 › here Perl 5.18がリリースされました。パチパチパチ。 Perl 5.18.0 バージョンアップするときに注意する点 今回のPerl 5.18 へのバージョンアップは、すぐに行うのは、少し待ったほうがよいという感じがします。 一つ目は、Perlのke…
Perl › here GitPrepはGithubのクローン、ポータブルなGithubシステムをUnix/LinuxにインストールできるWebアプリケーショGitPrepです。インストールはとても簡単で、ひとつのコマンドだけでインストールすることができます。 Githubの機能を、会社などでも…
Mojolicious::Plugin::DBViewerはデータベース情報をブラウザから見るためのMojoliciousのプラグインです。 機能 MySQLとSQLiteをサポートしています テーブル名の一覧表示 CREATE TABLEの内容の表示 簡単SELECTステートメントによる検索の実行。複数検索条…
Perl › 関数 › here ユーザー名からユーザーIDを取得するにはgetpwnam関数を使って、次のようにします。 # ユーザー名からユーザーIDを取得 my $uid = (getpwnam 'ken')[2]; Perl › 関数 › here
Perl › 関数 › here グループ名からグループIDを取得するにはgetgrnam関数を使って、次のようにします。 # グループ名からグループIDを取得 my $gid = (getgrnam 'devel')[2]; Perl › 関数 › here