Hello, you are not logged in.  Login or sign up
EXPERTS >> Steven Feuerstein's PL/SQL Obsession >> Training and Presentations >> Best Practice Programming
Toad on Twitter Follow Toad Search Toad World Search

Best Practice Programming
Download Steven's Training Presentations

Guaranteeing Application Success
 Print  

Download Now! (292 KB (zipped), Updated: 8/28/2009)

We all want to build successful applications and be successful ourselves. But what does this mean and how do we get there?
 
In this session, Steven Feuerstein, one of the world's leading experts on the Oracle PL/SQL language, offers key criteria for application success. He will highlight the key role that automated testing should and can play in our development lives, and how to best apply and validate coding standards to ensure maintainable code.
 
After watching this seminar, you will have a much better understanding of how to ensure that your code is correct, maintainable and efficient – key ingredients to a successful application.
Automated Testing Options for Oracle PL/SQL
 

Download Now! (382 KB (zipped), Updated: 11/24/ 2008)

We all know we should test our code more thoroughly, but who has the time and patience, and isn't our code "good enough" anyway? Did you know that that is widely accepted that if you have a program of 500 lines, you should expect to write 5000 lines of test code? Ah, so that's why we don't test our code! If you are not satisfied with the number of bugs in your code or if you sometimes find yourself embarrassed demonstrating your software to users, then attend this session to learn how you can automate the testing process, reduce bugs in your code, and increase confidence in your applications. This session reviews the tools, from open source to commercial, that offer varying levels of testing automation.

High Quality Programming
 

Download Now! (1.7 MB, Updated: February 8, 2008)

Over its lifetime, PL/SQL has grown increasingly robust and complex.  Many programmers are barely aware of the new capabilities of PL/SQL, much less fully understand the implications for their programs.  And virtually all PL/SQL developers are too pressured by deadlines to have the time to think through the best way to apply PL/SQL's many features.

Steven Feuerstein, one of the world's leading experts in the Oracle PL/SQL language, has studied PL/SQL for over 12 years and has developed a deep understanding of how best to build applications with this language.  

The High Quality Programming seminar will focus on critical areas of development:

  • Writing SQL in PL/SQL: SQL statements lie at the heart of any PL/SQL application and PL/SQL makes it incredibly easy to write that SQL. This means that most of us take SQL totally for granted, which is a big mistake, since SQL statements are the slowest elements of our code and often need changing.  Steven will show you how to take advantage of best features of PL/SQL for writing SQL and also offer best practices for writing SQL statements that can be more easily maintained and optimized.
  • Optimizing performance of PL/SQL applications: beyond SQL, there are many concerns and ways to improve the performance of one's PL/SQL code.  From new features to the careful application of long-standing features, Steven will show you how to analyze code performance and, at least in some cases, improve it by one or more orders of magnitude.
  • Unit testing PL/SQL programs: let's face it, few of us test our code sufficiently.  Who has the time?  And how are you supposed to write that code, anyway?  In this section of the course, Steven offers "six simple steps to unit testing happiness" that will utterly transform the quality and quantity of your PL/SQL testing.
  • Building modular, reusable code: just say "no"....to spaghetti code that is impossible to read, maintain, or enhance.  In this section, Steven will show you how to take advantage of packages, local subprogram units, cursor variables, autonomous transactions, and more to craft small, reusable units of code.
  • Error management: every well-crafted application follows a standard, consistent process for handling, raising and reporting errors.  PL/SQL offers a powerful, flexible exception handling architecture, but it has its weaknesses.  Steven will show you how to compensate for those weaknesses, take advantage of the latest error management features, and build a reusable package to log and raise exceptions.

Prerequisites
You should have a working knowledge of PL/SQL and at least a year's worth of experience with the language.  All developers, from beginner to expert, will benefit from Steven's ideas and examples.

Practical Best PL/SQL Programming
 

Download Now! (2.3 MB, Updated: September 17, 2007)

