آموزش توسعه‌دهنده کامل NodeJS (گراف‌کیوال، مانگودی‌بی، و بیشتر) - آخرین آپدیت

دانلود Complete NodeJS Developer (GraphQL, MongoDB, + more)

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

یادگیری Node.js از متخصصان واقعی Node.js! شامل مباحث پیشرفته واقعی Node.js. آشنایی با Express، GraphQL، REST، MongoDB، SQL، MERN و موارد دیگر.

ساخت اپلیکیشن‌های Node در سطح سازمانی و استقرار در فضای ابری (AWS).

یادگیری ساخت اپلیکیشن‌های امن، با کارایی بالا و در مقیاس بزرگ مانند یک توسعه‌دهنده بک‌اند ارشد.

رهبری پروژه‌های Node.js با تصمیم‌گیری‌های معماری صحیح و کمک به هم‌تیمی‌ها.

ساخت اپلیکیشن‌های تولیدی Node.js شامل REST API و GraphQL API.

کار با داده‌های واقعی و SpaceX API برای ساخت سیستم پرتاب ناسا، کشف سیارات جدید و پروژه‌های دیگر.

مباحث کلیدی برای توسعه‌دهندگان بک‌اند: احراز هویت، ورودی/خروجی فایل، پایگاه داده (SQL، MongoDB)، Express Framework، Sockets و بسیاری موارد دیگر.

ساخت اپلیکیشن فول‌استک MERN (MongoDB، Express، React، Node) و استقرار آن در محیط پروداکشن.

بهینه‌سازی بار (Load Balancing)، مانیتورینگ، CI/CD و استقرار بدون قطعی (Zero Downtime Deployment).

تبدیل شدن به 10% برتر توسعه‌دهندگان Node.js با یادگیری مباحث فوق پیشرفته!

تمرکز بر بهترین شیوه‌های امنیتی در طول دوره برای اطمینان از استقرارهای امن.

تسلط کامل بر اکوسیستم مدرن Node.js از پایه.

پیش‌نیازها

  • دانش پایه‌ی جاوااسکریپت کافی است.
  • نیازی به تجربه قبلی با Node.js نیست!
  • نیازی به تجربه قبلی در توسعه بک‌اند نیست!

آخرین به‌روزرسانی با بهترین شیوه‌ها و روندهای جدید Node.js! به یک جامعه آنلاین زنده با بیش از 900,000 توسعه‌دهنده بپیوندید و دوره‌ای را توسط متخصصان صنعت که در Silicon Valley و Toronto با Node.js کار کرده‌اند، دنبال کنید.

این دوره با استفاده از آخرین نسخه Node، بر کارایی تمرکز دارد و شما را به یک توسعه‌دهنده بک‌اند یا فول‌استک تبدیل می‌کند. دیگر وقت خود را صرف آموزش‌های گیج‌کننده، قدیمی یا ناقص نکنید! فارغ‌التحصیلان دوره‌های Andrei در شرکت‌های برتر فناوری مانند Google، Tesla، Amazon، Apple، IBM، JP Morgan، Facebook و ... مشغول به کار شده‌اند و این بی‌دلیل نیست.

ما تضمین می‌کنیم که این جامع‌ترین منبع آنلاین Node.js است. این دوره مبتنی بر پروژه، شما را با تمام ابزارهای مدرن توسعه‌دهنده Node.js آشنا می‌کند. در طول دوره، یک اپلیکیشن بزرگ پرتاب فضایی ناسا با استفاده از Node.js، Express Framework، RESTful API، GraphQL و موارد دیگر خواهیم ساخت! این یک اپلیکیشن کامل MERN خواهد بود. همچنین پروژه‌های کوچک متعددی خواهیم داشت تا اطمینان حاصل کنید که می‌توانید هر پروژه Node.js را در آینده با اطمینان به صورت مستقل به محیط پروداکشن منتقل کنید!

تمام کدها گام به گام ارائه می‌شوند و حتی اگر نمی‌خواهید همزمان کد بزنید، به تمام کدهای پروژه‌ها دسترسی خواهید داشت تا فوراً یک پروژه در رزومه خود داشته باشید.

سرفصل‌های دوره بسیار عملی هستند و شما را از ابتدا تا انتهای انتشار یک پروژه حرفه‌ای Node.js (با کارایی و امنیت بالا) به محیط پروداکشن همراهی می‌کنند. از مباحث پایه Node شروع کرده و سپس به موضوعات پیشرفته می‌پردازیم تا بتوانید تصمیمات معماری و ابزاری خوبی برای پروژه‌های آینده Node.js خود بگیرید. هدف، تبدیل شما به یک توسعه‌دهنده بک‌اند ارشد است!

آنچه در دوره خواهید آموخت:

1. مبانی Node.js

  • تمرکز بر جزئیات داخلی Node
  • Libuv، رشته‌ها (Threads)، پردازش‌ها (Processes)، حلقه رویداد (Event Loop)
  • برنامه‌نویسی ناهمگام (Asynchronous Programming)
  • مقایسه Node با PHP و Python
  • الگوی طراحی Observer
  • Event Emitters

2. سیستم ماژول در Node.js

  • تابع require
  • ساخت ماژول‌های سفارشی
  • تفاوت CommonJS و ECMAScript (ES6) Modules
  • کش ماژول‌ها (Module Caching)
  • استفاده از index.js

3. مدیریت پکیج‌ها (Package Management)

  • NPM: مدیریت پکیج Node
  • ساخت پکیج‌های سفارشی
  • پکیج‌ها و رجیستری NPM
  • ماژول‌های شخص ثالث
  • فولدر node_modules
  • Semantic Versioning
  • فایل package-lock.json و Versioning
  • آسیب‌پذیری‌ها در وابستگی‌ها (Dependencies)

4. ورودی/خروجی فایل (File I/O): پروژه سیارات

  • کاوش سیارات فراخورشیدی با Node.js
  • کار با داده‌های تلسکوپ فضایی کپلر
  • کار با استریم‌ها (Streams)
  • استریم کردن فایل‌های داده بزرگ
  • تجزیه و تحلیل داده‌های سیارات
  • کار با فایل‌های CSV
  • یافتن سیارات قابل سکونت

