2012-01-01から1年間の記事一覧
Perl › Mojolicious 僕はWebアプリケーションをまともに作ったことがない人なので、Webアプリケーションのセキュリティ周りはうといです。Mojoliciousにはsessionというメソッドがあるのですが、これはWebアプリでいうところの、セッション管理であると信じ…
Perl › モジュール › here ビッグデータ、データサイエンス、統計解析という分野が、最近ではトレンドになってきている感じがします。PerlのPDLというモジュールを使って、統計解析を行う手法を解説します。 インストール PDLをインストールしてみましょう。…
Perl › モジュール › here PerlにはC言語を呼び出すための方法として基本的なものでかつ、汎用的に利用できるものとしてXS言語というものが用意されています。 でもXS言語を書くのは一苦労です。C言語で書かれたライブラリをPerlから簡単に呼び出すことがで…
Perl › モジュール › PDL 複素数はPDL::Complexを読むと使えるようになる虚数単位を表すi関数を使って表現します。 たとえば3 + 2iという複素数を表現するには次のようにします。 use PDL; use PDL::Complex; my $num = 3 + 2*i; この複素数を出力すると以下…
Perl › Mojolicious 一般的にはMojoliciousのアプリケーションは、一般ユーザーで作成して、hypnotoadコマンドを使ってデプロイすると思います。 つまりhypnotoadコマンドは、通常は、一般ユーザーで実行する必要があるということですね。でもrootから管理し…
Perl › モジュール › PDL PDLにおける「行列」の扱いを解説します。 行列の作成 行列を作成するにはpdl関数を使用します。 use PDL::Lite; my $mat = mpdl [ [1, 2], [3, 4] ]; 以下のような行列が作成されます。 [ [1 2] [3 4] ] 行列の足し算 行列の足し算…
Perl › Mojolicious プラグインはデフォルトでMojolicious::Plugin以下から読み込まれますが、名前空間を追加することもできます。 # Mojolicious::Lite push @{app->plugins->namespaces}, 'MyApp::Plugins'; # Mojolicious sub startup { my $self = shift…
Perl › 読み物 Perlのコアは以下のリポジトリを使って開発されています。毎日のようにコミットが行われていて、ほとんどは小さなバグの修正が多いですね。Perlは1年に一回というリリースサイクルを持っていて、そのスケジュールにあわせて開発されています。…
Perl › 演算子 › here Perl5.10からは、とても便利なDefined-or演算子「//」が導入されました。スラッシュが二つ続く演算子です。とっても検索しにくいので、早めに覚えておくのがいいと思います。近年の機能追加では、僕的には一番お勧めの機能ですね。 # D…
Perl › 文字コード 平方メートル(m2)を表示するときに、小さな2はどうやって表現したらよいのかなぁと悩んでいたら、解決方法を発見。Unicodeのコードポイントで、表現したらよいだけだった。 my $menseki = "100m\x{00B2}"; # 100平方メートル 小さな2にあ…
Perl › Mojolicious hypnotoadコマンドを実行しても、実際にコマンドが成功したかどうかは、一見してわかりません。hyptnoaodサーバーは、logディレクトリが存在するとメッセージをlogディレクトリ以下のproduction.logに出力します。ですので、起動が成功し…
Perl › バージョン情報 › here 2012年5月20日に待望のPerlの最新バージョンPerl 5.16.0がリリースされました。 First release of the v5.16 series! 1年に1回リリースするという方針が決まってからの3回目のリリースですね。Perlはスクリプト言語の中でも開…
Perl › 読み物 Perlの文法構造は独特なものではなくて、多く利用されている言語であるC言語、Java、PHP、JavaScriptに似ていて親しみやすいものになっています。何かを美しい、素晴らしいというのが好きな人もいますけれど、似ているほうが使いやすいという…
Perl › Mojolicious Mojo::UserAgentでWeb上からファイルを取得して、保存してみましょう。次のように記述します。 use Mojo::UserAgent; my $ua = Mojo::UserAgent->new; my $file = 'google.html'; my $url = 'http://www.google.co.jp/'; $ua->get($url)-…
Perl › Mojolicious Mojoliciousのテンプレートでは、関数のインポートは避けたほうがよいかもしれません。たとえば以下のような記述。 % use File::Basename 'dirname'; Mojoliciousのテンプレートは、すべてのテンプレートがMojo::Template::Samdboxという…
Perl › Mojolicious Mojoliciousでは、自動的にファイルの変更を検地してくれるmorboと呼ばれるサーバーを起動して開発ができます。 morbo myapp.pl でもひとつ気をつけてほしいことがあります。実は以下のアプリケーションは正しくうごきません。 use Mojol…
Perl › Mojolicious Mojoliciousのルーターは、細かい設定などができて、とても便利です。けれども、使ってみると:と#と*と.が予約語になっているということに気づくと思います。 これらの記号をURLの中で利用したい場合はあきらめるしかないのでしょうか(#…
MySQLでユーザー一覧を表示したいときにいつも方法を忘れるのでメモ。 SELECT User, Host FROM mysql.user; MySQLでは、ホスト名とユーザー名でひとつのセットになっているので、複数のユーザー名が表示される。 MySQLメモへ
Perl › 読み物 後方互換性の維持という観点から見ると、二つのタイプにスクリプト言語を分類することができます。後方互換性を維持する方針を持つスクリプト言語と後方互換性を維持しない方針を持つスクリプト言語です。 後方互換性を維持する方針を持つ Per…
Perl › Mojolicious 最近ではPerlのWebフレームワークとしてMojoliciousを使う人が増えてきています。最初にインストール方法を説明したいと思います。 PerlもMojoliciousもできるだけ広い環境で利用してもらえるように配慮がなされています。Unix/Linux, Ma…
Perl › 書籍案内 技術評論社から「かんたんプログラミング」シリーズとして発売されている書籍のCGI/Perl版です。かんたんプログラミング CGI/Perl作者: 木本裕紀,B5変形出版社/メーカー: 技術評論社発売日: 2009/07/25メディア: 大型本購入: 3人 クリック: …
Perl › Mojolicious morboはMojoliciousにデフォルトでついている開発サーバーです。ファイルの変更を自動的に検知してサーバーを自動で再起動してくるので、Web開発がとても便利になります。 morbo app.pl morboがWindowsでうまく動かない morboは、Windows…
Perl › Mojolicious 本番環境で複数のアプリケーションをデプロイするときには、サブドメイン運用ができるのであれば、リバースプロキシ + サブドメインでのデプロイをお勧めします。難しいことを考えないでも、サブドメインごとにバーチャルホストを設定し…
Perl › 書籍案内 Software Designで連載されていた「業務に役立つPerl」という連載に加筆修正を行い内容をまとめたものです。Perlにおける仕事で必要な幅広い話題を扱っており、巻末には、標準関数、標準モジュール、特殊変数のリファレンスがついています。…
お知らせ Mojolicious::Plugin::SQLiteViewerLiteはMojolicious::Plugin::DBViewerに統合されました。 Mojolicious::Plugin::SQLiteViewerLiteをCPANで公開しました。Mojoliciousのプラグインで、SQLiteのテーブル一覧やテーブルの定義をブラウザで表示させ…
Perl › CPAN モジュール名とバージョンを指定して、ファイルを自動的に取得するということは、今までのCPANだととても困難だったですが、metaCPANの登場によってこの状況は変わりそうです。変わりそうというのは、まだmetaCPANのAPIがベータバージョンだから…
Perl › モジュール › here Mac OS XはUTF-8をファイルシステムのエンコーディングとして採用していると思いきや、実は少し異なり、Mac OX X独自の仕様になっています。これを正しく扱うためにはEncode::UTF8Macというモジュールを利用すると簡単です。 use E…
このページはValidator::Custom 1.0 以前のドキュメントになります。最新版のドキュメントは、こちらです。 Validator::CustomはHTMLフォームのデータのバリデーション(値の検証)を行うための便利なモジュールです。バリデーションのルールを少ない記述で書…