We all hear about (and some of us write about) "best practices". But sometimes all that advice can be quite overwhelming and not very practical. This two hour seminar offers advice for writing the best PL/SQL of your life which I believe is thoroughly practical and instantly applicable to your professional lives as PL/SQL developers

"Practical Best" starts of by recommending a high-level workflow for building applications in three phases: prepare, construct and validate. Within preparation, I focus on how you should establish a solid foundation for development by standardizing (set the rules), systematize (follow the rules with formal processes), and automate (implement the rules automatically as much as possible). The main focus in this section is on how to best write SQL inside PL/SQL. And here I do my first PL/SQL magic trick: I convince you that SQL IS BAD!

From there, we shift focus to single program construction. I go into a detailed workflow at this level, emphasizing preparation, review, optimization and testing. And then I spend LOTS of time talking about how to improve the way we test our code, which brings me to my second PL/SQL magic trick: I will convince you that TESTING IS (CAN BE) FUN!

And throughout the seminar, I provide or point you to scripts, utilities and tools to help you quickly apply my advice. 

The Best of Oracle PL/SQL
 

Download Now! (4 MB (zipped), Updated: 12/15/2009)

Over its lifetime, PL/SQL has grown increasingly robust and complex.  Many programmers are barely aware of the new capabilities of PL/SQL, much less fully understand the implications for their programs.  And virtually all PL/SQL developers are too pressured by deadlines to have the time to think through the best way to apply PL/SQL's many features.

This two-day seminar teaches attendees about the most important features of the PL/SQL language, focusing on the major advances in Oracle 9i Database and Oracle Database 10g.  Steven then takes you beyond the basics to show you how to apply these features in the context of best practices, so that you write highly optimized and easily maintained and enhanced applications.

After attending this seminar, you will be ready and able to:

  • Improve query and DML performance by an order of magnitude or more with BULK COLLECT, FORALL and PL/SQL collections (array-like structures).
  • Unit test your PL/SQL subprograms like never before, utilizing the processes and tools Steven offers in his "six simple steps to unit testing happiness."
  • Optimize the construction of your SQL statements in PL/SQL programs, both from the standpoint of performance and maintainability.
  • Build modular, reusable code: Steven will show you how to take advantage of packages, local subprogram units, cursor variables, autonomous transactions, and more to craft small, reusable units of code.
  • Manage errors by following a standard, consistent process for handling, raising, and reporting errors.
  • Apply collections (a critical but under-utilized data structure) to solve a wide variety of problems, from slow query performance to mutating table trigger errors.
  • Take advantage of both forms of dynamic SQL in PL/SQL to write the kind of flexible programs that are required in a world driven by the Internet.

Prerequisites
You should have a working knowledge of PL/SQL and at least a year's worth of experience with the language.  All developers, from beginner to expert, will benefit from Steven's ideas and examples.
 

Best Practice PL/SQL
 

Full Day Seminar - Download Now! (.75 MB, Updated: May 04, 2006)

Two Hour Presentation - Download Now! (1.1MB, uploaded on April 5, 2007)

Designed especially for Oracle Scandinavia, Best Practice PL/SQL with Steven Feuerstein is a one-day whirlwind guide to the best that PL/SQL has to offer and the best practices for writing faster, more modular and eminently maintainable applications.

Over its lifetime, PL/SQL has grown increasingly robust and complex.  Many programmers are barely aware of the new capabilities of PL/SQL, much less fully understand the implications for their programs.  And virtually all PL/SQL developers are too pressured by deadlines to have the time to think through the best way to apply PL/SQL's many features.

Steven Feuerstein, one of the world's leading experts in the Oracle PL/SQL language, has studied PL/SQL for over 12 years and has developed a deep understanding of how best to build applications with this language.  He will share what he has learned with Oracle technologists in Scandinavia in May 2006.

