タグ

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

  • Test::MockTime - 時間にまつわるtest - Articles Advent Calendar 2011 Test

    はい、kawamotoです blogは書いているとはとても言えないぐらいサボっております。 右も左もわからぬひよっこですので奇をてらわずにTest::名前空間のモジュールの紹介をしようと思います。 Test::MockTime は testの最中に実行される time, localtime, gmtime などの時間に関する関数の振る舞いを書き換える便利なモジュールです。 以下のような症状によく効きます。 テストの期待する結果に時刻を入れたいが固定の値を指定できない。 外部のコンポーネントに存在する、時間で変動する要素に依存しないテストを書きたい(たとえば MySQL で時系列のパーティションを使っているなど) テストを実行するたびに経過時間が変動してtestが通ったりこけたりする 使い方はこちらの記事でも説明されていますが、 $ cat ~/test.pl use feature qw(

    Test::MockTime - 時間にまつわるtest - Articles Advent Calendar 2011 Test
    ya_yohei
    ya_yohei 2013/12/18
    “time() などの関数の書き換えはコンパイルフェーズに行われる”
  • 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 でも良かったんですが、みんな好き

  • Test::Fixture::DBI で覚えるデータベーステスト - Articles Advent Calendar 2010 Hacker

    さて、今年も JPerl Advent Calendar の季節がやってきましたね。こんにちわこんにちわ zigorou です。 今回は拙作 Test::Fixture::DBI でデータベースのテストをするお話をしますよ! このモジュールはモバゲーオープンプラットフォームの API 開発時に必要にかられて作り、今では DeNA の社内でも普通に使われて来ているモジュールです。 レポジトリは github です。 はじめに とりあえずはテスト用の table を用意しましょう。 USE test; DROP TABLE IF EXISTS location; CREATE TABLE location ( id int(10) unsigned not null, user_id int(10) unsigned not null, title varchar(255) not null

    Test::Fixture::DBI で覚えるデータベーステスト - Articles Advent Calendar 2010 Hacker
  • Schemaの設定について2 #04 - JPerl Advent Calendar 2009

    Schemaの設定について2 #04 - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? install_inflate_ruleについて DBIx::Skinnyにもカラムデータをinflate/deflateすることができます。 たとえば、birth_onのデータをDateTimeでinflate/deflateしたいとします。 DateTimeにinflateしたりとかは良くやりますよね。 package Proj::DB::Schema; use DBIx::Skinny::Schema; use DateTime; use DateTime::Format::Strptime; use DateTime::Format::SQLite; install_table user => schema

  • 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
  • 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
  • Writing a prefork server / daemon using Parallel::Prefork - Articles Advent Calendar 2010 English

    Parallel::Prefork is a module I wrote back in the year 2008, which is basically an imitation of the excellent Parallel::ForkManager but with support for signal handling, an indispensable feature if you want to write a network server or a daemon program with features like graceful shutdown or runtime reconfiguration. The code below illustrates the basic usage of Parallel::Prefork. Upon the intantia

  • SQL::Abstract を使い倒す - JPerl Advent Calendar 2009

    SQL::Abstract を使い倒す - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 今更、携帯小説にハマってる id:ZIGOROu です。モバゲーのオンライン3って小説が面白いですよ! 今日は SQL::Abstract を使い倒すと言うネタで行きます。 まず超基編 簡単な SQL 文の生成から始めましょう。 use strict; use warnings; use Data::Dump qw(dump); use SQL::Abstract; my $s = SQL::Abstract->new; my ($stmt, @bind) = $s->select( "activity", # tables [qw/id title sender created_on/], # columns

  • 1