Pragmatic ColdFusion

From BriansWiki

Jump to: navigation, search

Contents

[edit] Presenter

[edit] John Paul Ashenfelter

[edit] Pragmatic Defined

Dealing with things sensibly and realistically in a way that is based in practical rather than theoretical consideration

Using ant to automate the deploying process

[edit] Building CRISP

  • Complete – having huge build is OK if that’s complete
  • Repeatable – same build every time
  • Informative – Did the build pass all tests
  • Schedulable – Do it at 2 AM when network is low traffic (with a rollback on failure ideally)
  • Portable – Build on any machine; not just Bob’s machine

[edit] Tools

  • Source Control
  • Automation Tools

[edit] Subversion

  • Easy to install
  • Hosted providers
  • Integrate into most ides
  • Stable
  • Widely used
  • lightweight

Track sits on top of Subversion and does bug tracking too

[edit] Testing

The trouble with programmers is you never know a programmer is doing until iit is too late.

[edit] Tools For Testing

  • CFCUnit (unit Testing)
  • Selenium (user testing)
  • Grinder (stress testing)
  • Automation Tools

[edit] Selenium (selenium.openqa.org)

  • Testing in the Browser
  • Handles majority of Tests
  • Shows Browser differences since it run in the browser

[edit] Ant Build Files

  • Project is the root
  • Description
  • Collection of properties
  • You can use variables to abstract the server variables
  • Type defs and task defs then do things with all those properties
  • Never use Trunk for Deployment

[edit] Inits

Initializes the Builder

[edit] Copy

Copy from Trunk to Tags, this doesn’t really duplicate anything it just created pointers

[edit] Export

Then export from the tag to the build directory

[edit] Build

Then Build which is dependent on the Export function

[edit] Filter

You can use filters to insert the build date into files in the build directory where label token are

[edit] Concatenate

Then concatenate two files together to create a build file that documents the date and time of this build.

[edit] Deploy

Deploy – copy one more time

[edit] Zip

Zip it up and run a md5 check sum and then export it to a server for distribution

[edit] Common problems

Reset the database to a know state before you test. There is a tool call dbUnit that uses jdbc to export schemas, or even dump data before and after and compare the two. Or you can go to a command line and run Tsql scripts to restore a backup

[edit] The Agile Manifesto

[edit] Individuals and interaction over process and tools

[edit] Working Software over comprehensive documentation

[edit] Customer Collaboration over Contract negotiations

[edit] Responding to change over following a plan

[edit] Planning

[edit] User stories

Customers on the team Iterating

[edit] Short Cycles

Continuous integration Steady pace

[edit] Testing

Test Driven dev Acceptance testing

[edit] Re-factoring

Collective ownership Simple design

[edit] Continuous Integration

[edit] Books

[edit] The trilogy

  • Pragmatic Source Control
  • Pragmatic Unit testing
  • Pragmatic Project Automation

[edit] Practices of an Agile Developer

[edit] Ship It

[edit] Deploy It

[edit] My Job went to India and all I got was this lousy book

Personal tools