52
はじめてリリースした CPANモジュールのおはなし 2014-08-30 YAPC::Asia 2014 @issm(いわた)

2014 08-30 YAPC::Asia 2014 LT

Embed Size (px)

DESCRIPTION

YAPC::Asia 2014 Day2 Lightning Talks での資料.

Citation preview

Page 1: 2014 08-30 YAPC::Asia 2014 LT

はじめてリリースしたCPANモジュールのおはなし

2014-08-30 YAPC::Asia 2014 @issm(いわた)

Page 2: 2014 08-30 YAPC::Asia 2014 LT

•@issm(いわた)

•名古屋の隣

•小規模販売系サービス

•受注側の表・裏

•発送管理の表・裏

•Perl

お前だれよ

Page 3: 2014 08-30 YAPC::Asia 2014 LT

背景

Page 4: 2014 08-30 YAPC::Asia 2014 LT

とある単位のデータオブジェクト X 作成,この際,予め定めた仕様に則った「ある規則」で「文字」をもつ.この「文字」は「数・アルファベットのみ」であり,属するオブジェクト O 内において「順序」がある.例えば,オブジェクト O1 下で作成 → "1...0",オブジェクト O1 下で作成 → "1...1",オブジェクト O2 下で作成 → "1...0",...,オブジェクト O1 下で作成 → "1...a",オブジェクト O1 下で作成 → "1...b",...,といった感じ.とある生成処理では,オブジェクト X のこの「文字」をファイルのパスに利用するものがある.とある日,この生成処理でファイルパスまわりのエラーが出ていた.そのオブジェクトの「文字」を確認したところ "/" が含まれていた.データオブジェクト作成の際の「文字」を生成する部分の実装を確認したところ,単に Character Code を ++ しているだけで,使用にある「数字・アルファベットのみ」という制約も見当たらない感じだった...

Page 5: 2014 08-30 YAPC::Asia 2014 LT

結局どうしたいの?

Page 6: 2014 08-30 YAPC::Asia 2014 LT

•文字を「インクリメント」できる

•そのルール指定できる

•文字の集合とか

•インクリメントの順序とか

Page 7: 2014 08-30 YAPC::Asia 2014 LT

書いてみた

Page 8: 2014 08-30 YAPC::Asia 2014 LT

String::Incremental https://github.com/issm/p5-String-Incremental

Page 9: 2014 08-30 YAPC::Asia 2014 LT

•文字を「インクリメント」できる

•そのルール指定できる

•文字の集合とか

•インクリメントの順序とか

DESCIRPTION

Page 10: 2014 08-30 YAPC::Asia 2014 LT

SYNOPSIS

use String::Incremental! qw(incremental_string);!!

my $str = incremental_string(! 'foo-%2=-%=',! [0..2],! 'abcd',!);

Page 11: 2014 08-30 YAPC::Asia 2014 LT

'foo-00-a'0!1!2

a!b!c!d

0!1!2

Page 12: 2014 08-30 YAPC::Asia 2014 LT

$str++;

Page 13: 2014 08-30 YAPC::Asia 2014 LT

'foo-00-b'0!1!2

a!b!c!d

0!1!2

Page 14: 2014 08-30 YAPC::Asia 2014 LT

$str++;

Page 15: 2014 08-30 YAPC::Asia 2014 LT

'foo-00-c'0!1!2

a!b!c!d

0!1!2

Page 16: 2014 08-30 YAPC::Asia 2014 LT

$str++;

Page 17: 2014 08-30 YAPC::Asia 2014 LT

'foo-00-d'0!1!2

a!b!c!d

0!1!2

Page 18: 2014 08-30 YAPC::Asia 2014 LT

$str++;

Page 19: 2014 08-30 YAPC::Asia 2014 LT

'foo-01-a'0!1!2

a!b!c!d

0!1!2

Page 20: 2014 08-30 YAPC::Asia 2014 LT

$str++;!$str++;!...

Page 21: 2014 08-30 YAPC::Asia 2014 LT

'foo-22-d'0!1!2

a!b!c!d

0!1!2

Page 22: 2014 08-30 YAPC::Asia 2014 LT

$str++;

Page 23: 2014 08-30 YAPC::Asia 2014 LT

dies

Page 24: 2014 08-30 YAPC::Asia 2014 LT

以上 :)

Page 25: 2014 08-30 YAPC::Asia 2014 LT

PrePANへ

Page 26: 2014 08-30 YAPC::Asia 2014 LT
Page 27: 2014 08-30 YAPC::Asia 2014 LT

torbjorn@github:“Interesting idea. I think it deserves to be released and I have no comments on the name, seems fine.”

Page 28: 2014 08-30 YAPC::Asia 2014 LT

ポジティブっぽい♥

Page 29: 2014 08-30 YAPC::Asia 2014 LT

% minil release <ッターン>

Page 30: 2014 08-30 YAPC::Asia 2014 LT
Page 31: 2014 08-30 YAPC::Asia 2014 LT

初めてのCPANモジュール リリース!

Page 32: 2014 08-30 YAPC::Asia 2014 LT

リリース日

Page 33: 2014 08-30 YAPC::Asia 2014 LT

2014-07-18

Page 34: 2014 08-30 YAPC::Asia 2014 LT

2014-07-18?

Page 35: 2014 08-30 YAPC::Asia 2014 LT
Page 36: 2014 08-30 YAPC::Asia 2014 LT

$age++;

Page 37: 2014 08-30 YAPC::Asia 2014 LT
Page 38: 2014 08-30 YAPC::Asia 2014 LT

$age++;

Page 39: 2014 08-30 YAPC::Asia 2014 LT

ありがとうございます

Page 40: 2014 08-30 YAPC::Asia 2014 LT

CPAN見てみよう

Page 41: 2014 08-30 YAPC::Asia 2014 LT
Page 42: 2014 08-30 YAPC::Asia 2014 LT

2014-07-17

Page 43: 2014 08-30 YAPC::Asia 2014 LT

時差...

Page 44: 2014 08-30 YAPC::Asia 2014 LT

世界は厳しい

Page 45: 2014 08-30 YAPC::Asia 2014 LT
Page 46: 2014 08-30 YAPC::Asia 2014 LT
Page 47: 2014 08-30 YAPC::Asia 2014 LT

世界は厳しい

Page 48: 2014 08-30 YAPC::Asia 2014 LT

ご静聴ありがとうございました使用フォント: 「瀬戸フォント」 http://nonty.net/item/font/setofont.php

Page 49: 2014 08-30 YAPC::Asia 2014 LT
Page 50: 2014 08-30 YAPC::Asia 2014 LT

One More Thing

Page 51: 2014 08-30 YAPC::Asia 2014 LT

このスライドを作るにあたり,地域.pmイベントにNagoya.pm の1人として前に出てこなかったことをお詫び致します.

Page 52: 2014 08-30 YAPC::Asia 2014 LT

ご静聴ありがとうございました使用フォント: 「瀬戸フォント」 http://nonty.net/item/font/setofont.php