a VIPs YAPC::NA 2010 notes
YAPC::NA 2010 Technology Overview
I am new to the Perl community. This is an overview of the the technology I found interesting in the talks I attended at YAPC::NA 2010 http://yapc2010.com/.
Web
- Catalyst - MVC framework for Perl supporting many different runtime environments
- Catalyst::Controller::DBIC::API - Simplify REST interface to DBIx::Class
- HTML::Zoom - rips the logic right out of your template thus acheiving a Zoom for the average designer
- Template::Declare - declaritive templating
- Form::Factory - a Moosified general-purpose form handling API,
looks very promising - PSGI - Perl Web Server Gateway Interface Specification (aka middleware)
- Plack - Perl Superglue for Web frameworks and Web Servers (Perl implementation of PSGI specification)
- http://nginx.org - Highly optimized HTTP and reverse proxy server,
as well as a mail proxy server - http://qublog.net - Catalyst web application using Template::Declare and Form::Factory
Environment
- minicpan - create or update a local mirror
- dpan - maintain a darkpan for company logic
- local::lib - setup local install paths for module install
- mcpani - maintain a mini mirror
- perlbrew - Perl environment manager
- Dist::Zilla - minimizing the amount of time you spend writing repeatitive code increases maintainability
- Strawberry Perl - Perl5 for windows
- git - popular distributed version control system designed to handle everything from small to very large projects with speed and efficiency
- Devel::REPL - a modern Perl interactive shell
Testing
- Test::Builder - singleton module for creating TAP compliant test modules
- Test::More - adds very useful tools on top of standard Test modules
- Fennec - Full Featured Testing Toolbox And Development Kit
- Tree::DAG_Node - dependency graphing
Debugging
- Data::Show - parses source to give variable and line numbers on dumping statements
- Devel::NYTProf - Powerful fast feature-rich Perl source code profiler
Object Oriented Programming
- Moose - extends Class::MOP which implements a Meta Object Protocol system; looks a bit like Perl6; these are the glory days!
- MooseX::Declare - BETA - Moose syntax using Devel::Declare to make Perl beautiful
- MooseX::App::Cmd - Mashes up MooseX::Getopt and App::Cmd ftw!
- MooseX::Method::Signatures - add a method signature syntax without the full blown MooseX::Declare syntax
- Class::Method::Modifiers - gives
before
,
after
,
around
method modifiers.
useful for non-Moose classes - Method::Signatures::Simple - can be mixed with MooseX::Declare or MooseX::Method::Signatures to gain a speed boost on non-edge-of-program methods that do not need parameter validation
Other Cool Modules
- Regexp::Grammars - Perl6 grammar-like syntax for Perl5. Sill BETA. Managed to segfault it, filling perlbug soon
- IO::Prompter - comprehensive command line prompting with history and state information built in
- App::Padre - editor written in Perl
- Try::Tiny - minimal try/catch with proper localization of
$@
- Reflex - - Rocco Caputo's new event driven system build on top of POE,
still BETA,
time to play!
Thanks
- to all the teachers and organizers that spend their time helping the Perl community
- to all the Perl hackers willing to learn,
willing to research and unwilling to accept "not possible!". - to Pod::Simple::HTML for converting this Pod document to html
I wanted to try writting my blog entries with Pod.
The blog entry you are currently reading probably has a familiar format.
It was written in Pod and converted to html with Pod::Simple::HTML.My first attempt to convert this document to HTML I could post on https://blogs.perl.org/ failed. I was trying to use pod2html that comes with Perl. It kept converting the module names to something like
/Try/Tiny.pm
before it would prepend it to my--htmlroot
option. I'm trying to set the--htmlroot
option tohttp://search.cpan.org/perldoc?
. So I'm not sure what the solution is to get my links correct. If you know the solution, ping me.The next thing I tried was Pod::Xhtml. The formatting just isn't very nice. It uses <dt> for list items instead of <li>. It just leaves the
*
in the place you put it for the list item. It does not handle numbered lists correctly. So, I moved on.Lastly, I tried Pod::Simple::HTML. This module worked for me with one problem. The html it produces, although valid, has new lines in strange places. It looked something like this:
<li><a href="http://search.cpan.org/perldoc?Devel%3A%3AREPL" class="podlinkpod" >Devel::REPL</a> - a modern Perl interactive shell</li> </ul>
<h2><a class='u' href='#___top' title='click to go to top of document'
name="Testing"
>Testing</a></h2>This is fine, however the code on https://blogs.perl.org/ would break trying to parse this. Maybe a missing
/s
regexp modifier. So now I am using a modified Pod::Simple::HTML without the new lines inside html elements. Would always love to hear a better solution.
Thanks for sharing this, I'm sending your notes around to my group. --John