آموزش Node.js - راهنمای کامل [ویدئو]

Node.js - The Complete Guide [Video]

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: Node.js یکی از محبوب‌ترین و مدرن‌ترین زبان‌های برنامه‌نویسی سمت سرور است و به طور گسترده از برنامه‌های وب سنتی با نماهای رندر شده سمت سرور از طریق APIهای REST تا APIهای GraphQL و سرویس‌های وب بلادرنگ استفاده می‌شود. با تقاضای زیاد برای توسعه دهندگان Node.js در بازار کار، اکنون زمان توسعه مهارت های Node.js است. این دوره ویدیویی به روز تمام آنچه را که نیاز دارید از ابتدا به شما آموزش می دهد. این دوره با معرفی Node.js و یک بازنگری سریع در جاوا اسکریپت آغاز می شود. سپس گردش کار توسعه و اشکال زدایی بهبود یافته را درک خواهید کرد، با Express.js آشنا می شوید و با محتوای پویا کار می کنید و موتورهای قالب را اضافه می کنید. همانطور که پیشرفت می کنید، با کنترلر نمای مدل (MVC) برای توسعه رابط های کاربری و یادگیری مسیر پویا و مدل های پیشرفته کار خواهید کرد. این دوره همچنین شما را با استفاده از Node.js با SQL، NoSQL و Mongoose آشنا می‌کند و به شما کمک می‌کند تا درک کاملی از اجرای احراز هویت، ارسال ایمیل، مدیریت خطا، اعتبارسنجی، آپلود و دانلود فایل، و صفحه‌بندی به دست آورید. در نهایت، شما با REST و GraphQL API، DenoJS کار خواهید کرد، یک برنامه Node.js بلادرنگ با WebSockets ایجاد می‌کنید، تست اتوماسیون را انجام می‌دهید و یک برنامه Node.js را مستقر می‌کنید. در پایان این دوره، مهارت های Node.js مورد نیاز برای ساخت برنامه های کاربردی وب قوی، مقیاس پذیر و قدرتمند را توسعه خواهید داد. فایل های کد این دوره در https://github.com/PacktPublishing/Node.js-The-Complete-Guide موجود است از Node.js برای تجزیه درخواست ها و ارسال پاسخ ها استفاده کنید. احراز هویت و مجوز کاربر را پیاده سازی کنید رسیدگی به درخواست‌های پرداخت با Stripe.js با نحوه ساخت GraphQL API آشنا شوید با Websockets یک برنامه Node.js بلادرنگ بسازید معرفی کامل DenoJS این دوره به روز شده برای مبتدیان و همچنین توسعه دهندگان وب با تجربه است که به دنبال یادگیری توسعه باطن (سمت سرور) با Node.js هستند. اگر علاقه مند به ساخت برنامه های کاربردی وب مدرن، مقیاس پذیر و با کارایی بالا هستید یا می خواهید ویژگی های به روز شده ای مانند جاوا اسکریپت مدرن، Typescript، GraphQL و DenoJS را بررسی کنید، این دوره برای شما مفید خواهد بود. برای شروع این دوره به دانش اولیه جاوا اسکریپت نیاز است. با مفاهیم اولیه و همچنین پیشرفته NodeJS آشنا شوید * با پایگاه داده های Node.js برنامه های وب مدرن، سریع و مقیاس پذیر بسازید * اکوسیستم Node.js را بشناسید و برنامه های رندر شده در سمت سرور، API های REST و بسازید. API های GraphQL

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

معرفی Introduction

  • معرفی Introduction

  • Node.js چیست؟ What is Node.js?

  • Node.js را نصب کنید و اولین برنامه خود را بسازید Installing Node.js and Creating your First App

  • آشنایی با نقش و کاربرد Node.js Understanding the Role and Usage of Node.js

  • طرح کلی دوره Course Outline

  • چگونه از دوره بیشترین بهره را ببریم؟ How to Get the Most Out of the Course?

  • کار با حلقه Read-Eval-Print (REPL) در مقابل استفاده از فایل ها Working with the Read-Eval-Print Loop (REPL) vs Using Files

اختیاری: جاوا اسکریپت - یک بازنگری سریع Optional: JavaScript - A Quick Refresher

  • معرفی ماژول Module Introduction

  • جاوا اسکریپت به طور خلاصه JavaScript in a Nutshell

  • به روز کردن دستور هسته Refreshing the Core Syntax

  • Let and Const Let and Const

  • درک توابع پیکان Understanding Arrow Functions

  • کار با اشیا، ویژگی ها و روش ها Working with Objects, Properties, and Methods

  • آرایه ها و روش های آرایه Arrays and Array Methods

  • آرایه ها، اشیاء و انواع مرجع Arrays, Objects, and Reference Types

  • درک اپراتورهای Spread و Rest Understanding Spread and Rest Operators

  • در حال تخریب Destructuring

  • کد Async و Promises Async Code and Promises

  • بسته شدن Wrap up

