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

  • 2,642 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,642
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
9
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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