Companies Home Search Profile

Node JS: Advanced Concepts

Focused View

Stephen Grider

16:00:42

31 View
  • 001 How to Get Help.mp4
    01:07
  • 002 Course Resources.html
  • 002 diagrams.zip
  • 003 Join Our Community!.html
  • 004 Starting With Node Internals.mp4
    03:47
  • 005 Module Implementations.mp4
    08:23
  • 006 Node Backed by C++!.mp4
    06:33
  • 007 The Basics of Threads.mp4
    06:29
  • 008 The Node Event Loop.mp4
    06:34
  • 009 The Event Loop Implementation.mp4
    07:22
  • 010 Event Loop Ticks.mp4
    06:46
  • 011 Is Node Single Threaded.mp4
    05:06
  • 012 Testing for Single Threads.mp4
    06:49
  • 013 The Libuv Thread Pool.mp4
    03:07
  • 014 Threadpools with Multithreading.mp4
    06:06
  • 015 Changing Threadpool Size.mp4
    05:25
  • 016 Common Threadpool Questions.mp4
    03:16
  • 017 Explaining OS Operations.mp4
    03:52
  • 018 Libuv OS Delegation.mp4
    03:19
  • 019 OSAsync Common Questions.mp4
    02:40
  • 020 Review.mp4
    02:48
  • 021 Crazy Node Behavior.mp4
    07:39
  • 022 Unexpected Event Loop Events.mp4
    11:23
  • 001 Enhancing Performance.mp4
    02:18
  • 002 Express Setup.mp4
    03:22
  • 003 Blocking the Event Loop.mp4
    07:07
  • 004 Clustering in Theory.mp4
    05:11
  • 005 Forking Children.mp4
    05:37
  • 006 Clustering in Action.mp4
    05:33
  • 007 Benchmarking Server Performance.mp4
    05:16
  • 008 Benchmark Refactor.mp4
    03:55
  • 009 Need More Children!.mp4
    16:42
  • 010 PM2 Installation.mp4
    02:53
  • 011 PM2 Configuration.mp4
    06:49
  • 012 Important Note about the Upcoming Videos.html
  • 013 Webworker Threads.mp4
    02:27
  • 014 Worker Threads in Action.mp4
    11:34
  • 015 Benchmarking Workers.mp4
    05:17
  • 001 The Next Phase.mp4
    02:12
  • 002 Updated Boilerplate.html
  • 002 boilerplate.zip
  • 003 Project Walkthrough.mp4
    08:42
  • 004 Key Customization.mp4
    03:11
  • 005 MongoDB Altas Setup and Configuration.html
  • 006 MongoDB Creation.mp4
    06:23
  • 007 Routes Walkthrough.mp4
    04:18
  • 001 MongoDB Query Performance.mp4
    10:42
  • 002 Query Caching Layer.mp4
    07:55
  • 003 Redis Introduction.mp4
    03:22
  • 004 Installing Redis on MacOS.mp4
    03:19
  • 005 Redis on Windows.html
  • 006 Getting and Setting Basic Values.mp4
    06:47
  • 007 Redis Hashes.mp4
    06:57
  • 008 One Redis Gotcha.mp4
    02:53
  • 009 Cache Keys.mp4
    07:47
  • 010 Promisifying a Function.mp4
    08:07
  • 011 Caching in Action.mp4
    07:59
  • 012 Caching Issues.mp4
    05:26
  • 013 The Ultimate Caching Solution.mp4
    20:59
  • 014 Patching Mongooses Exec.mp4
    10:42
  • 015 Restoring Blog Routes Handler.mp4
    02:05
  • 016 Unique Keys.mp4
    06:00
  • 017 Key Creation.mp4
    03:09
  • 018 Restoring Redis Config.mp4
    01:27
  • 019 Cache Implementation.mp4
    04:27
  • 020 Resolving Values.mp4
    05:46
  • 021 Hydrating Models.mp4
    06:25
  • 022 Hydrating Arrays.mp4
    03:27
  • 023 Toggleable Cache.mp4
    08:41
  • 024 Cache Expiration.mp4
    02:30
  • 025 Forced Cache Expiration.mp4
    05:15
  • 026 Nested Hashes.mp4
    06:46
  • 027 Clearing Nested hashes.mp4
    04:36
  • 028 Automated Cache Clearing with Middlware.mp4
    06:39
  • 001 Testing Flow.mp4
    06:38
  • 002 Testing Challenges.mp4
    03:25
  • 003 Commands Around Testing.mp4
    03:13
  • 004 First Jest Test.mp4
    04:26
  • 005 Launching Chromium Instances.mp4
    09:50
  • 006 Chromium Navigation.mp4
    04:31
  • 007 Extracting Page Content.mp4
    05:03
  • 008 Puppeteer - Behind the Scenes.mp4
    04:44
  • 009 DRY Tests.mp4
    03:23
  • 010 Browser Termination.mp4
    01:34
  • 011 Asserting OAuth Flow.mp4
    07:29
  • 012 Asserting URL Domain.mp4
    03:00
  • 013 Issues with OAuth.mp4
    05:11
  • 014 Solving Authentication Issues with Automation Testing.mp4
    04:36
  • 015 The Google OAuth Flow.mp4
    07:16
  • 016 Inner Workings of Sessions.mp4
    12:06
  • 017 Sessions From Another Angle.mp4
    08:22
  • 018 Session Signatures.mp4
    11:33
  • 019 Generating Sessions and Signatures.mp4
    09:03
  • 020 Assembling the Pieces.mp4
    08:07
  • 021 WaitFor Statements.mp4
    09:17
  • 022 Factory Functions.mp4
    04:59
  • 023 The Session Factory.mp4
    08:48
  • 024 Assembling the Session Factory.mp4
    03:03
  • 025 Code Separation.mp4
    06:22
  • 026 Required Update to Global Jest setup.js.html
  • 027 Global Jest Setup.mp4
    07:00
  • 028 Testing Factory Tests!.mp4
    03:41
  • 029 Adding a Login Method.mp4
    05:01
  • 030 Extending Page.mp4
    07:58
  • 031 Introduction to Proxies.mp4
    07:46
  • 032 Proxies in Action.mp4
    12:10
  • 033 Combining Object Property Access.mp4
    08:17
  • 034 Combining the Page and Browser.mp4
    08:37
  • 035 Custom Page Implementation.mp4
    04:16
  • 036 Function Lookup Priority.mp4
    04:26
  • 037 Gee, I Hope This Works!.mp4
    05:32
  • 038 Reusable Functions on Page.mp4
    05:38
  • 039 Testing Blog Creation.mp4
    04:53
  • 040 Default Navigation.mp4
    05:30
  • 041 Asserting Form Display.mp4
    05:59
  • 042 Test Timeout.mp4
    05:23
  • 043 Common Test Setup.mp4
    05:07
  • 044 Nested Describes for Structure.mp4
    07:00
  • 045 Asserting Validation Errors.mp4
    07:39
  • 046 Asserting Form Confirmation.mp4
    06:25
  • 047 Asserting Blog Creation.mp4
    05:57
  • 048 Options for Testing Prohibited Actions.mp4
    03:32
  • 049 Direct API Requests.mp4
    11:44
  • 050 Executed Arbitrary JS in Chromium.mp4
    03:54
  • 051 Asserting Page Response.mp4
    07:24
  • 052 Get Restrictions.mp4
    02:44
  • 053 A Final GET Test.mp4
    02:56
  • 054 Super Advanced Test Helpers.mp4
    31:45
  • 055 Completed Code Checkpoint.html
  • 055 testing-checkpoint.zip
  • 001 Introduction to CI.mp4
    07:24
  • 002 CI Providers.mp4
    06:21
  • 003 The Basics of YAML Files.mp4
    04:22
  • 004 Github Actions instead of Travis for CI.html
  • 005 Travis YAML Setup.mp4
    10:04
  • 006 More Travis YAML.mp4
    05:08
  • 007 Client Builds.mp4
    06:37
  • 008 Script Config.mp4
    06:18
  • 009 Using Travis Documentation.mp4
    05:44
  • 010 More Server Configuration.mp4
    13:26
  • 011 Note - Travis Update.html
  • 012 A Touch More Configuration.mp4
    03:11
  • 013 Git Repo Setup.mp4
    04:18
  • 014 Travis CI Setup.mp4
    02:15
  • 015 Triggering CI Builds.mp4
    02:48
  • 016 Build Success.mp4
    01:18
  • 017 Completed Code Checkpoint.html
  • 017 ci-checkpoint.zip
  • 001 Image Upload.mp4
    02:15
  • 002 Big Issues Around Image Upload.mp4
    04:40
  • 003 Alternate Image Upload.mp4
    03:33
  • 004 Chosen Storage Solution.mp4
    04:17
  • 005 Upload Constraints.mp4
    04:26
  • 006 Image File Transport.mp4
    06:04
  • 007 Upload Flow with AWS S3.mp4
    05:22
  • 008 Details of the Presigned URL.mp4
    06:47
  • 009 Security Issues Solved with Presigned URLs.mp4
    04:15
  • 010 Adding an Image Picker.mp4
    03:30
  • 011 Handling File Changes.mp4
    04:39
  • 012 Recording Image Files.mp4
    04:38
  • 013 The SubmitBlog Function.mp4
    03:07
  • 014 AWS Credentials with IAM.mp4
    05:08
  • 015 Creating S3 Buckets.mp4
    03:16
  • 016 Allowing Actions with IAM Policies.mp4
    08:17
  • 017 Creating IAM Users.mp4
    04:41
  • 018 Upload Routes Files.mp4
    05:14
  • 019 Required update for uploadRoutes.html
  • 020 Configuring the AWS SDK.mp4
    03:18
  • 021 GetSignedURL Arguments.mp4
    10:06
  • 022 Calling GetSignedURL.mp4
    09:35
  • 023 Viewing the Signed URL.mp4
    02:17
  • 024 Attempting Image Upload.mp4
    07:59
  • 025 CORS Configuration in JSON Form.html
  • 026 Handling CORS Errors.mp4
    05:20
  • 027 Outstanding Issues.mp4
    01:39
  • 028 S3 Bucket Policies.mp4
    05:01
  • 029 Tying Uploads to Blogs.mp4
    04:18
  • 030 Ensuring Images get Tied.mp4
    02:01
  • 031 Displaying Images.mp4
    04:06
  • 032 Completed Code.html
  • 032 completed.zip
  • 001 Bonus!.html
  • Description


    Get advanced with Node.Js! Learn caching with Redis, speed up through clustering, and add image upload with S3 and Node!

    What You'll Learn?


    • Absolutely master the Event Loop and understand each of its stages
    • Utilize Worker Threads and Clustering to dramatically improve the performance of Node servers
    • Speed up database queries with caching for MongoDB backed by Redis
    • Add automated browser testing to your Node server, complete with continuous integration pipeline setup
    • Apply scalable image and file upload to your app, utilizing AWS S3

    Who is this for?


  • Anyone who wants a deep mastery of Node
  • Engineers looking to understand the internals of Node
  • Programmers looking to improve Node's performance
  • What You Need to Know?


  • Basic knowledge of Node, Express, and MongoDB
  • Strong knowledge of Javascript
  • More details


    Description

    Go beyond the basics of Node!  This course will give you the skills needed to become a top Node engineer.

    Query Caching with Redis? You will learn it.  The Node Event Loop? Included.  Scalable File Upload? Of course!

    ------------------------------

    This is a must-take course if you work with Node.

    Node Internals: Here's one of the most common interview questions you'll face when looking for a Node job: "Can you explain Node's Event Loop?" There are two types of engineers: those who can describe the Event Loop and those who cannot!  This course will ensure that you are incredibly well prepared to answer that most important question.  Besides being critical for interviews, knowledge of the Event Loop will give you a better understanding of how Node works internally.  Many engineers know not to 'block' the Event Loop, but they don't necessarily understand why.  You will be one of the engineers who can clearly articulate the performance profile of Node and its Event Loop.

    Caching with Redis: We'll also supercharge the performance of database queries by implementing caching backed by Redis.  No previous experience of Redis is required!  Redis is an in-memory data store purpose built for solving caching needs.  By adding caching to your application, you can decrease the amount of time that any given request takes, improving the overall response time of your app.

    File Upload: There are many resources online that offer suggestions on how to handle file upload, but few show a solution that can truly scale.  Hint: saving files directly on your server isn't a scalable solution!  Learn how to leverage AWS S3 to implement file upload that can scale to millions of users with a few dozen lines of simple code.  Plentiful discussions are included on security concerns with handling uploads, as well.

    Continuous Integration Testing: This is a must have feature for any serious production app.  We'll first learn how to test huge swaths of our codebase with just a few lines of code by using Puppeteer and Jest.  After writing many effective tests, we'll enable continuous integration on Travis CI, a popular - and free - CI platform.  Testing can sometimes be boring, so we'll use this section to brush up on some advanced Javascript techniques, including one of the only legitimate uses of ES2015 Proxies that you'll ever see!

    ------------------------------

    Here's what we'll learn:

    • Master the Node Event Loop - understand how Node executes your source code. 
    • Understand the purpose of Node, and how the code you write is eventually executed by  C++ code in the V8 engine
    • Add a huge boost to performance in your Node app through clustering and worker threads
    • Turbocharge MongoDB queries by adding query caching backed by a lightning-fast Redis instance
    • Scale your app to infinity with image and file upload backed by Amazon's S3 file service
    • Implement a continuous integration testing pipeline so you always know your project functions properly
    • Think you know everything there is about managing  cookies and session?  Well, you might, but learn even more!
    • Ensure your app works the way you expect with automated browser testing using Jest and Puppeteer
    • Bonus - learn advanced JS techniques along the way, including where to use ES2015 proxies!

    I've built the course that I would have wanted to take when I was learning to Node. A course that explains the concepts and how they're implemented in the best order for you to learn and deeply understand them.

    Who this course is for:

    • Anyone who wants a deep mastery of Node
    • Engineers looking to understand the internals of Node
    • Programmers looking to improve Node's performance

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category
    Stephen Grider
    Stephen Grider
    Instructor's Courses
    Stephen Grider has been building complex Javascript front ends for top corporations in the San Francisco Bay Area.  With an innate ability to simplify complex topics, Stephen has been mentoring engineers beginning their careers in software development for years, and has now expanded that experience onto Udemy, authoring the highest rated React course. He teaches on Udemy to share the knowledge he has gained with other software engineers.  Invest in yourself by learning from Stephen's published courses.
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 162
    • duration 16:00:42
    • English subtitles has
    • Release Date 2023/10/08