درک اصول Understanding the Basics

  • معرفی ماژول Module Introduction

  • وب چگونه کار می کند؟ How the Web Works?

  • ایجاد Node Server Creating a Node Server

  • چرخه حیات گره و حلقه رویداد The Node Lifecycle and Event Loop

  • درک درخواست ها Understanding Requests

  • ارسال پاسخ ها Sending Responses

  • درخواست های مسیریابی Routing Requests

  • تغییر مسیر درخواست ها Redirecting Requests

  • تجزیه بدنه های درخواستی Parsing Request Bodies

  • درک اجرای کد رویداد محور Understanding Event Driven Code Execution

  • کد مسدود و غیر مسدود Blocking and Non-Blocking Code

  • Node.js - نگاه کردن به پشت صحنه Node.js - Looking Behind the Scenes

  • با استفاده از سیستم ماژول های گره Using the Node Modules System

  • بسته شدن Wrap Up

بهبود گردش کار توسعه و اشکال زدایی Improved Development Workflow and Debugging

  • معرفی ماژول Module Introduction

  • آشنایی با اسکریپت های Node Package Manager (NPM). Understanding Node Package Manager (NPM) Scripts

  • نصب بسته های شخص ثالث Installing Third Party Packages

  • استفاده از Nodemon برای راه اندازی مجدد خودکار Using Nodemon for Auto Restarts

  • درک انواع مختلف خطا Understanding Different Error Types

  • پیدا کردن و رفع خطاهای نحوی Finding and Fixing Syntax Errors

  • مقابله با خطاهای زمان اجرا Dealing with Runtime Errors

  • خطاهای منطقی Logical Errors

  • با استفاده از Debugger Using the Debugger

  • پس از ویرایش برنامه خود، دیباگر را به صورت خودکار راه اندازی کنید Restarting the Debugger Automatically After Editing your App

  • تغییر متغیرها در کنسول Debug Changing Variables in the Debug Console

  • بسته شدن Wrap Up

کار با Express.js Working with Express.js

  • معرفی ماژول Module Introduction

  • Express.js چیست؟ What is Express.js?

  • در حال نصب Express.js Installing Express.js

  • افزودن میان افزار Adding Middleware

  • میان افزار چگونه کار می کند؟ How Middleware Works?

  • Express.js - نگاه کردن به پشت صحنه Express.js - Looking Behind the Scenes

  • مدیریت مسیرهای مختلف Handling Different Routes

  • تجزیه درخواست های ورودی Parsing Incoming Requests

  • محدود کردن اجرای میان‌افزار به درخواست‌های POST Limiting Middleware Execution to POST Requests

  • استفاده از روتر اکسپرس Using Express Router

  • افزودن صفحه خطای 404 Adding a 404 Error Page

  • فیلتر کردن مسیرها Filtering Paths

  • ایجاد صفحات HTML Creating HTML Pages

  • ارائه صفحات HTML Serving HTML Pages

  • بازگرداندن صفحه 404 Returning a 404 Page

  • استفاده از یک تابع کمکی برای ناوبری Using a Helper Function for Navigation

  • استایل دادن به صفحات خود Styling your Pages

  • ارائه فایل ها به صورت ایستا Serving Files Statically

  • بسته شدن Wrap Up

کار با محتوای پویا و اضافه کردن موتورهای قالب Working with Dynamic Content and Adding Templating Engines

  • معرفی ماژول Module Introduction

  • به اشتراک گذاری داده ها در بین درخواست ها و کاربران Sharing Data across Requests and Users

  • موتورهای قالب - مروری Templating Engines - An Overview

  • نصب و پیاده سازی Pug Installing and Implementing Pug

  • خروجی محتوای پویا Outputting Dynamic Content

  • تبدیل فایل های HTML به Pug Converting HTML Files to Pug

  • اضافه کردن یک طرح Adding a Layout

  • در حال تکمیل قالب Pug Finishing the Pug Template

  • کار با دسته ها Working with Handlebars

  • تبدیل پروژه خود به Handlebars Converting your Project to Handlebars

  • اضافه کردن یک چیدمان به Handlebars Adding a Layout to Handlebars

  • کار با قالب جاوا اسکریپت جاسازی شده (EJS) Working with Embedded JavaScript Templating (EJS)

  • کار بر روی Layout با جزئی Working on the Layout with Partials

  • بسته شدن Wrap Up

کنترلر نمای مدل (MVC) The Model View Controller (MVC)

  • معرفی ماژول Module Introduction

  • مدل View Controller (MVC) چیست؟ What is Model View Controller (MVC)?

  • اضافه کردن کنترلرها Adding Controllers

  • تکمیل کنترلرها Finishing the Controllers

  • اضافه کردن مدل محصول Adding a Product Model

  • ذخیره داده ها در فایل ها از طریق مدل Storing Data in Files through the Model

  • واکشی داده ها از فایل ها از طریق مدل Fetching Data from Files through the Model

  • بازسازی کد ذخیره فایل Refactoring the File Storage Code

  • بسته شدن Wrap Up

