This month, William Lindley ( blog)
will
talk about writing a test harness for modern Perl programs
using Test::More,
Test::Mojo for the API, and
DBIx::TempDB for the
database.
Building, testing, and deploying actual systems is more complex than
merely writing a program. Real testing often needs to be done against
databases of known large or problematic datasets. A test environment
cannot affect production data. Staging even minor changes, so we can
preview and find errors before moving to production servers, can prevent
expensive errors. The "best practices" in this field are relatively new
and still changing, and we look at the first steps from "I built this
mockup last night" by building the test suite for a simple
database-driven file-upload service with
Mojolicious.
William Lindley has been hacking computers (in the good sense) since
1977, a database advocate since dBase II and PostgreSQL-predecessor
Ingres in the 1980s, a Perl monger since 1994, and a free-software
promoter since first getting Linux to run XWindows in 1995.
If time permits, Doug Bell (preaction) ()
will
show a simple app to mock JSON REST APIs for testing using Mojolicious.
RSVP for the meeting on the Chicago.PM
Meetup
This month, we have a special meeting: brian d foy ()
will be giving a
talk about Perl 6 Grammars on Thursday, February
16. Grammars in
Perl 6 are the evolved form
of Perl 5 regular expressions that allow even more power and
flexibility, while still being easier to use. RSVP for this special
talk about Perl 6 Grammars on the Chicago.PM
Meetup.
For our regular meeting, Doug Bell (preaction) ()
will
be giving a talk about Logging for Programs Tiny and
Large. It will
cover various ways to add logging and reporting to your Perl programs,
including built-ins like
warn
, core modules like
Sys::Syslog
, and CPAN modules
like Log::Any
and
Log::Log4perl
. RSVP for the
talk about Logging in Perl 5 on the Chicago.PM
Meetup.
We also need speakers for March and further on the rest of the year. If
you're interested in talking for 20 minutes or 40 minutes about any
topic at least tangentially related to developing software with Perl,
e-mail me or sign-up on our
spreadsheet.
If you'd like to contribute, but don't know what to talk about, check
out our list of talk
ideas.
This month, Joel Berger ()
will
give a talk on Perl variable scoping rules, including the my
, our
,
and local
keywords, how they work, and some interesting ways they can
be used.
RSVP on the Chicago.PM Meetup
page
(EDIT: Slides for Variables, Scoping, and Namespaces are available on
the talks page)
This month, Noel Rappin will be talking
about accepting payments on the web:
Your customers have money, and you’d like them to give it to you.
Payment gateways, such as Stripe,
Braintree, and
Paypal, make it easy to start charging credit
cards and get the money flowing. But charging cards is only the
beginning. You need to worry that your app responds gracefully to
service failures, since charging a customer for a failed transaction
is bad. You need to guard against fraud and security breaches. You
need administrative tools that are flexible but secure. You want to
test against external services. And you’ll run up against the law.
Learn from some of my mistakes and build a robust financial
application.
Noel Rappin is the Director of Development
at [Table XI]. Noel has authored multiple technical books, including
"Rails 4 Test
Prescriptions",
"Trust-Driven
Development",
and the forthcoming "Take My Money: Accepting Payments on the Web".
Follow Noel on Twitter @noelrap, and
online at http://www.noelrappin.com.
This month, Jason Crome will be giving a talk on Perl development
environment tooling like perlbrew,
plenv, and
Carton. These tools help to manage
different Perl versions, different module versions, and help to isolate
your development environments to help make dependency version problems
manageable.
Bring your questions and your own experiences with maintaining a Perl
development environment.
RSVP on the Chicago.PM Meetup
EDIT: Slides for Perl Development Environment Tooling have been
posted to cromedome's
Slideshare