Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Yapc fukuoka crust

1.659 visualizaciones

Publicado el

YAPC::Fukuoka 2017

Publicado en: Ingeniería
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Yapc fukuoka crust

  1. 1. P6W に基づく Perl6 に於け る Web 開発の基礎となる Crust Tokuhiro Matsuno LINE Corporation Service Dev.1
  2. 2. Who are you? • Amon2, Test::Pretty, Furl, Harriet, HTTP::Session2, Test::TCP, Minilla, etc… • Co-author of Plack • Works as a tech lead at LINE Corp.
  3. 3. LINE♡Perl
  4. 4. Perl6? • Perl 5 の後継?兄弟? • start at 2000 • useful release: 2010/4(Rakudo Star) • Christmas release: 2015
  5. 5. Perl6 は安定したの か?
  6. 6. A. していない
  7. 7. Perl6 は⾼高速になった のか?
  8. 8. A. なっていない しかし、Parrot → MoarVM で⾼高速化 成功している。
  9. 9. Perl6 で Web application 開発はできるのか?
  10. 10. A. できる 詳細は YAPC::Hokkaido の資料料を参照 https://www.slideshare.net/ tokuhirom/perl6-web
  11. 11. Perl6 Web Development and Specs • Perl5 のときは PSGI があった • Perl6 では??
  12. 12. P6W
  13. 13. P6W とは……? • https://github.com/zostay/P6W • ほとんどこの⼈人が⼀一⼈人でやってるっぽい • ゴールは PSGI と同じ • 対応している実装はあんまない
  14. 14. HTTP::Server::Tiny • もともと PSGI をサポートしていた • ↓ • P6W にサポートさせてみた
  15. 15. P6W の階層構造 • Layer 0: Server • Layer 1: Middleware • Layer 2: Application http://blogs.perl.org/users/jakob/2012/09/the-joy-of-psgi-middleware.html
  16. 16. ⼊入出⼒力力 • ⼊入⼒力力は Associative(Hash-ish object) • global capabilities • configuration information • per-request information • 出⼒力力は Supplier
  17. 17. コード例例 sub app(%env) { start { 200, [ Content-Type => 'text/plain' ], [ 'Hello World!' ] } }
  18. 18. とはいえ • 直接 P6W を触る必要はあんまない • そう、Crust ならね。
  19. 19. Crust ? • Plack for Perl6 • P6W support
  20. 20. Static contents support • Crust::App::File • Crust::App::Directory • Crust::App::URLMap
  21. 21. Utils • Crust::Builder • Crust::Headers • Crust::MIME • Crust::Request::Upload • Crust::Request • Crust::Response • Crust::Runner • Crust::Test::MockHTTP • Crust::Test • Crust • HTTP::Message::PSGI
  22. 22. Middlewares Crust::Middleware::AccessLog Crust::Middleware::Auth::Basic Crust::Middleware::Conditional Crust::Middleware::ContentLength Crust::Middleware::ErrorDocument Crust::Middleware::Lint Crust::Middleware::ReverseProxy Crust::Middleware::Runtime Crust::Middleware::StackTrace Crust::Middleware::Static Crust::Middleware::XFramework
  23. 23. まとめ • Perl6 の Web 開発の雰囲気をシェアしました • P6W ってものがある • Crust ってものがある

×