اختیاری: بهبود برنامه Optional: Enhancing the App

  • معرفی ماژول Module Introduction

  • ایجاد ساختار فروشگاه Creating the Shop Structure

  • کارکرد سیستم ناوبری Working of the Navigation System

  • ثبت مسیرها Registering the Routes

  • ذخیره سازی داده های محصول Storing Product Data

  • نمایش داده های محصول Displaying Product Data

  • ویرایش و حذف محصولات Editing and Deleting Products

  • افزودن یک مورد دیگر Adding Another Item

مسیرهای پویا و مدل های پیشرفته Dynamic Routes and Advanced Models

  • معرفی ماژول Module Introduction

  • آماده سازی Preparations

  • افزودن شناسه محصول به مسیر Adding the Product ID to the Path

  • استخراج پارامترهای دینامیک Extracting Dynamic Params

  • بارگیری اطلاعات جزئیات محصول Loading Product Detail Data

  • نمایش جزئیات محصول Rendering the Product Detail View

  • انتقال داده با درخواست های POST Passing Data with POST Requests

  • اضافه کردن مدل سبد خرید Adding a Cart Model

  • با استفاده از queryParams Using queryParams

  • از قبل پر کردن صفحه ویرایش محصول با داده ها Pre-Populating the Edit Product Page with Data

  • پیوند دادن به صفحه ویرایش Linking to the Edit Page

  • ویرایش اطلاعات محصول Editing the Product Data

  • افزودن قابلیت حذف برای یک محصول Adding the Delete Functionality for a Product

  • حذف اقلام سبد خرید Deleting Cart Items

  • نمایش اقلام سبد خرید در صفحه سبد خرید Displaying Cart Items on the Cart Page

  • حذف اقلام سبد خرید Deleting Cart Items

  • رفع اشکال حذف محصول Fixing a Delete Product Bug

  • بسته شدن Wrap Up

SQL مقدمه SQL Introduction

  • معرفی ماژول Module Introduction

  • انتخاب یک پایگاه داده Choosing a Database

  • معرفی NoSQL NoSQL Introduction

  • مقایسه SQL و NoSQL Comparing SQL and NoSQL

  • راه اندازی MySQL Setting up MySQL

  • اتصال برنامه به پایگاه داده SQL Connecting the App to the SQL Database

  • SQL اولیه و ایجاد یک جدول Basic SQL and Creating a Table

  • بازیابی داده ها Retrieving Data

  • واکشی محصولات Fetching Products

  • واکشی محصولات - زمان تمرین Fetching Products - Time to Practice

  • درج داده ها در پایگاه داده Inserting Data into the Database

  • واکشی یک محصول واحد با بند "WHERE". Fetching a Single Product with the "WHERE" Clause

  • بسته شدن Wrap Up

درک Sequelize Understanding Sequelize

  • معرفی ماژول Module Introduction

  • Sequelize چیست؟ What is Sequelize?

  • اتصال به پایگاه داده Connecting to the Database

  • تعریف مدل Defining a Model

  • همگام سازی تعاریف جاوا اسکریپت با پایگاه داده Syncing JavaScript Definitions to the Database

  • درج داده ها و ایجاد یک محصول Inserting Data and Creating a Product

  • بازیابی داده ها و یافتن محصولات Retrieving Data and Finding Products

  • واکشی یک محصول واحد با بند "WHERE". Fetching a Single Product with the "WHERE" clause

  • واکشی محصولات مدیریت Fetching Admin Products

  • به روز رسانی محصولات Updating Products

  • حذف محصولات Deleting Products

  • ایجاد یک مدل کاربر Creating a User Model

  • افزودن یک رابطه یک به چند Adding a One-To-Many Relationship

  • ایجاد و مدیریت یک کاربر ساختگی Creating and Managing a Dummy User

  • استفاده از روش های انجمن جادویی Using Magic Association Methods

  • واکشی محصولات مرتبط Fetching Related Products

  • روابط یک به چند و چند به چند One-To-Many and Many-To-Many Relations

  • ایجاد و واکشی یک سبد خرید Creating and Fetching a Cart

  • افزودن محصولات جدید به سبد خرید Adding New Products to the Cart

  • افزودن محصولات موجود و بازیابی اقلام سبد خرید Adding Existing Products and Retrieving Cart Items

  • حذف اقلام مرتبط و حذف محصولات سبد خرید Deleting Related Items and Deleting Cart Products

  • اضافه کردن یک مدل سفارش Adding an Order Model

  • ذخیره اقلام سبد خرید به عنوان اقلام سفارش Storing Cart items as Order items

  • بازنشانی سبد خرید و واکشی و خروجی سفارشات Resetting the Cart and Fetching and Outputting Orders

  • بسته شدن Wrap Up