5. وب سرورها

  • وب سرور چیست؟
  • درخواست‌ها و پاسخ‌های HTTP
  • API های HTTP و مسیریابی (Routing)، URL های پارامتردار
  • Same Origin Policy، CORS
  • درخواست‌ها و پاسخ‌ها به عنوان استریم

6. Express.js

  • مقایسه Express، Next.js و Koa
  • پارامترهای مسیر (Route Parameters)
  • الگوی Model View Controller (MVC)
  • Postman و Insomnia
  • وابستگی‌های توسعه (Development Dependencies)
  • Middleware
  • مثال Middleware برای لاگ کردن / نوشتن Middleware سفارشی
  • درخواست‌های POST در Express
  • MVC در Express
  • Express Routers
  • RESTful APIs
  • عملیات CRUD
  • ارسال فایل‌ها
  • سرویس‌دهی وب‌سایت‌ها با Node
  • موتورهای قالب‌بندی (Templating Engines)

7. پروژه Node.js ناسا

  • نمودارهای معماری در LucidChart
  • مسیرهای GET، POST، DELETE
  • سرویس‌دهی اپلیکیشن‌های React.js در Express
  • Middleware CORS
  • Models در مقابل Controllers در مقابل Routers
  • بارگذاری داده‌ها هنگام راه‌اندازی
  • خودکارسازی اپلیکیشن‌های فول‌استک با NPM
  • سرویس‌دهی فرانت‌اند React در محیط پروداکشن
  • لاگ کردن درخواست‌ها با Morgan
  • سرویس‌دهی اپلیکیشن‌ها با Client Side Routing
  • ساخت لایه دسترسی به داده (Data Access Layer)
  • یکپارچه‌سازی با فرانت‌اند: رویکرد از بالا به پایین و از پایین به بالا
  • به‌روزرسانی معماری ما

8. تست API ها

  • تست‌های واحد (Unit Tests) در مقابل تست‌های API در مقابل تست‌های UI
  • تست API های Node با Jest و Supertest

9. بهبود عملکرد Node.js

  • مثال اپلیکیشن که حلقه رویداد را مسدود می‌کند + توابع مسدودکننده واقعی
  • ماژول Node Cluster در تئوری و عمل
  • Clustering در دنیای واقعی
  • Load Balancing
  • PM2 در تئوری و عمل
  • مدیریت Cluster های زنده با PM2
  • راه‌اندازی مجدد بدون قطعی (Zero Downtime Restarts)
  • بهبود عملکرد پروژه ناسا
  • API های بدون حالت (Stateless APIs)
  • Node Worker Threads

10. پایگاه‌های داده

  • استفاده از MongoDB برای افزودن پایداری به پروژه ناسا
  • تمرکز بر مقایسه NoSQL با SQL، PostgreSQL با MongoDB، زمان استفاده از هر کدام شامل روندها، ناهماهنگی شی‌گرا-رابطه‌ای (Object-Relational Mismatch)، ACID، ارجاعات (References)، Schema ها. Schema-less در مقابل Schemas
  • MongoDB Atlas
  • مقیاس‌پذیری افقی پایگاه‌های داده
  • Mongoose
  • Mongoose Models در مقابل MVC Models
  • ObjectIDs در MongoDB
  • صفحه‌بندی (Pagination)
  • انتخاب پایگاه داده برای API ناسا

11. کار با REST API ها

  • نمایش یکپارچه‌سازی با REST API با کار با SpaceX API
  • نسخه‌بندی REST API ها
  • اجرای کوئری‌های جستجو
  • داده‌های پرتاب SpaceX
  • نگاشت داده‌های API به پایگاه داده ما
  • استفاده از API های صفحه‌بندی شده
  • افزودن صفحه‌بندی به API

12. احراز هویت

  • تمرکز بر اصول اولیه امنیتی با JWT، کوکی‌ها، CSRF
  • سرورها با HTTPS و SSL / TLS
  • HelmetJS
  • کار با Auth0

13. استقرار و CI/CD

  • تمرکز بر ساخت یک Pipeline CI ساده برای پروژه ناسا در GitHub
  • CI در مقابل CD چیست؟
  • تست‌های خودکار
  • پیکربندی پویا با Secrets

14. Node در پروداکشن و فضای ابری (AWS)

  • استقرار در پروداکشن با Docker بر روی Amazon EC2
  • ماشین‌های مجازی (Virtual Machines)
  • Serverless در مقابل Containers
  • فایل‌های Docker
  • مدیریت Container ها و Image های Docker
  • کار با SSH
  • استقرار در پروداکشن با PM2 و Mongo Atlas

15. GraphQL

  • مقایسه GraphQL با REST
  • ساخت GraphQL API

16. Sockets (WebSockets, Socket.io)

  • مروری بر Sockets
  • Sockets در مقابل Polling
  • WebSockets (در مقابل Socket.io)
  • API های کلاینت و سرور Socket.io
  • Broadcasting Events
  • ساخت بازی چندنفره Pong فول‌استک با Sockets
  • پیاده‌سازی منطق بازی Pong
  • استفاده از Socket.io با Express.js
  • Namespaces و Rooms

17-20. بخش‌های جایزه شامل Deno، جاوااسکریپت ناهمگام پیشرفته، SQL و TypeScript!

این دوره صرفاً کد زدن بدون درک اصول نیست تا پس از اتمام دوره، ندانید چکار کنید جز تماشای یک آموزش دیگر. نه! این دوره شما را به چالش می‌کشد تا از یک مبتدی مطلق در Node.js به فردی در 10% برتر توسعه‌دهندگان بک‌اند Node.js تبدیل شوید.

ما تضمین می‌کنیم که این جامع‌ترین دوره آنلاین Node.js است! ویدیوی outline دوره را ببینید تا تمام موضوعاتی که پوشش می‌دهیم، تمام پروژه‌هایی که می‌سازیم و تمام تکنیک‌هایی که برای تبدیل شدن به یک توسعه‌دهنده برتر Node یاد می‌گیرید را مشاهده کنید.

منتظر شما هستیم!


سرفصل ها و درس ها

