NAME
Task::BeLike::GETTY - be like GETTY (without the insanity hopefully) -- use what drives his gears
VERSION
version 20130420.000
TASK CONTENTS
Perl itself
perl 5.010001
You should have at least 5.10.1
Useful Command-Line Tools
App::Ack 2.00
Because grep is outdated
Working with CPAN distributions
App::cpanminus 1.5018
Because I dont want useless crap on my screen.
App::CPAN::Fresh 0.10
Installs latest version of the dist... for the people who cant wait to get their own release on other machines ;)
Object orientated working
Moo 1.000003
Cause it cost nothing and makes the code nice.
MooX 0.101
An easier way to load Moo and MooX plugins for it.
Moose 2.0604
The ultimate power in the universe to make classes
MooseX::NonMoose
Sometimes something else wanna be a Moose!
Application Frameworks
MooX::HasEnv
Depend attributes on environment variables in Moo.
MooX::Cmd 0.002
MooX::Cmd together with MooX::Options gives you the ability to make easy multicommand application.
MooX::Options 3.71
MooseX::Getopt
If you use Moose, then you should go this way for making options possible in your application.
String::ProgressBar
Make nice progress bars in your application.
Event driven, non-blocking environment
Reflex 0.098
Because POE is really outdated (and too complex)
Reflexive::Client::HTTP 0.003
Never saw a non-blocking environment which not used some HTTP client somewhere in the process hehe :).
Database
DBIx::Class 0.08200
There is no other way to access a database
DBIx::Class::Candy 0.002101
Use this to define your DBIx::Class result classes.
DBIx::Class::AlwaysUpdate
DBIx::Class::TimeStamp
DBIx::Class::EncodedColumn 0.00011
DBIx::Class::InflateColumn::DateTime
DBIx::Class::InflateColumn::Serializer 0.03
Very useful in combination with JSON to get a simple random data storage field.
DBIx::Class::EncodedColumn::Crypt::Eksblowfish::Bcrypt
Best way to get a transparent (one way) encrypted field, like password.
Templating
Template 2.22
A very good easy to understand templating system. Its widly used and just be prefered if speed is no relevance.
Template::Provider::Encoding
You will need this for utf8.
Text::Xslate 1.5018
The fastest template engine, but needs a bit more understandment, but can be used with many template syntaxes (more or less identical of course).
Web frameworks
FCGI 0.74
Don't do CGI... please.... its dead.
Catalyst::Runtime 5.90016
For serious web application development
Catalyst::Plugin::AutoCRUD 2.122460
Giving an "auto of the box" SQL datamanager via a DBIx::Class managed sql source. Very cool.
Catalyst::Plugin::ChainedURI 0.002
A more simple way to get a specific url in Catalyst then with the given tools inside of Catalyst.
Catalyst::Plugin::CustomErrorMessage
An error should be nice.
Catalyst::Plugin::Session
Catalyst::Plugin::Session::State::Cookie
Catalyst::Plugin::Session::Store::File
Catalyst::Plugin::Unicode::Encoding
Never forget to load this. You want utf8.
Catalyst::Authentication::Store::DBIx::Class
Catalyst::Plugin::Authentication
Catalyst::Plugin::Captcha
Catalyst::Plugin::StackTrace
Make a crash more useful, show a stack trace.
Catalyst::View::TT
Catalyst::View::JSON
Catalyst::View::Email::Template
Web::Simple 0.020
For the simple stuff
Plack 1.0004
The base for all those frameworks, and the best way to make your own base for a webframework, even tho, you normally should be happy with Web::Simple and Catalyst, but it gives interesting background knowledge to know Plack and PSGI. See http://plackperl.org/.
Plack::Middleware::Debug
The so far best debugging console from the author of Plack directly.
Validation
Email::Valid 0.185
Best thing so far to check for a valid email.
Translation
Locale::Simple 0.002
A simple way to integrate gettext translations into Javascript and Perl with the same API. It has anything included you need, you just need to have the gettext tools installed. You can check for a tool msgfmt
that is inside there, if you are unsure, if you installed the proper gettext package of your distribution.
Tools for authoring CPAN Distributions
Dist::Zilla 4
Dist::Zilla::PluginBundle::GETTY 0.003
This pluginbundle gives you directly all Dist::Zilla plugins I use. Its a package that tries to be very efficient. Many people dislike that it generates the changes out of the git log. It is btw also used to generate this Task.
File::ShareDir::ProjectDistDir 0.3.2
Essential for working sane with the share directory of a distribution in development context.
Testing
Test::More
Simple, straightforward, thats what you need.
Test::LoadAllModules
Easy way to have a test for checking that all modules compile at least.
Test::Dirs
For comparing resulting directories.
File::Temp
For getting temporary directories. Very handy for tests.
Making your own DarkPAN / GreyPAN
CPAN::Repository 0.007
Dist::Data 0.003
Module::Data 0.006
Path::ScanINC 0.002
Other Libraries I Use
Data::Printer 0.33
Nicest debugging output ever.
DateTime 0.77
Version 0.77 required because: provides CLDR support with fewest known bugs
Working with timestamps is just wrong.
DateTime::Format::Epoch 0.13
As reference to remind that you can find YOUR specific DateTime string definition out of the many https://metacpan.org/search?q=DateTime%3A%3AFormat%3A%3A.
DateTime::Format::Strptime 1.52
A very flexible format handler, if you really cant find what you need.
DateTime::Format::Human::Duration 0.60
A good way to display a time duration to humans.
JSON 2.53
The most effective data storage way ...
JSON::XS 2.33
... and make it quick!
YAML 0.84
If you want the data in the worst case created or modified by humans, then this is the way to go.
Path::Class 0.26
The most simple way to work with path and file names. Highly recommended.
IO::All 0.46
The best sugar to access files and their data.
Config::INI 0.019
I like INI files.... dont hate me.
Devel::NYTProf
The most heavy overall debugging possible. Try it out once, to know what you have.
Scalar::Util 1.18
Nice toolset, check it out and get it known.
Text::Markdown 1.0.24
Version 1.0.24 required because: has trust_list_start
For making nice GitHub README and wiki pages.
HTTP::Message
You will need HTTP::Request and HTTP::Response. Use it with LWP::UserAgent or Reflexive::Client::HTTP.
LWP::UserAgent
A simple way to make a blocking HTTP request based on HTTP::Request.
URL::Encode
URL encoding
URI
Handling URLs itself, making parameter and so on. Very useful, still dislike the API somehow.
Sanity-Check
These are just here to make sure other things work properly.
Mozilla::CA
Crypt::SSLeay
LWP::Protocol::https
IO::Socket::SSL
AUTHOR
Torsten Raudssus <torsten@raudss.us>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 283:
alternative text 'https://metacpan.org/search?q=DateTime%3A%3AFormat%3A%3A' contains non-escaped | or /