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

XSでメモリリークを起こさずプログラムを書く方法

Perl › XS › here XSでメモリリークを起こさずプログラムを書く方法を解説します。 Perlのメモリ管理はリファレンスカウント方式 まず基礎知識としてPerlのメモリ管理はリファレンスカウント方式によって、行われているということを、知っておいてください。…

Perl自体をソースコードからコンパイルする方法

Perl自体をソースコードからコンパイルする方法。まず「git clone」でPerlのソースコードをとってくる。 git clone http://perl5.git.perl.org/perl.git これは、現在の開発版の最新のブランチです。 次にREADMEの中に掲載されている次のコマンドを実行しま…

MIME::Liteのインターフェースが好きだ

メール送信用のモジュールMIME::Liteはメンテナにより非推奨になっているけれど、簡単な用途であれば、ぜんぜん使えるし、Email::Senderよりも使いやすいと思う。ドキュメントのサンプルもWeb上のサンプルも多い。なんにせよ、広く使われていたモジュールが…

掲示板の作成 | Mojolicious入門

(書きかけ) ここまで急ぎ足で解説してきました。では、今回は実際にWebサイトを作成してみましょう。簡単な掲示板を作成してみます。Webサイトにおいて、ユーザーからのデータを登録、登録したデータを読み出して表示します。 掲示板でも、コメントを登録し…

Mojolicious 5.0がリリースされました

Perl › Mojolicious Mojolicious 5.0がリリースされました。Mojoliciousのリリース報告によるとコミュニティも広がっているようですね。Mojoliciousは、Ruby on Railsに比べると、Webフレームワークの部分に特化しているので、コンパクトで、癖がなく、非常…

ハッシュの変数名は、単数形か複数形か

Perl › 読み物 スカラ変数は単数形、配列変数は、複数形でよいのですが、ハッシュ変数の場合は、変数名を単数形にすべきか、複数形にすべきか、いつも迷います。つけ方の方針について考えてみます。 スカラ変数はいつも単数形です。 my $name = 'kimoto'; 配…

Perl 5.20がリリース - ipv6のサポート、サブルーチンの新しい文法、新しいスライス記法、Unicode 6.3への対応など

Perl › バージョン情報 › here Perl 5.20がリリースされました。今回は結構盛りだくさん。ピックアップして紹介します。 Perl 5.20で追加・変更された機能 IO::Socket::IPがコアモジュールに Perl 5.20ではIO::Socket::IPがコアモジュールになりました。Perl…

MojoliciousのリバースプロキシのSSLの検知方法が変わります

MojoliciousのリバースプロキシでのSSLの検知方法が変わります。リバースプロキシを使って、かつSSLで運用している方はバージョンアップに注意です。バージョンを移すときは両方記述して、バージョンアップ後に、古い指定方法を削りましょう。 <VirtualHost *:443> ServerName l</virtualhost>…

日本語の扱い | Mojolicious入門

Perl › Mojolicious Mojoliciousにおける日本語の扱いについて解説しておきます。Perlを使う場合に、学習するのを難しく感じるのは、文字コードの扱いでしょう。Perlでの文字コードの扱い自体はきわめて簡単なのですが、現代的な方法を知らないという理由で…

データベースとプログラムの連携 | Mojolicious入門

Perl › Mojolicious データベースの基礎を学習した後は、プログラムからデータベースにアクセスする方法を学びましょう。 DBD::SQLiteのインストール まず最初にSQLiteを使えるようにする必要があります。Windowsの場合はcpanコマンドを使って、Linux, Mac O…

データベースの基礎 / Mojolicious入門

Perl › Mojolicious 次にデータを保存するために、データベースの利用方法を学びましょう。Webアプリケーションでは、データはデータベースに保存するようにしましょう。過去の時代においてはファイルに保存されることも多かったですが、ファイルのロック機…

Lingua::JA::Regular::Unicodeモジュール

Perl › モジュール › here 古きJcodeには、半角カタカナを全角カタカナに変換するh2zというメソッドがあったが、現代的なPerlであれば、Jcodeは使わない。現代的なPerlでは、文字列はプログラムの内部では、内部的な文字列として扱うのがよい方法だからだ。 …

フォームの利用 / Mojolicious入門

Perl › Mojolicious ユーザーからのデータを受け取るには、フォームを利用します。フォームの使い方を学びましょう。 簡単なフォーム まず最初に簡単なフォームを作成してみましょう。テキストボックス、ラジオボタン、テキストエリアに値を入力してもらって…

IOの負荷をかけているプロセスを調べるためのツール piotop

topコマンドのように、実行中のプロセスとプロセスのreadとwriteのI/OをBpsでリアルタイムで表示するツールpiotopというのがGitHubで公開されています。 -- Every 3 sec -- 13:59:10 up 13 days, 15:28, 11 users, load average: 0.22, 0.05, 0.01 pid state…

Mojoliciousのテンプレートヘルパー

Perl › Mojolicious テンプレートで利用すると便利なヘルパーについて解説したいと思います。ヘルパーとは、テンプレート内で呼び出すことのできる関数のようなものだと考えてください。layoutヘルパー、stashヘルパーについては、すでに解説していますので…

ルーティングの基礎 | Mojolicious入門

Perl › Mojolicious 次にルーティングについてもう少し詳しく解説します。ルーティングとはURLと処理の対応の記述のことです。 簡単なルーティングについては、これまでも使ってきました。 get '/' => sub { ... }; get '/info' => sub { ... }; get '/date/…

アプリケーションとコントローラーの機能 | Mojolicious入門

Perl › Mojolicious MojoliciousはWebアプリケーションを作る為の便利な機能をたくさん持っています。その中でも、使用頻度が高いものを紹介したいと思います。最初にこれらを覚えておけば、どうしたらいいかを迷わなくてすむと思います。 アプリケーション…

Mojoliciousの「テンプレート」の使い方

Perl › Mojolicious テンプレートについて解説したいと思います。今までは、簡単なテキストを出力してきただけでしたが、Webアプリケーションなので、HTMLを出力したいですね。Mojoliciousのテンプレートという機能を使うと、HTMLを出力することができます。…

パラメーターの受け取り方 | Mojolicious入門

Perl › Mojolicious では基本のアプリケーションに機能を追加していきましょう。今回はMojoliciousにおけるパラメーターの受け取り方を解説したいと思います。ここで、パラメーターとは、ユーザーから送信されるデータのことだと考えてください。パラメータ…

一番小さなMojoliciousアプリケーション

Perl › Mojolicious Mojoliciousのインストールが完了したので、さっそく小さなWebアプリケーションを作成してみましょう。まず最初に、webapp.plというファイルを作成してください。このファイルの中に以下のコードを書いてみてください。 use Mojolicious:…

Mojoliciousのインストール

Perl › Mojolicious › 入門 Mojoliciousをインストールしましょう。Perlでは、モジュールをインストールするのにcpanコマンドあるいはcpanmコマンドを使用します。CPANは有志によって作られたたくさんのモジュールが、登録されているサイトです。モジュール…

Mojolicious入門

Perl › Mojolicious Perlの代表的フレームワークMojoliciousを使ったWeb開発の入門です。 use Mojolicious::Lite; get '/' => {text => 'Hello World!'}; app->start; WindowsでもLinuxでもどんな環境でも動きますよ。「CGIで嫌な思いをしたなー」そう思って…