مقدمه Introduction

  • مرور کلی دوره Course Outline

  • به کلاس آنلاین ما بپیوندید! Join Our Online Classroom!

  • تمرین: با همکلاسی‌ها و مدرس خود آشنا شوید Exercise: Meet Your Classmates and Instructor

  • Node.js - چگونه به اینجا رسیدیم Node.js - How We Got Here

  • محیط زمان اجرای Node.js Node.js Runtime

  • چگونه در دوره موفق شویم How To Succeed In The Course

  • آخرین نسخه Node.js Latest Version Of Node.js

  • پروژه‌های دوره + کد + منابع Course Projects + Code + Resources

  • منابع ZTM ZTM Resources

مبانی Node.js: پایه‌ها و راه‌اندازی محیط Node.js Fundamentals: Foundations and Environment Setup

  • اختیاری: نصب Node.js OPTIONAL: Installing Node.js

  • اختیاری: نکات نصب ویندوز OPTIONAL: Windows Installation Tips

  • چرخه انتشار Node.js The Node.js Release Cycle

  • REPL Node.js The Node.js REPL

  • وب دولوپر ماهانه Web Developer Monthly

  • راه‌اندازی محیط توسعه ما Setting Up Our Developer Environment

  • اولین برنامه Node.js ما Our First Node.js App

  • Node.js در مقابل JavaScript Node.js VS JavaScript

  • شیء سراسری (Global Object) The global Object

  • مقدمه‌ای بر بک‌اند در مقابل فرانت‌اند Introduction to Backend VS Frontend

  • چالش‌های کدنویسی ماهانه، منابع و راهنمای رایگان Monthly Coding Challenges, Free Resources and Guides

مبانی Node.js: جزئیات داخلی Node.js Fundamentals: Internals

  • Node.js شامل چه چیزهایی است What Node.js Includes

  • بررسی عمیق جزئیات داخلی Node Node Internals Deep Dive

  • بررسی عمیق جزئیات داخلی libuv libuv Internals Deep Dive

  • همزمان (Synchronous) در مقابل ناهمزمان (Asynchronous) Synchronous vs Asynchronous

  • توابع بازگشتی ناهمزمان (Asynchronous Callbacks) Asynchronous Callbacks

  • ورودی و خروجی غیر مسدود کننده (Non-Blocking Input & Output) Non-Blocking Input & Output

  • تمرین: آیا JavaScript ناهمزمان است؟ Exercise: Is JavaScript Asynchronous?

  • چند رشته‌ای (Multi-Threading)، فرآیندها (Processes) و رشته‌ها (Threads) Multi-Threading, Processes, and Threads

  • آیا Node.js چند رشته‌ای است؟ Is Node.js Multi-Threaded?

  • حلقه رویداد (Event Loop) The Event Loop

  • صف‌های بازگشتی (Callback Queues) Callback Queues

  • فازهای حلقه رویداد Phases of the Event Loop

  • مقایسه Node با PHP و Python Comparing Node With PHP and Python

  • Node.js در چه مواردی بهترین است؟ What Is Node.js Best At?

  • الگوی طراحی مشاهده‌گر (Observer Design Pattern) Observer Design Pattern

  • منتشر کننده رویداد Node (Node Event Emitter) The Node Event Emitter

  • مسیر پیشنهادی: جاوا اسکریپت ناهمزمان Recommended Path: Asynchronous JavaScript

مبانی Node.js: سیستم ماژول Node.js Fundamentals: Module System

  • تابع require The require Function

  • انجام درخواست‌های HTTP Making HTTP Requests

  • چرا از ماژول‌ها استفاده کنیم؟ Why Use Modules?

  • ایجاد ماژول‌های خودمان Creating Our Own Modules

  • خروجی از ماژول‌ها Exporting From Modules

  • ماژول‌های CommonJS در مقابل ماژول‌های ECMAScript CommonJS vs ECMAScript Modules

  • ایجاد ماژول‌های ECMAScript خودمان Creating Our Own ECMAScript Modules

  • کش کردن ماژول‌ها (Module Caching) Module Caching

  • استفاده از index.js Using index.js

  • آیا باید از index.js استفاده کنیم؟ Should We Use index.js?

مبانی Node.js: مدیریت بسته Node.js Fundamentals: Package Management

  • NPM: مدیر بسته Node NPM: The Node Package Manager

  • ایجاد اولین بسته NPM خودمان Creating Our First NPM Package

  • بسته‌ها و رجیستری NPM Packages And The NPM Registry

  • استفاده از ماژول‌های شخص ثالث Using Third Party Modules

  • پوشه node_modules The node_modules Folder

  • نسخه‌بندی معنایی (Semantic Versioning) Semantic Versioning

  • package-lock.json و نسخه‌بندی package-lock.json and Versioning

  • آسیب‌پذیری‌ها در وابستگی‌ها Vulnerabilities In Dependencies

  • نصب ابزارهای NPM: nodemon Installing NPM Tools: nodemon

  • تاییدهای لینکدین LinkedIn Endorsements

ورودی/خروجی فایل Node.js - پروژه سیارات Node.js File I/O - Planets Project

  • کد این بخش Code For This Section

  • کاوش سیارات با Node Exploring Planets With Node

  • وارد کردن داده‌های تلسکوپ فضایی کپلر Importing Kepler Space Telescope Data

  • راه‌اندازی تجزیه‌کننده CSV خودمان Setting Up Our CSV Parser

  • آخرین نسخه تجزیه‌کننده CSV Latest Version of CSV Parser

  • جریان‌دهی (Streaming) فایل‌های داده بزرگ Streaming Large Data Files

  • خواندن داده‌های سیاراتمان Reading Our Planets Data

  • تجزیه داده‌های سیاراتمان Parsing Our Planets Data

  • یافتن سیارات قابل سکونت Finding Habitable Planets

  • کاوش سیارات قابل سکونت Exploring Habitable Planets