The Best Practice PL/SQL one-day seminar will focus on N critical areas of development:

  • Writing SQL in PL/SQL: SQL statements lie at the heart of any PL/SQL application and PL/SQL makes it incredibly easy to write that SQL. This means that most of us take SQL totally for granted, which is a big mistake, since SQL statements are the slowest elements of our code and often need changing.  Steven will show you how to take advantage of best features of PL/SQL for writing SQL and also offer best practices for writing SQL statements that can be more easily maintained and optimized.
  • Optimizing performance of PL/SQL applications: beyond SQL, there are many concerns and ways to improve the performance of one's PL/SQL code.  From new features to the careful application of long-standing features, Steven will show you how to analyze code performance and, at least in some cases, improve it by one or more orders of magnitude.
  • Unit testing PL/SQL programs: let's face it, few of us test our code sufficiently.  Who has the time?  And how are you supposed to write that code, anyway?  In this section of the course, Steven offers "six simple steps to unit testing happiness" that will utterly transform the quality and quantity of your PL/SQL testing.
  • Building modular, reusable code: just say "no"....to spaghetti code that is impossible to read, maintain, or enhance.  In this section, Steven will show you how to take advantage of packages, local subprogram units, cursor variables, autonomous transactions, and more to craft small, reusable units of code.
  • Error management: every well-crafted application follows a standard, consistent process for handling, raising and reporting errors.  PL/SQL offers a powerful, flexible exception handling architecture, but it has its weaknesses.  Steven will show you how to compensate for those weaknesses, take advantage of the latest error management features, and build a reusable package to log and raise exceptions.

Prerequisites
You should have a working knowledge of PL/SQL and at least a year's worth of experience with the language.  All developers, from beginner to expert, will benefit from Steven's ideas and examples.

Oracle Version
Steven will demonstrate techniques and principles that apply to all versions of Oracle, but will also showcase new features in Oracle Database 10g that can dramatically improve the quality and performance of code that you write. 

Ten Things You Should NEVER Do With Oracle PL/SQL
 

Download Now! (1.2MB, Updated: April 18, 2007) 

Sure, there's an awful lot you can do and write and accomplish with PL/SQL. There's also, however, an awful lot that you should NEVER do or write or try to accomplish in PL/SQL. This presentation will showcase the "top ten" things to avoid when building a PL/SQL-based application (warning: lots of it is thoroughly tongue-in-cheek!). If you have ideas of your own on this matter, please send them along to Steven at steven@stevenfeuerstein.com and perhaps they will be highlighted in a future iteration of this presentation!

Everybody goes on and on about "best practices." We all know, however, that we just don't have time to remember all those important things that we SHOULD do. We are, on the other hand, terrified that someone else will look at our code and laugh at something we did that is just ridiculous and wrong. Fear of embarrassment is a powerful motivator for smart people like PL/SQL programmers, so Steven will use that approach in this presentation with the hopes that maybe THIS time attention will be paid and habits of programming modified! 

 

Six Simple Steps to Unit Testing Happiness
 

Download Now! (.1 MB, Updated April 2006)

Test Driven Development in the World of PL/SQL
 

Download Now! (1.5 MB, Updated: April 18, 2007)

Test Driven Development or TDD is one of the hottest new buzzwords and lightweight methodologies out there in the world of software. This presentation will explain the principles and motivations behind TDD. We will then explore how to apply TDD to the world of PL/SQL development, with the aim of dramatically improving the quality and maintainability of one's code.

Over $60B is spent each year in the US alone fixing bugs in code. What a waste of time and money! Wouldn't it be nice if we could somehow produce code with fewer bugs? Test Driven Development or TDD holds great promise in this regard. TDD is one of the hottest new buzzwords and lightweight methodologies out there in the world of software. This presentation will explain the principles and motivations behind TDD. We will then explore how to apply TDD to the world of PL/SQL development, with the aim of dramatically improving the quality and maintainability of one's code.

Copyright 2010 by Quest Software  | Terms Of Use | Privacy Statement | Contact Us