کار با NoSQL و استفاده از MongoDB Working with NoSQL and Using MongoDB

  • معرفی ماژول Module Introduction

  • MongoDB چیست؟ What is MongoDB?

  • روابط در NoSQL Relations in NoSQL

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

  • نصب درایور MongoDB Installing the MongoDB Driver

  • ایجاد اتصال پایگاه داده Creating the Database Connection

  • اتمام اتصال پایگاه داده Finishing the Database Connection

  • با استفاده از اتصال پایگاه داده Using the Database Connection

  • ایجاد محصولات Creating Products

  • آشنایی با قطب نما MongoDB Understanding the MongoDB Compass

  • واکشی همه محصولات Fetching All Products

  • واکشی یک محصول واحد Fetching a Single Product

  • دوباره کار کردن دکمه‌های «ویرایش» و «حذف». Making the "Edit" & "Delete" Buttons Work Again

  • کار بر روی مدل محصول برای ویرایش محصول Working on the Product Model to Edit the Product

  • تکمیل کد "به روز رسانی محصول". Finishing the "Update Product" Code

  • نکته مهم در به روز رسانی محصولات Important Note on Updating Products

  • حذف محصولات Deleting Products

  • رفع عملکرد "افزودن محصول". Fixing the "Add Product" Functionality

  • ایجاد کاربران جدید Creating New Users

  • ذخیره سازی کاربر در پایگاه داده Storing the User in the Database

  • کار بر روی اقلام و سفارشات سبد خرید Working on Cart Items and Orders

  • افزودن قابلیت "افزودن به سبد خرید". Adding the "Add to Cart" Functionality

  • ذخیره چندین محصول در سبد خرید Storing Multiple Products in the Cart

  • نمایش اقلام سبد خرید Displaying the Cart Items

  • رفع اشکال Fixing a Bug

  • حذف اقلام سبد خرید Deleting Cart Items

  • افزودن یک سفارش Adding an Order

  • افزودن داده های سفارش رابطه ای Adding Relational Order Data

  • دریافت سفارشات Getting Orders

  • حذف اقلام حذف شده از سبد خرید Removing Deleted Items from the Cart

  • بسته شدن Wrap Up

کار با Mongoose Working with Mongoose

  • معرفی ماژول Module Introduction

  • Mongoose چیست؟ What is Mongoose?

  • اتصال به سرور MongoDB با Mongoose Connecting to the MongoDB Server with Mongoose

  • ایجاد طرحواره محصول Creating the Product Schema

  • ذخیره داده ها از طریق Mongoose Saving Data through Mongoose

  • واکشی همه محصولات Fetching all Products

  • واکشی یک محصول واحد Fetching a Single Product

  • به روز رسانی محصولات Updating Products

  • حذف محصولات Deleting Products

  • اضافه کردن و استفاده از یک مدل کاربر Adding and Using a User Model

  • استفاده از روابط در Mongoose Using Relations in Mongoose

  • نکته مهم در مورد واکشی روابط Important Thing about Fetching Relations

  • کار بر روی سبد خرید Working on the Shopping Cart

  • در حال بارگیری سبد خرید Loading the Cart

  • حذف اقلام سبد خرید Deleting Cart Items

  • ایجاد و دریافت سفارشات Creating and Getting Orders

  • ذخیره تمام داده های مربوط به سفارش Storing all Order Related Data

  • پاک کردن سبد پس از ذخیره یک سفارش Clearing the Cart after Storing an Order

  • دریافت و نمایش سفارشات Getting and Displaying the Orders

  • بسته شدن Wrap Up

جلسات و کوکی ها Sessions and Cookies

  • معرفی ماژول Module Introduction

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

  • وضعیت فعلی پروژه The Current Project Status

  • اختیاری: ایجاد فرم ورود Optional: Creating the Login Form

  • اضافه کردن یک راه حل ورود مبتنی بر درخواست Adding a Request-Driven Login Solution

  • تنظیم یک کوکی Setting a Cookie

  • دستکاری کوکی ها Manipulating Cookies

  • پیکربندی کوکی ها Configuring Cookies

  • Session چیست؟ What is a Session?

  • راه اندازی Session Middleware Initializing the Session Middleware

  • استفاده از Session Middleware Using the Session Middleware

  • استفاده از MongoDB برای ذخیره جلسات Using MongoDB to Store Sessions

  • جلسات و کوکی ها - خلاصه ای کوتاه Sessions and Cookies - A Short Summary

  • حذف یک کوکی Deleting a Cookie

  • رفع برخی اشکالات جزئی Fixing Some Minor Bugs

  • ایجاد "افزودن به سبد خرید" دوباره کار کند Making "Add to Cart" Work Again

  • دو پیشرفت کوچک Two Tiny Improvements

  • بسته شدن Wrap Up

