Become A Web Developer - Part 19: Backend Basics | Andrei Neagoie | Skillshare

Become A Web Developer - Part 19: Backend Basics

Andrei Neagoie, Senior Software Developer + Instructor

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
1 Lessons (12m)
    • 1. Backend Basics


About This Class

Backend Basics

This is the tutorial you've been looking for to become a web developer in 2018. It doesn’t just cover a small portion of the industry. In this multipart video series we will covers everything you need to know to get hired: from absolute zero knowledge to being able to put things on your resume that will allow you to live the life you want. 

Sounds too good to be true? Give me 5 minutes of your time to explain to you why I built this course and what is different here than thousands of other courses all over the internet.

  1. There is no wasted time here. We won’t be using outdated technologies like PHP, Wordpress and JQuery. Although still useful, outdated technologies like the above are low paying and demands for them are decreasing. In this course, you will learn the specific technologies that are the most in demand in the industry right now. These include tools and technologies used by the biggest tech companies like Google, Facebook, Instagram, etc… It’s geared specifically for people that want to learn employable skills in 2018.

  2. After finishing this course, you will be able to apply for developer roles, or upgrade your job title as a developer and earn a higher salary. We won't be taking any shortcuts in this course. I am going to take your from absolute zero, where I teach you how the internet works, to mastery, where I show you how to build an image recognition app using a Machine Learning API (a subset of Artificial Intelligence).

  3. This course is taught by an instructor who has worked in silicon valley, and one of the top tech companies in Toronto. I have built large scale applications, and have managed a team of developers. I have worked directly with these technologies. I am not an online marketer or a salesman. I am a senior software developer who loves programming and believes that there needs to be a course out there that actually teaches valuable skills.

  4. I know your time is valuable. You want a course that outlines the best way to learn the topic in simple, well explained methods so that you fully understand topics instead of watching somebody on your screen and having no clue what is going on. I have created this course after consuming hundreds of books, tutorials, and online courses while I was learning. I have taken the best pieces, the best methods, that I have found, and condensed everything so that you can learn in the most efficient way possible. 50 hours of videos doesn't mean much if the instructor isn't engaging or focuses on outdated topics. 

  5. We have a thriving online chat community so you really feel like you are part of a classroom and not just watching videos by yourself. You will have a chance to communicate with fellow students, work on group projects together, and contribute to open source. Anytime you have a question you can ask in the chat and someone will surely be able to help you right away. 
  6. The course is designed to give you employable skills so you can get a job. Here is what one student recently wrote after taking the course and being hired right away: 
    "I’m a self taught dev, who has been out of work for ~6 months. I had some family things that came up that prevented me from seeking permanent employment, so for awhile I was Postmates/Uber delivery driver.
    After taking this course, I immediately got catapulted back to where I was before, but better equipped and with the knowledge to take on the next job. I had just finished the React section when I went to a recent interview, and it really helped me excel. As of today, I am officially re-employed back in the field, and it is all thanks to this course. I had a blast creating the final project, and FINALLY got around to learning SQL statements, and getting to use them in a project. I’m really ecstatic that Andrei went with teaching relational databases over something like MongoDB, which can also be fun, but is less practical for use on the job. So thanks Andrei , I really enjoyed the course and will be making sure to share it with others who find it helpful. I’m also looking forward to the new ES7/8 content that was recently added, and going through the DB stuff again when I go to build a personal project."

In this course, you will be taken through online videos and exercises where you will be able to do the following things by the end:

  • Build real complex applications and websites
  • Build an image recognition app together at the end of the course so you can add it to your portfolio
  • Go into a job interview confident that you understand the fundamental building blocks of web development and the developer space in 2018
  • Be able to go off on your own and grow your skills as a developer having built a solid foundation
  • Learn how front-end, servers, and databases communicate and how they all fit together in the eco system
  • Build your own startup landing page. 
  • Go off and remotely work by being a freelance developer and bid on projects.
  • Know EXACLTY what a day in the life of a developer is like and what the day to day technologies and tools will be that you are using. 

By the end of this course you will be comfortable using the below skills and you will be able to put them on your resume:

  • HTML5
  • CSS
  • Bootstrap 4
  • Javascript (ES6/ES7/ES8)
  • React + Redux
  • Git + Github
  • Node.js
  • Express.js
  • NPM
  • PostgresSQL
  • SQL

This course is the accumulation of all of my years working, learning, and teaching coding and all of the frustrations and incomplete information I have encountered along the way. There is so much information out there, so many opinions, and so many ways of doing things, that unless you have spent the last years working with these technologies in a company, you will never fully understand. So this course is the answer to that exact problem. I have gone through thousands of coding books and online tutorials and bootcamps. I have worked with these tools on real applications. Throughout the years I have taken notes on what has worked, and what hasn't and I've created this course to narrow down the best way to learn and the most relevant information. 

