Gavin Mace

Gavin Mace

Member Since October 24, 2015

30,747

Total Points

Points are earned whenever you take an important action on Treehouse.
Learn more about when and how points are earned.

426 Achievements

  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Big Data at Netflix
  • Where and How Big Data Is Used
  • What is Big Data
  • Practicing Data Visualization in Excel
  • Chart Formatting and Layout
  • When To Use What Type of Chart
  • Error Checking
  • Conditional Formatting
  • Pivot Tables
  • LOOKUP Functions
  • LTV Analysis by Example
  • What is LTV?
  • Bringing It All Together
  • The Cash Flow Statement
  • The Balance Sheet
  • The Profit & Loss Statement
  • Introducing Financial Statements
  • The Data Analysis Process
  • Getting to Know Your Data
  • Introducing Data Analysis
  • Welcome to Basic Statistics for Data Analysis
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Day 1: Joining Tables
  • Orientation: Selecting Data
  • Creating and Modifying Database Tables
  • Introduction
  • Stateful Components
  • Introducing Props
  • Thinking in Components
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • First Steps in React
  • Pass Information Into Functions
  • Create Reusable Code with Functions
  • Making Decisions in Your Code with Conditional Statements
  • Working With Strings
  • Storing and Tracking Information with Variables
  • Hello, JavaScript!
  • Array Iteration
  • Adding the Game Logic
  • Making the Game Interactive
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • Practicing Object Basics
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Reformatting User Input
  • Validating a Form with Regular Expressions
  • Regular Expressions
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Finishing the Game
  • Introducing JavaScript
  • More TODO with the MEAN Stack
  • Creating and Editing Data in a MEAN App
  • Setting Up MongoDB
  • Going MEAN with Angular
  • Going MEAN with Express
  • Introduction to MEAN
  • Angular Form Validation
  • Angular Basic Forms
  • Services in Angular
  • Angular Components
  • Setting Up an Angular Application
  • Introduction to Node.js
  • JavaScript Frameworks, Libraries, and Developer Roles
  • JavaScript Outside of the Browser
  • JavaScript Arrays and Loops
  • JavaScript Functions
  • Data Types and Variables
  • JavaScript Tools and Workflows
  • JavaScript is Everywhere
  • Test Doubles
  • Acceptance Tests
  • Organizing your Tests
  • Creating Your Tests
  • Tools for Testers
  • How To Test Our Code
  • Error Handling
  • Creating Distributable OOP Packages
  • Autoloading and Composer
  • Databases and International Concerns
  • Starting Right with PHP Best Practices
  • Setting Up an Authorization System
  • Adding an Authentication System
  • Build a Library
  • What is Authentication
  • Browser Persistent Data with PHP
  • Item Completion & Interaction
  • Nested Edits & Updates
  • Nested Routes & Controllers
  • PHP Email Form Errors
  • PHP Email Forms
  • PHP Inventory
  • Relating Models
  • Laravel CRUD
  • Validation & Flash Messages
  • Laravel Forms
  • Laravel & Databases
  • Laravel Controllers
  • Laravel Project Setup
  • Laravel Getting Started
  • PHP Includes
  • Database Security
  • Queries & Results
  • Getting Started with PDO
  • PHP on the Web
  • Daily Exercise Program
  • Unit Converter
  • Getting to Know PHP
  • PHPDB Stage 5: Search
  • PHPDB Stage 4: Pagination with LIMITs
  • PHPDB Stage 3: Using Relational Data
  • PHPDB Stage 2: Querying the Database with PHP
  • PHPDB Stage 1: Databases and PHP
  • S3 Storage Service
  • AWS and "The Cloud"
  • Gotchas and Wins
  • Iteration
  • Creation
  • Delivering the MVP
  • Creating the MVP
  • Harnessing the Power of Objects
  • Meet Objects
  • Perfecting the Prototype
  • Using your New Tools
  • Getting Started with Java
  • Publishing on Google Play
  • Introduction To Data Visualization
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • Go Flow Control Overview
  • Go Syntax Overview
  • What Is WordPress?
  • WordPress Plugin Best Practices
  • WordPress Widgets
  • Custom Post Types in WordPress
  • Customizing WordPress Themes
  • WordPress Themes
  • Build a Spreadsheet
  • Spreadsheet Best Practices
  • Spreadsheet Functions & Formulas
  • Getting Started With Spreadsheets
  • Introducing Spreadsheets
  •  Child Themes
  • The Genesis Marketplace
  • Configuring a Genesis Child Theme
  • An Overview of the Genesis Framework
  • An Overview of WordPress Frameworks
  • Creating a Simple Lightbox
  • Creating a Spoiler Revealer
  • Introduction to jQuery
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • DOM Traversal
  • DOM Manipulation
  • Events
  • Hello, jQuery!
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Getting the REST You Need
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Go Further With Mongo
  • Working With Collections
  • Understanding MongoDB
  • Getting Started with MongoDB
  • Subqueries
  • Set Operations
  • Joining Table Data with SQL
  • Table Relationships
  • Database Keys
  • Database Normalization
  • Date and Time Functions
  • Aggregate and Numeric Functions
  • Working with Text
  • Ordering, Limiting and Paging Results
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Updating Data in a Database
  • Adding Data to a Database
  • Hooking Into WordPress Plugins
  • Action Functions in WordPress
  • Filter Functions in WordPress
  • An Overview of Hooks in WordPress
  • Add Bootstrap Components to WordPress Theme
  • Create Bootstrap Styled Theme Templates
  • Setup a Bootstrap Theme
  • The Settings API in Different Places
  • Taking WordPress Settings Further
  • Getting Started with Theme Options Settings
  • WordPress Settings API Overview
  • Custom WordPress Customizer Settings
  • Native WordPress Customizer Options
  • Overview of the WordPress Customizer
  • More Advanced PHP for WordPress
  • PHP Basics for WordPress
  • Introduction to PHP for WordPress
  • Customizing the WooCommerce Cart and Checkout Process
  • Starting a Custom WooCommerce Theme
  • Cart, Checkout and Account Templates and Hooks
  • Global and Product Templates and Hooks
  • Getting Started with WooCommerce Theme Development
  • Running an Ecommerce Site Long Term
  • Extending WooCommerce
  • Managing Orders in WooCommerce
  • Managing Products in WooCommerce
  • Contact Forms & Mailers
  • Slim and Templates
  • Dependency Management
  • Setting Up WooCommerce
  • Introduction to Ecommerce with WordPress
  • A Template Hierarchy Review
  • Media Templates in WordPress
  • Custom Post Type Templates
  • Archive Templates in WordPress
  • Page and Post Templates in WordPress
  • Homepage Templates in WordPress
  • Core WordPress Theme Files
  • How WordPress Templates Work
  • The WordPress Codex
  • SEO Plugins for WordPress
  • Building Forms with Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts with the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Enhancing the SEO of a WordPress Theme
  • Content Comes First
  • Custom Dashboard Widgets
  • Controlling Admin Navigation
  • Customizing the Login Screen
  • Admin Color Schemes
  • Customizing the User Experience in WordPress
  • Default User Roles in WordPress
  • An Overview of User Roles and Fields
  • WordPress User Roles
  • WordPress Admin Settings
  • WordPress Admin Settings
  • Moving from WordPress.com to Self-Hosted WordPress.org
  • Finishing Your WordPress Theme
  • Custom Homepage Templates in WordPress
  • Adding a Blog to a WordPress Theme
  • Custom Post Type Templates
  • Building Out WordPress Navigation
  • Building Page Templates in WordPress
  • The WordPress Loop
  • WordPress Header and Footer Templates
  • Working with CSS and JS in WordPress Themes
  • Starting a WordPress Theme
  • The Production Server
  • The Staging Server
  • The Local Development Environment
  • Local WordPress Development
  • The Walker Class for WordPress
  • Custom Menu Fields in WordPress
  • An Overview of Menus in WordPress
  • WordPress Plugin Best Practices
  • Widgets and Custom Menus
  • Custom Post Types and Fields
  • Customizing WordPress Themes
  • WordPress Themes
  • Owning a WordPress Site Long Term
  • WordPress Community Management
  • Working with Media in WordPress
  • Adding and Editing Content
  • Getting a WordPress Site
  • Installing Wordpress
  • Custom Media Players
  • Captioning Video
  • Media Basics
  • Make It Beautiful with CSS
  • Adding a New Web Page
  • HTML: The Structural Foundation of Web Pages and Applications
  • Getting Familiar with HTML and CSS
  • Hosting with GitHub Pages
  • Building and Customizing the Blog
  • Getting Started with Jekyll
  • Working with Media Queries
  • CSS Animation Basics
  • Understanding CSS Transitions and Transforms
  • Understanding Flexbox and Multi-Column Layout
  • What's New in Foundation 5
  • Build a Website With Foundation
  • Prototyping With Foundation
  • Build a Website With Bootstrap
  • Prototyping With Bootstrap
  • Introduction to Front-End Frameworks
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Keyframe and Line Drawing Animations
  • Transitions and Transforms
  • Treehouse Club - CSS
  • Gradients
  • Web Typography
  • Backgrounds and Borders
  • CSS Box Model
  • Text, Fonts, and Lists
  • Values and Units
  • Advanced Selectors
  • Selectors
  • Getting Started with CSS
  • Grid Layout
  • Flexbox Layout
  • Positioning Schemes
  • Float Layout
  • Display Modes
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Fundamental Concepts
  • Basic Selectors
  • Getting Started with CSS
  • Limiting Results in Queries
  • Using Relationship Tables
  • Filtering Input for Queries
  • Querying the Database
  • Connecting to MySQL
  • Finishing the Prototype
  • Grid Layout and UI Components
  • Getting to Know Foundation for Apps
  • Finding the Data You Want
  • Getting Data from a Database
  • Data, Databases and SQL
  • Web Apps
  • Websites
  • Introduction
  • Forms
  • Tables
  • Objects
  • Links
  • Lists
  • Text
  • Introduction
  • Creating an SVG
  • Introduction to SVG
  • Art Direction with the Picture Element
  • Image Delivery with Srcset and Sizes
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Chrome DevTools Basics
  • What is the MailChimp API
  • DNS Basics
  • Graphic Basics
  • Website Basics
  • Computer Languages
  • Computer Basics
  • WWW
  • The Internet
  • Moving Forward with UX
  • How to Install WordPress on Your Computer
  • WordPress Plugins
  • WordPress Themes
  • The WordPress Customizer
  • Managing Media in WordPress
  • Managing Content in WordPress
  • Getting Started with WordPress
  • Tools UXers Use
  • How UXers Think
  • What Do User Experience Designers Do?
  • What is User Experience (UX)?
  • PHP Properties & Methods
  • PHP Objects and Classes
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • PHP Loops
  • PHP Conditionals
  • PHP Datatypes
  • PHP Data & Structure
  • PHP Getting Started
  • Structuring Tables
  • Table Basics
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Welcome to the Treehouse Club
  • Debugging HTML and CSS Problems
  • Sharing a Website
  • Responsive Web Design and Testing
  • Adding Pages to a Website
  • Styling Web Pages and Navigation
  • Customizing Colors and Fonts
  • CSS: Cascading Style Sheets
  • Creating HTML Content
  • HTML First
  • Beginning HTML and CSS
  • Newbie