UK Developer Communities   Linking Developer User Groups and Online Communities in the UK  
DDD Logo

What people have said about the previous days:

   

"Some hands on sessions would be great but overall I think the content of the day was great. The speakers were very knowledgeable and delivered some great content."

   

- Shaun O'Callaghan

 
You are here: Home > Agenda from the 1st DDD Day

Agenda from the 1st DDD Day

14th May 2005 - DeveloperDeveloperDeveloper! Day
Session Track One Track Two Track Three
10:00-10:15 Welcome, Introduction    
10:15-11:15 Session One An Overview of ClickOnce Deployment Guy Smith-Ferrier Patterns of Data Access in .NET
Ian Cooper
The OWASP .NET Tools / Full Trust ASP.NET (in)security
Dinis Cruz
  ClickOnce provides the ease of web form deployment for Windows Forms application. It is Visual Studio 2005's successor to the Updater Application Block and No Touch Deployment from .NET 1.1. 

This session introduces the ClickOnce technology and demonstrates its use in many scenarios including: zero touch deployment, one touch deployment, reversion to previous versions, uninstallation. 

ClickOnce is likely to represent the standard deployment model for departmental Visual Studio 2005 Windows Forms applications so this session represents an opportunity to understand how to get the ease of web deployment together with richness of Windows Forms.


Design patterns encapsulate knowledge on solutions to common problems and this presentation reviews common patterns for data access, when to use them, and how to implement them in .NET.

It also discusses the object-relational mismatch, the solutions, and when it is appropriate to use them.
This session will contain an demonstration of the .NET Security tools currently under development at the OWASP (Open Web Application Security Project).

Presentation of the vulnerabilities (not publicly acknowledged by Microsoft) that exist when ASP.NET 1.1 and 2.0 is executed in an Full Trust environment.

Partially trusted ASP.NET development will also be covered, as well as (time permitting) some case studies on Secure Web Application Development.
11:15-12:15 Session Two Preparing for ASP.NET 2.0
Phil Winstanley
Hacking websites for fun and profit Barry Dorrans Custom Attributes in .NET
Jim Cooper
  Knowing tips, tricks and gotchas in your ASP.NET code today can make your migration to ASP.NET 2.0 much easier.

This talk goes through what you can do now to make the migration as smooth as possible.
How safe are your web sites? Do you know what cross site scripting is? SQL injection attacks? Search engine leaks? 

Learn how to check your sites for nasties by seeing how it's done and what you can do to secure your sites.
This session provides a brief overview of what attributes are, the different types that exist, and a look at some predefined attributes in action. It then covers how to define custom attributes, including how to define parameters and attribute targets, and controlling inheritance of attributes.

There will be a look at how to apply custom attributes, and the use of reflection to discover them. It finishes with a discussion of appropriate uses of attributes, and a short discussion of how they can be used to implement aspect oriented programming (AOP).

Attendees will gain a thorough knowledge of attributes and be in a position to start using them in their own applications.


12:15-13:00 Lunch Break    
13:00-14:00 Session Three Refactoring
Jonathan Hodgson
What's new with web services in .NET 2.0 Benjamin Mitchell .NET Everywhere! It doesn't just run on Windows... Ben Lamb
  Refactoring is the process of changing code in a way that doesn't alter the external behaviour of the system yet improves its internal structure.

We'll cover the new refactoring support and class diagrams available in Visual Studio 2005, and also what's available today using JetBrains Resharper.

Beginning with refactorings like 'Extract Method' to more complex pattern style 'Replace Conditional with Polymorphism' and 'Replace Conditional Dispatcher with Command pattern'.

Expect lots of code and lots of demos!


This session will highlight how .NET version 2.0 makes it easy to build flexible, scalable and interoperable web services.

We’ll cover changes to the client programming model, the increased XML serialization flexibility and WS-I Base Profile conformance.
This session will provide an introduction to the Mono project, an Open Source implementation of the .NET Runtime and class libraries that runs on Windows, Linux, various Unices and MacOS. 

It will cover how Mono compares with the standard Microsoft implementation and Rotor. What is the current state of the Mono project? What works, what doesn't. 

Attendees will have a chance to watch a demo of an ASP.NET application running under Linux using Mono.

14:00-15:00 Session Four Test-Driven Developer Toolbox: Unit Testing, Mocks Objects
Stephan Schoenig
SQL Server 2005 CLR
Dave Sussman
Selling yourself as a developer - Tips and Tricks for getting that role Richard Quick
  As more projects become “agile”, very few are using Test Driven Development (TDD), a core agile practice, as their main development technique. 

The literature describes TDD as a great productivity enhancer, increasing the robustness and maintainability of the code produced, yet very few developers use it routinely. Why? Because knowing how to write tests is different from knowing how to do TDD, and a lot of enthusiastic developers who try TDD get quickly discouraged at how “difficult” and “unnatural” it is to write tests before writing code. This is not so, and we will show how the right tools and idioms can bring a lasting improvement to the way we write software.


Many programmers consider databases a necessary evil, especially the hoops you have to go through to when writing complex SQL. 

The introduction of the .NET runtime into SQL Server 2005 (codename Yukon) brings some exciting possibilities, allowing stored procedures and functions to be written in managed languages, such as Visual Basic or C#. 

