Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2014 08-30 YAPC::Asia 2014 LT

1,271 views

Published on

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

Published in: Software
  • Be the first to comment

  • Be the first to like this

2014 08-30 YAPC::Asia 2014 LT

  1. 1. はじめてリリースした CPANモジュールのおはなし 2014-08-30 YAPC::Asia 2014 @issm(いわた)
  2. 2. お前だれよ •@issm(いわた) •名古屋の隣 •小規模販売系サービス •受注側の表・裏 •発送管理の表・裏 •Perl
  3. 3. 背景
  4. 4. とある単位のデータオブジェクト X 作成,この際,予め定め た仕様に則った「ある規則」で「文字」をもつ.この「文字」 は「数・アルファベットのみ」であり,属するオブジェクト O 内において「順序」がある.例えば,オブジェクト O1 下 で作成 → "1...0",オブジェクト O1 下で作成 → "1...1", オブジェクト O2 下で作成 → "1...0",...,オブジェクト O1 下で作成 → "1...a",オブジェクト O1 下で作成 → "1...b",...,といった感じ.とある生成処理では,オブジェ クト X のこの「文字」をファイルのパスに利用するものがあ る.とある日,この生成処理でファイルパスまわりのエラー が出ていた.そのオブジェクトの「文字」を確認したところ "/" が含まれていた.データオブジェクト作成の際の「文字」 を生成する部分の実装を確認したところ,単に Character Code を ++ しているだけで,使用にある「数字・アルファベッ トのみ」という制約も見当たらない感じだった...
  5. 5. 結局どうしたいの?
  6. 6. •文字を「インクリメント」できる •そのルール指定できる •文字の集合とか •インクリメントの順序とか
  7. 7. 書いてみた
  8. 8. String::Incremental https://github.com/issm/p5-String-Incremental
  9. 9. DESCIRPTION •文字を「インクリメント」できる •そのルール指定できる •文字の集合とか •インクリメントの順序とか
  10. 10. SYNOPSIS use String::Incremental! qw(incremental_string);! ! my $str = incremental_string(! 'foo-%2=-%=',! [0..2],! 'abcd',! );
  11. 11. 'foo-00-a' 0! 1! 2 a! b! c! d 0! 1! 2
  12. 12. $str++;
  13. 13. 'foo-00-b' 0! 1! 2 a! b! c! d 0! 1! 2
  14. 14. $str++;
  15. 15. 'foo-00-c' 0! 1! 2 a! b! c! d 0! 1! 2
  16. 16. $str++;
  17. 17. 'foo-00-d' 0! 1! 2 a! b! c! d 0! 1! 2
  18. 18. $str++;
  19. 19. 'foo-01-a' 0! 1! 2 a! b! c! d 0! 1! 2
  20. 20. $str++;! $str++;! ...
  21. 21. 'foo-22-d' 0! 1! 2 a! b! c! d 0! 1! 2
  22. 22. $str++;
  23. 23. dies
  24. 24. 以上 :)
  25. 25. PrePANへ
  26. 26. torbjorn@github: “Interesting idea. I think it deserves to be released and I have no comments on the name, seems fine.”
  27. 27. ポジティブっぽい♥
  28. 28. % minil release <ッターン>
  29. 29. 初めてのCPANモジュール リリース!
  30. 30. リリース日
  31. 31. 2014-07-18
  32. 32. 2014-07-18?
  33. 33. $age++;
  34. 34. $age++;
  35. 35. ありがとうございます
  36. 36. CPAN見てみよう
  37. 37. 2014-07-17
  38. 38. 時差...
  39. 39. 世界は厳しい
  40. 40. 世界は厳しい
  41. 41. ご静聴ありがとうございました 使用フォント: 「瀬戸フォント」 http://nonty.net/item/font/setofont.php
  42. 42. One More Thing
  43. 43. このスライドを作るにあたり,地域.pmイベントにNagoya.pm の1人として前に出てこなかったことをお詫び致します.
  44. 44. ご静聴ありがとうございました 使用フォント: 「瀬戸フォント」 http://nonty.net/item/font/setofont.php

×