Don McGregor

Don McGregor

Member Since March 23, 2021

10,074

Total Points

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

122 Achievements

  • MVC (Model)
  • MVC (View)
  • MVC (Controller)
  • Application Navigation (Routing)
  • Getting Started With Laravel
  • Abstract Classes in PHP
  • Building a Collection
  • Understanding Classes
  • Why Object-Oriented Programming?
  • Parsing Specific Formats
  • Project Setup
  • PHPDB Stage 5: Search
  • PHPDB Stage 1: Databases and PHP
  • Filtering Inputs and Escaping Outputs in PHP
  • $_GET and $_POST
  • PHP Returns & Closures
  • PHP Functions Basics
  • Getting Familiar with HTML and CSS
  • Day 3: Getting Creative
  • Day 2: Advanced Selecting
  • Day 1: Joining Tables
  • Orientation: Selecting Data
  • 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
  • Finding the Data You Want
  • Updating Data in a Database
  • Handling Errors When Manipulating Data
  • Deleting Data from a Database
  • Adding Data to a Database
  • Getting Data from a Database
  • Data, Databases and SQL
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Adding the Game Logic
  • Making the Game Interactive
  • Rendering the Game
  •  Building Constructor Methods and Generating Objects
  • Introducing 'Four in a Row'
  • Updating and Uninstalling Packages with npm
  • Installing Packages with npm
  • What is npm?
  • Exploring Async/Await
  • Understanding Promises
  • Asynchronous JavaScript with Callbacks
  • What is Asynchronous Programming?
  • Callbacks and the DOM
  • Callbacks with Timers
  • Introduction to Callback Functions
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • Programming AJAX
  • AJAX Concepts
  • Using a jQuery Carousel
  • Add a Sticky Navigation Bar
  • Introducing jQuery Plugins
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Loop Through Objects
  • Object Basics
  • Multidimensional Arrays
  • Loop Through Arrays
  • Store Multiple Values in an Array
  • Working with 'for' Loops
  • Simplify Repetitive Tasks with Loops
  • Arrow Functions
  • 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!
  • Transition Timing Functions and Delays
  • Getting to Know Bootstrap 4
  • Building a Layout with Flexbox
  • Media Queries
  • Introduction to Typography
  • Advanced Selectors
  • Exploration
  • Discovery
  • Working By Yourself
  • Hello, GitHub!
  • Branches on Git Hosting Services
  • Remote Branches
  • Merging
  • Branches
  • Managing Committed Files
  • First Commits
  • Scrum Artifacts
  • Scrum Events
  • Introducing Scrum
  • What is Agile?
  • Security: Solutions
  • Security: Concerns
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Computer Languages
  • Computer Basics
  • WWW
  • The Internet
  • Newbie