Hook
More breakout videos from this creator.
This is where machine learning comes in, aka teaching a computer to do a task, without explicitly programming it to do that task. First you need a lot of data, which you can split into training data and test data. Next, you choose an algorithm that can change its parameters over time. For example, in a neural network, where the weights can be updated to achieve a different result. By feeding lots of training data into the algorithm, you can build a model whose accuracy you can then check with a test data. If it's not quite right, the model can improve over time by comparing the output to what it should have been. Capturing the difference in an error function and tweaking its parameters to minimize the difference. But no matter how futuristic, bleeding edge, or blazing fast, the key is if you want people to actually use the application you wrote, you should probably know about it. It's a network, a network of computers from all around the globe connected by wires, the internet. The internet is just a bunch of thick cables that run at the bottom of the ocean, along with facilities like internet service providers that connect you to your destination. These computers communicate with the internet protocol suite. Every computer on the network has a unique IP address, and two computers can then transfer data with a transmission control protocol. It breaks messages into packets, sends them through a network of wires before the receiving end puts the message back together. If you have a poor internet connection, you might have experienced packet loss, which is just some of these packets get lost along the way. If the internet is the hardware, then the web is the software, which you can use with a browser. Every page on the web has a URL. When you type it into your browser, it looks up the IP address of the server hosting this website with a domain name system, which is like a dictionary mapping domain names of actual servers. After connecting to your browser called TCP, your browser uses the hypertext transfer protocol to send an HTTP request to the server, which then gives a response, ideally containing the contents of the webpage. The actual website most often consists of three parts: An HTML file contains all the content of a website. It's basically just a collection of elements, which can be text, links, buttons, and so on. A CSS file controls the visuals and makes a website look nice. But a website is useless if pressing nice-looking buttons does nothing. So, a language like JavaScript adds functionality. But sometimes things can go wrong. With every HTTP response comes a response code, which carries information about the status of the response. For example, 200 OK and anything starting with 4xx is an error, one being 404 page not found. HTTP requests can carry different methods. For example, GET, POST, PUT, DELETE. So retrieve, add, update, and delete information. These are often used by application programming interfaces, which connect two applications and allow them to interact with each other. For example, store and retrieve data from a database. The most common type of database is a relational database, which uses tables. Columns of a table contain different attributes, and rows represent individual data points. Also, each table has one unique attribute called the primary key. A foreign key is the primary key of another table, establishing a relationship between the two. In this case, each book is connected to an author. With a language like SQL, you can write statements to work with these tables. You can look up the titles and authors of all books whose title starts with an H, but for that, we have to join the author's table with the book's table on the matching key to combine two attributes from different tables into one, giving us this output. These statements are useful, but you got to be careful, or you might just delete an entire database with one line of code. But don't worry. That's never happened before. Behind every login is a database with usernames and passwords. When a user tries to log in, an SQL query is often used to check if the user input matches an entry in the database. Access granted. That's good, but a devious actor could type something like this, which changes the query by terminating the string early and commenting out the rest. Which means, as long as this username exists in the database, access is granted. This is called an SQL injection attack, and it's one of the easiest ways hackers get places they're not supposed to.