Linkit
- Ohjelmistoja
- WWW-selaimia
- Oppaita
- Muita WWW-ohjelmointikursseja
- Python
- Kirjoja
- Ajax ja Javascript
- XHTML-sivuja
- CSS-sivuja
- Mobiili
- Suunnittelu
- Unix
- Perl
- DOM
- MVC (Model-View-Controller) design pattern
- Kurssilinkit
- Luennot
- Demot
Täältä löydät linkkejä mielenkiintoisiin lisämateriaaleihin ja tarvittaviin ohjelmistoihin.
Ohjelmistoja
- Eclipse PDT
- HTML-Kit - HTML-editori Windowsille
- SSH-ohjelmia
Firefox-laajennuksia
WWW-selaimia
Oppaita
Ohjeita ja oppaita eri tekniikoihin ja ohjelmointikieliin:
Muita WWW-ohjelmointikursseja
- Hypermedian ohjelmointi - Tampereen teknillinen yliopisto
- WWW-sovelluskehitys 2 - Jyväskylän ammattikorkeakoulu
- WWW vuorovaikutteisten hajautettujen ohjelmistojen toteutusalustana - seminaari teknillisessä korkeakoulussa
- WWW Applications
Python
- Python course in Bioinformatics
- Python 2.3 quick reference
- wsgi
- Web Python tutorial
- Werkzeug
- Web development with Python
Kirjoja
- Software Engineering for Internet Applications
- SQL for Web Nerds
- Apple Human Interface Guidelines
- Philip and Alex's Guide to Web Publishing
Ajax ja Javascript
- JavaScript Libraries and Patterns: Yahoo! Does AJAX
- Two kinds of AJAX: HTML++ vs Client / SOA
- The Future of JavaScript: an Update from Brendan Eich
- Javascript-kirjastoja
- All Aboard AJAX, HTML Canvas, and the Supertrain
- MVC and web apps: oil and water
- Slide Shows
- Yahoo! User Interface Library
- JavaScript ja DHTML
- JavaScript-opas
XHTML-sivuja
CSS-sivuja
- WDG:n CSS1-referenssi - selkeä lista CSS1:n tukemista ominaisuuksista ja mahdollisista arvoista
- W3C:n CSS-sivut - mm. spesifikaatitot ja listaa toteuksista
- CSS Zen Garden - yksi dokumentti, useita hienoja css-tyylejä
- CSS / edge - CSS-kikkoja
- PVII CSS <LAB>
- CSS1 and CSS2 browser support info - taulukot selaintuelle (IE6, NS7, Op7), ei selityksiä
- RichInStyle.com bug guide- vanhemmat selaimet
- CSS Bugs and Workarounds - vanhemmat selaimet
- Printing a Book with CSS: Boom!
Mobiili
- Mobile Web Best Practices
- Nokia Guidelines for XHTML-MP on Series 60 (PDF)
- Browsing on Mobile Phones (PDF)
- Openwave Phone Simulator
- XHTML-MP Style Guide
- Best Practices in XHTML Design
- XHTML Tutorial
Suunnittelu
Unix
Perl
- A Perl Course
- Introduction to Perl 5
- The Idiot's Guide to Solving Perl CGI Problems
- Picking Up Perl
- Beginner's Guide to CGI Scripting with Perl
- Perl
- CGI Programming 101
- CGI security
DOM
MVC (Model-View-Controller) design pattern
- The Model-View-Controller (MVC) Design Pattern for PHP
- php.MVC
- PHP MVC Frameworks
- The no-framework PHP MVC framework
- Mojavi
Kurssilinkit
Linkit päivittyvät sitä mukaa kun luentosivut ovat kunnossa.
Luennot
- XHTML-elementit, CSS-perusteet ja kurssin järjestelyt - Luento 1
- CSS (Cascading Style Sheets) - Luento 2
- Python ja CGI-ohjelmointi - Luento 3
-
Python ja CGI-ohjelmointi jatkuu ja 1. viikkotehtävä - Luento 4
- Malliratkaisu
- GET- tai POST-metodilla
- HTTP (HyperText Transfer Protocol)
- GET
- Connection
- Accept
- Accept-Charset
- Accept-Encoding
- Accept-Language
- Host
- Referer
- User-Agent
- Statuskoodi
- Date
- Accept-Ranges
- ETag
- Server
- Vary
- Content-Length
- Content-Type
- Last-Modified
- Web-Sniffer
- HTTP Made Really Easy
- How the web works
- HTTP trace
- cgi-kirjasto
- lomake.cgi
- lomake.py
- cgi.escape
- xml.sax.saxutils.quoteattr
- urllib.quote
- Sanakirja (dict)
- Monikot (tuple)
- Joukko (set)
-
mod_python - Luento 5
- mod_pythonin
- Apache
- .htaccess
- autentikointi
- Server Side Includes (SSI)
- CGI
- Suodattimet
- Käsittelijät
- Automaattinen sisällön valinta
- Oletusmerkistö ja -mediatyyppi
- Omat virheilmoitukset
- Edelleenohjaus
- mod_rewrite
- content negotiation
- http://www.apache.org/docs/mod/mod_include.html
- http://www.mit.jyu.fi/opiskelu/seminaarit/ohjelmistotekniikka/cgi/#Heading13
- HTTP:n location
- Monimutkaisemmat edelleenohjaukset
- virhemalli
- lähdekoodi
- Apache 2.2 moduulit
- mod_python
- mod_python Apache Configuration Directives
- http://users.jyu.fi/~tjlahton/python/testi.py
- lomake.html
- Request
- FieldStorage
- psp - Python Server Pages
- HTTP-virheen
- apache
- Request
- esimerkki
- lähdekoodi
- Validointi ja dynaamiset lomakkeet - Luento 6
-
Evästeet, sessiot ja tiedostot - Luento 9
- Cookie
- open()
- fcntl.lockf
- templateja
- http://users.jyu.fi/~tjlahton/python/luento7/cookie.psp
- Lähdekoodi
- http://users.jyu.fi/~tjlahton/python/luento7/tiedosto.psp
- Lähdekoodi
- http://users.jyu.fi/~tjlahton/python/luento7/tiedosto2.psp
- Lähdekoodi
- http://users.jyu.fi/~tjlahton/python/luento7/_sessions.txt
-
Evästeet, sessiot ja tiedostot sekä kolmas viikkotehtävä - Luento 8
- Mallivastaus v1
- Mallivastaus v2
- http://users.jyu.fi/~tjlahton/python/luento8/htaccess
- http://users.jyu.fi/~tjlahton/python/luento8/basic_auth.py
- Lähdekoodi
- http://users.jyu.fi/~tjlahton/python/luento8/sessions.py
- Lähdekoodi
- http://users.jyu.fi/~tjlahton/python/luento8/autentikointi.py
- Lähdekoodi
- http://users.jyu.fi/~tjlahton/python/luento8/ohjaus.py
- Lähdekoodi
- http://users.jyu.fi/~tjlahton/python/luento8/pickle_malli1.py
- Lähdekoodi
- http://users.jyu.fi/~tjlahton/python/luento8/pickle_lataus.py
- Lähdekoodi
- http://users.jyu.fi/~tjlahton/python/luento8/tiedosto.py
- Lähdekoodi
- the md5 module
- MD5 Passwords
-
Tietokannat ja Python - Luento 11
- Tietokannat ja tiedonhallinnan perusteet
- PDO
- ADOdb
- Pear DB
- query
- prepare
- execute
- fetch
- bindParam
- bindValue
- rowCount
- errorInfo
- beginTransaction
- commit
- rollBack
- lastInsertID
- Python.net: MySQL
- mysql_connect()
- mysql_select_db()
- mysql_error()
- mysql_query()
- mysql_fetch_array()
- mysql_num_rows()
- mysql_affected_rows()
- mysql_close()
- An introduction to Service Data Objects for Python
- Database Abstraction in Python
- Python.net: PDO Functions
- The Python 5 Data Object (PDO) Abstraction Layer and Oracle
- Propel
- Simplify Business Logic with Python DataObjects
- PEAR::DB, DataObjects, and Joins / Reflection
- Going dynamic with Python
- Python Object Generator (POG)
- Database Abstraction With Python
-
JavaScript ja DOM - Luento 13
- ATF
- JSEclipse
- Firebug
- console.log(message)
- ECMAScript
- Javascript 1.5
- Javascript 1.6
- Javascript 1.7
- Javascript 1.8
- JavaScript - Mozilla Developer Center
- A re-introduction to JavaScript
- Core JavaScript Guide
- JavaScript syntax - Wikipedia
- Math
- Merkkijonot
- length
- charAt(index)
- indexOf(char)
- substr(start, length)
- parseInt
- parseFloat
- arguments
- prototyyppi
- prototype
- Private-attribuutteja ja -metodeja
- if, else if, else
- switch - case
- for
- while
- do - while
- Globaalit oliot: Date
- MochiKitin DateTime
- setInterval
- setTimeout
- Funktiot: eval
- Operaattorit: typeof
- addEventListener
- Javascript tutorial - DOM Events
- DOM Level 3 Event flow
- AddEvent() - Follow Up
- Flexible Javascript Events
- Advanced event registration models
- Node
- getElementById
- documentElement
- body
- getElementsByTagName
- parentNode
- firstChild
- lastChild
- childNodes
- nextSibling
- createElement
- createTextNode
- appendChild
- insertBefore
- removeChild
- replaceChild
- innerHTML
- nodeValue
- value
- value
- selectedIndex
- textContent
- nodeName
- setAttribute
- getAttribute
- className
- style
- DOM CSS Properties
- CSS Property Index
- getComputedStyle
- Gecko DOM Reference
- DOM Tool
- W3C DOM
- DOM HTML
- Viikkotehtävä 6 ja DOM - Luento 14
-
Ajax (Asynchronous JavaScript and XML) - Luento 15
- Google Maps
- Gmail
- Flickr
- Jyväskylän karttapalvelu
- IRC-galleria
- Prototype
- The XMLHttpRequest Object - draft
- document.importNode
- Comparison of layout engines - Wikipedia
- Scriptaculous
- escape
- encodeURIComponent
- iconv
- Prototype Encoding Issue
- Unicode Javascriptissä
- Making Ajax Work with Screen Readers
- Accessible Web 2.0 Applications with WAI-ARIA
- MochiKit
- Open Rico
- Dojo Toolkit
- Yahoo! UI Library
- Google Web Toolkit
- DWR
- jQuery
- mootools
- Javascript Toolkit Comparison
- Exploring Ajax Runtime Offerings
- Ajax Libraries
- Ajax Frameworks
- Mastering Ajax, Part 1: Introduction to Ajax
- Mastering Ajax, Part2
- Dynamic HTML and XML: The XMLHttpRequest Object
- Ajax Matters
- Ajax: A New Approach to Web Applications
- Ajax (programming)
- Ajaxian
- Ajax Patterns
- SAJAX
- Ajax Mistakes
- XMLHTTPRequest & Ajax Working examples
- Very Dynamic Web Interfaces
- AJAX and Accessibility
- Why Ajax Sucks (Most of the Time)
- Basic AJAX examples
- Ajax Tutoria: Ajax What Is It Good For?
- Introducing JSON
- A Simpler Ajax Path
- Getting Started with Ajax
- Rasmus' 30 second AJAX Tutorial
- Rich Ajax slide shows with DHTML and XML
- AJAX Applications vs Server Load?
- AJAX/DHTML Tutorial: Should I Render My UI On The Server or the Client
- 10 Places You Must Use Ajax
- XMLHTTP
- The SVG Terminal
- Suckerfish HoverLightbox
- Document Object Model (DOM) Level 3 Load and Save Specification
- Viikkotehtävä 7 ja Ajax - Luento 16
- PHP DOM ja Templatet - Luento 17
-
Viikkotehtävä 8 ja välimuistit - Luento 18
- Google Maps API
- kuvagalleria
- x-gallery.js
- Google Ajax search
- Reverse geocoder for google maps
- CURL (Client URL)
- Libchart-kirjasto
- Google chart
- Cache-control
- Last-Modified
- Expires
- If-Modified-Since
- Conditional GET
- Caching with PHP
- http_conditional_get_for_rss_hackers
- Cache
- HTTP
- Nopeaa cachea
- Conditional GET
- htmlentities
- SQL Injection
- stripslashes
- *_escape_string
- prepare
- exec
- Apache SSL/TLS Encryption
- md5
- sha1
- PHP.net Security
- Viikkotehtävä 9 palautus - Luento 19
Demot
- Lomakkeet ja CSS - Demo 1
- Python perusteet - Demo 2
- Apache ja mod_python - Demo 3
- Sessiot, evästeet, autentikointi ja tiedostot - Demo 4
- Tietokannat - Demo 5
- Javascript ja DOM - Demo 7
- Ajax - Demo 8
Käyttäjien kommentit