CFUnited 2007 Classes

These classes were available for CFUnited 2007.

Days

Monday 6/25

Code Speaker Topic
CU221 Rob Gonda Flex Intensive for ColdFusion Developers
CU222 Ajay Sathuluri CF Server Administration for Security and More
CU223 Oğuz Demirkapı Multi Lingual(i18N) ColdFusion Applications in Theory and Practice
CU224 Nate Nelson Advanced Database

Tuesday 6/26

Code Speaker Topic
CU225 Peter Bell Practical Code Generation: By Example
CU226 Simon Horwith Architecting and Optimizing CF Applications for Performance and Scalability
CU227 John Paul Ashenfelter Best Practice Bootcamp for Developers
CU228 Charlie Arehart New in CFMX 6&7: What Did You Miss?

Monday 6/25 Courses

CU221 Rob Gonda - Flex Intensive for ColdFusion Developers

Extra, extra, read all about it! Flex Wizard in a miracle cure!

 

This full day hands-on Flex course that require no previous Flex experience. The class promises to be fun, energetic, and saturated with information, examples, and code. It will focus not only on Flex architecture, but also teach you to organize your ColdFusion code in such fashion that you can reuse your business layer across any front-end, including Html, Ajax, Flash, or Flex.

Agenda

  • Flex Builder Environment
  • Flex Built-in Components
  • Basics
    • Event System
    • Data binding
  • ActionScript 3.0
  • Remote Calls: HTTP Services, Web Services, AMF3 / Remoting
    • Organizing your ColdFusion Service Layer
    • Flexible Messaging Architecture
    • Error Handling
    • Logging
  • Flex Data Services
  • Cairngorm Microarchitecture
    • Basics / Request Flow
    • Design Patterns
    • Analogy with ColdFusion Frameworks
  • Debugging
    • Within Flex
    • Monitoring HTTP / AMF Traffic
  • Documentation
  • Automated Deployment using ANT

Please bring

  • A laptop
  • Flex Builder 2.0.x+
  • ColdFusion MX7.x+
  • MSSQL / MySQL / PostgreSQL
  • [optional] Flex Data Services Express

CU222 Ajay Sathuluri - CF Server Administration for Security and More

This class will cover how to administer your ColdFusion Server, with an eye toward security.

Agenda

  • Different sections of the CF administrator, standard and enterprise
  • Basic parts of directory structure of the CFIDE folder and of the ColdFusion root; which parts of CFIDE you may want to allow or hide
  • Sandbox security
  • CF Admin API - Basic info on how to use to give your users limited administrative rights
  • Other security tips for servers and code:
    • Basic concepts
    • Login
    • Closing backdoors
    • Forgotten password
    • SQL Injection
  • Locking
    • Protect session/application setup
    • Prevent deadlocks
  • JVM
    • memory limits
    • Which versions you can use
  • Client variables setup and issues
  • Error handlers (site-wide and local) to show users safe error messages, and alert developers with necessary debug information

CU223 Oğuz Demirkapı - Multi Lingual(i18N) ColdFusion Applications in Theory and Practice

This class will explain the theory of creating multi-language applications and methods in ColdFusion with best practices. Main goals of this class are explaining multi-language applications theory, defining requirements and solutions, and providing best practices with direct coding in class.

Some points that will be covered:

  • Explaining theory with i18N (internationalization), L10N (localization), g11N (globalization) and other known approaches.
  • Defining opportunities to create effective solutions such as Java platform tools usage or designing better database etc.
  • Setting up your environment for multilingual applications: Code organization, database server settings, ColdFusion server settings, development tools etc.
  • Creating a multi-language application from scratch with some different i18N techniques such as dynamic content management or content replication etc.
  • Working on best practices: troubleshooting such as search engine optimization or different platform solutions such as creating multi language applications with frameworks etc.

For maximum effect, please bring:

  • A (notebook) computer
  • ColdFusion MX installation (preferably ColdFusion MX 7.x and up)
  • Any database installation (preferably MSSQL or MySQL)

CU224 Nate Nelson - SQL For Performance

The primary objective of this class is to provide each student with the knowledge and confidence to professionally performance tune a database. Each student will have the opportunity to see and understand the steps, tricks, and traps of SQL optimization.

If you have any questions about the content in this class please send them to Nate Nelson at nate @ xententia.com.

Complete Description [Word Document]

Agenda

  1. What is Database Performance Tuning?
  2. Overview of Performance Tuning Tools
  3. How ColdFusion Applications Interact with Databases
  4. Increasing SQL Performance from your ColdFusion Application
  5. Writing Efficient SQL
  6. Query Optimization
  7. The Execution Plan
  8. Indexing
  9. Locking
  10. Designing For Performance
  11. Understanding SQL Server Optimizer and other Internals
  12. Best Practices
  13. Preparing for the Future

Prerequisites

  • Students with basic knowledge of a database system will get the most out of the class
  • Students who learn quickly and are interested will gain heavily from this class