سرورهای وب با Node.js Web Servers with Node.js

  • کد این بخش Code For This Section

  • سرور وب چیست؟ What is a Web Server?

  • مقدمه‌ای بر پاسخ‌ها و درخواست‌های HTTP Introduction to HTTP Responses and Requests

  • درخواست‌های HTTP HTTP Requests

  • پاسخ‌های HTTP HTTP Responses

  • اولین وب سرور ما Our First Webserver

  • APIهای HTTP و مسیریابی HTTP APIs and Routing

  • URLهای پارامتری Parameterized URLs

  • سیاست مبدأ یکسان (Same Origin Policy) Same Origin Policy

  • تمرین: سیاست مبدأ یکسان Exercise: Same Origin Policy

  • اشتراک منابع بین مبدأها (Cross Origin Resource Sharing - CORS) Cross Origin Resource Sharing (CORS)

  • ارسال داده‌ها به سرور با POST POSTing Data to the Server

  • درخواست‌ها و پاسخ‌ها به عنوان جریان Requests and Responses as Streams

  • خلاصه سرورهای وب Web Servers Recap

اولین API با Express.js First Express.js API

  • کد این بخش Code For This Section

  • چرا Express؟ Why Express?

  • مقدمه‌ای بر Express Introduction to Express

  • Express در مقابل Next.js در مقابل Koa Express vs Next.js vs Koa

  • پارامترهای مسیر (Route Parameters) Route Parameters

  • Postman و Insomnia Postman and Insomnia

  • وابستگی‌های توسعه (Development Dependencies) Development Dependencies

  • میان‌افزار (Middleware) Middleware

  • نوشتن میان‌افزار ثبت وقایع خودمان Writing Our Own Logging Middleware

  • درخواست‌های POST در Express POST Requests in Express

  • مدل، نما، کنترل‌کننده (Model View Controller - MVC) Model View Controller (MVC)

  • مدل، نما، کنترل‌کننده در Express Model View Controller in Express

  • مسیریاب‌های Express (Express Routers) Express Routers

  • APIهای RESTful RESTful APIs

  • ایجاد، خواندن، به‌روزرسانی و حذف (CRUD) Create Read Update and Delete (CRUD)

  • ارسال فایل‌ها Sending Files

  • سرو کردن وب‌سایت‌ها با Node Serving Websites With Node

  • موتورهای قالب‌بندی (Templating Engines) Templating Engines

  • چیدمان‌ها و جداسازی دغدغه‌ها (Separation of Concerns) Layouts and Separation of Concerns

پروژه ناسا NASA Project

  • کد این بخش Code For This Section

  • مقدمه و معماری Introduction & Architecture

  • راه‌اندازی فرانت‌اند داشبورد ناسا NASA Dashboard Front End Setup

  • عملکرد داشبورد ناسا NASA Dashboard Functionality

  • آنچه باید بدانید What You Need To Know

  • بررسی کد فرانت‌اند React.js React.js Front End Code Walkthrough

  • راه‌اندازی سرور API API Server Setup

  • متغیرهای محیطی در ویندوز Environment Variables On Windows

  • GET /planets GET /planets

  • میان‌افزار CORS CORS Middleware

  • مدل‌ها در مقابل کنترل‌کننده‌ها در مقابل مسیریاب‌ها Models vs Controllers vs Routers

  • مدل سیارات The Planets Model

  • بارگذاری داده‌ها در زمان راه‌اندازی Loading Data On Startup

  • مشکلات رایج با اسکریپت‌های NPM Common Issues With NPM Scripts

  • خودکارسازی برنامه‌های Full Stack با NPM Automating Full Stack Applications With NPM

  • سرو کردن فرانت‌اند React.js در محیط پروداکشن Serving React.js Front End In Production

  • تنظیم BUILD_PATH در ویندوز Setting BUILD_PATH On Windows

  • ثبت وقایع درخواست‌ها با مورگان (Morgan) Logging Requests With Morgan

  • مدل پرتاب‌ها (Launches Model) The Launches Model

  • GET /launches GET /launches

  • سرو کردن برنامه‌ها با مسیریابی سمت کلاینت Serving Applications With Client Side Routing

  • کار با مدل‌های داده: ساخت لایه دسترسی به داده Working With Data Models: Building a Data Access Layer

  • POST /launches: ایجاد پرتاب‌ها 1 POST /launches: Creating Launches 1

  • POST /launches: ایجاد پرتاب‌ها 2 POST /launches: Creating Launches 2

  • POST /launches: اعتبارسنجی برای درخواست‌های POST POST /launches: Validation For POST Requests

  • اتصال POST /launches به داشبورد فرانت‌اند Connecting POST /launches With Front End Dashboard

  • DELETE /launches: لغو پرتاب‌ها 1 DELETE /launches: Aborting Launches 1

  • DELETE /launches: لغو پرتاب‌ها 2 DELETE /launches: Aborting Launches 2

  • به‌روزرسانی نمودار معماری ما Updating Our Architecture Diagram

  • تمرین: سندرم خود-جاعل (Imposter Syndrome) Exercise: Imposter Syndrome

تست APIها Testing APIs

  • تست در Node Testing In Node

  • تست APIها با Jest Testing APIs With Jest

  • تست نقاط پایانی API با Supertest: GET Testing API Endpoints With Supertest: GET

  • تست نقاط پایانی API با Supertest: POST Testing API Endpoints With Supertest: POST

  • تست نقاط پایانی API با Supertest: موارد خطا Testing API Endpoints With Supertest: Error Cases

بهبود عملکرد Node Improving Node Performance

  • کد این بخش Code For This Section

  • عملکرد سرور Node Node Server Performance

  • ساخت یک سرور مسدود کننده ساده Building A Simple Blocking Server

  • توابع مسدود کننده در دنیای واقعی Real Life Blocking Functions

  • اجرای چندین فرآیند Node Running Multiple Node Processes

  • ماژول Cluster در Node The Node Cluster Module

  • کلاسترینگ در عمل Clustering In Action

  • حداکثرسازی عملکرد کلاستر Maximizing Cluster Performance

  • تعادل بار (Load Balancing) Load Balancing

  • ابزار PM2 The PM2 Tool

  • استفاده از PM2 برای ایجاد کلاسترها Using PM2 To Create Clusters

  • مدیریت کلاسترهای زنده با PM2 Managing Live Clusters With PM2

  • راه‌اندازی مجدد بدون توقف Zero Downtime Restart

  • بهبود عملکرد پروژه ناسای ما Improving Performance Of Our NASA Project

  • رشته‌های کاری (Worker Threads) Worker Threads

  • رشته‌های کاری در عمل Worker Threads In Action

