Announcements
Class notes
- First easy piece:
- Wepapp architecture
- A web app is: a browser, an HTTP server, and a backend data store.
- The server runs a LAMP
stack of Open Source Software:
- Linux (it could be FreeBSD),
- Apache, the web server.
- MySQL, the "community" release.
- and PHP or Python or Perl.
- The browser renders HTML
under the direction of CSS.
- The browser runs local Javascript code
and interacts with the page using the
DOM.
- The browser communicates to the HTTP server using GET, POST and PUT requests.
- The browser uses either FORMS or
AJAX to make these requests,
using JSON.
- The server keeps track of things using a database, using SQL statements.
- The Google App Engine.
- The Google App Engine replaces the HTTP server and backend store with
a cloud architecture.
- The GAE aids scalablity by replicating your app on-demand.
- The GAE removes administration by being a cloud computing platform for Python.
- YAML
- Download Google App Engine for Python
- MacOS and GAE
- Second easy piece:
- Third easy piece:
- Fourth easy piece
- Fifth easy piece
CRUD in 4 parts
- A CRUD using no indices( Forms/AJAX)
- Index construction, queries
- external keys, many-to-many constructions
- Future proofing
References (Internal)
References (External)
- HTML 4.01 Specification
- CSS 2.1 Specification
- PHP Tutorial and Reference Manual
- MySQL Reference Manual
- JavaScript reference
- Standrd ECMA-262: ECMAScript Language Specification 3ird edition.
- Document Object Model in Mozilla
- AJAX documentation.
- RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1
- RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax
- RFC 2109: HTTP State management. I.e. Cookies! (See also RFC 2965.)
- RFC 1034: DNS.
- Jemima Pereira's
4096 Color Wheel
- More Crayon's color cube, based on the RGB square.
- The 216 web
colors arranged by VisiBone.
- Signal vs. Noise
- Getting Real, development by 37signals.
- John Maeda
- Position is Everything: Modern browser bugs explained.
- A List Apart: the art and industry of web sites.
- REST:
Representational State Transfer.
- A relation model of data
for large shared data banks, E. F. Codd. Comm ACM 13(6) June 1970. pp 377-387.
- The Third Manifesto by Darwen and Date. About relational databases.
- Introduction to Data Modeling with the relational model explained.
- Dos and Don'ts of Client
Authentication on the Web by K. Fu, E. Sit, K. Smith and N. Feamster.
- The Failure of Client Authentication the Web by Kevin Fu.
- Defeating Script Injection Attacks
with Bowser-Enforced Embedded Policies, T. Jim, N. Swamy and M. Hicks, WWW 2007, 2007.
- CAS: the central authentication system.
- A Guide to Web Authentication Alternatives, Jan Wolter
- Introducing SSL and Certificates using SSLeay by Frederick Hirsch.
- OpenSSL
Command-Line HOWTO
- PCI Security
Standards Council
- Rules for
Visa Merchants
- Dojo: JavaScript Toolkit
- Prototype: a JavaScript Framework