افزودن احراز هویت Adding Authentication

  • معرفی ماژول Module Introduction

  • احراز هویت چیست؟ What is Authentication?

  • احراز هویت چگونه پیاده سازی می شود؟ How is Authentication Implemented?

  • به روز رسانی وضعیت پروژه Updated Project Status

  • پیاده سازی یک جریان احراز هویت Implementing an Authentication Flow

  • رمزگذاری رمزهای عبور Encrypting Passwords

  • افزودن یک بهبود کد کوچک Adding a Tiny Code Improvement

  • افزودن قابلیت ورود به سیستم Adding the Sign in Functionality

  • کار بر روی Route Protection Working on Route Protection

  • استفاده از میان افزار برای محافظت از مسیرها Using Middleware to Protect Routes

  • درک حملات جعل درخواست بین سایتی (CSRF). Understanding Cross-Site Request Forgery (CSRF) Attacks

  • استفاده از توکن جعل درخواست متقابل (CSRF). Using a Cross-Site Request Forgery (CSRF) Token

  • افزودن محافظت از جعل درخواست بین سایتی (CSRF). Adding Cross-Site Request Forgery (CSRF) Protection

  • تعمیر دکمه سفارش Fixing the Order Button

  • ارائه بازخورد کاربر Providing User Feedback

  • اختیاری: پیام‌های خطای استایل‌سازی Optional: Styling Error Messages

  • اتمام پیام های فلش Finishing the Flash Messages

  • افزودن پیام های فلش اضافی Adding Additional Flash Messages

  • بسته شدن Wrap Up

ارسال ایمیل Sending Emails

  • معرفی ماژول Module Introduction

  • ارسال ایمیل چگونه کار می کند؟ How Does Sending Emails Work?

  • با استفاده از SendGrid Using SendGrid

  • استفاده از Nodemailer برای ارسال ایمیل Using Nodemailer to Send an Email

  • محدودیت بالقوه برای برنامه های در مقیاس بزرگ Potential Limitation for Large Scale Apps

احراز هویت پیشرفته Advanced Authentication

  • معرفی ماژول Module Introduction

  • بازنشانی رمزهای عبور Resetting Passwords

  • پیاده سازی منطق توکن Implementing the Token Logic

  • ایجاد توکن Creating the Token

  • ایجاد فرم بازنشانی رمز عبور Creating the Reset Password Form

  • اضافه کردن منطق برای به روز رسانی رمز عبور Adding Logic to Update the Password

  • چرا به مجوز نیاز داریم؟ Why we Need Authorization?

  • اضافه کردن مجوز Adding Authorization

  • افزودن محافظت به Post Actions Adding Protection to Post Actions

  • چرا ویرایش با شکست مواجه می شود؟ Why Editing Fails?

  • بسته شدن Wrap Up

درک اعتبارسنجی Understanding Validation

  • معرفی ماژول Module Introduction

  • چرا باید از اعتبار سنجی استفاده کنیم؟ Why Should we use Validation?

  • چگونه ورودی را تایید کنیم؟ How to Validate Input?

  • تنظیم اعتبار پایه Setup Basic Validation

  • استفاده از پیام های خطای اعتبارسنجی Using Validation Error Messages

  • اعتبار سنجی سفارشی داخلی Built-In Custom Validators

  • اعتبار سنجی های بیشتر More Validators

  • بررسی برابری میدان Checking for Field Equality

  • افزودن اعتبارسنجی Async Adding Async Validation

  • حفظ ورودی کاربر Keeping User Input

  • اضافه کردن کلاس های CSS شرطی Adding Conditional CSS Classes

  • افزودن اعتبارسنجی به ورود Adding Validation to Login

  • داده های بهداشتی Sanitizing Data

  • اعتبار افزودن محصول Validating Product Addition

  • تایید ویرایش محصول Validating Product Editing

  • بسته شدن Wrap Up

رسیدگی به خطا Error Handling

  • معرفی ماژول Module Introduction

  • انواع خطاها و مدیریت خطا Types of Errors and Error Handling

  • تجزیه و تحلیل مدیریت خطا در پروژه فعلی Analyzing Error Handling in the Current Project

  • خطاها - برخی نظریه ها Errors - Some Theory

  • پرتاب خطا در کد Throwing Errors in Code

  • بازگرداندن صفحات خطا Returning Error Pages

  • با استفاده از میان افزار مدیریت خطای Express.js Using the Express.js Error Handling Middleware

  • به روز رسانی برنامه Updating the App

  • استفاده صحیح از Error Handling Middleware Using the Error Handling Middleware Correctly

  • کدهای وضعیت Status Codes

  • بسته شدن Wrap Up

آپلود و دانلود فایل File Upload and Download

  • معرفی ماژول Module Introduction

  • افزودن یک فایل انتخابگر به Frontend Adding a File Picker to the Frontend

  • مدیریت داده های فرم چند بخشی Handling Multipart Form Data

  • مدیریت آپلود فایل با مولتر Handling File Uploads with Multer

  • پیکربندی مولتر برای تنظیم نام فایل و مسیر فایل Configuring Multer to Adjust Filename and File Path

  • فیلتر کردن فایل ها بر اساس نوع MIME Filtering Files by MIME type

  • ذخیره سازی اطلاعات فایل در پایگاه داده Storing File Data in the Database

  • ارائه تصاویر به صورت ایستا Serving Images Statically

  • دانلود فایل ها با احراز هویت Downloading Files with Authentication

  • تنظیم هدرهای نوع فایل Setting Up File Type Headers

  • محدود کردن دسترسی به فایل Restricting File Access

  • جریان داده در مقابل بارگیری از قبل داده Streaming Data vs Preloading Data

  • استفاده از PDFKit برای .pdf Generation Using PDFKit for .pdf Generation

  • تولید فایل‌های pdf با داده‌های سفارش Generating .pdf Files with Order Data

  • حذف فایل ها Deleting Files

  • رفع لینک های فاکتور Fixing Invoice Links

  • بسته شدن Wrap Up

