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