
Treehouse Courses
Treehouse brings affordable technology education to people everywhere in order to help them achieve their dreams and change the world.

Treehouse brings affordable technology education to people everywhere in order to help them achieve their dreams and change the world.
Do you want users to be able to interact with your site? Do you want users who are active participants in the content you provide? That interaction could be purchasing products or adding products to sell, leaving comments or providing blog posts. No matter which type of interaction your site provides to users, you'll need a way to authenticate those users. In this course we'll lay the foundation for keep your data safe and secure while building a platform for active participation. What you'll learn Authentication vs Authorization Securing Passwords Building Authentication We are going to be building the Authentication and Authorization for a book voting website that you can share among your book club to decide what people want to read next. We'll be using authentication to allow only registered users to vote on books. We'll be using authentication to allow all users to add and edit their own books, and allow administrators to modify ANY books. Let's dig into the application and see how it worksChevron 12 stepsApplication Overview 4:18 instructionObject-Oriented Authentication Authentication vs Authorization 1:46 AuthN vs AuthZ 5 questions Registration System 5:01 Securing Passwords 5:01 Login System 5:45 Registration and Security 5 questions Verify Authentication 3:52 Logging Out 4:00 Require Authentication 4:19 Authenticated Login 5 questions Setting Up Authorization Now that we have set up the Authentication portion of the website, we know that are use is ALLOWED to be here. But what are they allowed to do? We want to make sure that a user can only access the information they are allowed to access. Some users may have more control, these will be our administrators.Chevron 12 stepsUser Profile 4:02 Update Password 8:41 Password Hashing 1 objective Creating Helper Functions 5:35 User Administration Panel 5:18 Changing User Role 2:40 Guards and Helpers 5 questions Adding Authorization Checks 3:17 Book Access 3:38 Update Voting System 3:53 Next Steps 1:14 Authorized Login 5 questions
Whether you have aspirations of working on a Content Management System, an E-Commerce Site, a new and exciting web app, or an API you will eventually need to work with a Database. PHP and Databases work together through the use of PHP Data Objects or PDO for short. What you'll learn PHP Data Objects PDO Database Security Queries & Results
Intents allow Android apps to communicate with each other in a standard way, and broadcast receivers enable an app to listen for specific events. In this course you'll learn how to utilize both to integrate your apps with other apps and aspects of the Android system. What you'll learn Intents Broadcast Receivers
During this course, we'll take a look at the underlying method that devices use to communicate with each other: HTTP, or the HyperText Transfer Protocol. In particular, we'll focus on how a modern web browser automates the sending of HTTP requests and the receiving of HTTP responses. What you'll learn HTTP Uniform Resource Identifier GET POST Payload
Test your basic Python knowledge with a few code challenges. These challenges are similar to those you might encounter in a technical interview. What you'll learn Analyze a challenge to determine what you need to do Develop a solution to the challenge
Flask is one of the easiest ways to bring your Python skills online. It's a great microframework used by thousands of people to create prototypes and small web apps. What you'll learn Creating and controlling views and routes in Flask Setting and reading from cookies Rendering templates Template inheritance
The concept of usability is directly tied to the success of websites and apps. How easy are they to use? We'll learn in this course how to ensure users can accomplish their goals on websites and apps, as well as laptops and mobile devices. We'll also consider the user centered approach to design, highlight common usability issues on sites and apps, and offer tips on how to ensure your designs stay as usable as possible. What you'll learn Defining usability Common places to usability issues Improving usability of websites and apps Common ways to improve usability
Docker allows any developer of any language to package an app into a container, like a shipping container. Containers include an app and all the other software it depends on, like databases. Containers let your users easily run your website, app, or service on any operating system they want. This course will show you how Docker works, and how it can make it easier to distribute your software! What you'll learn Images and containers Dockerfiles Docker networking Registries
If you’ve never written a line of code before, this is the place to start! In this project, you’ll learn how to edit pre-written HTML code. By the end of this course, you’ll be more comfortable with using Treehouse’s programming tool Workspaces and have a basic understanding of HTML structure. What you'll learn Basic HTML structure Style tags The head element Headline and Paragraph tags
Dates and times are something every programmer eventually has to deal with. Python's implementation is fairly simple and simplifies these often tricky subjects. What you'll learn Dates and times Timezones Converting between timezones
Welcome to the realm of web security, where millions of dollars and people’s lives are on the line. Well, not in all cases, but some! From protecting static web sites to the most complex of web services and APIs, every web developer should be aware of and adept at writing secure code and building systems that can stand up to the strongest of malicious users. In this course, we will lay the groundwork for what you need to know to get started exploring the vast field of web security, and along the way you will begin to realize that security isn’t about checking boxes, but rather about embedding the thought process and principles of rock-solid security into every line of code you write. First, we will discuss why security matters to you as a web developer, then we will look at data security at an implementation level, then finally we will examine the art of maintaining your websites, apps, and services on a daily basis. What you'll learn Principles of web security Why web security matters Implementation of data security Site security maintenance
In this course, you'll learn how to use Microsoft's Entity Framework to persist application data to a database. By the end of the course, you'll have learned how to use the Code First workflow, create entity classes, write LINQ queries, perform CRUD operations, and more. What you'll learn Code First Workflow Creating Entity Classes Defining Relationships Between Entities Writing Queries Using LINQ Performing CRUD Operations Using the Context
Practice building and working with classes in JavaScript. What you'll learn Objects Classes
Simplify your backend with GraphQL, the new query language and runtime that is taking the world by storm. With GraphQL, it’s no longer necessary to resolve a bunch of different REST endpoints to get a complete chunk of data. We can use GraphQL to tell a server which data we want, and exactly what it should look like. Whether you’re a front-end developer looking to simplify your workflow, or a back-end developer looking for a way to compose more robust APIs, this course is the perfect place to start. What you'll learn GraphQL vs. REST Working in a GraphiQL environment Querying a GraphQL API
Loops are a way of repeating code -- they're handy for repetitive tasks. Loops are frequently used for actions that need to run a particular number of times or until a certain condition is true.