The University of Arizona
Exam 1 Study Guide

Exam 1 Study Guide #

Cloud Intro - Week 1 Slides #

  • Understand differences and advantages of Datacenters with and without Virtual Machines, and Cloud Computing
  • Review the Job differences between Datacenter and Cloud architectures
  • Basic Linux CLI commands

Docker - Week 2 Slides #

  • Docker run, build, images, start, exec commands
  • Docker port mappings
  • Write a basic Dockerfile based on a specification

HTTP & HTML - Week 3 Slides #

  • Know the main HTTP methods (GET, POST, etc)
  • Know the basic parts of an HTTP request: Request method & resource, headers, TWO linefeeds
  • Know the anatomy of an HTML element
  • Know the anatomy of a URL
  • Know the basic HTML tags we went over in class
  • Understand how a DOM tree maps to an HTML document

Network Sockets - Week 4 Slides #

  • Know the 3 parts of a socket (host IP, port, protocol)
  • Know when BIND, LISTEN, and CONNECT are used in establishing a socket

Javascript - Week 5 Slides #

  • Javascript Datatypes
  • Booleans
  • Arrays
  • Functions
  • Objects
  • The document object
  • Event Listeners
  • AJAX/Fetch basics

Authentication - Week 6 Slides #

  • Definition of Authentication
  • Definition of Authorization
  • How does HTTP Basic Authentication work?
    • Authorization Header
    • Basic + base64 encoded username:password
  • Passwords should be stored with a strong one-way hash
  • Identity Providers offload user/password security to someone else
    • Facebook
    • GitHub
    • Google
    • etc
  • CAS basics
    • Redirect to IdP
    • Get Ticket back
    • Validate Ticket through backchannel

Notes #

The following notes page will be attached as part of your exam packet.

window.addEventListener('eventName', callback);
window.alert('msg text');
window.close();
window.confirm('msg text');

element.attributes
element.innerHTML
element.childNodes
element.parentNode
element.textContent  

element.appendChild(newElementObject);
element.classList.add("newClassName");
element.removeChild(elementToRemove);
element.addEventListener('eventName', callback);

console.log(msg);
console.trace();
console.warn(msg);

document.body
document.title

document.createElement('elementType');
document.getElementsByClassName('className');
document.getElementsByTagName('tagName');
document.getElementById('idName');

// The following are command line programs. 
// The $ represents the prompt, don't type that.
$ nc -v <hostname> <port>
$ curl -v <url>

$ ls
$ cat
$ grep
$ cd
$ less
$ rm
$ mkdir
$ mv
$ pwd
$ head
$ tail

$ apt-get update && apt-get install <package>