CGI, mod-Perl, and other standards. Sessions, cookies, content management, etc.
Duration:
2 days • Price:
$1180.00 or £720.00 +VAT (with hotel room), or
$1000.00 or £600.00 +VAT (without room), •
Venue:
Melksham, England
COURSE START DATES
| • Thursday 8 April 2010 | • Thursday 3 June 2010 |
| • Thursday 26 August 2010 | • Monday 20 December 2010 |
DESCRIPTION
This advanced course takes the Perl programmer through
to making full use of Perl on the Web.
The course starts with a short revision of Perl, allowing trainees
the opportunity to brush up on fundamental topics if they wish. Web and networking topics then follow.
Quite early in the
course, you'll be writing simple Web-based applications, allowing
your Web site visitors to look up data in text files, for example.
Other topics, such as more complex forms, state and cookies
will be studied so that you know how to write applications that
consist of a series of forms, and allow information to be saved
onto the server. Security aspects, such as ensuring that different
users' data don't get mixed up and password issues, etc., are also
covered.
We then cover the use of Perl to automate network tasks such as FTP and Telnet,
and we show you how you can write your own clients and servers.
The course includes many examples using resources that are available for free
on the CPAN or elsewhere, such as standard Perl modules and modPerl, SSI and
PerlScript within ASP.
This course covers version 5 of Perl (the current version), with footnotes
where appropriate to tell you about Perl 6. Our plans for
Perl 6 training
are described on a separate page.
PREREQUISITES
Knowledge of the Perl programming language, as taught
on our
Learning to program in Perl courses. A knowledge of the fundamentals of
HTML is useful, but not mandatory.
Getting the most from your Well House Consultants course
[
Link]
SUBJECT BACKGROUND
When internet applications took off, Perl was
especially suitable as the language in which they should be written.
It interfaces well to web applications and servers, has a quick
development cycle, and it's open source so that are no complex
licensing issues. Many web applications are written in Perl to
thid day, although languages such as PHP (which was designed
specifically for the web use) and Ruby are strong and often used
alternatives.
COURSE CONTENT
A quick review of the fundamentals |
| Perl Review (module P251) The logistics.
Basic program structure.
Variables.
Operators.
The Environment.
Blocks, conditionals and loops.
Regular expressions.
Lists and Hashes.
Lists.
Context.
Hashes.
Subroutines.
References.
Objects.
Using objects.
Writing classes.
Special variables.
Standard modules.
Input and Output.
|
| A Quick Look Ahead (module P770) Fundamental and advanced topics.
How do these further facilities talk to Perl?.
Other facilities in the Perl language.
File handling and system administration functions.
Object Orientation.
Writing distributable modules.
More complex data structures.
Tieing.
Writing network clients and servers.
Binary Termio, and low-level file controls.
Data Munging.
Other built-ins.
Other facilities in Perl - further modules.
Interfacing to databases.
XML and XSLT.
Graphics and Perl.
Writing Web clients.
Talking to Microsoft applications.
Perl in other guises.
Interfacing to the Web via cgi.
Interfacing to the Web via mod-perl.
Other Web interfaces.
Perl embedded within third-party applications.
And also.
Huge Data.
Maintainable code.
|
| Perl on the Network (module P252) Network structure.
Programming for networks.
Providing your own client.
Providing your own server.
Providing your own service.
Building in to an existing service - email.
Building in to an existing service - the web.
|
| Anatomy of Networking (module P401) Routing.
IP Addresses.
TCP.
Clients and Servers.
The Server.
The Client.
|
| Commercial and Legal Aspects (module A213) Why discuss this on a technical course?.
Data Protection.
Data Protection Act, 1998.
Freedom of Information Act, 2000.
Privacy and credit card security.
Unsolicited commercial emailing and mailing lists.
Page content.
Copyright.
Advertising standards.
Other content issues.
Who is the publisher?.
Registration agencies - the shady dealers.
Accessibility.
Backups and security.
Attracting customers.
Ease of use.
Marketing and visibility.
|
Using Perl for server side programming |
| HTML - An Overview (module Q624) Tags.
Structure of a page.
Special characters and new lines.
Some common tags.
Lists, tables, etc..
Which HTML standard?.
Validating your page.
|
| HTML for Web Application Authors (module Q625) Tables.
Frames.
Forms.
Element types within a form.
The script used.
Objects and images within a web page.
Style sheets.
JavaScript.
|
| The Common Gateway Interface (module P403) The mechanism of the web.
The need for Server Side Programming.
The structure of the server.
Static documents.
Executable programs.
Your first CGI program.
Error Handling.
Use perl -c.
Check with your ISP.
Forms.
Error handling.
URL Encoding.
Input.
Output.
|
| Extending Flexibility Using CGI (module P404) Returning a location and writing a document.
Returning a location.
Writing a document.
Forms with multiple fields.
Get v Post.
The Environment of a CGI program.
All the element types within a form.
|
| More CGI Programs and Facilities (module P406) Automatic emailing; recognising the browser.
Uploading and downloading files.
Multi part documents.
Server Push.
Client pull.
Server Side Includes.
Server Side Include Syntax.
Include commands.
Executable content in CGI.
|
| State and Cookies (module P407) The need for non-transient data.
Multiple users.
Schemes for maintaining state.
.
Which scheme should I use?.
Central database example.
Our database server.
Planning our application.
How it fits together - entry to the site.
The next page.
Modules used.
Persistent cookies.
Shopping cart using hidden fields - example.
Shopping cart using cookie - example.
Templating system.
Security considerations for server side applications.
1. Tainting.
2. Regular expressions from user.
3. validate via email.
4. Data in hidden directories.
5. Credit card info in cookies.
6. https.
7. Avoid \ etc..
8. Temp file names.
9. Save before send.
10. tr.
|
| Standard Web Modules (module P408) CGI Modules.
CGI.pm.
CGI-Lite.
Using CGI for cookies.
Legal and security issues with cookies.
Using LWP to write your own clients.
A note of caution.
|
| Using CGI.pm (module P412) Introduction.
Cautionary Notes.
What does CGI.pm provide?.
Using CGI.pm to produce your HTML.
Using the Object Oriented interface of CGI.pm.
Methods to produce HTML.
Anchors and Images.
Lists.
Tables.
Other HTML element support.
Producing a form.
Reading back form data.
Debugging tools.
State and cookies.
What is state?.
Maintaining state using CGI.pm and hidden fields.
Issues with maintaining state.
Using cookies to maintain state.
Using CGI for cookies.
A scheme for applications that maintain state.
A shopping cart example.
Other topics.
Handling fields in multiple.
The Environment.
Handling special characters in output text.
File upload.
Further uses of header.
Writing your own client (LWP).
|
| Good CGI scripting (module P774) Planning your application.
Techniques.
State diagrams.
The six step process..
Sticky fields and sanitising user inputs.
Cleaning up old carts.
The 4 layer model.
Templating.
Web helpers.
Business logic..
Top layer.
Sample quiz question system using these techniques.
Top-level code.
Web helpers.
Template.
Business Logic.
Should you use cookies or hidden fields?.
|
The wider user of Perl on your network |
| Writing Your Own Simple Client and Server (module P402) A further use of telnet.
Using RFC868 time protocol.
Using the Socket module.
Name Services.
Running network commands directly.
Other enhancements.
Writing your own simple server.
End-of-line characters.
Buffering.
Example - finger client.
|
| FTP and Telnet Modules (module P616) Simple example.
More flexible transfers.
Enquiries.
Other facilities.
Net::Telnet.
Running a remote shell and commands.
Using Net::Telnet to hold a remote conversation.
Net::DNS.
|
| Robots, Crawlers and Spiders (module P608) Definitions.
Cautions.
Checking a page, links and sites.
Checking a single page.
Checking links and included files.
Checking a site.
Things to do with a pet spider.
Being considerate.
The robots exclusion standard.
Bandwidth.
|
| Searching (module P409) The science of searching.
Local searches using .
Searching a small local area without .
Searching a larger site.
Still wider searches.
Need for more efficient search!.
Need to find out sites to visit by crawling.
Need to be able to leave an enquiry running.
A robotic search program.
|
| Automated Email Answering (module P410) Automatically sending emails.
Unix and Linux: cron, at and batch.
The user name.
Using port 25.
Reading email via POP3 or other protocols.
Automatically processing received emails.
through POP3.
through SMTP.
An email responder.
Automatic at both ends!.
Processing an email file.
|
| Alternatives to CGI (module P623) CGI (the Common Gateway Interface).
How it works.
ASP (Active Server Pages).
How it works.
SSI (Server Side Includes).
How it works.
Apache Modules.
How it works.
Servlets.
How it works.
Direct executables.
|
| Using Perl for Web Site Management (module P604) Analysing pages.
Links from a page.
Page generation.
Page templates.
Automated FAQ.
|
TUTOR and COURSE AUTHOR
Graham Ellis -
graham@wellho.net [
email] [
about Graham]
VENUE
Melksham, Wiltshire
, England. A taxi transfer can be arranged if you'll be
arriving by air
from United States.
Private Courses can be arranged on site in your country.
Public courses run at
Well House Manor - our own
purpose fitted training centre and business hotel / conference centre in
Melksham.
• Download Melksham Map - [
pdf file (750k)] • Google Map - [
Link]
PRICE
| 1 student |
2 students |
3 students |
For 4 or more students
from the same company,
please consider a private course. |
With hotel room $1180.00 ($1386.50 inc VAT) or £720.00 (£846.00 inc VAT) Without room $1000.00 ($1175.00 inc VAT) or £600.00 (£705.00 inc VAT) |
With hotel rooms $2260.00 ($2655.50 inc VAT) or £1340.00 (£1574.50 inc VAT) Without rooms $1900.00 ($2232.50 inc VAT) or £1100.00 (£1292.50 inc VAT) |
With hotel rooms $3340.00 ($3924.50 inc VAT) or £1960.00 (£2303.00 inc VAT) Without rooms $2800.00 ($3290.00 inc VAT) or £1600.00 (£1880.00 inc VAT) |
Notes:
• Multiple discount applies to bookings for second and subsequent delegates on the same running of a course, and on same order.
• Hotel rooms are available for arrival the night before the course starts, for departure after the end of the course on the last day.
|
FOLLOW UPS
If you're working with a larger application, you
might wish to attend our other advanced Perl course -
Perl for Larger Projects.
Other advanced material, not covered on regular public courses,
is available through a
Perl Extra day.
Upon completion of your course, you'll have online access to the source code of
all the examples from the course, and you'll have access to the "Opentalk" forum
where you can raise questions. We also encourage you to email the tutor, and
to visit us again to use our library as appropriate.
Certification? - [
Link]
FOR FURTHER INFORMATION
Public (scheduled) courses --
http://www.wellho.net/course/ctc.html
For more information about our public courses in general, such as class size, course times, materials provided, special requests, accommodation list, finding our centre, etc.
Terms and Conditions --
http://www.wellho.net/net/terms.html
Covering topics such as delegate substitution, payment, cancellation policy and other matters.