اضافه کردن صفحه بندی Adding Pagination

  • معرفی ماژول Module Introduction

  • افزودن لینک های صفحه بندی Adding Pagination Links

  • بازیابی تکه ای از داده ها Retrieving a Chunk of Data

  • آماده سازی داده های صفحه بندی روی سرور Preparing Pagination Data on the Server

  • اضافه کردن دکمه های صفحه بندی پویا Adding Dynamic Pagination Buttons

  • استفاده مجدد از منطق صفحه بندی و کنترل ها Re-using the Pagination Logic and Controls

  • بسته شدن Wrap Up

درک درخواست های Async Understanding Async Requests

  • معرفی ماژول Module Introduction

  • درخواست های Async چیست؟ What are Async Requests?

  • افزودن کد جاوا اسکریپت سمت کلاینت Adding Client Side JavaScript Code

  • ارسال و رسیدگی به درخواست های پیشینه Sending and Handling Background Requests

  • دستکاری مدل شیء سند (DOM) Manipulating the Document Object Model (DOM)

افزودن پرداخت ها Adding Payments

  • معرفی ماژول Module Introduction

  • پرداخت ها چگونه کار می کنند؟ How Payments Work?

  • افزودن صفحه پرداخت Adding a Checkout Page

  • استفاده از Stripe در برنامه شما Using Stripe in Your App

کار با REST API - اصول Working with REST APIs - The Basics

  • معرفی ماژول Module Introduction

  • API های REST چیست و چرا از آنها استفاده می کنیم؟ What Are REST APIs and Why Do We Use Them?

  • دسترسی به داده ها با REST API Accessing Data with REST APIs

  • آشنایی با روش های مسیریابی و HTTP Understanding Routing and HTTP Methods

  • REST API - اصول اصلی REST APIs - The Core Principles

  • ایجاد پروژه REST API ما و اجرای راه‌اندازی مسیر Creating our REST API Project and Implementing the Route Setup

  • ارسال درخواست و پاسخ و کار با پستچی Sending Requests and Responses and Working with Postman

  • REST APIها، کلاینت‌ها و خطاهای اشتراک‌گذاری منابع متقاطع (CORS). REST APIs, Clients, and Cross-Origin Resource Sharing (CORS) Errors

  • ارسال درخواست های POST Sending POST Requests

  • بسته شدن Wrap Up

کار با REST API - کاربرد عملی Working with REST APIs - The Practical Application

  • معرفی ماژول Module Introduction

  • REST API و بقیه دوره REST APIs and the Rest of the Course

  • آشنایی با تنظیمات Frontend Understanding the Frontend Setup

  • برنامه ریزی API Planning the API

  • واکشی لیست پست ها Fetching Lists of Posts

  • افزودن نقطه پایانی ایجاد پست Adding a Create Post Endpoint

  • افزودن اعتبار سنجی سمت سرور Adding Server-Side Validation

  • راه اندازی یک مدل پست Setting up a Post Model

  • ذخیره پست ها در پایگاه داده Storing Posts in the Database

  • تصاویر استاتیک و مدیریت خطا Static Images and Error Handling

  • واکشی یک پست واحد Fetching a Single Post

  • آپلود تصاویر Uploading Images

  • به روز رسانی پست ها Updating Posts

  • حذف پست ها Deleting Posts

  • اضافه کردن صفحه بندی Adding Pagination

  • اضافه کردن یک مدل کاربر Adding a User Model

  • افزودن اعتبار ثبت نام کاربر Adding User Signup Validation

  • ثبت نام کاربران Signing Users up

  • احراز هویت چگونه کار می کند؟ How Does Authentication Work?

  • با ورود کاربر شروع می شود Starting with User Login

  • ورود به سیستم و ایجاد توکن های وب JSON (JWT) Log in and Creating JSON Web Tokens (JWTs)

  • استفاده و اعتبارسنجی توکن Using and Validating the Token

  • افزودن Auth Middleware به همه مسیرها Adding Auth Middleware to all Routes

  • اتصال پست ها و کاربران Connecting Posts and Users

  • افزودن چک های مجوز Adding Authorization Checks

  • پاک کردن روابط پس از کاربر Clearing Post-User Relations

  • بسته شدن Wrap Up

آشنایی با Async/Await در Node.js Understanding Async/Await in Node.js

  • معرفی ماژول Module Introduction

  • Async/Await all about چیست؟ What is Async/Await all About?

  • تبدیل «سپس/گرفتن» به «همگام‌سازی/انتظار» Transforming "Then/Catch" to "Async/Await"

  • بسته شدن Wrap Up

