Carel Du Plessis

Carel Du Plessis

Courses Plus Student

Member Since July 12, 2018

16,356

Total Points

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

187 Achievements

  • Express Middleware
  • Sessions and Cookies
  • User Registration and Login
  • What is Authentication?
  • Setting Up an Authorization System
  • Adding an Authentication System
  • Build a Library
  • What is Authentication
  • PHP Internal Functions
  • PHP Returns & Closures
  • PHP Functions Basics
  • Security in Practice
  • Common Attacks and Defenses
  • Hello Internet!
  • Security: Solutions
  • Security: Concerns
  • Vulnerabilities: Configuration, Components, and Logging
  • Vulnerabilities: Authentication, Access, and Sensitive Data
  • Vulnerabilities:  Injection, XSS, CSRF
  • The OWASP Top 10 Explained
  • Maintaining Secure Web Apps
  • Protecting Data and Keeping Attackers Out
  • Why Protect Your Web Apps
  • Segmenting and Protecting Data
  • Adding User Sign-In and Sign-Out
  • Adding User Registration
  • Introducing ASP.NET Identity
  • Planning Our Service
  • Getting Started with Using Migrations
  • Digging Deeper Into Migrations
  • Completing the Project
  • Data Access Design Patterns
  • Entity Framework and ASP.NET MVC
  • Project Setup
  • LINQ Queries
  • CRUD Operations
  • Extending Our Entity Data Model
  • Entity Framework and Databases
  • Introducing Entity Framework
  • Finishing Our CRUD Web App
  • Adding Form Validation
  • Improving Our Form
  • Creating a Basic Form
  • Introducing CRUD Applications
  • The Internet
  • Adding a List Page
  • Modeling and Presenting Data
  • Views
  • Controllers
  • Project Setup
  • Test Driven Development
  • What To Test
  • Writing Unit Tests
  • Unit Testing
  • Improving Quality Assurance Practices
  • Bug Reporting
  • Executing Tests
  • Writing Manual Test Cases
  • Why We Test
  • Query Builder
  • Query Operators
  • Functional!
  • Now You're Querying!
  • Sets and Dictionaries
  • Lists
  • Arrays
  • Getting the REST You Need 2
  • GET and POST Requests in a Browser
  • Introduction to HTTP
  • Data Retreiver
  • Serialized!
  • Data Parser
  • Data Reader
  • Abstraction
  • System.Object
  • Polymorphism
  • Loops and Final Touches
  • Encapsulation with Properties
  • Encapsulation and Arrays
  • Inheritance
  • Methods
  • Object-Oriented Programming
  • Perfect
  • Perform
  • Console I/O
  • Prepare and Plan
  • Searching Names
  • Sorting Algorithms
  • Merge Sort and Linked Lists
  • The Merge Sort Algorithm
  • Building a Linked List
  • Exploring Arrays
  • Recursion and Space Complexity
  • Algorithms in Code
  • Time Complexity
  • Playing a Counting Game
  • Chrome DevTools Basics
  • Testing for Accessibility
  • Mobile Accessibility
  • Accessible UI Patterns
  • Semantic HTML and WAI-ARIA
  • WCAG 2.0 (and Other Standards)
  • Access for Everybody
  • Getters and Setters
  • Working with Classes in JavaScript
  • Object Basics
  • Introduction to Object-Oriented JavaScript
  • AJAX and APIs
  • jQuery and AJAX
  • Programming AJAX
  • AJAX Concepts
  • Captioning Video
  • Media Basics
  • Structuring Tables
  • Table Basics
  • GitHub and Other Remote Repositories
  • Managing Committed Files
  • First Commits
  • Creating an SVG
  • Introduction to SVG
  • Combine and Minify Assets
  • Optimize Assets
  • Measuring Performance
  • Planning for Performance
  • Building Forms With Bootstrap
  • Using Bootstrap Components
  • Responsive Layouts With the Bootstrap Grid
  • Getting to Know Bootstrap 4
  • Create Function Using Arrow Syntax
  • Using Template Literals
  • Defining Variables With let and const
  • Working with jQuery Collections (2017)
  • Understanding jQuery Events and DOM Traversal (2017)
  • Introducing jQuery (2017)
  • Classes
  • Objects and New Collection Types
  • The Cooler Parts of ES2015
  • ES2015 Basics
  • Traversing the DOM
  • Responding to User Interaction
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • JavaScript Objects
  • JavaScript Arrays
  • JavaScript Loops
  • Choosing Options
  • Organizing Forms
  • Form Basics
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • Responsive Patterns
  • Media Queries
  • Responsive Theory
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • Using the Discovery Service
  • Using the Conversation Service
  • Introducing the Watson APIs
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • Fundamental Concepts
  • Designing with the Latest Features
  • Basic Layout
  • The Box Model
  • Understanding Values and Units
  • Basic Selectors
  • Getting Started with CSS
  • Going Further with HTML
  • Images, Text and Links
  • Structuring Your Content
  • Getting Started With HTML
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Adding a New Web Page
  • Make It Beautiful with CSS
  • HTML: The Structural Foundation of Web Pages and Applications
  • Getting Familiar with HTML and CSS
  • Newbie