پایگاه‌های داده Databases

  • مقدمه‌ای بر پایگاه‌های داده Introduction to Databases

  • مسیر پیشنهادی: SQL Recommended Path: SQL

  • مقایسه SQL در مقابل NoSQL Comparing SQL vs NoSQL

  • اسکیماهای پایگاه داده و پایگاه‌های داده بدون اسکیما Database Schemas & Schemaless Databases

  • انتخاب پایگاه داده برای پروژه ناسای ما Choosing a Database for our NASA Project

  • SQL در مقابل MongoDB: روندها و عدم تطابق مانع شیء-رابطه‌ای SQL vs MongoDB: Trends and Object-Relational Impedance Mismatch

  • SQL در مقابل MongoDB: اسکیماها، ارجاعات و تراکنش‌های ACID SQL vs MongoDB: Schemas, References, and ACID Transactions

  • راه‌اندازی MongoDB Atlas Setting up MongoDB Atlas

  • اتصال به MongoDB Connecting to MongoDB

  • اتصال با آخرین نسخه Mongoose Connecting with the Latest Version of Mongoose

  • Mongoose Mongoose

  • ایجاد اسکیما Mongoose برای پرتاب‌ها Creating Mongoose Schema for Launches

  • تمرین: ایجاد اسکیما Mongoose برای سیارات Exercise: Creating Mongoose Schema for Planets

  • یادآوری: منوی کشویی سیارات مقصد Reminder: Destination Planets Dropdown

  • ایجاد مدل‌ها از اسکیماها Creating Models From Schemas

  • مدل‌های Mongoose در مقابل مدل‌های MVC Mongoose Models vs MVC Models

  • ایجاد و درج اسناد (Documents) Creating and Inserting Documents

  • یافتن اسناد Finding Documents

  • عملیات Upsert The Upsert Operation

  • کاوش داده‌ها با استفاده از Atlas Exploring Data Using Atlas

  • به‌روزرسانی معماری پروژه Updating Project Architecture

  • شناسه‌های شیء (ObjectIDs) ObjectIDs

  • حذف فیلدها از پاسخ Excluding Fields From The Response

  • ذخیره پرتاب‌ها Saving Launches

  • لیست کردن تمام پرتاب‌ها Listing All Launches

  • یکپارچگی ارجاعی (Referential Integrity) Referential Integrity

  • افزایش خودکار در MongoDB Auto Increment In MongoDB

  • دریافت آخرین شماره پرواز Getting Latest Flight Number

  • زمان‌بندی پرتاب‌های جدید Scheduling New Launches

  • بررسی معمای Mongoose Investigating A Mongoose Mystery

  • لغو پرتاب‌ها Aborting Launches

  • لغو با آخرین درایور MongoDB Aborting with the Latest MongoDB Driver

  • به‌روزرسانی تست‌ها برای Mongoose 1 Updating Tests For Mongoose 1

  • به‌روزرسانی تست‌ها برای Mongoose 2 Updating Tests For Mongoose 2

  • رفع اشکال در Jest: Open Handles Fixing A Bug In Jest: Open Handles

کار با APIهای REST - پروژه SpaceX Working With REST APIs - SpaceX Project

  • کار با SpaceX Working With SpaceX

  • API SpaceX The SpaceX API

  • نسخه‌بندی APIهای Node Versioning Node APIs

  • به‌روزرسانی تست‌های API ما Updating Our API Tests

  • کاوش API پرتاب‌های SpaceX Exploring SpaceX Launches API

  • اجرای پرس‌وجوهای جستجو Running Search Queries

  • بارگذاری داده‌های SpaceX در API ما Loading SpaceX Data In Our API

  • نگاشت داده‌های SpaceX به پایگاه داده ما Mapping SpaceX Data To Our Database

  • استفاده از APIهای صفحه‌بندی شده Using Paginated APIs

  • به حداقل رساندن بار API Minimizing API Load

  • ماندگار کردن پرتاب‌های SpaceX Persisting SpaceX Launches

  • صفحه‌بندی نقاط پایانی ما 1 Paginating Our Endpoints 1

  • صفحه‌بندی نقاط پایانی ما 2 Paginating Our Endpoints 2

  • مرتب‌سازی داده‌های صفحه‌بندی شده Sorting Paginated Data

  • پاکسازی داده‌های پرتاب Cleaning Up Launch Data

  • مدیریت اسرار با Dotenv Managing Secrets With Dotenv

  • اجرای تست‌های API با Dotenv Running API Tests With Dotenv

  • امن کردن اسرار لو رفته Securing Leaked Secrets

امنیت Node + احراز هویت Node Security + Authentication

  • کد این بخش Code For This Section

  • مروری بر امنیت و احراز هویت Security and Authentication Overview

  • اتصالات رمزگذاری شده با SSL و TLS Encrypted Connections with SSL and TLS

  • گواهی‌های دیجیتال، امضا و حملات مرد میانی Digital Certificates, Signing, and Man In The Middle Attacks

  • راه‌اندازی مثال امنیتی ما Setting Up Our Security Example

  • HTTPS با Node، گواهی‌های امضا شده خودکار و رمزنگاری کلید عمومی HTTPS With Node, Self Signed Certificates, and Public Key Cryptography

  • Helmet.js Helmet.js

  • احراز هویت در مقابل مجوزدهی (Authorization) Authentication vs Authorization

  • ورود اجتماعی (Social Sign In) Social Sign In

  • کلیدهای API API Keys

  • توکن‌های JWT JWT Tokens

  • استاندارد OAuth The OAuth Standard

  • جریان کد مجوز OAuth 2.0 OAuth 2.0 Authorization Code Flow

  • OAuth در عمل با ورود تک مرحله‌ای OAuth In Action with Single Sign On

  • ثبت نام در سرور مجوز گوگل Registering with the Google Authorization Server

  • نقاط پایانی احراز هویت با میان‌افزار Authentication Endpoints With Middleware

  • Passport.js Passport.js

  • Dotenv برای اسرار کلاینت Dotenv for Client Secrets

  • احراز هویت با گوگل و OAuth 1 Authentication With Google And OAuth 1

  • احراز هویت با گوگل و OAuth 2 Authentication With Google And OAuth 2

  • احراز هویت مبتنی بر کوکی Cookie Based Authentication

  • جلسات (Sessions) Sessions

  • جلسات سمت سرور در مقابل سمت کلاینت با کوکی‌ها Server VS Client Side Sessions With Cookies

  • میان‌افزار جلسه در Express Session Middleware in Express

  • راه‌اندازی جلسه کوکی OAuth Setting Up OAuth Cookie Session

  • جلسات با آخرین نسخه Passport.js Sessions with the Latest Version of Passport.js

  • خواندن و نوشتن جلسه OAuth 1 Reading and Writing the OAuth Session 1

  • خواندن و نوشتن جلسه OAuth 2 Reading and Writing the OAuth Session 2

  • محدود کردن دسترسی به نقاط پایانی Restricting Access to Endpoints

  • پیاده‌سازی خروج از سیستم Implementing Logout

  • آزمایش با جلسات جعلی Experimenting With Fake Sessions

  • جمع‌بندی و گام‌های بعدی Wrap Up and Next Steps

  • منبع: برگه تقلب امنیتی Resource: Security Cheat Sheet

