Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA CompTIA Security+ Amazon AWS AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Web Development Node.Js

Learn and Understand NodeJS

Dive deep under the hood of NodeJS. Learn V8, Express, the MEAN stack, core Javascript concepts, and more.
Rating: 4.6 out of 54.6 (24,905 ratings)
108,234 students
Created by Anthony Alicea
Last updated 9/2020
English
English, Portuguese [Auto], 
30-Day Money-Back Guarantee

What you'll learn

  • Grasp how NodeJS works under the hood
  • Understand the Javascript and technical concepts behind NodeJS
  • Structure a Node application in modules
  • Understand and use the Event Emitter
  • Understand Buffers, Streams, and Pipes
  • Build a Web Server in Node and understand how it really works
  • Use npm and manage node packages
  • Build a web application and API more easily using Express
  • Connect to a SQL or Mongo database in Node
  • Understand how the MEAN stack works
  • Be the coder that explains NodeJS to everyone else because you understand it better than anyone else
Curated for the Udemy for Business collection

Course content

12 sections • 97 lectures • 13h 10m total length

  • Preview04:33
  • Preview01:13
  • Watching this Course in High Definition
    00:50
  • Preview09:49
  • Command Line References
    00:18

  • Preview10:07
  • Preview04:01
  • Preview05:57
  • Preview15:04

  • Preview06:45
  • What Does Javascript Need to Manage a Server?
    Preview02:18
  • Preview05:51
  • Preview03:04
  • Downloading Lecture Source Code
    00:33
  • Preview16:47

  • Conceptual Aside: Modules
    02:21
  • Javascript Aside: First-Class Functions and Function Expressions
    12:03
  • Let's Build a Module
    10:54
  • Javascript Aside: Objects and Object Literals
    06:55
  • Javascript Aside: Prototypal Inheritance and Function Constructors
    11:38
  • Javascript Aside: By Reference and By Value
    05:44
  • Javascript Aside: Immediately Invoked Function Expressions (IIFEs)
    07:42
  • How Do Node Modules Really Work?: module.exports and require
    17:33
  • Javascript Aside: JSON
    01:40
  • More on require
    11:39
  • Module Patterns
    19:12
  • exports vs module.exports
    10:02
  • Requiring Native (Core) Modules
    06:51
  • Modules and ES6
    02:36
  • Web Server Checklist
    01:21

  • Conceptual Aside: Events
    05:24
  • Javascript Aside: Object Properties, First Class Functions, and Arrays
    05:08
  • The Node Event Emitter - Part 1
    13:58
  • The Node Event Emitter - Part 2
    11:58
  • Javascript Aside: Object.create and Prototypes
    06:18
  • Inheriting From the Event Emitter
    14:40
  • Javascript Aside: Node, ES6, and Template Literals
    07:55
  • Javascript Aside: .call and .apply
    03:40
  • Inheriting From the Event Emitter - Part 2
    09:43
  • Javascript Aside: ES6 Classes
    08:43
  • Inheriting From the Event Emitter - Part 3
    06:00

  • Javascript Aside: Javascript is Synchronous
    02:38
  • Conceptual Aside: Callbacks
    01:29
  • libuv, The Event Loop, and Non-Blocking Asynchronous Execution
    11:39
  • Conceptual Aside: Streams and Buffers
    04:31
  • Conceptual Aside: Binary Data, Character Sets, and Encodings
    11:09
  • Buffers
    06:48
  • ES6 Typed Arrays
    04:52
  • Javascript Aside: Callbacks
    04:03
  • Files and fs
    15:52
  • Streams
    18:14
  • Conceptual Aside: Pipes
    02:14
  • Pipes
    15:51
  • Web Server Checklist
    02:37

  • Conceptual Aside: TCP/IP
    07:55
  • Conceptual Aside: Addresses and Ports
    03:11
  • Conceptual Aside: HTTP
    06:06
  • http_parser
    06:56
  • Let's Build a Web Server in Node
    17:26
  • Outputting HTML and Templates
    11:43
  • Streams and Performance
    05:11
  • Conceptual Aside: APIs and Endpoints
    02:37
  • Outputting JSON
    06:39
  • Routing
    11:02
  • Web Server Checklist
    02:24

  • Conceptual Aside: Packages and Package Managers
    03:07
  • Conceptual Aside: Semantic Versioning (semver)
    04:46
  • npm and the npm registry: Other People's Code
    04:59
  • init, nodemon, and package.json
    13:02
  • npm Global Installation
    00:11
  • init, nodemon, and package.json - Part 2
    15:17
  • Using Other People's Code
    01:43

  • Installing Express and Making it Easier to Build a Web Server
    16:01
  • Routes
    04:32
  • Static Files and Middleware
    14:58
  • Templates and Template Engines
    15:54
  • Querystring and Post Parameters
    18:21
  • RESTful APIs and JSON
    05:21
  • Structuring an App
    13:45

  • Conceptual Aside: Relational Databases and SQL
    03:48
  • Node and MySQL
    09:28
  • Conceptual Aside: NoSQL and Documents
    03:12
  • MongoDB and Mongoose
    10:50
  • Web Server Checklist
    01:07