I will succeed if you succeed in this course. Therefore, I will be there every step of the way helping you understand concepts and answer any questions you have.

I am 100% confident that you won't find a course like this out there that is as well organized, and as useful, to build a strong foundation for you to start a new career. We're not going to be building simple todo applications and cat image sliders. We are going to learn actual practical skills that will put you into the workforce. Some unique sections that you won't find anywhere else are:

  • React.js + Redux: you will learn the library that companies like Netflix, Facebook and Instagram use to build fast, scalable applications. This is one of the highest in-demand skill in the industry.
  • A day in the life of a developer: What will your day to day look like and what tools will you use? I will take you through a sample day at a tech company.
  • How does the internet actually work. What is the history of these technologies: I will actually have you understand the underlying concepts of the internet, and how the technologies we have now, have come to be where they are.
  • How do you actually deploy a real life app so that it is secure, and won't get hacked: How does a real life app get out to the public?
  • What is Machine learning and how you can harness it's power: Whether you have heard about it or not, this is something that you will hear more and more in the coming years. Those who understand the high level concepts and can harness it will have an advantage. 
  • What is your developer environment on your computer look like: We will be setting up our computers with all the tools necessary of a developer so you can use the same setup when you go into the workforce.

Why do we teach the above? Because in this day and age, just knowing HTML CSS and Javascript is not good enough and you won't be able to grow in your role and command a higher salary. I am teaching you these things because these are the things you should know in 2018 so that you are miles ahead of the rest. 

Make this the year that you took a risk, you learned highly in demand skills, you had new experiences, and you received new opportunities. I hope you join me in this journey. 

This is the proudest work I have ever done in my life and I am confident that you won't find a course better than this. 

See you inside!

Taught by: 

Andrei is the instructor of the highest rated Web Development course on many platforms. His graduates have moved on to work for some of the biggest tech companies around the world like Apple. He has been working as a senior software developer in Silicon Valley and Toronto for many years, and is now taking all that he has learned, to teach programming skills and to help you discover the amazing career opportunities that being a developer allows in life. 

Having been a self taught programmer, he understands that there is an overwhelming number of online courses, tutorials and books that are overly verbose and inadequate at teaching proper skills. Most people feel paralyzed and don't know where to start when learning a complex subject matter, or even worse, most people don't have $20,000 to spend on a coding bootcamp. Programming skills should be affordable and open to all. An education material should teach real life skills that are current and they should not waste a student's valuable time.  Having learned important lessons from working for Fortune 500 companies, tech startups, to even founding his own business, he is now dedicating 100% of his time to teaching others valuable software development skills in order to take control of their life and work in an exciting industry with infinite possibilities. 

Andrei promises you that there are no other courses out there as comprehensive and as well explained. He believes that in order to learn anything of value, you need to start with the foundation and develop the roots of the tree. Only from there will you be able to learn concepts and specific skills(leaves) that connect to the foundation. Learning becomes exponential when structured in this way. 

Taking his experience in educational psychology and coding, Andrei's courses will take you on an understanding of complex subjects that you never thought would be possible.  

See you inside the course! 