You Do Not Need

  • Performance Tuning Experience
  • DBA Experience

What To Bring

  • Laptop not required but helpful
  • Students with a laptop will be able to follow along with provided code examples
  • SQL Server 2005 (Express can be installed for free!) or SQL Server 2000. (Most of the examples will be demonstrated on SQL Server)

Tuesday 6/26 Courses

CU225 Peter Bell - Practical Code Generation: By Example

In one action packed day you will learn how to generate sophisticated custom business applications - quickly, maintainably and extensibly.

It doesn't matter whether you are procedural or object oriented - whether you use simple queries or stored procedures, whether you are an intermediate programmer or a guru. If you would like to spend more time solving new problems and less time writing the same old code, this class will change the way you think about your job. Whether you've been generating code for years or are completely new to the concept, you will learn practical techniques and see real world examples that will allow you to significantly improve your skills.

In each section we will use practical code examples that you can use in your real world applications while explaining important principles that will allow you to write more powerful, extensible and maintainable code.

1. Creating CRUD

Learn the basics of application generation by generating SQL and stored procedure based CRUD.

You get: Working code for handling simple database access automatically.

You learn: Three approaches to code generation. How to use CF Template.

2. Practical OO Designs

Learn a proven approach to object oriented design that allows you to structure your code in a way that is easier to maintain and simpler to generate.

You get: An entire sample newsletter framework showing how easy it is to write maintainable object oriented applications.

You learn: How to use service classes, DAOs, dependency injection and business objects to quickly write code that is easier to maintain.

3. Custom Data Types

Scaffolding sucks. Learn how to generate code you won't have to throw away before you can put the application into production.

You get: A set of proven custom data types and working code to allow you to generate rich administrative interfaces including custom fields, display rules, validations and transformations.

You learn: The power of custom data types and the secret of Domain Specific Languages and Language Oriented Programming.

4. Domain Specific Languages

Revisiting the previous code samples, we look at what we've really been doing and how you can use Language Oriented Programming to improve the way you design and code your applications.

You get: A powerful tool for creating, storing and managing your metadata.

You learn: How DSLs work, why they matter, and how they can help you to generate any kind of code.

5. Software Product Lines

Learn how you can get industrial levels of reuse or payback in as few as three projects. Software Product Lines have been proven to cut development costs from 30-95%. Learn how you can take advantage of them if you do more than three projects a year.

You get: A system for building and managing software product lines within your company.

You learn: How to use feature modeling and configurators to re-use metadata easily across applications and get a flying start on new projects.

6. Review

The basics of code generation. Design matters. The power of data types. DSLs for generating any kind of code. Software product lines for industrial code reuse.

Prerequisites

  • Comfort and familiarity with ColdFusion programming
  • Some experience of CFCs (you've seen a "createObject" or "cfinvoke" even if you've never used them in an application).

You do NOT Need

  • Experience with frameworks or OO
  • Experience of code generation

CU226 Simon Horwith - Architecting and Optimizing CF Applications for Performance and Scalability

How do you build an application that scales?

What exactly is scalability, anyway?

How does one measure performance and how do you identify performance and maintenance bottlenecks?

In this session, students will learn about common scalability and performance problems, and how to solve them. We'll examine the coding and architecture choices that make maintenance easier, optimize database access, and optimize the runtime performance of your CF applications. Students will learn how to architect a well-designed ColdFusion application and how to review and optimize code, with special emphasis on avoiding common scalability and performance problems.

CU227 John Paul Ashenfelter - Best Practice Bootcamp for Developers

As developers, we know all about the advantages of best practices like using source control, automation, testing, bug tracking, continuous integration, and all of the other tools we should be using. But the task of actually implementing those tools can seem daunting, especially in the face of the development work that has to be done RIGHT NOW. Come join us to get these tools installed, configured, and integrated into your development process in a single day, bootcamp-style!

During the course of the day we're going to:

  • Explore version control using the open source Subversion (svn) software,
  • Implement build and deploy processes using the open source Ant automation tool,
  • Record and run in-browser tests for web applications using the open source Selenium testing tools,
  • Provide developer-centric bug tracking using the open source Trac bug tracking system, and then
  • Tie all of these tools together into a time-saving development environment for you and your team.

By the end of the day you will have these tools up and running on your machine, used them in real development scenarios, and be ready to incorporate them into your daily workflow to save you time and improve the quality of your code.

CU228 Charlie Arehart - New in CFMX 6&7: What Did You Miss?

Planning to move to CF8? Did you skip either 6 or 7? Or have you perhaps installed and been running on them but doing little or no new development? Were you paying attention as all the new features (and folks experiences using them) were being shared? There may be a lot you've missed. Veteran CFML developer Charlie Arehart will introduce both the key features introduced in those releases as well as many hidden gems. It's surprising how many little things get slipped into releases, and point releases, and sometimes it's those which can be as important to you as any prominent feature. In his typical encyclopedic but pragmatic style, Charlie will help you make the most out of features you may have missed.