タグ

ブックマーク / perl-users.jp (21)

  • Perlの開発環境をCasualに作ろう - Articles Advent Calendar 2010 Casual

    JPerl Advent Calendar Casual Track 一日目をやる myfinder です。 去年はlocal::libがもてはやされたりしていましたが、あれから1年の間にPerlは更に手軽に使えるようになりました。 初日、最初の一歩ということで今回はPerl開発環境を簡単に作るための手順をまとめます。 対象は基的にLinuxで、さくらのVPSとかその辺を想定しています。 Macでも同じようにやればできるでしょう。 Windowsの場合はわかりません。きっとWin32トラックの人が書いてくれると思います(ぉ perlbrew これまでは、システムの提供するPerl + local::libで環境を作っていたと思いますが、perlbrewの登場によってPerl体すらも自分のアカウント内に置くことが簡単にできるようになりました。 バージョンの切り替えもできるので、複数のバー

    Perlの開発環境をCasualに作ろう - Articles Advent Calendar 2010 Casual
  • 最後の日は最後の一桁を埋めるAlgorithm::CheckDigits - JPerl Advent Calendar 2009

    最後の日は最後の一桁を埋めるAlgorithm::CheckDigits - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? メリクリ!メリクリ!piarraです。 Advent Calendar最後の日は、最後の一桁を埋めるCPANモジュール「Algorithm::CheckDigits」をご紹介します。 このモジュールについて、日語で紹介されているブログ等を見つけられなかったので、敢えて選んでみました。 こんな経験はありませんか? 7桁しかないidを8桁にしたいのだけれど、8桁目を0やランダム値にするのはどうよと思ったとき なんらかの理由で連番ではないidの生成をしたいとき JANコードを発行したいのに、何故か12桁しか作れなくって、最後の一桁は自分で作れっていわれても…?なとき クレジットカード

  • レプリケーションとQ4Mを使う - JPerl Advent Calendar 2009

    レプリケーションとQ4Mを使う - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? レプリケーションを使う MySQL にはレプリケーション機能があるのはとても知られている事です。 レプリケーションの無い MySQL は、ブラウン管の無いブラウン管テレビくらいの物でしょう。 そして ORM でも切っても切れない物では無いでしょうか。 Data::ObjectDriver でも livedoor のどっかのサービスで自作 Driver 書いて使ってるとか DBIC の世界でも DBIx::Class::Storage::DBI::Replicated なんて物があるようです。 もちろん Data::Model でも対応しています。 Driver::DBI::MasterSlave です。 Driver::D

  • Image::Imlib2でアイコンをクリスマス仕様に - JPerl Advent Calendar 2009

    Image::Imlib2でアイコンをクリスマス仕様に - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? ハッピーメリークリスマス!aomushi510です。好きなお寿司のネタはサーモンです! 今日はクリスマスイブということで、Image::Imlib2を使って簡単にアイコンをクリスマス仕様にしちゃいましょう! Perlで画像加工をするときに使うモジュールは、Image::Imlib2の他にもImage::MagickやImager、GD::Imageなどがあります。 yusukebeさんのエントリでは、Image::Imlib2が超絶速いそうです。Image::Imlib2すごい!ってことで早速はじめましょう。 はじめに まずはImage::Imlib2をインストールしましょう。 インストールをする前

  • Module::Setup でらくらくモジュール作成 - JPerl Advent Calendar 2009

    Module::Setup でらくらくモジュール作成 - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? こんにちわ!こんにちわ!acotie hackathon の懇談会来てるのに一人寂しくビール飲んでる Yappo です。 皆様お元気ですか?僕は寂しいです。 さて今日は今さっき shipit したての Module::Setup について紹介しましょう。 what is Module::Setup? Module:Setup とは miyagawa さん作の pmsetup を CPANize した物です。 で、 pmsetup は何かというと Module::Starter などのモジュール開発を始める上の雛形を便利な感じで作ってくれる物です。 まぁ pmsetup でも良かったんですが、みんな好き

  • バカでもわかるPlack/PSGI - JPerl Advent Calendar 2009

    バカでもわかるPlack/PSGI - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? はじめまして。nobjasと申します。 今日はあまりにもネタがないために、 バカな僕がやっと最近使うことが出来たPSGIとPlack::Requestの使い方を書こうと思います。 基的な構造はmiyagawaさんのPlack Advent Calendar(http://advent.plackperl.org/)などで 紹介されているので、頑張って英語を読んでください(笑 基的にはPSGIはリクエストとレスポンスの形式の規約みたいなものです(と思っています)。 それを実装するのがPlackという訳ですね。 そこで、まずは Plackでリクエストを受け取ってレスポンスを返すCGIスクリプトを書いて見ましょう。 us

  • Log::Dispatch::Screen::Color で色つきログでデバッグ! - JPerl Advent Calendar 2009

    Log::Dispatch::Screen::Color で色つきログでデバッグ! - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? Log::Dispatch はログの出力先を標準エラーやファイルへの書き込み、メールで飛ばしたり、DBI で DB に突っ込んだり、と Log::Dispatch::* を指定して切り替えられる便利 logger です。 use Log::Dispatch; use Log::Dispatch::File; my $dispatcher = Log::Dispatch->new; # ファイルへの出力 $dispatcher->add( Log::Dispatch::File->new( name => 'file1', min_level => 'debug', fil

  • Proxy経由でLWP::UserAgentを使う - JPerl Advent Calendar 2009

    Proxy経由でLWP::UserAgentを使う - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? こんにちは!好きな寿司ネタは甘エビのkamipoです。 今日はProxy経由でLWP::UserAgentを使う方法を紹介したいと思います。 クローラやWeb APIなどを扱うモジュールの内部で必ずと言っていいほど使われているHTTPクライアントのLWP::UserAgentですが、世の中には色々な事情でHTTPリクエストするのにProxyを経由しなければいけない環境の人がいるんじゃないかと思います。 まず、LWPとCrypt::SSLeayの最新版をCPANからインストールしておきましょう。 % cpan LWP Crypt::SSLeay LWP::UserAgentでProxyを指定するには以下の

  • Have Your Own Perl! - JPerl Advent Calendar 2009

    こんにちは、dankogaiです。Encode.pmのメンテナーとかしています。なのでEncodeのことでも書こうかと思ったのですが、すでにEncodeでラクラク日語処理をxaicronに書かれちゃいました。 それじゃ何書く?と思ったら、残ってましたよ。最も大事なものが。 Perlハッカーに最も必要なもの ここでなぞなぞです。Perlハッカーにとって最も必要なのは何でしょうか? Perlそのもの、ですよね。 そうなんです。どんなすばらしいPerlモジュールも、Perl体がなければ動きません。Perlはモジュールがなくてもなんとか動きますが、その逆は真ではないのです。 自分専用Perlを持つべき理由 あまりに当たり前のこの事実ですが、その一方、およそ Windows を除けばPerlは主要OSにははじめから組み込まれているのでそのことになかなか気がつきません。Perlがそこにあること、そ

  • Test::Moreでテスト事始め - JPerl Advent Calendar 2009

    はじめまして。 最近Perlを始めたmyfinderです。 ほかの方が書いたCPANモジュールを紹介したりそれらを使ったTipsを書くCasual Trackということで、今回はテストに関連するモジュールについて書きます。 プログラムの「テスト」 テストを書くというのはデンタルフロスを使うようなもので、誰もが良いことだといいつつ、実際には軽視されがちだ。 なんて言われることもありますが、実際テストがないとプログラムの改修とか引き継ぎとかが非常に大変になりがちです。 また、CPANにアップされているモジュールの中には、モジュール体よりもテストコードの量の方が多いものも多々あります。 なのでプログラムの質を保証したり、内容を的確に伝達するにはテストが欠かせないものであることは間違いないと思います。 早速使ってみる 例えば消費税の計算をしてくれるConsumptionTax::JPというモジュ

  • Qudoで簡単ジョブキュー処理を実施する - JPerl Advent Calendar 2009

    Qudoで簡単ジョブキュー処理を実施する - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 題 Qudoは既存のジョブキューシステムを使ってみて思ったいくつかの要望を 実現する目的で作成しました。ポイントは拡張性と使いやすさです。 まずは、簡単な例から初めてみましょう。 Advent Calendarということで、クリスマスにプレゼントを願う子供と それを届けるサンタクロースを再現してみたいと思います。 QudoはデータストアにRDBMSを用いています。 そのため、使用する際にはあらかじめDBを作成する必要があります。 現在MySQL,SQLite,PostgreSQL(多分)に対応しています。 各DB用のスキーマファイルは「http://github.com/nekokak/qudo/tree/ma

  • Perlではじめるテキストマイニング - JPerl Advent Calendar 2009

    Perlではじめるテキストマイニング - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? ■前置き みなさんこんにちは。ダウンロードたけし(寅年)です。来年は年男なので今からお正月が待ち遠しい35歳2児の父です。 ここ数年、web広告業界ではコンテキスト解析とかユーザの行動分析とか、いわゆるデータマイニング/テキストマイニング系の話題が花盛りです。 自分もそんな業界に属しているんですが、ふと気がつくと日語のテキストマイニング系モジュールを量産してしまっているので、ここらでいくつか紹介してみたいと思います。 今回はインターネットからブログなどのコンテンツを取得して、それを意味解析してクラスタリングする、といったようなことを題材にモジュールの紹介をしてみます。 ■HTML::Featureで文抽出 まずは

  • Encodeでラクラク日本語処理 - JPerl Advent Calendar 2009

    こんにちは!ラブプラスとときメモ4の狭間で揺れ動いているxaicronです!! 今日は日でプログラムを書いていたら避けては通れない気がする、Encodeの話をしようと思います! はじめに まず、この記事を読む前に、Perlのバージョンの確認をしてください。以下のようにやればバージョンが表示されます。 % perl -v ここで、5.8.1より下の数字ができてきた方は、Perlのバージョンアップをしてください。5.8.1より下のバージョンでは、Perlの内部文字コードが安定していないので、いい感じになりません。できれば5.8.8以上のバージョンを使いましょう。 それから、文字コードってなによって人も適当にWikiとかで調べてから読んだ方がいいと思います!! Encode.pm Encodeは昔のjcode.plやJcode.pmに代わる、現在の文字コード処理のスタンダードModuleです。

  • Perl::Tidyで明快コーディング! - JPerl Advent Calendar 2009

    Perlのコードを書くとき、CPANモジュールを作成するとき、そして就職活動時のエントリーで課題のperlスクリプトを提出する時に超実益的で役立つ、Perl::Tidyを紹介してみます。 使い方 以下のような汚いコードがあるとします。mud10years.plとでも名付けることにします。 use strict;use warnings;my $module="Perl::Tidy";my $user= "haoyayoi";my $desc1=" is so coolist module.";my $desc2= " Lets try it!";my $deschash = {module=>"$module", desc =>$desc1. $desc2, }; print $deschash->{module}.$deschash->{desc}." by $user"; このコードを

  • Acme::EyeDropsでアナタも記号プログラマー! - JPerl Advent Calendar 2009

    最近、全裸で転職しました。sugyanです。 まだまだPerlのことはよく分からないトーシロですが、大好きなモジュールを紹介したいと思います。 はじめに Perlは非常に柔軟な言語で、TMTOWTD【There's More Than One Way To Do It.】と言われる通り、同じ処理をするプログラムでも色んな書き方ができます。 例えばプログラムを予約語だけで書いてみたり、記号だけで書いてみたりできちゃうわけですね。 そんなスーパーハッカーみたいなことをやってみたい!という願望はPerl好きの変態な皆さんなら誰しも持っているのではないでしょうか!? 今回紹介するモジュールAcme::EyeDropsは、そんな変態プログラミングをお手伝いしてくれるモジュールです。 CPANからインストールできます。最新バージョンは1.55です。 使い方(初級編) まずは何も考えず普通のプログラムを

  • Plack::Requestとか使って小さなWebアプリを作ろう! - JPerl Advent Calendar 2009

    ヒゲをはやして、髪をモヒカン気味に切って、ベストを着ていたら「dankogaiさんですか!」と呼ばれまくって失礼ですがショックを受けてしまい、とりあえずヒゲを剃ってみたyusukebeです。気合い入れて書きます。 はじめに さて、今回はPlack::RequestやTemplate-Toolkit、XML::Feedといったモジュールを使って、小さな、だけどもなかなか使えるWebアプリを作る過程を紹介します。これを通して、今話題であるPlackについてやWebアプリの仕組みについて多少でもわかっていただければこれ幸いでございます。 実はこのネタ昨日の夜考えて作ったものであります。というのも「YouTubeの動画を垂れ流しで好きなように、みてーな」とふと思ったからです。例えばYouTube内で「Perfume」と検索をすると個別の動画以外に「再生リスト」または英語では「Playlist」とい

  • cpan -i CPAN - JPerl Advent Calendar 2009

    cpan -i CPAN - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 12月ですね。メリークリ○○ス!! 半年前に0x20歳でエンジニアになった Perl 大好き bayashi です。こん○○は! さて、 今回は何について書こうかなと迷ったのですが、せっかくなので初心に戻って Perl になくてはならない CPAN をご紹介させて頂ければと思います! CPAN.pm その CPAN からモジュールを自動的にダウンロードしてインストールするためのモジュールが CPAN.pmperl5.004 から標準モジュールなので、取り急ぎインストールされてないってことはあまりないかと思います! % perl -MCPAN -e shell おまじないのように cpan shell を立ち上げているかもし

  • Perl のローレベルエラー処理 (もしくは Errno.pm のススメ) - JPerl Advent Calendar 2009

    Perl のローレベルエラー処理 (もしくは Errno.pm のススメ) - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 例えば、「ディレクトリが存在しなければ作成」という処理を書くことを考えてみます。 if (! -d $dir) { mkdir $dir or die "failed to create dir:$dir:$!"; } でいいしょうか? いえ、違います。これだと、-d 演算子でディレクトリの不存在を確認した後、mkdir を呼ぶまでの間に他のプロセスがディレクトリを作成してしまう可能性があります。なので、たとえば C ならば、 if (mkdir(dir) != 0 && errno != EEXIST) { fprintf(stderr, "failed to create d

  • Test::Requires でモジュールがないときにテストをスキップする - JPerl Advent Calendar 2009

    前置き みなさんこんにちは、tokuhirom です。今年もはじまりました JPerl Advent Calendar 2009。 こちらは hacker track ということで、僕がつくったモジュールの一つを紹介したいとおもいます。今回ご紹介するモジュールは Test::Requires です。 題 Test::Requires は非常に小粒なツールですが、なかなかいいモジュールなんじゃないかと自分でもおもっています。 モジュールのテストを書くときに、「このモジュールがあったときだけこのテストをはしらせたい」というようなユーズケースはままあります。 「Plack の Server::FCGI のテストは FCGI.pm と FCGI::Client の両方がインストールされていなければスキップしたい」のですが、このような用途にはTest::Requires がぴったんこです(実際に

  • introduction Data::Model - JPerl Advent Calendar 2009

    introduction Data::Model - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? はじめに 居酒屋大好き Yappo です。今年の Yet Another JPerl Advent Calendar 2009 として Data::Model のトラックを始める事にしました。 姉妹トラックとしてnekokakさんによるDBIx::Skiny trackも開催されています。 JPerl Advent Calendar 2009 のリポジトリで cp -r data/hacker data/foo && git add data/foo && git push するだけでオレオレトラック開催出来るので、なにかやりたい人or団体さんはトラック作るといいよ! Data::Modelってなに? 一