1. Backend Basics: it's time to learn another exciting topic, and we're gonna get into back in basics. But I wanted to show you what we've covered so far on the front. We've started with this diagram off asking for who is google dot com and going through the ice p asking the domain name server for the I. P address. We then ask the I P address to find the Google servers. And then the Google service gives us our HTML CSS and JavaScript file, which were able to get one through a she male and then the link tax and the script tags to get the CSS and JavaScript. The browser reads the fall for us the ACM on CSS and the V eight engine or the JavaScript engine over the browser uses it to read the JavaScript, and we manipulate the dom using JavaScript. We also learned that the location of the servers important how many trips we make harmony http requests we make is important. The size of the files is important, and we learn some of those solutions, such as content delivery networks, having script into just a bundle dot Js file and also minimizing our files and Then we also learned about this new technology called Ajax, where we can just fetch users talk to the server while the user is still browsing the website and receive a Jason response to update the website in real time. And this picture that we started with looks a lot clearer than in that first video, doesn't it? We understand what a front and developer does. We see the par of react, and we also know that these arrow simply mean http requests. It languished that both front end and back end can speak and using. Ajax and Jason were able to do it dynamically. No, with the back end and the rule of a back and develop. They're the ones that are in charge of working with servers and databases, and a server is responsible for whatever you get in the browser. I can ask from the browser anything such as go to google dot com, but at the end of the day, the Web server can just give me whatever it once. If it's going to just send me to twitter dot com instead of a gold dot com, well, that's up to the server. Whatever we need we just make the request, and we hope that the server gives us what we asked for. And if you'll remember, a server is just a computer, a computer that somewhere in the world just listening to this a c D. B connection, asking to see if we have any files. The most basic of servers. And you might have used this before, Maybe using host Gator Ah, hosting site or even WordPress sites and putting them on host Gator uses something called a lamp stack. This was what was useful for the most basic of websites. That is, You just want a simple information website, maybe a simple war breast website where nothing complex is happening. Nothing professional really, What they used waas, a Linux server, which is the operating system, just like I have Mac Lennox will be the operating system off the server. We have Apache server. Apache is a server again, a program written by somebody that is really, really good and just accepting requests and sending out responses off files. We had my SQL, which is database. Maybe you had a common section in your blawg, and you need to store that data that would be the database. And then we had the PHP, which was just a language that you can use to have a bit of logic in your servers and the server. Just like your computer had a file system where all the files of your upside, our story and a patch you just did that. Just listen to see if anybody entered fun. Fun website dot com into the URL If it got that request, it will just default. Give you index dot a shima If somebody injured fun fun website dot com slash about It will just give you about dot a shima. It was very simple, very easy server. That's what most hosting website like host Gator use And you might be asking, Could I just download Apache Server and just run my own server from your computer? Yeah, you absolutely can't. But without having a server software, well, our computer is unreachable. Nobody over the Internet can access our computer because our computer is not a server, has no code that tells it Hey, if I get a request, send this out. But as you saw in our previous videos, we can create fake servers to test our websites now this was the old way of doing things. There wasn't much logic to it. He can really expand on it. You can't have websites like Facebook or Amazon using this type of A system. Like I said, this was for very basic websites. Now a new stack something recall. An application server looks something more like this. Now an application server is different than our previous example because unlike using Apache Server, that is very simple and just does request response just GIF files there and back with a something like a note server where you have no Js running well, you can write script and say If I receive a request for a log in, then check the users user name in the database. If it matches, then let me know and then send a response through Jason to the front and application, and we can customize what the's scripts say. So far, we've only been able to use JavaScript on the Web, but now, with no Js, we can use it on a server on a computer that isn't running a Web browser with no g s. We can write JavaScript where if I posted something on Facebook. That post on Facebook when I click post will get sent to the notes server that's listening for requests. It will say that Andre just posted this message that is in Jason format. The no Js and Express she s file on the server will read it and we'll say, Ah, we want a store this post in our database And this database is gonna store that post so that when I come back next time it's still there. And then once that's done, it's going to respond with a success saying that my post is a success and now displays in my timeline, I can edit the Post Aiken, delete the post. And again, no server can delete that post from the database and then send a response and remove it from the timeline. You just have the power to constantly be interacting with the front end. Over the next couple of videos. We're gonna be building a project that incorporates all of this. We're going to create a note server using express. We're going to create our own database where we store user information, and we're going to be using Ajax and Jason to constantly create Sinan update user information. So we have an understanding of this full system. Well, if you're building websites and Web APS, well, you're not really building these as a Web developer. You're building something more similar to this. But you might be asking yourself, Is this It is the sea ultimate end to what a back end server infrastructure can do. We'll know if your Facebook or Twitter or Amazon you would do something like this and don't get too worried here. We can explain what's going on. You are just making copies of your computer. So think of each of these rectangles as a computer. And because Facebook gets a lot of people, it makes a copy off their server and put it baby in Asia and one in Africa so that everybody from Asia can access this one. And everybody from Africa can access this one instead of having everybody access one server and overload the system because they have the same server is just copying these files and putting it on a server somewhere else. That's it. And that's what we call Scalea. But they also still use the same data base so that if from this server. Somebody updates the information. Well, this person over here who uses this server, this user will still have access to the information that first and using this server update and then finally have something called a load balancer. And this is similar to what Apache or Engine X would do where it listens for a Nation DB request and in notices that food this one over here in North America is really, really busy right now. I'm going to transfer this person to this server over here and just balances the load off the servers. And you can keep growing this having more and more servers as you have more and more users . And finally, you can even have multiple databases again. These squares each represent a computer, a computer that's running a database of computer that's running a server, a computer that's running a load balancer, and you can have multiple databases again so that they don't get overwhelmed with all these requests, and each one maintains a copy of the other. And this something that we'll talk more when we get to the notes section and database section. But I wanted to show you the idea behind servers to work with the back end. The main goal is to make sure that when we make an http request from the front end that we get a response back as fast as possible with correct that. And that is what back in development is. Making sure that we return those resource is so that our front end team can be confident that we're going to receive exactly what we need. So I want you to get excited because over the next sections were gonna be focusing on the back end as well as the front it. We're gonna build a app that uses all of these technologies in one place. So you know exactly how everything is connected. And you have an idea of how to go from something like this to one day having something like this. I'll see in the next one the by.