SlideShare a Scribd company logo
Web Development and Stuff
Raymond McDermott
Chief Software Engineer & University Liaison
feature[23]
First degree in Music (Classical Guitar) from Florida State
Degree that makes money (Computing) from UNF
Musician, martial artist, home brewer, and former USCG
certified captain and fishing guide
Why?
Web Applications
User Interface Design
User Experience Design/Engineering
Mobile
Software
Hardware
Networking
Security
Database Management
SQL/NoSQL
Big Data
Data Warehousing
Data Mining
Software Consulting
Client Management
Project Management
Process Management
Web
Where to Start?
HTTP
HTTP is the foundation of data communication for the Internet
Hypertext is structured text that uses logical links (hyperlinks) between
nodes containing text
HTTP functions as a Request-Response protocol for the Client-Server
computing model
Origins in Packet Switching
HTTP Verbs
GET
POST
PUT
DELETE
HEAD
TRACE, OPTIONS, CONNECT, PATCH
Status Codes
Informational 1XX
Successful 2XX
Redirection 3XX
Client Error 4XX
Server Error 5XX
http://www.restapitutorial.com/httpstatuscodes.html
Why am I Going Over This Stuff?
HTTP Session State
HTTPS
Uses either TLS or SSL
Averts “Man-in-the-middle” attacks
Certificate Authorities
Public/Private Keys
Simplifying HTTP
Requests
Request Line: GET /resources/someImage.jpg HTTP/1.1
Request Header Fields
Empty Line
Request Body (Optional)
Responses
Status line includes the Status Code and Reason Message: HTTP/1.1 200
OK
Response Header Fields
Empty Line
Message Body (optional)
Web fundamentals the sequel
HTML
Hyper Text Markup Language
Describes the content of the page, giving the page structure
The Internet was originally about scientists sharing Documents
Uses semantically named element tags to give meaning and context to the
Document
http://www.w3schools.com/tags/
Web fundamentals the sequel
HTML Forms
Web fundamentals the sequel
What Should Your App Look Like?
Web fundamentals the sequel
Separates the responsibility of styling elements and general presentation
concerns outside of the page’s structure
Is a declarative language
Can be painful if you don’t take the time to understand it
CSS is basically a set of rules that tell the elements on the page what they
should look like
en.wikipedia.org/wiki/Separation_of_concerns
CSS Selectors
ID Selector
Class Selector
Element Selector
Child Selector
Pseudo Selector
How Should Your App Behave?
JavaScript
JavaScript was created in 10 days in May of 1995 by Brendan Eich
while at Netscape
It needed to “look like Java” with a C-like syntax
Purpose was to enhance behaviors on the client-side and create a
more dynamic user experience
Today, JavaScript is everywhere… for better or worse
AJAX
Other Things
DNS, Hosting
Auth vs. Auth
Put It All Together
Questions?
General
http://interactivepython.org/runestone/static/webfundamentals/index.html
https://developers.google.com/web/
https://ruslanspivak.com/lsbaws-part1/
https://www.petekeen.net/dns-the-good-parts
JavaScript
http://davidshariff.com/quiz/
http://jsonplaceholder.typicode.com/
https://javascriptweblog.wordpress.com/2010/10/25/understanding-javascript-closures/
https://github.com/stevekwan/best-practices/blob/master/javascript/gotchas.md
http://youmightnotneedjquery.com/
Design Patterns
https://addyosmani.com/resources/essentialjsdesignpatterns/book/
http://shop.oreilly.com/product/9780596007126.do

More Related Content

PPTX
PhD Projects in Computer Networking Research Help
PPT
Dickinson Ref Blog Educause2009
PPTX
Information and Computer Technology (ICT) Accessibility
PDF
Semantic web
PPTX
Semantic web
PPTX
Domain Name and Web Portals
PDF
Semantic web technology
PPT
Semantic web
PhD Projects in Computer Networking Research Help
Dickinson Ref Blog Educause2009
Information and Computer Technology (ICT) Accessibility
Semantic web
Semantic web
Domain Name and Web Portals
Semantic web technology
Semantic web

What's hot (15)