Since the runtime is fully integrated, the type system can also be extended allowing data types to be created providing easy storage for custom data. There are many other features that bring a new level of development to applications.
Today’s ever changing job market can be a mine field but with the right approach, you can be presented with opportunities and rewards over and above your expectations.

This session is aimed, not just at people looking to find their next job or how to write a good CV but also, at line managers who may find it difficult attracting the best talent into their organisations.

The whole recruitment cycle will be touched upon, and all the tips and pointers needed to secure attractive opportunities explored.

This will include current information on today’s market and salary surveys.

How and when to prepare for a change or move in your career, what training and qualifications are relevant and what are the hot skills of the moment.

Basic CV preparation and interviewing techniques for both client and applicant will be explained. Career options such as contracting and consulting will be dealt with as well as advice on how to get started.

There will be an opportunity to ask specific questions and anyone who would prefer a confidential consultation can email Richard Quick.


15:00-15:30 Break & Refreshments    
15:30-16:30 Session Five .NET Debugging Facilities
Brian Long
Great New Features in ADO.NET 2.0 Alex Homer Managing Iterative Development using Scrum Craig Murphy
  Debugging is a necessity. Sometimes an IDE-resident debugger doesn't have what it takes to track a problem down. 

There are a variety of other debugging tools available from Microsoft that can come to the rescue in these circumstances and in this session we take a look at what’s available and how you can use these tools to improve your debugging prowess. 

Coverage will include Visual Studio’s debugger as well as CorDbg, DbgCLR, MDbg, but focus mostly on WinDbg with Son of Strike, and will look at Heisenbugs, memory tracking, and lower level trickery.
ADO.NET in version 2.0 of the .NET Framework is more an evolution that a revolution.

Yet there are many exciting new features, and enhancements of existing classes that make it easier to accomplish common data access tasks and get better performance at the same time.

This session summarizes all of the new features, and looks in detail at those that are especially exciting - such as asynchronous data access, promotable transactions, provider-independent code, the new database schema API, the changes to the DataSet and DataTable classes, and more.
Project management and software are seen by many as two things that don't interoperate. So many traditional 'waterfall' projects have gone to the wall, been delivered late or devoid of key features or lacking the quality required to make the product useful. 

Scrum is a lightweight, iterative, project management technique that promises to deliver "working software" every iteration (small period of time in which "something" can be done) and there's empirical evidence that confirms this! Tied in with 'agile' techniques and eXtreme Programming (XP), Scrum lends itself to getting a job done without the added overhead of reams of documentation, heavyweight processes and the uncanny desire to build a product with 100% of the feature-set implemented in version 1. Scrum projects thrive on delivering "working software" that customers actually "use".

Over the course of 60 minutes, Craig will discuss "what has worked for him" and what hasn't: in particular, he'll discuss the bits of Scrum that he has pushed into his current project, and what's required to help you adopt Scrum in your organisation. He'll also touch on how iterative development can mean early realisation of ROI and thus profit. 

Managing a software-oriented project need not be hard - control the chaos!


16:30-17:30 Session Six Developing for the Compact Framework with C#
Jim Cooper
Using interfaces to simplify access to multiple DB providers in .NET Liam Westley Introduction to FxCop and Writing Custom Rules
Guy Smith-Ferrier
  This session introduces developers to the basic techniques of writing Compact Framework applications for PocketPCs in C#.

It will cover PDA application design guidelines and why they are not little laptops, basic program structure, differences between the Compact Framework and the full FCL, UI guidelines and development with WinForms for the CF, data storage techniques, debugging, testing and distributing applications, an overview of some useful FCL classes.

Attendees should gain an appreciation of the issues particular to PDA application design, and be in a position to start developing their own software.
This session provides a strategy for using the Interfaces provided by ADO.NET in the System.Data namespace to enable generic access to multiple database providers.

By abstracting the major differences between data providers with simple wrapper classes based on the ADO.NET Interfaces, it is possible to create generic data access libraries. The goal is to support the creation of a single business logic layer within a client application capable of accessing multiple data sources, while utilising the performance of the native data providers such as System.Data.SqlClient.

The session will include a summary of the ADO.NET Interfaces which will be used and a brief analysis of the major differences between SQL Server 2000 and mySQL 4.1 before creating sample code for a simple MP3 music library. A code walk through will highlight the code with the simple wrapper classes, before demonstrating the ability of the MP3 music library to switch between operating against SQL Server 2000 and mySQL 4.1 seamlessly with only one line of code being modified. This strategy of generic data access is used by Tiger Computer Services Ltd with their real world application, the Niagara SMS moderation system.


FxCop is a static analysis tool which is included with Visual Studio 2005 and is available for download for Visual Studio 2003. FxCop reads one or more assemblies and applies coding rules to them. FxCop includes a library of existing rules and allows you to write your own.

This session provides a brief introduction to FxCop and then proceeds to the larger subject of writing your own FxCop rules. The example rules shown in this session are grouped together by the kinds of analysis which they must perform. Type rules analyze the way types are used. Resource rules analyze resources in the fallback assembly. Instruction rules analyze individual IL instructions and their relative sequence.


 

Copyright © 2004-2008 DeveloperDeveloperDeveloper! Day Organisation Team. All Rights Reserved.