0
モダンな
Perl プログラミング


  天野卓 @ ToI 企画
自己紹介
佐久市で Web アプリケーションを開発しています。
  LAMP
Movable Type のプラグインをフリーソフトウェアと
して配布しています。
http://tec.toi-planning.net
CPAN でも活動していま...
アジェンダ
Perl とは
Perl5 の言語としての特徴
モダンなプログラミングスタイル
 Moose
 Catalyst
最近の動向
 PSGI
 AnyEvent
Perl とは
スクリプト言語
必要かつ十分に実行速度が高速
柔軟な文法と高い拡張性
豊富な拡張ライブラリ

            TMTOWTDI
(There's more than one way to do it)
     「やり方...
Perl の歴史
1987 年 1.0
1994 年 5.0
 オブジェクト指向プログラミングをサポート
2000 年 5.6
  our 文 や warning プラグマの導入
2002 年 5.8
 Encode が標準ライブラリになる
2...
どこで使われているか?
S 2ファクトリー株式会社
株式会社ガイアックス
株式会社ディー・エヌ・エー
株式会社ミクシィ
株式会社モバイルファクトリー
株式会社ライブドア
株式会社リクルート( Media Technology Labs )
YA...
Perl5 の言語としての特徴
“use strict; use warnigs;” で安全なプログラミング
明示的に指定するスコープ
後付けの結果として柔軟なオブジェクト指向
リフレクション
アトリビュート
use strict; use warnings; (1)
use strict; use warnings; (2)
use strict; use warnings; (3)
use strict; use warnings; (4)
明示的に指定するスコープ (1)
明示的に指定するスコープ (2)
明示的に指定するスコープ (3)
明示的に指定するスコープ (4)
オブジェクト指向 (1)
オブジェクト指向 (2)
オブジェクト指向 (3)
リフレクション
アトリビュート (1)
アトリビュート (2)
アトリビュート (3)
モダンなプログラミングスタイル
Moose
Catalyst
Moose
A Postmodern Object System for Perl
 Perl の高い拡張性を利用して、 Perl 上で近代的なオプ
 ジェクト指向プログラミングをサポートしようといういうモ
 ジュール
代表的な Moose の機能
オブジェクトの定義
 宣言的なオブジェクト定義
オブジェクトのロール
 Java の Interface や Ruby の mixin みたいな機能
オブジェクトの定義 (1)
オブジェクトの定義 (2)
オブジェクトの定義 (3)
オブジェクトの定義 (4)
オブジェクトのロール
Traits(Composable Units of Behavior) の概念の実現
 http://web.cecs.pdx.edu/~black/publications/TR_
 CSE_02-012.pdf
Ja...
オブジェクトのロール (1)
オブジェクトのロール (2)
オブジェクトのロール (3)
オブジェクトのロール (4)
オブジェクトのロール (5)
オブジェクトのロール (6)
オブジェクトのロール (7)
オブジェクトのロール (8)
Catalyst
MVC アーキテクチャを持つ WAF
いくつかの WAF に強く影響を受けている
 Ruby on Rails, Maypole, Spring
プラグイン
ジェネレータースクリプト
組み込みのサーバー
テスト
プロジェクトの生成
コントローラーの雰囲気
最近の動向
PSGI
 フレームワークとサーバをつなぐ仕様
 WSGI や Rack を参考にして作られた
AnyEvent
 イベント駆動プログラミングのモジュール
以上です
ご静聴ありがとうございました
Upcoming SlideShare
Loading in...5
×

モダンな Perl プログラミング

2,946

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,946
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "モダンな Perl プログラミング"

  1. 1. モダンな Perl プログラミング 天野卓 @ ToI 企画
  2. 2. 自己紹介 佐久市で Web アプリケーションを開発しています。 LAMP Movable Type のプラグインをフリーソフトウェアと して配布しています。 http://tec.toi-planning.net CPAN でも活動しています。 http://search.cpan.org/~usualoma/
  3. 3. アジェンダ Perl とは Perl5 の言語としての特徴 モダンなプログラミングスタイル Moose Catalyst 最近の動向 PSGI AnyEvent
  4. 4. Perl とは スクリプト言語 必要かつ十分に実行速度が高速 柔軟な文法と高い拡張性 豊富な拡張ライブラリ TMTOWTDI (There's more than one way to do it) 「やり方はひとつじゃない」
  5. 5. Perl の歴史 1987 年 1.0 1994 年 5.0 オブジェクト指向プログラミングをサポート 2000 年 5.6 our 文 や warning プラグマの導入 2002 年 5.8 Encode が標準ライブラリになる 2010 年 5.12 6
  6. 6. どこで使われているか? S 2ファクトリー株式会社 株式会社ガイアックス 株式会社ディー・エヌ・エー 株式会社ミクシィ 株式会社モバイルファクトリー 株式会社ライブドア 株式会社リクルート( Media Technology Labs ) YAPC::Asia Tokyo 2010 の協賛企業
  7. 7. Perl5 の言語としての特徴 “use strict; use warnigs;” で安全なプログラミング 明示的に指定するスコープ 後付けの結果として柔軟なオブジェクト指向 リフレクション アトリビュート
  8. 8. use strict; use warnings; (1)
  9. 9. use strict; use warnings; (2)
  10. 10. use strict; use warnings; (3)
  11. 11. use strict; use warnings; (4)
  12. 12. 明示的に指定するスコープ (1)
  13. 13. 明示的に指定するスコープ (2)
  14. 14. 明示的に指定するスコープ (3)
  15. 15. 明示的に指定するスコープ (4)
  16. 16. オブジェクト指向 (1)
  17. 17. オブジェクト指向 (2)
  18. 18. オブジェクト指向 (3)
  19. 19. リフレクション
  20. 20. アトリビュート (1)
  21. 21. アトリビュート (2)
  22. 22. アトリビュート (3)
  23. 23. モダンなプログラミングスタイル Moose Catalyst
  24. 24. Moose A Postmodern Object System for Perl Perl の高い拡張性を利用して、 Perl 上で近代的なオプ ジェクト指向プログラミングをサポートしようといういうモ ジュール
  25. 25. 代表的な Moose の機能 オブジェクトの定義 宣言的なオブジェクト定義 オブジェクトのロール Java の Interface や Ruby の mixin みたいな機能
  26. 26. オブジェクトの定義 (1)
  27. 27. オブジェクトの定義 (2)
  28. 28. オブジェクトの定義 (3)
  29. 29. オブジェクトの定義 (4)
  30. 30. オブジェクトのロール Traits(Composable Units of Behavior) の概念の実現 http://web.cecs.pdx.edu/~black/publications/TR_ CSE_02-012.pdf Java の Interface や Ruby の mixin みたいな機能
  31. 31. オブジェクトのロール (1)
  32. 32. オブジェクトのロール (2)
  33. 33. オブジェクトのロール (3)
  34. 34. オブジェクトのロール (4)
  35. 35. オブジェクトのロール (5)
  36. 36. オブジェクトのロール (6)
  37. 37. オブジェクトのロール (7)
  38. 38. オブジェクトのロール (8)
  39. 39. Catalyst MVC アーキテクチャを持つ WAF いくつかの WAF に強く影響を受けている Ruby on Rails, Maypole, Spring プラグイン ジェネレータースクリプト 組み込みのサーバー テスト
  40. 40. プロジェクトの生成
  41. 41. コントローラーの雰囲気
  42. 42. 最近の動向 PSGI フレームワークとサーバをつなぐ仕様 WSGI や Rack を参考にして作られた AnyEvent イベント駆動プログラミングのモジュール
  43. 43. 以上です
  44. 44. ご静聴ありがとうございました
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×