PDF
Chapter 1 semantic web
PPSX
An Introduction to Semantic Web Technology
PPTX
Requirements for Personal Clouds : Tech Ranch Talk 8/7/13
PPT
Failure *Is* an Option
PDF
Semantic web
PDF
Information system a system view
PPT
Web and DAMS - NC ECHO Dig Institute
PPT
Opening Up User-Centric Identity
PPTX
Lecture 4: A Short Introduction to the Semantic Web
PPTX
Informational web pages
PPTX
Informational web pages
DOCX
Open source search engine
PPTX
Collaboration in the clouds
PPT
Prototyping a Web 2.0 interface to digitized taxonomic literature
PPT
Search Systems
Chapter 1 semantic web
An Introduction to Semantic Web Technology
Requirements for Personal Clouds : Tech Ranch Talk 8/7/13
Failure *Is* an Option
Semantic web
Information system a system view
Web and DAMS - NC ECHO Dig Institute
Opening Up User-Centric Identity
Lecture 4: A Short Introduction to the Semantic Web
Informational web pages
Informational web pages
Open source search engine
Collaboration in the clouds
Prototyping a Web 2.0 interface to digitized taxonomic literature
Search Systems
Ad

Similar to Web fundamentals the sequel (20)

PPT
21. Application Development and Administration in DBMS
ODP
Performance Tune Up for Web Developers
PDF
Microformats
PPTX
Introduction to Web Architecture
PPTX
PRAKHAR-Building-the-Web.pptx on web development
PPSX
web devs ppt.ppsx
PPTX
Web Design Lecture1.pptx
PPTX
Putting Kit back in SDK
PPTX
A web standards & ud approach for access (bps public)
PPT
Decoding the Web
PDF
Introduction to the Web and HTML
PPTX
Front-end development introduction (HTML, CSS). Part 1
PDF
Net course content
PPTX
Web Database
PPTX
Data Harmony Version 3.9 Features Update
ODP
Web Browser Basics, Tips & Tricks Draft 17
 
PPT
Dfg Intranet Development
PDF
Frontend Fiesta
PDF
IRJET- A Personalized Web Browser
21. Application Development and Administration in DBMS
Performance Tune Up for Web Developers
Microformats
Introduction to Web Architecture
PRAKHAR-Building-the-Web.pptx on web development
web devs ppt.ppsx
Web Design Lecture1.pptx
Putting Kit back in SDK
A web standards & ud approach for access (bps public)
Decoding the Web
Introduction to the Web and HTML
Front-end development introduction (HTML, CSS). Part 1
Net course content
Web Database
Data Harmony Version 3.9 Features Update
Web Browser Basics, Tips & Tricks Draft 17
 
Dfg Intranet Development
Frontend Fiesta
IRJET- A Personalized Web Browser
Ad

Recently uploaded (20)

PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Nekopoi APK 2025 free lastest update
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPT
Introduction Database Management System for Course Database
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
medical staffing services at VALiNTRY
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Understanding Forklifts - TECH EHS Solution
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
L1 - Introduction to python Backend.pptx
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
How to Choose the Right IT Partner for Your Business in Malaysia
Upgrade and Innovation Strategies for SAP ERP Customers
Nekopoi APK 2025 free lastest update
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Introduction Database Management System for Course Database
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Design an Analysis of Algorithms I-SECS-1021-03
Wondershare Filmora 15 Crack With Activation Key [2025
ManageIQ - Sprint 268 Review - Slide Deck
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
medical staffing services at VALiNTRY
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
How Creative Agencies Leverage Project Management Software.pdf
Operating system designcfffgfgggggggvggggggggg
Understanding Forklifts - TECH EHS Solution
2025 Textile ERP Trends: SAP, Odoo & Oracle
L1 - Introduction to python Backend.pptx
Navsoft: AI-Powered Business Solutions & Custom Software Development

Web fundamentals the sequel

Editor's Notes

  • #4: Why are we here today? The goal is to deliver this lectures in a Socratic fashion. I’m going to ask quite a few questions. How does the Web work (at a high level)? What do I need to know to start working as a Web Developer?
  • #5: First, let’s talk about the different types of software. They’ll be important later. Application Software System Software Middleware The software you’re concerned with is custom software. It’s typically client-facing, consumer-driven, and always focused on business goals. Yes, non-profits have business goal.
  • #6: Just to give you an idea of the current scope of the field and all there is to know… This is a very high level overview and I’m probably leaving out 20 more Today we’re just looking at the Web piece, again, at a very high level This is not here to freak you out, but more to illustrate that there’s a ton to learn and hopefully today’s talk will motivate you to start tackling these topics sooner than later. You might find that your passion lies in Data, not in Software.
  • #7: As with many things in Computing, it’s difficult to know where to start, what to read, how to learn. Let’s begin with how the Web itself works and what its original purpose was.
  • #8: So, let’s start where the Web starts, at least from the Client’s perspective. Of course there’s plenty of other Networking concepts, underpinnings of the browser and such, but for all intents and purposes, this is where we should start for basic Web Development.
  • #9: The first version of the protocol had only one method, namely GET, which would request a page from a server. HTTP v 1.0 1996 To give an idea of how slow things progress: 2007, new Working Group created to revise HTTP 1.1 (1999), released RFC (Request for Comments) 2616 in 2014 HTTP 2 published in May 2015
  • #11: GET, POST, PUT, and DELETE correspond to CRUD HEAD is identical to GET, but returns no body. Good for checking if a file exists or if a URL is serviceable. PATCH is a partial update (PUT is more resource heavy, entire entity) Idempotence Same request should produce the same result no matter how many times it is called PUT and DELETE should be idempotent, meaning that multiple identical requests should have the same effect as a single request
  • #13: HTTP Response Codes indicate whether a specific HTTP requests has been successfully completed. Responses are grouped in five classes: informational responses, successful responses, redirections, client errors, and servers errors.
  • #14: It’s important to understand the basics of HTTP and the Web itself since you’ll be developing most of your applications on it; it’s important to know how to debug it. Speaking of debugging… Dev Tools
  • #15: HTTP is a stateless protocol How do we make it stateful? You can leverage cookies or hidden variables to track the User's state Server side
  • #16: HTTP will send things in clear text… oops.
  • #18: HTTP is very simply about requests and responses between clients and servers. The clients can be desktop computers, laptops, tablets, phones, IoT devices, et al
  • #23: http://jsonplaceholder.typicode.com/ POSTMAN
  • #25: A markup language is a language that annotates text so that the computer can manipulate it for some purpose. DOM Html, head, body http://www.w3schools.com/tags/
  • #26: This covers Layout and Structure, but what about style?
  • #27: http://www.w3schools.com/html/html_forms.asp This is how we submit data to the Server. Even if you use something like AJAX in JavaScript, you’re probably submitting a form under the hood.
  • #30: Separation of Concerns https://en.wikipedia.org/wiki/Separation_of_concerns Cascading Shit Storm
  • #31: HTML is mainly used for organization of webpage content, CSS is used for definition of content presentation style, and JS defines how the content interacts and behaves with the user. Historically, this was not the case: prior to the introduction of CSS, HTML performed both duties of defining semantics and style.
  • #38: https://en.wikipedia.org/wiki/JavaScript
  • #39: https://en.wikipedia.org/wiki/JavaScript
  • #40: Java and JS are roughly the same thing, right? Java is to JavaScript as Car is to carpet JavaScript is prototype-based with first-class functions, making it a multi-paradigm language, supporting object-oriented,[8] imperative, and functional programming styles The most common use of JavaScript is to add client-side behavior to HTML pages, a.k.a. Dynamic HTML (DHTML). Scripts are embedded in or included from HTML pages and interact with the Document Object Model (DOM) of the page. Some simple examples of this usage are: Loading new page content or submitting data to the server via AJAX without reloading the page (for example, a social network might allow the user to post status updates without leaving the page) Animation of page elements, fading them in and out, resizing them, moving them, etc. Interactive content, for example games, and playing audio and video Validating input values of a Web form to make sure that they are acceptable before being submitted to the server. Transmitting information about the user's reading habits and browsing activities to various websites. Web pages frequently do this for Web analytics, ad tracking, personalization or other purposes.[60]
  • #41: AJAX stands for Asynchronous JavaScript and XML. In a nutshell, it is the use of the XMLHttpRequest object to communicate with server-side scripts. It can send as well as receive information in a variety of formats, including JSON, XML, HTML, and even text files http://youmightnotneedjquery.com/ The point here is better user experience, not as jarring of a UI to refresh the entire page.
  • #43: Domain Name System and/or Domain Name Server Hosting is simply where you put your application.
  • #44: Authentication vs Authoritzation Identity vs Principal OAuth: https://en.wikipedia.org/wiki/Oauth Claims
  • #45: You will serve your Web Application over HTTP to clients Clients will perform CRUD operations on data via HTTP whether it’s through traditional means or Web APIs. HTML will structure your Views. CSS will style them. JS will ruin everything. Hopefully things were written securely enough that you don’t ruin someone’s life 