タグ

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

  • 色々な検索方法3 #07 - JPerl Advent Calendar 2009

    色々な検索方法3 #07 - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? resultset resultsetを使う事で、インクリメンタルに検索条件を設定することができます。 例えばCGIなどでユーザの入力を元に検索条件を組み立てる必要があることはよくあることでしょう。 そういう時にこのresultsetメソッドは大活躍できまうす。 DBIx::Skinnyでsearch_by_sql/search_namedの生SQLを書くケースをのぞいて joinクエリが発行できるのもresultsetメドッドだけです。 今日はそんなresultsetメソッドに入門してみましょう。 まずresultsetのオブジェクトを作ります。 my $rs = $db->resultset; 次にselectするカラムを指

  • @INC にみる Perl のやりかたがいっぱい - Articles Advent Calendar 2010 Casual

    こんにちは。最近は PHP ばっかり書いている、永遠の Perl 初心者 hatyuki です。 とつぜん質問ですが、みなさんが最も多くみている Perl のエラーはなんですか? 自分の場合は、う〜ん。。。 Can't locate Hoge.pm in @INC (@INC contains: ~~~~ .). BEGIN failed--compilation aborted. かな?いつまでも進歩がないのが伺えますね! 皆さんご存知の通り、このエラーは "@INC" で指定されたディレクトリの中にモジュールが見つからなかった場合に発生するエラーです。つまり、モジュールをインストールし忘れているか、モジュールがどこに置いてあるのかを適切に設定していないか、の (およそ) どちらかですね。 さてさて、Casual Perler な皆さんは、このエラーを回避するためにどんな方法を使って @

    @INC にみる Perl のやりかたがいっぱい - Articles Advent Calendar 2010 Casual
  • Perl から Growl をちゃんと使おう - Articles Advent Calendar 2010 Hacker

    こんにちわ。Growl 大好きっ子 typester です。 重たいバッチジョブを走らせている間、別の作業をする。ジョブが終わったらデスクトップに Growl を表示させて処理の完了を知る。 その合間にもRSSから配信されたニュースや自分への Mention を Growl 表示し、あっという間に情報を操作する。 誰もが憧れる Hackish な作業風景ですね。Mac ユーザであればその他の活用方法を知ってる人も数多くいるでしょう。 でもperlbrewで64bit perlいれてるからMac::Growlがうまくインストールできないし... そんな風に思っていた頃が僕にもありました。 Cocoa::Growl http://search.cpan.org/dist/Cocoa-Growl/ そんな不満を打破するべく僕は Cocoa::Growl を書いた。 XS で Objective-

    Perl から Growl をちゃんと使おう - Articles Advent Calendar 2010 Hacker
  • HTML::Shakanでフォーム生成・バリデーションからモデル作成まで - JPerl advent calendar 2010 casual Track

    こんにちは!先日のYAPC2010ではhirataraさんと共にgihyo.jpでレポータをさせていただいたusuihiroです。 フォーム処理とかバリデーションっていつも面倒だなぁと思っていたのですが、今日はtokuhiromさんが作成されているHTML::Shakanが便利そうだったので試してみました。 HTML::Shakanはフォームタグの生成とバリデーションを行ってくれるモジュールです。 コンセプトは作者のtokuhiromさんが書かれているこちらを参照。 フォーム生成とバリデーション よくあるログインフォームだと、こんな感じでフォームの生成の入力値のバリデーションが行えます。 my $req = shift; # CGIとかPlack::Requestとか # フォームオブジェクトを作る my $form = HTML::Shakan->new( fields => [ Ema

    HTML::Shakanでフォーム生成・バリデーションからモデル作成まで - JPerl advent calendar 2010 casual Track
  • DBIx::ObjectMapperでData Mapperパターン! - Articles Advent Calendar 2010 Hacker

    こんにちわ。nekokakさんをはじめ#dbi-ja@irc.perl.orgのPerlハッカーのみなさまにムチャ振り声をかけていただき、突然hacker trackで書くことになりました。eisukeoishiともうします。はじめまして。 今回は、私が作成したDBIx::ObjectMapperというO/Rマッパーについて紹介させていただきます。 DBIx::ObjectMapperとは みんな大好きな「PofEAA」のData Mapperパターンを実装したものです。 Data Mapperパターンをごく簡単に説明すると、データベースやO/Rマッパーに依存せずにオブジェクトをデータベースと連携させるためのものです。 DBIx::ObjectMapperで使用するクラスはPOPO(Plain Old Perl Object)であり、O/Rマッパーだけで使用する必要もありません。 他言語で

    DBIx::ObjectMapperでData Mapperパターン! - Articles Advent Calendar 2010 Hacker
  • SQL::Makerで動的に SQLを生成する - Articles Advent Calendar 2010 Hacker

    どうもこんにちは。hacker track がやる気なさすぎるのでもう一回かくよ!というわけで tokuhirom ですこんにちは。こんにちは。 さて、最近つくった SQL::Maker というモジュールについて紹介します。SQL::Maker は、要は SQL::Abstract みたいなやつです。じゃあなんで SQL::Abstract じゃなくて SQL::Maker なの?ってことになるわけですが、 SQL::Abstract は実績があるし、非常に便利なんですが、いかんせんコードがまじよみづらいっていうかこれよむの無理じゃね!!ってことをおもうので、あたらしくつくったという次第。 また、SQL::Maker は method chain で SELECT 文を構築する機能もついてます。あらべんり。こんなかんじ↓↓ my $sql = SQL::Maker::Select−>new

    SQL::Makerで動的に SQLを生成する - Articles Advent Calendar 2010 Hacker
  • Sub::Argsによる高速簡易バリデーション - Articles Advent Calendar 2010 Hacker

    再登場のnekokakです。 みなさん、method引数のチェックってやってますか! 引数のバリデーションをやりたければCPANに色々転がっています。 一番有名なのはParams::Validateですね。 Params::Validateを使えば 引数の有無だけでなく型チェックまで行えたりさらにdefaultの値を設定したり色々便利な昨日が満載てんこ盛りです。 ただ遅い!遅すぎます!日が暮れます! どういう単位でmethodの引数チェックを行うかは人それぞれプロジェクトそれぞれだと思いますが、 固くプログラムを書いておりmethodの引数チェックをカッチりやっている場合、 loopでそのメソッドを呼び出しまくるとその分Params::Validateがよばれるので パフォーマンス的によろしくありません。 とても残念な感じです。 そこで日PerlHacker達が立ち上がりました! Sm

    Sub::Argsによる高速簡易バリデーション - Articles Advent Calendar 2010 Hacker
  • Path::Classで簡単ファイル操作 - Articles Advent Calendar 2010 Casual

    こんにちは!モダンPerlの裏側しか知らないkoba04です。 今日は、少し前まで「続・初めてのPerl」を読んでいた自分が、遅ればせながらその便利さに感動して使うようになったPath::Classについてを。(ってもう使ってますよね。。) 多分Casual Trackの中でも最も初心者向けな内容になっているんじゃないかと思います。。 何が便利かというと、「File::Spec」や「File::Path」、「IO::Dir」、「IO::File」、「File::stat」などのモジュールにある関数を「Path::Class」をインターフェイスとして使うことが出来ます。 とりあえず「use Path::Class」でいいので便利ですね! オブジェクトの作成 まずはファイルオブジェクトの作成。(file) use Path::Class; my $file = file('path', 'to

    Path::Classで簡単ファイル操作 - Articles Advent Calendar 2010 Casual
    koba04
    koba04 2010/12/15
    ご指摘頂いた点修正致しました。ありがとうございました!
  • 書き捨てスクリプトを書くときに便利なモジュールとPragmatic Module - Articles Advent Calendar 2010 Casual

    先月末から原稿を書こう書こうと延ばし延ばしきて当日に書いている私ことpunytanです。 みなさん、書き捨てスクリプト書いてますか?書いてますよね。 書き捨てのつもりがいつの間にかオプションを取るようになっていて、使うときに「オプションなんだっけ…?」なんてことよくありますよね。ありますね。 そんなときは Getopt::Long と Pod::Usage を組み合わせて使うと POD で Usage を書く事ができます。便利! use Getopt::Long; use Pod::Usage; my $man = 0; my $help = 0; GetOptions('help|?' => \$help, man => \$man) or pod2usage(2); pod2usage(1) if $help; pod2usage(-exitstatus => 0, -verbose

    書き捨てスクリプトを書くときに便利なモジュールとPragmatic Module - Articles Advent Calendar 2010 Casual
  • とある言語の例外処理 またはTry::Tinyの落とし穴 - Articles Advent Calendar 2010 Casual

    今年の Advent Calendar もいよいよ中盤戦。 もういくつ寝ると、メリーク×ト×ス! 最近、休日になると漫画を大人買いするのが趣味になってしまったいけない大人になってしまった僕ことzentoooですが、最近のお気に入りは「未来日記」です。あー由乃かわいいなーかーわいいなーーーかーーーわいーなあーーーーあーあーあーーーーーーあーーーーーーーーーーー頭おかしいけど。 ふぅ。 さて、みなさん、コード書いてますか、コード読んでますか。 短く簡潔なコードを読むと、気持ちもスッキリしますね。 でも、たまには例外処理なんてどうですか。 Perlで例外処理ができるなんて、なんか渋くないですか。 Perlにおけるベーシックな例外処理 冗談はさておき、初めてのPerlというハレンチなを読んだりすると、多分書いてあるのは以下のような方法による例外処理です。実際に初めてのPerlに書いてあるかどうか

    とある言語の例外処理 またはTry::Tinyの落とし穴 - Articles Advent Calendar 2010 Casual
    koba04
    koba04 2010/12/13
    この落とし穴はハマりそう。
  • Windows でも Growl を使おう - Articles Advent Calendar 2010 Win32

    こんにちわ。Growl 大好きっ子 mattn です。 重たいバッチジョブを走らせている間、別の作業をする。ジョブが終わったらデスクトップに Growl を表示させて処理の完了を知る。 その合間にもRSSから配信されたニュースや自分への Mention を Growl 表示し、あっという間に情報を操作する。 誰もが憧れる Hackish な作業風景ですね。Mac ユーザであればその他の活用方法を知ってる人も数多くいるでしょう。 Windows だから同じ様には行かない... そんな風に思っていた頃が僕にもありました。 Growl For Windows http://www.growlforwindows.com/gfw/ そんな僕らはある日 Growl を得た。リッチな UI そして変更出来るデザイン。アイコンも表示出来る。さらにはプロトコルが公開されている。 http://www.gr

    Windows でも Growl を使おう - Articles Advent Calendar 2010 Win32
    koba04
    koba04 2010/12/12
    Windows版知らなかった!
  • More Easily To Write Perl By Vim. - Articles Advent Calendar 2010 English

    Which the editors do you use, Vim or Emacs? They are the most popular text editor. I guess that you surely use either. This airticle is about Vim editor, I present some plugins for writing Perl conveniently. ( I hope someone refers about writing by Emacs. ) The plugins that I tried are as follows. vim-perl autocomplpop perldoc.vim Vim-perl Vim-perl, written by Andy Lester, is syntax plugin for Per

    More Easily To Write Perl By Vim. - Articles Advent Calendar 2010 English
  • WebService::Async でウェブサービスの非同期アクセスを簡単に! あるいは私は如何にしてMacBookProを手に入れたか? - Articles Advent Calendar 2010 Hacker

    今年はHokkaido.pmからはるばる YAPC::Asia に出張してきたkeroyonnです。 嫁にYAPCの写真を見せて「ほらみんなMacでしょー」と言ったら、不憫に思ったのかMacBookProを買ってくれました。 ひとりだけ違うメーカーのランドセルをしょった可哀想な子供を連想したらしいです。 すばらしいですなっ! YAPC は! WebService::Async とは さて今回ご紹介する、WebService::Async というモジュールは、yusukebe さんの WebService::Simple の非同期版です。 WebService::Simple はカジュアルにウェブサービスにアクセスできる素晴しいモジュールだなぁと思っていたのですが、非同期処理ができないため同時に複数のリクエストを投げるのがちょっと面倒でした。 これを簡単に書けたらいいなーと思って作ってみまし

    WebService::Async でウェブサービスの非同期アクセスを簡単に! あるいは私は如何にしてMacBookProを手に入れたか? - Articles Advent Calendar 2010 Hacker
  • HTML5 な今だからこその位置情報ハンドリング♡ - Geo::Coordinates::Converter - Articles Advent Calendar 2010 Hacker

    Shibuya.PM #15 の会場からこんにちわyappoです。 なにを紹介をしようと考えた時に、以外と使いどころがあるGeo::Coordinates::Converterについて書こうとおもいました。 これが何が良いかというと、緯度経度の測地系( wgs84 とか tokyo )やら、表示フォーマット(degree, dms, geohash)をプラガブルに追加して使えるって事なんです。iAreaとかにも対応しております。 まー作った当時から似たような物は沢山あったのですが、どれも特定の測地系に特化していたり古い時代の Perl みたいなモジュールだったりで使いにくかったりしたので作ったのであります。 とりあえずつかおう! まずはインストールです。 $ cpanm Geo::Coordinates::Converter で入ります簡単ですね。 使い方はとっても簡単で use comm

    HTML5 な今だからこその位置情報ハンドリング♡ - Geo::Coordinates::Converter - Articles Advent Calendar 2010 Hacker
  • Kolonでかこう - Articles Advent Calendar 2010 Casual

    nihenです。こんにちは。 今年もブクマ数ビリを目指したいとおもいます! Perl界隈で今年はText::Xslateというテンプレートエンジンが流行っています。 しかしこのXslateで現在主流に使われているSyntaxはTTerse*1であり、XslateネィティブともいえるKolonはまだあまり使われていないというのが現状のようです。 というわけで今回はKolonの使い方の基を紹介します。 Perlコード側 use Text::Xslate; use Hash::MultiValue; my $tx = Text::Xslate->new(); my $var = { foo => 'xslate', bar => { baz => '111', bazbaz => '112', }, baz => [5, 6, 7], hoge => Hash::MultiValue->new

    Kolonでかこう - Articles Advent Calendar 2010 Casual
  • Acme::AKB48 - Articles Advent Calendar 2010 Acme

    最近大画面テレビを買ったのですが来ている電波がデジタル化されていませんでした。 こんばんは。hidekです。 というわけで、今回は国民的スーパーアイドルグループAKB48を堪能できるモジュールを紹介させてもらいます。 リポジトリはこちらです。 AKB48については最近の活躍で皆さんよくご存じだと思うので多くは説明しませんが、現在チームA, チームK, チームBの各16人の正規メンバーと24人の研究生からなるアイドルグループです。 個性的なキャラが多いので比較的覚えやすいのですが、テレビを全く見ない貴兄や、2次元しか興味がない貴兄にとっては、ひょっとしたら覚えられないことがあるかもしれません。そんなことになったら学校や職場で会話に入れず肩身の狭い思いをすることになるでしょう。 そんなときのために是非このモジュールを活用してください。 このモジュールは前回でも紹介されたAcme::Mornin

    Acme::AKB48 - Articles Advent Calendar 2010 Acme
  • インデックスに記事のタイトルを出してみる - Articles Advent Calendar 2010 Meta_adcal

    こんにちは。Acme関連でしか登場しないと思われているんじゃないかと危惧しているmakamkaです。すいません嘘です。危惧していません。 ほんの一部ですが私もカレンダーアプリのコードをいじりましたので、そのことについて記事を書きます。 最初、各トラックのインデックスには記事へのリンクとして日付しか出ていませんでした。これだとちょっと寂しいので、記事のタイトルを出してみました。 インデックス部分を処理するコードは下記のようになっていました。 my $t = Time::Piece->strptime( "$p->{year}/12/01", '%Y/%m/%d' ); my @entries; while ( $t->mday <= 25 ) { push @entries, { date => Time::Piece->new($t), exists => ( -e $root->file

    インデックスに記事のタイトルを出してみる - Articles Advent Calendar 2010 Meta_adcal
  • Vim と Perl で音楽プレーヤを作ろう - Articles Advent Calendar 2010 Casual

    こんにちわ。Perl はあまり得意ではありませんが Vim はある程度使いこなせる、Zimbu兄さんこと mattn です。口癖は「カッコつけんなよ」です。 さて、最近の Vim 界は Unite というプラグインが流行り出しています。 Unite がどんな物かについての説明文は、手前味噌ですが私のサイトをご覧頂けるとなんとなく分かるかと思います。「unite.vim」でググると幾らかヒットするかと思います。来は何かしらを選択させるUIライブラリの一種となります。 さて、今日はこの unite.vimPerl を使って音楽プレーヤを作ります。 音楽プレーヤと言っても音楽ファイルのフォーマットやらなんやらを Perl でやるという訳ではありません。 メディアプレーヤの「rhythmbox」を使います。他のメディアプレーヤでも良かったのですが DBusというインタフェースにより外部から

    Vim と Perl で音楽プレーヤを作ろう - Articles Advent Calendar 2010 Casual
    koba04
    koba04 2010/12/05
    面白い!
  • コマンドラインで使えるかもしれないツール等あれこれ - Articles Advent Calendar 2010 Casual

    鎌倉で毎日どんぶりべてます、sugyanです こんにちは! 皆さん、ターミナルやシェルは何をお使いでしょうか?僕は現在MacにてiTerm2+zshを使っています(あんまり使いこなせてませんが…)。 プログラミングして書いたコードを実行するには、ターミナルでコマンドを打つのがほぼ必須ですよね。皆さんも毎日たくさんのコマンドをターミナルで叩いていることと思います。 CPANで配布されているモジュールたちは、Perlスクリプト内でuseして使うためのものだけではなく、シェルから実行できるコマンドが用意されている場合もあります。[/articles/advent-calendar/2010/casual/1:title=1日目]で紹介されたperlbrewやcpanmも、Perlで書かれたコマンドラインツールですよね。 今回はそんなコマンドたちを紹介してみようと思います。 ■開発環境系 per

    コマンドラインで使えるかもしれないツール等あれこれ - Articles Advent Calendar 2010 Casual
    koba04
    koba04 2010/12/04
    便利!
  • To Write Perl For The Perl Beginners. - Articles Advent Calendar 2010 English

    Welcome to our English track in JPerl Advent Calender 2010. For a few moment, please stay with my talk. Introduction In fact, I'm be newbie, started to study and write Perl about 1 month ago. You will think why the newbie has written a artile of Perl, because I thought what tell my experience until start to study Perl coding as a Japanese beginner for beginners of the world. That's the most reason

    To Write Perl For The Perl Beginners. - Articles Advent Calendar 2010 English
    koba04
    koba04 2010/12/02
    @mazkeng 素晴らしい記事ですね!共感しながら楽しく読ませて頂きました!