2. Why am I learning web from a guy
named r00ster?
Real name Nick Hepner (Rooster’s fine)
Web development since 1998
More than 150 professional site launches
All scales of website.
3. Scope of Course
*AMP stack
Fundamentals, HTML, PHP
Components of Web
Relational Databases
Code Versioning and Environments
Web dev workflows and best practices
Web site builds
4. Open Source
Defined by the Open Source Initiative as software that
contains these properties:
Free Redistribution
Include Source Code or means to obtain source code
Allow modifications and “derived works”
Cannot discriminate against group or persons
Cannot discriminate against specific endeavor
Redistributable license (no new agreements are issued)
License cannot be product specific
License cannot restrict other software
License must be technology-neutral
http://opensource.org/docs/osd
5. Open Source vs. Proprietary
Software
Classic argument
Nobody’s gonna win it and I’m tired of arguing it.
You will be too
Proprietary (closed source) Open Source
• Better funding leads to higher quality • Crowd sourced development
• Better support • Modifiable
• Tightly Focused • Designed for Integration
• Better suited to specific business • Fast bug fixes
needs • Low level of entry
• FREE
6. What is a browser?
Application that translates web code into
rendered web pages.
Firefox
Chrome
Internet Explorer
Safari
Opera
Lynx
Thousands of others (http://www.user-agents.org)
7. What is a server?
Term is “overloaded” – can mean many things
Physical hardware (will refer to as “machine”)
Virtual instance (will refer to as “Virtual Machine” or “VM”)
Software package (will refer to as “server”)
A server will…
Accept requests
Process (compile, parse, etc.) request
Prepare response
Deliver response
Web Servers
IIS
Nginx
Apache
9. …no, really?
Global system of
interconnected
computer networks
that utilize TCP/IP
to serve data and
documents such as
inter-linked
hypertext (HTML)
documents, VoIP, a
nd IPTV
Simply: Lots of
computers that can
talk to each other.
http://en.wikipedia.
org/wiki/Internet
10. How it seems to work…
User requests website
User receives website
User
11. How it actually works…
User ISP
1. User Requests
website
2. ISP routes
request
3. Routing servers
pass request to
other routing
servers closer to
end point server.
4. F*$%#@ Russia
5. Web Server
processes
request
6. Web Server
returns Request.
12. What is a database?
System that stores and makes available
structured digital data.
Data, in this context, will refer to any unique
digital information must be stored for future
reference.
13. A quick word about Operating
Systems…
“Most” web sites are hosted on Linux.
Larger enterprise sites tend to be hosted on
windows, but not exclusively.
Can develop on one system and deploy to
another using cross-platform techniques.
Some limitations.
14. Standard Technology Stacks
“Technology Stack” in web terms refers to the platform a
website lives on and the software packages that support it.
One word answer to the question “What kind of web
development do you do?”
Some contextual meanings
Stack Name Technology
LAMP Linux, Apache, MySQL, PHP
WAMP Windows, Apache, MySQL, PHP
MAMP Macintosh (Apple), Apache, MySQL,
PHP
WIMP Windows, IIS, MS SQL (sometimes
MySQL), PHP
XAMPP Multiple systems (Cross compatible -
X), Apache, MySQL, PHP, Perl
LAOJ Linux, Apache (Tomcat), Oracle, Java
15. Compiled Languages, Scripted
Languages and Markup
Compiled Languages generate machine code
from source code. (.NET, C#, Java, Python)
Scripted (interpreted) languages. “Step-by-step”
execution of source code.
(PHP, Ruby, Coldfusion)
Compiled languages are much faster, but more
complex. Modern caching strategies make this
irrelevant for web. I’m not getting into this
argument.
Markup (HTML, XML, YAML, Wikitext, BB Code)
is a document description that uses syntax to
differentiate text from display or meta information.
Templating language, no logic
16. HyperText Markup Language
Fundamental to web development.
It says it in the title – this is a Markup
Language
Browsers read HTML documents and render
based on the document description.
Most web languages generate HTML. CSS
and Javascript are used to enhance HTML.
XHTML, HTML 5, DHTML
17. Cascading Style Sheets
“Presentation Layer” for HTML pages. Allows
customized instruction for browser to read and
display HTML tags.
Makes websites pretty.
Interpreted slightly differently by major
browsers (I’m lookin at you IE )
Unexpectedly difficult to master.
18. JavaScript
Allows manipulation of the Document Object
Model
Client side language
Event driven
Not even remotely related to Java
Foundation of Asynchronous JavaScript And
XML
19. eXtensible Markup Language
(XML)
Used to encode documents that are both
machine readable and human readable.
Used to transfer data between systems and
publish content (RSS, Atom, etc.)
Used in most “modern” word processors.