آشنایی با WebSocket & Socket.io Understanding WebSocket & Socket.io

  • معرفی ماژول Module Introduction

  • WebSocket چیست و چرا از آنها استفاده می کنید؟ What Are WebSocket and Why Would You Use Them?

  • راه حل های WebSocket - یک مرور کلی WebSocket Solutions - An Overview

  • راه اندازی Socket.io در سرور Setting up Socket.io on the Server

  • ایجاد ارتباط از سوی مشتری Establishing a Connection from the Client

  • شناسایی پتانسیل بلادرنگ Identifying Realtime Potential

  • به اشتراک گذاری نمونه IO در میان فایل ها Sharing the IO Instance Across Files

  • همگام سازی اضافات POST Synchronizing POST Additions

  • رفع اشکال - نام کاربری گمشده Fixing a Bug - The Missing Username

  • به روز رسانی پست ها در همه مشتریان متصل Updating Posts on all Connected Clients

  • مرتب سازی صحیح Sorting Correctly

  • حذف پست ها در بین مشتریان Deleting Posts across Clients

  • بسته شدن Wrap Up

کار با GraphQL Working with GraphQL

  • معرفی ماژول Module Introduction

  • GraphQL چیست؟ What is GraphQL?

  • درک راه اندازی و نوشتن اولین پرس و جو Understanding the Setup and Writing First Query

  • تعریف طرحواره جهش Defining a Mutation Schema

  • اضافه کردن Motation Resolver و GraphQL Adding a Mutation Resolver and GraphQL

  • افزودن اعتبار سنجی ورودی Adding Input Validation

  • رسیدگی به خطاها Handling Errors

  • اتصال Frontend به GraphQL API Connecting the Frontend to the GraphQL API

  • اضافه کردن یک جستجوی ورود و یک Resolver Adding a Login Query and a Resolver

  • افزودن قابلیت ورود به سیستم Adding Login Functionality

  • اضافه کردن یک جهش "ایجاد پست". Adding a "Create Post" Mutation

  • استخراج داده های کاربر از توکن Auth Extracting User Data from the Auth Token

  • ارسال پرس و جو "ایجاد پست". Sending the "Create Post" Query

  • رفع اشکال و اضافه کردن پست های جدید به درستی Fixing a Bug and Adding New Posts Correctly

  • افزودن پرس و جو و حل‌کننده «دریافت پست». Adding a "Get Post" Query and Resolver

  • ارسال عبارت "ایجاد پست" و "دریافت پست". Sending "Create Post" and "Get Post" Queries

  • اضافه کردن صفحه بندی Adding Pagination

  • آپلود تصاویر Uploading Images

  • مشاهده یک پست واحد Viewing a Single Post

  • به روز رسانی پست ها Updating Posts

  • حذف پست ها Deleting Posts

  • مدیریت وضعیت کاربر Managing the User Status

  • استفاده از متغیرها Using Variables

  • رفع اشکال صفحه بندی Fixing a Pagination Bug

  • بسته شدن Wrap Up

استقرار برنامه Deploying the App

  • معرفی ماژول Module Introduction

  • استقرار انواع مختلف برنامه ها Deploying Different Kinds of Apps

  • آماده سازی استقرار Deployment Preparations

  • استفاده از متغیرهای محیطی Using Environment Variables

  • با استفاده از کلیدهای API تولید Using Production API Keys

  • تنظیم هدرهای پاسخ ایمن با کلاه ایمنی Setting Secure Response Headers with Helmet

  • فشرده سازی دارایی ها Compressing Assets

  • راه اندازی ثبت درخواست Setting up Request Logging

  • راه اندازی سرور لایه سوکت ایمن (SSL). Setting up a Secure Sockets Layer (SSL) Server

  • استفاده از ارائه دهنده هاست Using a Hosting Provider

  • آشنایی با پروژه و تنظیم گیت Understanding the Project and the Git Setup

  • یک مثال استقرار با Heroku A Deployment Example with Heroku

  • استقرار API ها Deploying APIs

آزمایش برنامه های Node.js Testing Node.js Applications

  • معرفی ماژول Module Introduction

  • تست چیست؟ What is Testing?

  • تست - چرا و چگونه؟ Testing - Why and How?

  • راه اندازی و نوشتن آزمون اول Setup and Writing the First Test

  • تست میان افزار Auth Testing the Auth Middleware

  • سازماندهی آزمون های متعدد Organizing Multiple Tests

  • چه چیزی را نباید تست کرد! What Not to Test!

  • استفاده از Stubs Using Stubs

  • کنترل کننده های تست Testing Controllers

  • تست کد ناهمزمان Testing Asynchronous Code

  • راه اندازی پایگاه داده تست Setting up a Testing Database

  • تست کد با یک پایگاه داده فعال Testing Code with an Active Database

  • تمیز کردن Cleaning Up

  • قلاب Hooks

  • کد آزمایشی که نیاز به احراز هویت دارد Testing Code That Requires Authentication

  • جمع بندی و تسلط بر تست ها Wrap up and Mastering Tests

Node.js به عنوان ابزار ساخت و استفاده از NPM Node.js as a Build Tool and Using NPM

  • معرفی ماژول Module Introduction

  • NPM و Node.js NPM and Node.js

  • با استفاده از NPM Using NPM

  • ابزار ساخت چیست؟ What is a Build Tool?

  • استفاده از Node.js در Build Processes Using Node.js in Build Processes