ادغام و تحویل مداوم Continuous Integration and Delivery

  • مقدمه‌ای بر CI و CD Introduction to CI and CD

  • ادغام مداوم (Continuous Integration) Continuous Integration

  • تحویل مداوم (Continuous Delivery) Continuous Delivery

  • استقرار مداوم (Continuous Deployment) Continuous Deployment

  • خطوط لوله (Pipelines) Pipelines

  • GitHub Actions GitHub Actions

  • راه‌اندازی GitHub Actions Setting Up GitHub Actions

  • ادغام مداوم: خط لوله ساخت (Build Pipeline) Continuous Integration: Build Pipeline

  • به‌روز نگه داشتن خط لوله ما Keeping Our Pipeline Updated

  • خط لوله ساخت در عمل Build Pipeline In Action

  • خطاهای رایج خط لوله ساخت Common Build Pipeline Errors

  • Marketplace GitHub Actions GitHub Actions Marketplace

  • ادغام مداوم: خط لوله تست (Test Pipeline) Continuous Integration: Test Pipeline

  • شبیه‌سازی پایگاه‌های داده (Mocking Out Databases) Mocking Out Databases

  • پایگاه‌های داده با ادغام مداوم Databases With Continuous Integration

  • پر کردن داده‌ها برای ادغام مداوم Populating Data For Continuous Integration

Node در محیط پروداکشن و فضای ابری (Docker + AWS) Node Production and the Cloud (Docker + AWS)

  • استقرار در فضای ابری Deploying to the Cloud

  • بدون سرور (Serverless) در مقابل کانتینرها Serverless vs Containers

  • ماشین‌های مجازی (Virtual Machines) Virtual Machines

  • کانتینر چیست؟ What is a Container?

  • نصب Docker Installing Docker

  • اجرای اولین کانتینر Docker ما Running Our First Docker Container

  • حساب DockerHub شما Your DockerHub Account

  • ایجاد یک Dockerfile Creating a Dockerfile

  • بهبود Dockerfile ما با لایه‌ها Improving Our Dockerfile With Layers

  • نصب فقط وابستگی‌های پروداکشن Installing Only Production Dependencies

  • به‌روزرسانی URL API ما Updating Our API URL

  • ساخت ایمیج Docker پروژه ناسا Building NASA Project Docker Image

  • اجرای پروژه ناسا در یک کانتینر Running NASA Project in a Container

  • بارگذاری ایمیج‌ها در Docker Hub Pushing Images to Docker Hub

  • کاوش سرویس‌های وب آمازون (Amazon Web Services) Exploring Amazon Web Services

  • ایجاد یک نمونه EC2 1 Creating an EC2 Instance 1

  • ایجاد یک نمونه EC2 2: امنیت Creating an EC2 Instance 2: Security

  • SSH چیست؟ What is SSH?

  • اتصال به نمونه EC2 ما با SSH Connecting To Our EC2 Instance With SSH

  • راه‌اندازی سرور EC2 ما Setting Up Our EC2 Server

  • استقرار API ناسا ما Deploying Our NASA API

GraphQL GraphQL

  • کد این بخش Code For This Section

  • مرور GraphQL GraphQL Overview

  • اولین پرس و جوی GraphQL ما Our First GraphQL Query

  • پرس و جوهای GraphQL در عمل GraphQL Queries In Action

  • GraphQL در مقابل REST: درخواست بیش از حد و کمتر از حد (Over-fetching & Under-fetching) GraphQL vs REST: Over-fetching & Under-fetching

  • خلاصه GraphQL در مقابل REST GraphQL vs REST Summary

  • کاوش پیاده‌سازی‌های GraphQL Exploring GraphQL Implementations

  • GraphQL در Node GraphQL In Node

  • GraphiQL GraphiQL

  • طراحی یک اسکیما تجارت الکترونیک Designing An E-Commerce Schema

  • ابزارهای GraphQL GraphQL Tools

  • ماژول‌بندی پروژه‌های بزرگ GraphQL: اسکیماها Modularizing Large GraphQL Projects: Schemas

  • به‌روزرسانی ابزارهای GraphQL GraphQL Tools Update

  • حل‌کننده‌ها (Resolvers) Resolvers

  • ماژول‌بندی پروژه‌های بزرگ GraphQL: حل‌کننده‌ها Modularizing Large GraphQL Projects: Resolvers

  • فیلتر با پرس و جوها و حل‌کننده‌ها Filtering with Queries and Resolvers

  • تمرین: پرس و جوی محصولات بر اساس ID Exercise: Query Products By ID

  • تغییرات (Mutations) در عمل Mutations In Action

  • پیاده‌سازی تغییرات در سرور Implementing Mutations on the Server

  • تمرین: افزودن بررسی محصول جدید Exercise: Add New Product Review

  • GraphQL با Apollo GraphQL With Apollo

  • ساخت سرور Apollo با Node.js Building an Apollo Server With Node.js

