web technologies lesson 1
TRANSCRIPT
WEB TECHNOLOGIESUnallocatedSpace
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.
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
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
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
• Better support• Tightly Focused• Better suited to specific business
needs
• Crowd sourced development• Modifiable• Designed for Integration• Fast bug fixes• Low level of entry• FREE
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)
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
What is the Web?
…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, and IPTV
Simply: Lots of computers that can talk to each other.
http://en.wikipedia.org/wiki/Internet
How it seems to work…
User
User requests website
User receives website
How it actually works…
1. User Requests website
2. ISP routes request
3. Routing servers pass request to other routing servers closer to end point server.
4. F*$%#@ Russia5. Web Server
processes request
6. Web Server returns Request.
User ISP
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.
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.
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 meaningsStack 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
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
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
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.
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
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.
Resources
Google. Seriously. WorldWideWeb Consortium (
http://w3.org) W3Schools (http://www.w3schools.com) PHP (www.php.net) XAMPP (http://apachefriends.org)