Requirements

  • Basic Javascript knowledge (variables, loops, and basic functions)
  • Basic HTML knowledge
  • A text editor

Description

NodeJS is a rapidy growing web server technology, and Node developers are among the highest paid in the industry. Knowing NodeJS well will get you a job or improve your current one by enabling you to build high quality, robust web applications.

In this course you will gain a deep understanding of Node, learn how NodeJS works under the hood, and how that knowledge helps you avoid common pitfalls and drastically improve your ability to debug problems.

In this course we'll look at how the C++ written V8 Javascript engine works and how NodeJS uses it to expand the abilities of Javascript. You'll learn how to structure your code for reuse and to be easier to understand, manage, and expand using modules and understand how modules really work.

You'll learn how asynchronous code works in Node and the Node event loop, as well as how to use the event emitter, streams, buffers, pipes, and work with files. We'll see how that leads to building a web server in Node.

We'll dive into web sites, web apps and APIs with Express and learn how Express can save us time as Node developers.

You'll also gain an understanding of npm, connecting to databases, and the MEAN stack!

During it all you'll gain a deep understanding of the Javascript concepts and other computer science concepts that power Node.

NodeJS doesn't have to be hard to learn. The biggest mistake most coding tutorials make is expecting someone to learn simply by imitating others' code. Real world situations are never exactly like the tutorial.

I believe the best way to learn is to understand how a tool works and what it does for you, look at examples, and then try it yourself. That's how this course is built, with the goal to help you both learn and understand NodeJS.

Note: In this course you'll also get downloadable source code. You will often be provided with 'starter' code, giving you the base for you to start writing your code, and 'finished' code to compare your code to.

Who this course is for:

  • Those looking to build a career as a NodeJS developer
  • Those desiring to become MEAN stack developers
  • Those who don't have server technology experience but wish to gain this skill
  • Those coming from other server technologies (like PHP, ASP.NET, or Ruby on Rails) and want to learn Node
  • Those who want to only have to write both client and server code in one language: Javascript
  • Those who want to grasp Express

Featured review

Avinash Behera
Avinash Behera
41 courses
9 reviews
Rating: 4.5 out of 5a year ago
Thanks a ton to Tony for the deep dive into Node.js source code. Still a great course in 2019 to develop solid Node.js core concepts. Although the final project could have focused more on node basics and related libraries rather than the extraneous front end Angluar stuff.

Instructor

Anthony Alicea
Software Developer, Architect, and UX Designer
Anthony Alicea
  • 4.6 Instructor Rating
  • 88,178 Reviews
  • 278,132 Students
  • 8 Courses

                    Newly married in Cleveland Ohio, Tony is primarily focused these days on trying to be a good husband. While inexperienced at that, he's quite experienced in all things web. 

                    Tony has been programming since he was 12 years old, and got into web sites and web application development at 16. After graduating with a Computer Science degree from Case Western Reserve University, Tony continued with that interest as a Microsoft certified software application developer and architect, database designer, and user interface designer. 

               His experience has ranged across technologies such as HTML5, CSS3, ASP .NET MVC, JavaScript, jQuery, KnockoutJS, AngularJS, NodeJS, LESS, Bootstrap, SQL, Entity Framework and more. 

                    He believes strongly that deeply understanding any topic allows you to properly learn it and, even more importantly in a real-world environment, quickly overcome problems. 

                    He also has a deep interest in human nature and behavior, and how that impacts human-computer interaction. This interest translated into extending his career into user experience design and usability research. 

                    Another link in the chain is his 25 years of experience in public speaking and teaching, both in front of large groups and as a one-on-one private instructor. 

                    Putting all these pieces together, he has spent his career listening to a client need, designing a database and software to meet that need, building it, testing it, teaching others how to use it, then improving user experience by watching people actually use it and adjusting accordingly. 

                    Tony loves teaching every aspect of what he does, and even more loves teaching in a way that imparts understanding, as opposed to just examples intended to be parroted. He loves that moment when a student 'gets it', and that's what he wants for you when you take one of his courses. 

             He has found that those that learn purely by example, and not by understanding, end up much more limited than they need to be. 

             "Examples need to be built on top of context, and once you have context, you can not only copy the examples you find, but adjust and improve upon them." 

  He firmly believes that everyone has the ability to develop software, if they are just taught properly. Including you. 

  "It is my pleasure and privilege to teach you. I hope you'll come away knowing something you didn't before, understanding at a level deeper than before, and feeling positive that you can accomplish what you've set out to accomplish. Thank you!" - Tony Alicea 

  Ask Tony a question, read a post, or follow him around internet. 

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.