Perl Dancer Advent Calendar Archive
Full article list
Here's a full list of the previous posts with their titles:
- Dancer 1.2 - a micro web framework milestone (2010)
- Why routes - route-based programming introduction (2010)
- Tutorial: writing a tiny blog engine (2010)
- Database connections with Dancer::Plugin::Database (2010)
- How to write a plugin (2010)
- Testing a Dancer application (2010)
- Storing sessions in cookies (2010)
- Writing REST web services with Dancer (2010)
- Writing a Quick NaNoWriMo Graphing Web Application with Dancer (2010)
- Deploying Dancer in CGI and VPS Environments (2010)
- Using DBIx::Class within a Dancer application (2010)
- Adding a feed to your application (2010)
- DancerJukebox - controlling MPD from Dancer (2010)
- Deployment of Dancer applications with Starman, Apache and mod_proxy (2010)
- Tutorial: Shrinkr, an URL shortener (2010)
- Use cool stuff to render a graph (2010)
- Authentication with Twitter OAuth (2010)
- Dive into Dancer's internals (2010)
- Writing a new Dancer serializer backend (2010)
- Writing a new Dancer logger backend (2010)
- Writing a new Dancer session backend (2010)
- How to use Dancer with Plack middlewares (2010)
- Dancer's ecosystem (2010)
- How to contribute to Dancer (2010)
- Looking back on 2011 (2011)
- Simple CRUD with Dancer::Plugin::SimpleCRUD (2011)
- Self-Contained Dancer Application (2011)
- How to safely store a password (2011)
- Easy Database Access with Dancer::Plugin::Database (2011)
- Flexible exceptions handling with Dancer::Exception (2011)
- Building a blog engine using Perl Dancer (2011)
- Dancer 2, or Why I Rewrote Everything (2011)
- Profiling Dancer apps with Dancer::Plugin::NYTProf (2011)
- Portable file handling in Dancer apps (2011)
- Dancer 2, a Roadmap (2011)
- Dancer workshop at London Perl Workshop 2011 (2011)
- Serving Files with Dancer::Plugin::DirectoryView and Dancer::Plugin::Auth::Htpasswd (2011)
- Dynamic AJAX charting with Dancer and Highcharts (2011)
- Sending email in Dancer using Dancer::Plugin::Email (2011)
- How to use Dancer with Plack middlewares (2011)
- Dancer plugins ecosystem (2011)
- Alternative Dancer Templating Engines (2011)
- How to use Dancer::Plugin::Redis (2011)
- High-performance Dancer apps (2011)
- Making RSS feeds using Dancer::Plugin::Feed (2011)
- Generating CAPTCHAs using Dancer::Plugin::Captcha::SecurityImage (2011)
- Meet the core team (2011)
- Thanking the contributors (2011)
- Another year of Dancing... (2012)
- New user authentication and authorisation framework (2012)
- Dancer deployment: Apache's mod_proxy and Nginx (2012)
- Dancer 2, what about using it? Now! (2012)
- Dancer::Session::Redis - Writing a session engine for Dancer 2 (2012)
- The Errors of Our Way (2012)
- A first app with Dancer 2 (2012)
- Porting Dancer Template Modules to Dancer 2 (2012)
- Dancer training at LPW2012 (2012)
- Dancecard (2012)
- Simple, but more flexible, CRUD (2012)
- Pluggable Route Handlers for Dancer 2 (2012)
- The Gift Of Auto-Completion (2012)
- Building a Search Web App with Dancer and Sphinx (2012)
- Dancer As A Persistent Interpreter Node (2012)
- Redesigning Dancer::Plugin::Auth::Extensible (2012)
- Create your own Dancer 2 DSL (2012)
- Meet Dancer users - Crowdtilt (2012)
- Meet Dancer users - The Game Crafter (2012)
- Using DBIx::Class within a Dancer application (2012)
- Writing a Quick NaNoWriMo Graphing Web Application with Dancer (2012)
- Tutorial: Shrinkr, an URL shortener (2012)
- Dancer::Plugin::Adapter (2012)
- Twas the Release Before Christmas (2012)
- Meet Dancer users - Hofmeir Media (2013)
- Another year of Dancing... (2014)
- Dancer2 - starting anew (2014)
- Migrating to Dancer2 (2014)
- Your website in a carton box (2014)
- Packing the Fat (2014)
- Static noise - Static file serving in Dancer2 (2014)
- Doing an API Mashup with Dancer (2014)
- Sweetening the test suite (2014)
- New feature in Dancer2: to_app (2014)
- What's in an appname? (2014)
- Serial Serializer - making API writing easier (2014)
- A test to remember: testing your web application (2014)
- The test core: How we test in Dancer2 core (2014)
- Writing plugins for Dancer2 (2014)
- Outreach Program for Women (OPW) and Dancer (2014)
- Command line dancing (2014)
- Hidden feature: Auto Pages (2014)
- The method of the setup method (2014)
- Authentication for the masses (2014)
- Meddling with Middlewares (2014)
- Middlewared Dancer: our usage of middlewares (2014)
- The Dancer community policy (2014)
- Dynamic routing in Dancer is dynamic (2014)
- Past and future (2014)
- Another year of dancing (2016)
- State of the Ecosystem (2016)
- Medium-Scale Dancer, Part 1: Modules (2016)
- Medium-Scale Dancer, Part 2: Route Definitions (2016)
- Medium-Scale Dancer, Part 3: Views (2016)
- Medium-Scale Dancer, Part 4: Front-End Matters (2016)
- Medium-Scale Dancer, Part 5: REST APIs and JSON (2016)
- Automatic Restarts (2016)
- New parameters keywords (2016)
- Exception handling, error logging and user messages made easy (2016)
- Implementing i18n in a Dancer application using Plugin::LogReport (2016)
- Optimizing Dancer2 PT. 1 (2016)
- Optimizing Dancer2 PT. 2 (2016)
- Optimizing Dancer2 PT. 3 (2016)
- Optimizing Dancer2 PT. 4 (2016)
- Optimizing Dancer2 PT. 5 (2016)
- Configuring Your Dancer Applications (2016)
- Asynchronous Dancer2 (2016)
- change_session_id (2016)
- send_as BEER => 'Christmas Cheer' (2016)
- Reducing boilerplate and managing exports in Dancer2 (2016)
- The new Dancer2 plugin system (2016)
- How to avoid XSS issues easily (2016)
- Contributing to Dancer (2016)
- The Twelve Days of Dancer (2018)
- Dancer Survey Result Recap (2018)
- Dancer2::Plugin::Paginator - Born Again (2018)
- Using Minion in Dancer Apps (2018)
- Dancer and Email (2018)
- Customizing and extending your Dancer2 application generation (2018)
- Logging with Dancer2::Logger::Log4perl (2018)
- Testing Dancer with Test::Mojo (2018)
- Spam and bot prevention without the use of CAPTCHAs (2018)
- Parameter testing with Dancer2::Plugin::ParamTypes (2018)
- Dancer2::Logger::Console::Colored (2018)
- What's next for Dancer? (looking into the future) (2018)
- The Twelve Days of Dancer (2020)
- Collective Voice: Using Dancer2 at a Digital Marketing Agency (2020)
- What's a Quarren? (2020)
- Typed Route Parameters in Dancer2 (2020)
- Dancer2::Template::Handlebars (2020)
- Post-processing HTML with Mojo::DOM (2020)
- Making a one-page app using Dancer2::Plugin::Ajax (2020)
- Dancer2::Plugin::Minion (aka, Using Minion in Dancer Apps, Revisited) (2020)
- Dancer Two-Factor Authentication Demo (2020)
- Asynchronous Dancer2 PT. 1 - What, Why, and How? (2020)
- Asynchronous Dancer2 PT. 2 - Promises and a Bonus! (2020)
- Simple content negotiation with the mutable serializer. (2020)
- The Twelve Days of Dancer, 2023 Edition (2023)
- A new plugin for host-specific routing (2023)
- Dancer2::Plugin::Mason - What's old is new again! (2023)
- Building a Sleek Blog in a Snap with Dancer2 and LiteBlog (2023)
- Svelte as a Dancer (2023)
- A new way to use DBIx::Class in your Dancer2 apps! (2023)
- Navigating the Dancefloor: The Elegance of Named Routes (2023)
- Dancing with HTMX (2023)
- Tidings of Comfort and Joy: Dancer Core Team, TPRF Partnership (2023)
- Snazzy Mustaches: Handlebars templating (2023)
- Cookiecuttin' data with JSON:API (2023)
- Looking ahead to 2024 (2023)