سوکت‌ها با Node.js Sockets with Node.js

  • کد این بخش Code For This Section

  • مقدمه‌ای بر سوکت‌ها Introduction to Sockets

  • نظرسنجی (Polling) Polling

  • سوکت چیست؟ What is a Socket?

  • سوکت‌ها در مقابل نظرسنجی Sockets VS Polling

  • WebSockets WebSockets

  • مقدمه‌ای بر socket.io Introduction to socket.io

  • APIهای کلاینت و سرور socket.io socket.io Client and Server APIs

  • مرور کلی پینگ پنگ چند نفره Multiplayer Pong Overview

  • مسیر پیشنهادی: فرانت‌اند پینگ پنگ Recommended Path: Pong Front End

  • مرور فرانت‌اند پینگ پنگ ما Reviewing Our Pong Front End

  • دنباله پیام پینگ پنگ چند نفره Multiplayer Pong Message Sequence

  • راه‌اندازی سرور socket.io Setting Up a socket.io Server

  • اتصال به socket.io Connecting to socket.io

  • مدیریت CORS با سوکت‌ها Handling CORS With Sockets

  • شناسایی کلاینت‌های متصل Identifying Connected Clients

  • گوش دادن به رویدادها در سرور پینگ پنگ Listening for Events in the Pong Server

  • پخش رویدادها (Broadcasting Events) Broadcasting Events

  • مدیریت رویدادها در کلاینت پینگ پنگ Handling Events in the Pong Client

  • پیاده‌سازی منطق بازی: پارو (Paddle) Implementing the Game Logic: Paddle

  • پیاده‌سازی منطق بازی: توپ (Ball) Implementing the Game Logic: Ball

  • چه اتفاقی می‌افتد وقتی قطع اتصال می‌شوید؟ What Happens When You Disconnect?

  • استفاده از Socket.io با Express Using Socket.io with Express

  • فضاهای نام (Namespaces) Namespaces

  • اتاق‌ها (Rooms) Rooms

از اینجا به کجا برویم؟ Where To Go From Here?

  • از شما متشکریم! Thank You!

  • فارغ التحصیل شوید Become An Alumni

  • راهنمای یادگیری Learning Guideline

  • تاییدهای لینکدین LinkedIn Endorsements

  • چالش‌های کدنویسی Coding Challenges

اضافی: Deno در مقابل Node.js Extra: Deno vs Node.js

  • نکته سریع: ویدیوهای آینده Quick Note: Upcoming Videos

  • چرا Deno؟ Why Deno?

  • محیط زمان اجرای Deno و موتور V8 Deno Runtime And V8 Engine

  • نصب Deno Deno Installation

  • نکته سریع: نصب Deno Quick Note: Installing Deno

  • نکات نصب MAC/LINUX MAC/LINUX Installation Tips

  • نکات نصب WINDOWS WINDOWS Installation Tips

  • راه‌اندازی محیط توسعه ما Setting Up Our Developer Environment

  • نکته سریع: پلاگین رسمی VS Code Quick Note: Official VS Code Plugin

  • اولین برنامه Deno ما Our First Deno App

  • تمرین: اولین برنامه Deno ما Exercise: Our First Deno App

  • مهم‌ترین ویدیو The Most Important Video

  • جزئیات داخلی و معماری Deno Deno Internals And Architecture

  • معیارهای Deno Deno Metrics

  • تمرین: معماری Deno Exercise: Deno Architecture

  • به‌روزرسانی کامپایلر Deno 1.5 Deno 1.5 Compiler Update

  • تغییردهندگان بازی Deno Deno Game Changers

  • تغییردهندگان بازی Deno 2 Deno Game Changers 2

  • آیا Deno باعث کشته شدن NodeJS می‌شود؟ Will Deno Kill NodeJS?

  • یک فایل اجرایی واحد برای همه Single Executable To Rule Them All

  • زمان‌های هیجان‌انگیز: Deno 1.6 Exciting Times: Deno 1.6

  • امنیت Deno Deno Security

  • مجوزهای Deno Deno Permissions

  • مجوزهای Deno 2 Deno Permissions 2

  • مجوزهای Deno 3 Deno Permissions 3

ضمیمه: جاوا اسکریپت چگونه کار می‌کند Appendix: How JavaScript Works

  • نکته سریع: ویدیوهای آینده Quick Note: Upcoming Videos

  • موتور جاوا اسکریپت JavaScript Engine

  • تمرین: موتور جاوا اسکریپت Exercise: Javascript Engine

  • درون موتور Inside the Engine

  • تمرین: موتور JS برای همه Exercise: JS Engine For All

  • مفسرها و کامپایلرها Interpreters and Compilers

  • درون موتور V8 Inside the V8 Engine

  • مقایسه با زبان‌های دیگر Comparing Other Languages

  • نوشتن کد بهینه Writing Optimized Code

  • WebAssembly WebAssembly

  • پشته فراخوانی (Call Stack) و پشته حافظه (Memory Heap) Call Stack and Memory Heap

  • سرریز پشته (Stack Overflow) Stack Overflow

  • جمع‌آوری زباله (Garbage Collection) Garbage Collection

  • نشت حافظه (Memory Leaks) Memory Leaks

  • تک رشته‌ای (Single Threaded) Single Threaded

  • تمرین: مشکل با تک رشته‌ای Exercise: Issue With Single Thread

  • محیط زمان اجرای جاوا اسکریپت Javascript Runtime

  • Node.js Node.js

  • مسیر پیشنهادی: بازگشت به Node Recommended Path: Back To Node

ضمیمه: جاوا اسکریپت ناهمزمان Appendix: Asynchronous JavaScript

  • نکته سریع: ویدیوهای آینده Quick Note: Upcoming Videos

  • مرور بخش Section Overview

  • Promiseها Promises

  • ES8 - Async Await ES8 - Async Await

  • ES9 (ES2018) ES9 (ES2018)

  • ES9 (ES2018) - Async ES9 (ES2018) - Async

  • صف کار (Job Queue) Job Queue

  • موازی، دنباله و رقابت (Parallel, Sequence and Race) Parallel, Sequence and Race

  • ES2020: allSettled() - ES2020: allSettled() ES2020: allSettled()

  • Threads, Concurrency and Parallelism - رشته‌ها، همزمانی و موازی‌سازی Threads, Concurrency and Parallelism

  • Recommended Path: Back To Node - مسیر پیشنهادی: بازگشت به Node Recommended Path: Back To Node