جاوا اسکریپت مدرن و Node.js Modern JavaScript and Node.js

  • معرفی ماژول Module Introduction

  • این ماژول در مورد چیست؟ What is this Module About?

  • کار با ماژول های ECMAScript (ES Modules) و Node Working with ECMAScript Modules (ES Modules) and Node

  • اطلاعات بیشتر در مورد ماژول های ECMAScript (ماژول های ES) More on ECMAScript Modules (ES Modules)

  • ماژول ها و وعده های هسته گره Node Core Modules and Promises

Node.js و TypeScript Node.js and TypeScript

  • معرفی ماژول Module Introduction

  • TypeScript: چی و چرا؟ TypeScript: What and Why?

  • راه اندازی TypeScript TypeScript Setup

  • تعیین انواع Assigning Types

  • تایپ Inference و Type Casting Type Inference and Type Casting

  • پیکربندی TypeScript Configuring TypeScript

  • کار با Union Types Working with Union Types

  • استفاده از انواع شی و آرایه Using Object and Array Types

  • کار با نام مستعار نوع و رابط Working with Type Aliases and Interfaces

  • درک ژنریک Understanding Generics

  • اولین خلاصه A First Summary

  • Node و TypeScript: Setup Node and TypeScript: Setup

  • شروع کار با Node و TypeScript Getting Started with Node and TypeScript

  • نوشتن کد TypeScript Express.js Writing TypeScript Express.js Code

  • اضافه کردن مسیرهای REST با TypeScript Adding REST Routes with TypeScript

  • اتمام مسیرهای REST Finishing the REST Routes

  • تست API Testing the API

  • با استفاده از Type Casting Using Type Casting

  • حرکت به سمت ساختار پروژه بهتر Moving to a Better Project Structure

  • بسته شدن Wrap Up

مقدمه ای بر Deno An Introduction to Deno

  • معرفی ماژول Module Introduction

  • دنو چیست؟ What is Deno?

  • چرا دنو؟ Why Deno?

  • Deno Setup Deno Setup

  • نوشتن اولین کد دنو Writing First Deno Code

  • API Deno Runtime (Namespace). The Deno Runtime (Namespace) API

  • با استفاده از Runtime API Using the Runtime API

  • کار با Deno Permissions Working with Deno Permissions

  • تکرار مثال با Node Repeating the Example with Node

  • ویژگی های Deno چگونه سازماندهی می شوند How Deno Features Are Organized

  • با استفاده از کتابخانه استاندارد Using the Standard Library

  • ایجاد یک وب سرور Creating a Webserver

  • استفاده از Oak Framework با Deno Using the Oak Framework with Deno

  • یک نمونه Node REST API An Example Node REST API

  • بازسازی REST API با Deno Re-building the REST API with Deno

  • آیا باید از Node به Deno تغییر دهید؟ Should You Switch from Node to Deno?

Deno، CRUD و پایگاه های داده (MongoDB) Deno, CRUD and Databases (MongoDB)

  • معرفی ماژول Module Introduction

  • راه اندازی برنامه App Setup

  • رسیدگی به خطاهای CORS Handling CORS Errors

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

  • با استفاده از ماژول مشتری MongoDB Using the MongoDB Client Module

  • اتمام عملیات Deno MongoDB CRUD Finishing the Deno MongoDB CRUD Operations

  • بسته شدن Wrap Up

جمع بندی Roundup

  • خلاصه دوره Course Roundup

نمایش نظرات

نظری ارسال نشده است.

آموزش Node.js - راهنمای کامل [ویدئو]
خرید اشتراک و دانلود خرید تکی و دانلود | 360,000 تومان (6 روز مهلت دانلود) در صورت خرید اشتراک، این آموزش بدلیل حجم بالا معادل 3 دوره است و 3 دوره از اشتراک شما کم می شود. زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
34 h 3 m
477
Packtpub packtpub-small
05 اردیبهشت 1398 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
5
4.8 از 5
ندارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Packtpub یک ناشر دیجیتالی کتاب‌ها و منابع آموزشی در زمینه فناوری اطلاعات و توسعه نرم‌افزار است. این شرکت از سال 2004 فعالیت خود را آغاز کرده و به تولید و انتشار کتاب‌ها، ویدیوها و دوره‌های آموزشی می‌پردازد که به توسعه‌دهندگان و متخصصان فناوری اطلاعات کمک می‌کند تا مهارت‌های خود را ارتقا دهند. منابع آموزشی Packtpub موضوعات متنوعی از جمله برنامه‌نویسی، توسعه وب، داده‌کاوی، امنیت سایبری و هوش مصنوعی را پوشش می‌دهد. محتوای این منابع به صورت کاربردی و به‌روز ارائه می‌شود تا کاربران بتوانند دانش و توانایی‌های لازم برای موفقیت در پروژه‌های عملی و حرفه‌ای خود را کسب کنند.