- A markup language to display content
- Unlike programming languages, you can’t use it to perform logic
- Composed of tags
- Not case-sensitive or white space-sensitive
- Reads top-down
<head>
tag- Metadata about the document
<!-- link CSS file --> | |
<link rel="stylesheet" type="text/css" href="FILE/PATH.css"> | |
<!-- anchor tag to add a link --> | |
Click <a href="https://LINK">here</a> | |
<!-- anchor tag to send email --> | |
<a href="mailto:EMAIL_ADDRESS">TEXT</a> | |
<!-- open link in a new tab --> |
<!-- How are you organizing your CSS? --> | |
<style> | |
/* What isn't unique between box-1 and box-2? */ | |
.box-1 { | |
color: blue; | |
float: left; | |
width: 500px; | |
} | |
<!DOCTYPE html> | |
<html> | |
<head> | |
<style> | |
.image { | |
background-image: url("img/1.jpg"); | |
height: 500px; | |
width: 500px; | |
} |
var text = document.getElementById('text'); | |
var small = document.getElementById('small'); | |
var large = document.getElementById('large'); | |
small.onclick = function() { | |
text.style.fontSize = '12px'; | |
} | |
large.onclick = function() { | |
text.style.fontSize = '20px'; |
<!DOCTYPE html> | |
<html ng-app> | |
<head></head> | |
<body> | |
<div> | |
<label>Name:</label> | |
<input type="text" ng-model="yourName" placeholder="What's your name?"></input> | |
<h1>Hello {{yourName}}!</h1> | |
</div> | |
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> |
// Assumptions: | |
// All input characters that are uppercase should remain toUpperCase | |
// Non-alphabetical characters should remain the same | |
// Only check for non-uppercase vowels to capitalize | |
const vowels = ['a', 'e', 'i', 'o', 'u']; | |
// Helper function | |
const isVowel = char => vowels.includes(char); |
// Here I'll demonstrate an easy way to optimize a for loop | |
// Here, I'm setting the for loop's condition as i < stringToPrint.length | |
// Totally valid, but each time I loop back to the beginning, I check whether | |
// the condition is true, which means I'll have to re-evaluate the value | |
// of stringToPrint.length, which is unchanging. This is inefficient, because | |
// I'll have to do this as many times as the string is long. | |
const originalLoop = () => { | |
const stringToPrint = 'Hello world'; |
Here's a rundown of some of the talks at Oscon 2017. Some slides are available here.
Lara Hogan, Co-founder of Wherewithall
Teams go through Tuckman's Stages of Group Development
Friction is normal in early stages, but can act as a distraction and a team needs to resolve differences in order to move projects forward