Category: JavaScript 301

  • JavaScript 301: Introduction

    JavaScript 301: Intro In this advanced course, you will go above and beyond what you’ve developed so far to design high-quality, scalable programs. This course is designed to expand on what you learned in our intermediate JavaScript 201 course. If you haven’t finished this already, please do so before moving onto this course, as it…

  • JavaScript 301: Engine Internals

    JavaScript 301: Engine Internals JavaScript might seem magical on the surface. You write a few lines of code, and browsers or platforms know how to run your program seamlessly. In truth, the language is incredibly well designed, and both incredibly simple but exceptionally nuanced. To truly understand how JavaScript works, you need to look at…

  • JavaScript 301: Concurrency

    JavaScript 301: Concurrency Imagine five Greek philosophers sitting around a circular table. Between each pair of philosophers, there’s a fork. To eat, a philosopher needs to use both the fork on their left and the fork on their right. However, there’s a catch: only one philosopher can use a fork at a time. If each…

  • JavaScript 301: Design Patterns

    JavaScript 301: Design Patterns As you dive deeper into JavaScript as a professional, you’ll eventually work on writing larger and more complex applications that are delivered to thousands, if not millions of people. To deliver scalable solutions that can handle load, you need to understand and develop different design patterns. Design patterns provide general solutions…

  • JavaScript 301: Metaprogramming

    JavaScript 301: Metaprogramming One of JavaScript’s most powerful features is its ability to manipulate code with code. An ability known as metaprogramming, this allows you to interact with JavaScript objects in a dynamic way, and helps you write flexible, efficient code. For instance, you can manipulate code by using a proxy – that is, you…

  • JavaScript 301: Websockets

    JavaScript 301: WebSockets The web isn’t just about loading static pages. Many programs often need to allow for real-time communication between users or resources, allowing you to receive updates as they happen. This lesson is all about JavaScript WebSockets, a protocol and interface for two-way communications between a browser and a server. WebSockets allow servers…

  • JavaScript 301: Cross-Site Scripting

    JavaScript 301: Cross-Site Scripting When writing code for websites and web applications, security MUST be top priority. But in order to learn secure practice, it’s not enough to just be aware of the risks of bad code. A great programmer needs to have experience spotting vulnerable code, and be able to adjust code before it…

  • JavaScript 301: Secure Code

    JavaScript 301: Secure Code Practices As an extension to our XSS lesson, it’s extremely important that you develop experience and awareness of good security practice. Before you start this lesson, we strongly advise that you make yourself aware of the common vulnerabilities documented at OWASP, and be familiar with how to prevent such risks. To…

  • JavaScript 301: Challenge

    JavaScript 301: Challenge Congratulations! By getting this far, you have proved your ability to learn and apply some of the most advanced coding topics. You’re now ready for the final challenge of this course. On completion of the project below, you will have proved your ability to build advanced programs that can handle dynamic, complex…

  • JavaScript 301: Next Steps

    JavaScript 301: Next Steps You did it! By completing all of the challenges, you have officially completed this advanced JavaScript 301 course. Congratulations! 🎉🥳 Depending on your goals, you now have a choice for what you’d like to do next: If you have any feedback on this course or anything else, please feel free to…