Appendix: Pong Front End - فصل ۲۳-ضمیمه: فرانت‌اند Pong Appendix: Pong Front End

  • Quick Note: Upcoming Videos - نکته سریع: ویدیوهای آتی Quick Note: Upcoming Videos

  • Pong Project Overview - نمای کلی پروژه Pong Pong Project Overview

  • JS - Create Canvas - JS - ایجاد بوم JS - Create Canvas

  • JS - RequestAnimationFrame - JS - درخواست انیمیشن فریم JS - RequestAnimationFrame

  • JS - Game Over - JS - پایان بازی JS - Game Over

  • Code Review - بازبینی کد Code Review

  • Recommended Path: Back to Sockets - مسیر پیشنهادی: بازگشت به سوکت‌ها Recommended Path: Back to Sockets

Appendix: TypeScript - فصل ۲۴-ضمیمه: تایپ‌اسکریپت Appendix: TypeScript

  • Quick Note: Upcoming Videos - نکته سریع: ویدیوهای آتی Quick Note: Upcoming Videos

  • Introduction To TypeScript - مقدمه‌ای بر تایپ‌اسکریپت Introduction To TypeScript

  • Dynamic vs Static Typing - انواع پویا در مقابل ایستا Dynamic vs Static Typing

  • Strongly vs Weakly Typed - قوی در مقابل ضعیف Strongly vs Weakly Typed

  • Static Typing In JavaScript - تایپ ایستا در جاوااسکریپت Static Typing In JavaScript

  • Quick Note: Upcoming Videos - نکته سریع: ویدیوهای آتی Quick Note: Upcoming Videos

  • OPTIONAL: Installing TypeScript Compiler - اختیاری: نصب کامپایلر تایپ‌اسکریپت OPTIONAL: Installing TypeScript Compiler

  • OPTIONAL: Installing Node.js + TypeScript - اختیاری: نصب Node.js + تایپ‌اسکریپت OPTIONAL: Installing Node.js + TypeScript

  • TypeScript - تایپ‌اسکریپت TypeScript

  • TypeScript 2 - تایپ‌اسکریپت ۲ TypeScript 2

  • TypeScript 3 - تایپ‌اسکریپت ۳ TypeScript 3

  • Resources: TypeScript Types - منابع: انواع تایپ‌اسکریپت Resources: TypeScript Types

  • TypeScript 4 - تایپ‌اسکریپت ۴ TypeScript 4

  • TypeScript 5 - تایپ‌اسکریپت ۵ TypeScript 5

  • TypeScript 6 - تایپ‌اسکریپت ۶ TypeScript 6

  • Resources: Type VS Interface - منابع: نوع در مقابل رابط Resources: Type VS Interface

  • TypeScript 7 - تایپ‌اسکریپت ۷ TypeScript 7

  • Resources: Type Assertion - منابع: انتساب نوع Resources: Type Assertion

  • TypeScript 8 - تایپ‌اسکریپت ۸ TypeScript 8

  • TypeScript 9 - تایپ‌اسکریپت ۹ TypeScript 9

  • TypeScript 10 - تایپ‌اسکریپت ۱۰ TypeScript 10

Appendix: SQL - فصل ۲۵-ضمیمه: SQL Appendix: SQL

  • Quick Note: Upcoming Videos - نکته سریع: ویدیوهای آتی Quick Note: Upcoming Videos

  • Exercise: Building Amazon - تمرین: ساخت آمازون Exercise: Building Amazon

  • Exercise: Building Amazon 2 - تمرین: ساخت آمازون ۲ Exercise: Building Amazon 2

  • 5 Types Of Databases - ۵ نوع پایگاه داده 5 Types Of Databases

  • Exercise: What Is A Database? - تمرین: پایگاه داده چیست؟ Exercise: What Is A Database?

  • SQL Playground - زمین بازی SQL SQL Playground

  • What Is SQL? - SQL چیست؟ What Is SQL?

  • What Is A Query? - کوئری چیست؟ What Is A Query?

  • Exercise: Setting Up Your First Database - تمرین: راه‌اندازی اولین پایگاه داده شما Exercise: Setting Up Your First Database

  • Imperative vs Declarative - دستوری در مقابل اعلانی Imperative vs Declarative

  • History of SQL - تاریخچه SQL History of SQL

  • Optional: History of SQL Deep Dive - اختیاری: بررسی عمیق تاریخچه SQL Optional: History of SQL Deep Dive

  • Exercises: The Select Statement - تمرین‌ها: دستور Select Exercises: The Select Statement

  • SQL Standards - استانداردهای SQL SQL Standards

  • Tables - جداول Tables

  • Columns - ستون‌ها Columns

  • Rows - ردیف‌ها Rows

  • Primary And Foreign Keys - کلیدهای اصلی و خارجی Primary And Foreign Keys

  • Relational vs NoSQL, PostgreSQL vs MongoDB Databases - پایگاه داده‌های رابطه‌ای در مقابل NoSQL، PostgreSQL در مقابل MongoDB Relational vs NoSQL, PostgreSQL vs MongoDB Databases

  • Scalability - مقیاس‌پذیری Scalability

  • Sharding - شاردینگ Sharding

  • Recommended Path: Back to Node - مسیر پیشنهادی: بازگشت به Node Recommended Path: Back to Node

BONUS SECTION - فصل ۲۶-بخش جایزه BONUS SECTION

  • Special Bonus Lecture - سخنرانی ویژه جایزه Special Bonus Lecture

نمایش نظرات

آموزش توسعه‌دهنده کامل NodeJS (گراف‌کیوال، مانگودی‌بی، و بیشتر)
جزییات دوره
46 hours
432
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
29,960
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Andrei Neagoie Andrei Neagoie

بنیانگذار zerotomastery.io

Adam Odziemkowski Adam Odziemkowski

توسعه دهنده ارشد نرم افزار