As a special offer, people who will attend one of these courses will
have a free pass to YAPC::EU (http://yapc.mongueurs.net). We need 6
people per course (out of a maximum of 8 ) that commit before 15
June. This is essential to us because failure to do so will compromise
the coming of these gurus to YAPC::EU that is conditionnally sponsored
by pythagore-fd ... except if TPF is kind enough to help us.

Please, note:
  1/ the 2 courses can be taken in succession so that one first learn
  Perl, then learn how to do CGI in Perl. 
  ...Or how to become a Perl CGI wizard from scratch in six days.
  2/ the last day of MJD's course overlap the first day of YAPC.

BooK will send a mail like this one to people already registered to
YAPC. STo these guys, sorry for the duplicate.


 = Beginning Perl
   http://www.pythagore-fd.fr/2/1/LP001.jsp

   Length:     3 days
   Dates:      16, 17, 18 of july
   Price:      1700 Euros
   Reference:  LP001

   Audience:   Perl developpers.
   Speaker:    Dan Sugalski (http://www.sidhe.org/~dan/)
   Subjects:
     * Basic syntax
     * Building Perl data type
     * Scoping
     * Control flow
     * Basic file IO
     * Basic string manipulation
     * Basic regular expression
     * Using externarl program
     * Subroutines
     * Using modules
     * An overview of CPAN, perl's public module repository


 = CGI Programming in Perl
   http://www.pythagore-fd.fr/2/1/LP002.jsp

   Length:     3 days
   Dates:      21, 22, 23 of july
   Price:      1900 Euros
   Reference:  LP002

   Audience:   Perl developpers.
   Speaker:    Mark Jason Dominus (http://perl.plover.com/yak/aboutme.html)
   Prerequisites: Students should be familiar with the basic use of Perl.
   Subjects: CGI application development

     * Introduction to HTTP and CGI   
       + Browsers and Servers
       + HTTP Session
       + Static Content; Dynamic Content
       + What is CGI?
       + CGI Misconceptions
       + Why CGI Programming can be difficult
       + HTTP
       + Fake HTTP Client; HTTP Response; HTTP Response Header
       + Fake HTTP Server; Fake HTTP Server Output; HTTP Request
       + Back to CGI
       + shellenv CGI Program
       + Content-Type; Missing Content-Type
       + Perl CGI Program
       + Where do the Errors Go?
       + Effect of Syntax and Other Errors; Redirecting STDERR
       + CGI::Carp; fatalsToBrowser'
       + Buffering Surprises
       + Lab

     * Form Processing
       + Forms
       + Form Widgets: text boxes; password boxes; hidden widgets; radio
         buttons; checkboxes; menus; submit buttons; textareas; other widgets
       + Lab 2a
       + Form Submission and Encoding; example
       + GET vs. POST
       + Decoding form input
       + CGI.pm; param()
       + Lab 2b
       + Debugging Techniques
       + CGI.pm convenience functions; persistent form Data;
         CGI-generated HTML
       + Disabling persistent data
       + Lab 2c

    * More Advanced CGI Applications
       + Maintaining State
       + Multipage Applications
       + PATH_INFO
       + Lab 3

    * CGI System Issues
      Operating System Issues
       + Hazards of local files; distributed filesystem difficulties
       + Concurrency problems: forgotten transactions; lost databases;
         interleaved writes; summary
       + How to fix concurrence problems: file locking flock; typical uses;
         recipes; non-blocking locks; timeout locks
       + Lab 4

    * DBI and database access
       + Relational Databases and SQL
       + Communicating with Databases
       + The DBI module; detailed example
       + hazards of interpolation
       + Concurrent access
       + Transactions; AutoCommit
       + RaiseError
       + Other Data Retrieval Functions
       + Documentation
       + Lab 5

    * Security Issues
       + CGI is the World's Biggest Security Hole
       + Disaster Example: finger gateway
       + Tainting; perl -T; example; `Insecure Dependency'
       + Untainting Dirty Data
       + Operations that produce tainted data; unsafe operations;
         safe operations
       + The Unix Shell
       + The Two Stances; Why you must be strict; Open and closed
         failure modes
       + Do Not Trust the Browser
       + Lab 6

    * Miscellaneous Techniques
       + Network programming
       + email
       + Web client programming and LWP
       + cookies
       + Long-running background jobs
       + caching
       + Dynamic image generation
       + Image maps
       + Drawing graphs
       + LDAP
       + Others topics suggested by the students


--
  stef

Reply via email to