آموزش دوره بوت کمپ مدرن جاوا اسکریپت (2022)

The Modern Javascript Bootcamp Course (2022)

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: به روزترین منبع JS آنلاین! استاد جاوا اسکریپت با ساختن مجموعه ای زیبا از پروژه ها! همه چیز را در مورد جاوا اسکریپت بدانید - از ابتدا! برنامه های وب زیبا را برای افزودن به مجموعه خود بسازید با درک عمیق از درونیات JS Work with Node JS و Express یک برنامه تجارت الکترونیک کامل و کامل با احراز هویت ایجاد کنید. با ایجاد چارچوب تست سفارشی خود، کد خود را به صورت خودکار آزمایش کنید! بازی جاوا اسکریپت مبتنی بر فیزیک خود را بسازید درک اینکه چگونه توسعه دهندگان جاوا اسکریپت به صورت روزانه کار می کنند تسلط بر جدیدترین ویژگی های JS مانند توابع async و arrow پیش نیازها: یک رایانه مبتنی بر Windows، MacOS یا Linux مورد نیاز است.

همیشه روی جاوا اسکریپت شرط بندی کنید!

سال‌هاست، استخدام‌کنندگان برتر در صنعت، مهندسان تازه‌کار را صرفاً بر اساس دانش آنها از جاوا اسکریپت استخدام کرده‌اند. اگر می خواهید شغل برنامه نویسی پیدا کنید، این زبانی است که باید یاد بگیرید! اما یادگیری جاوا اسکریپت پیچیده است! نحو شیک، الگوهای طراحی عجیب و غریب، و میلیاردها منبع آنلاین وجود دارد که ممکن است اطلاعات اشتباه - یا حتی قدیمی - را به شما بدهد.

ما این دوره را برای حل مشکلات شما ایجاد کردیم. این بهترین و به روزترین منبع آنلاین برای حرفه ای شدن در جاوا اسکریپت در سریع ترین زمان ممکن است. هر دقیقه از این دوره با یک هدف در ذهن ایجاد شده است: آموزش اینکه چگونه یک مهندس بزرگ شوید.


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

دو تن از بزرگترین مربیان Udemy - Colt Steele و Stephen Grider - برای ایجاد این دوره با یکدیگر همکاری کردند. بین ما دو نفر، به بیش از یک میلیون مهندس نحوه برنامه نویسی را آموزش داده ایم. مطمئن باشید از بهترین ها یاد خواهید گرفت. ما می دانیم که درک یک برنامه نویسی جدید از ابتدا چقدر می تواند چالش برانگیز باشد، بنابراین ما این دوره را طراحی کردیم تا رویکردی گام به گام و تضمین شده برای تبدیل شدن به یک استاد جاوا اسکریپت را به شما ارائه دهیم.


------ ساختار دوره ------

این دوره به دو بخش تقسیم می شود. نیمه اول دوره بر آموزش سینتکس پایه جاوا اسکریپت تمرکز دارد. Colt شما را بدون هیچ زحمتی در میان موضوعات اصلی راهنمایی می کند و جواهراتی از خرد JS را در طول مسیر به شما منتقل می کند. در نیمه اول دوره، تمرین‌های برنامه‌نویسی و پروژه‌های کوچک بسیاری گنجانده شده است، بنابراین می‌توانید دانش جدید خود را آزمایش کنید. هر یک از این ویدیوها را می توان به راحتی در آینده به آنها ارجاع داد، بنابراین همیشه می توانید هر زمان که نیاز بود، برگردید و موضوعی را بررسی کنید.

نیمه دوم دوره بر ساختن چند پروژه شگفت انگیز متمرکز است. استفن به شما نشان می دهد که چگونه برخی از برنامه های جاوا اسکریپت آماده برای تولید، از جمله یک برنامه وب تجارت الکترونیک با امکانات کامل بسازید! این پروژه‌ها همگی به‌گونه‌ای طراحی شده‌اند که برنامه‌هایی کاملاً زیبا و از نظر بصری خیره‌کننده هستند که به شما افتخار می‌کند که در نمونه کارها شخصی خود قرار دهید. هدف اصلی این پروژه ها برجسته کردن الگوهای طراحی و نشان دادن روش های "درست" و "نادرست" کدنویسی است. در پایان، به اندازه کافی مطمئن خواهید بود که روی پروژه های شخصی خود با سرعت و ظرافت کار کنید.


------ آنچه یاد خواهید گرفت ------

این یک دوره طولانی است و تقریباً هر واقعیتی در مورد جاوا اسکریپت در آن وجود دارد که می توانید امیدوار باشید که بدانید. زیر مجموعه مختصری از موضوعاتی که پوشش خواهید داد در اینجا آمده است:

  • تسلط به اصول اولیه زبان، درک آسان متغیرها، اشیاء، آرایه ها و توابع

  • با نحوه طراحی ساختار کدهایی که می نویسید آشنا شوید که منجر به برنامه های زیبا و خوانا می شود

  • از روش های داخلی جاوا اسکریپت برای افزایش بهره وری خود صرف نظر از کتابخانه ها یا چارچوب هایی که استفاده می کنید استفاده کنید

  • مهارتهای عملی را در مورد عملکردهای درجه بالاتری که برای سالهای آینده از آنها استفاده خواهید کرد، توسعه دهید

  • نظارت کنید که جاوا اسکریپت و مرورگر چگونه با هم کار می کنند، و چگونه می توان عملکرد کد JS را افزایش داد

  • پروژه های فوق العاده ای بسازید تا سبد شخصی خود را پر کنید

  • با استفاده از Node JS

    ابزارهای خط فرمان را از ابتدا بسازید
  • اطلاعات را از APIهای شخص ثالث واکشی و مدیریت کنید

  • یک برنامه تجارت الکترونیک با امکانات کامل از ابتدا بسازید - از جمله احراز هویت درجه تولید!


این دوره آموزشی نهایی جاوا اسکریپت است. منابع آنلاین زیادی برای یادگیری جاوا اسکریپت وجود دارد، اما این تنها منبعی است که همه چیزهایی را که باید بدانید، از «A» تا «Z» و چند حرف بعد از آن را پوشش می دهد. با Colt به اصول اولیه تسلط پیدا کنید، سپس با استفان پروژه های عالی بسازید. ما به یک میلیون مهندس دیگر نحوه کدنویسی را آموزش داده ایم و اکنون نوبت شماست!


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

معرفی Introduction

  • این دوره چگونه کار می کند How This Course Works

  • JS، ECMA، TC39: معنی آنها چیست؟ JS, ECMA, TC39: What Do They Mean??

  • ابزارهایی که نیاز دارید The Tools You Need

  • سفارشی کردن VSCode & Extensions Customizing VSCode & Extensions

  • نکته ای سریع درباره MDN A Quick Note About MDN

مقادیر و متغیرهای JS JS Values & Variables

  • اهداف و اصول اولیه Goals & Primitives

  • اجرای کد در کنسول JS Running Code in the JS Console

  • معرفی اعداد Introducing Numbers

  • NaN و بی نهایت NaN & Infinity

  • آزمون اعداد Numbers Quiz

  • متغیرها و اجازه دهید Variables & Let

  • اپراتورهای Unary Unary Operators

  • معرفی Const Introducing Const

  • میراث وار The Legacy of Var

  • آزمون متغیرها Variables Quiz

چگونه داده ها را به طور کارآمد مدل کنیم How to Model Data Efficiently

  • معرفی Booleans Booleans Intro

  • رشته های Strings

  • شاخص های رشته ای String Indices

  • روش های رشته ای String Methods

  • روش های رشته ای بیشتر More String Methods

  • آزمون رشته ها Strings Quiz

  • شخصیت های فرار از رشته String Escape Characters

  • حروف الفاظ قالب رشته String Template Literals

  • پوچ و تعریف نشده Null & Undefined

  • شیء ریاضی و اعداد تصادفی The Math Object & Random Numbers

  • نوع اپراتور typeof operator

  • parseInt و parseFloat parseInt & parseFloat

کنترل منطق و جریان برنامه Controlling Program Logic and Flow

  • تصمیم گیری در JS Making Decisions in JS

  • اپراتورهای مقایسه Comparison Operators

  • دو برابر (==) Double Equals (==)

  • سه برابر (===) Triple Equals (===)

  • اجرای کد از یک اسکریپت Running Code From a Script

  • اگر بیانیه ها If Statements

  • در غیر این صورت اگر Else If

  • دیگر Else

  • شرایط تودرتو Nesting Conditionals

  • ارزش های درست و نادرست Truthy & Falsy Values

  • منطقی و (&&) Logical AND (&&)

  • منطقی یا (||) Logical OR (||)

  • اپراتور نیست (!) NOT Operator (!)

  • اولویت اپراتور Operator Precedence

  • بیانیه سوئیچ The Switch Statement

  • اپراتور سه تایی Ternary Operator

مجموعه ای از داده ها را با آرایه ها ضبط کنید Capture Collections of Data with Arrays

  • ایجاد آرایه ها Creating Arrays

  • شاخص های آرایه Array Indices

  • اصلاح آرایه ها Modifying Arrays

  • فشار و پاپ Push and Pop

  • Shift و Unshift Shift and Unshift

  • Concat Concat

  • شامل و IndexOf Includes and IndexOf

  • معکوس و عضویت Reverse and Join

  • تکه Slice

  • اسپلایس Splice

  • مرتب سازی (قسمت اول) Sorting (Part 1)

  • مقدمه ای بر انواع مرجع Intro to Reference Types

  • استفاده از Const با آرایه ها Using Const with Arrays

  • کار با آرایه های تودرتو Working with Nested Arrays

اشیاء - هسته جاوا اسکریپت Objects - The Core of Javascript

  • مقدمه ای بر اشیاء Intro to Objects

  • ایجاد حروف الفبای شی Creating Object Literals

  • دسترسی به ویژگی های شی Accessing Object Properties

  • افزودن و به روز رسانی خواص Adding and Updating Properties

  • آرایه ها و اشیاء تودرتو Nested Arrays & Objects

  • اشیاء و انواع مرجع Objects and Reference Types

  • برابری آرایه/شیء Array/Object Equality

دنیای حلقه ها The World of Loops

  • معرفی حلقه ها Intro to Loops

  • برای حلقه ها For Loops

  • حلقه های بی نهایت! Infinite Loops!

  • برای حلقه ها و آرایه ها For Loops & Arrays

  • Nested For Loops Nested For Loops

  • مقدمه ای برای حلقه های while Intro to While Loops

  • حلقه های بیشتر while More While Loops

  • شکستن کلمه کلیدی Break Keyword

  • برای...از معرفی For...Of Intro

  • مقایسه برای و برای...از Comparing For and For...Of

  • برای...از با اشیاء For...Of with Objects

  • برای ... در حلقه ها For...In Loops

نوشتن کد قابل استفاده مجدد با توابع Writing Reusable Code with Functions

  • اولین کارکرد ما! Our First Function!

  • عملکرد تاس انداختن Dice Roll Function

  • معرفی استدلال ها Introducing Arguments

  • توابع با ارگ های متعدد Functions With Multiple Args

  • بیانیه بازگشت The Return Statement

  • اطلاعات بیشتر در مورد ارزش های بازگشتی More on Return Values

  • چالش عملکرد 1: passwordValidator Function Challenge 1: passwordValidator

  • چالش تابع 2: متوسط Function Challenge 2: Average

  • چالش عملکرد 3: پانگرام Function Challenge 3: Pangrams

  • عملکرد چالش 4: کارت بازی را دریافت کنید Function Challenge 4: Get Playing Card

نگاهی پیشرفته به توابع An Advanced Look at Functions

  • محدوده عملکرد Function Scope

  • Block Scope Block Scope

  • دامنه واژگانی Lexical Scope

  • عبارات تابع Function Expressions

  • توابع مرتبه بالاتر Higher Order Functions

  • به عنوان آرگومان عمل می کند Functions as Arguments

  • به عنوان مقادیر بازگشتی عمل می کند Functions as Return Values

  • تماس های تلفنی Callbacks

  • بالا بردن Hoisting

اعمال توابع به مجموعه داده ها Apply Functions to Collections of Data

  • مقدمه ای بر روش های پاسخ به تماس آرایه Intro to Array Callback Methods

  • برای هر forEach

  • نقشه Map

  • معرفی توابع پیکان Arrow Functions Intro

  • توابع پیکان: بازگشت ضمنی Arrow Functions: Implicit Returns

  • آرایه.پیدا کردن Array.find

  • فیلتر کنید Filter

  • برخی و هر Some & Every

  • بازبینی مرتب سازی! Revisiting Sort!

  • کاهش معرفی Reduce Intro

  • کاهش Pt. 2 Reduce Pt. 2

  • حتی بیشتر کاهش! Even More Reduce!

چند ویژگی متفرقه JS A Few Miscellaneous JS Features

  • معرفی ویژگی های جدید JS New JS Features Intro

  • پارامترهای پیش فرض Default Parameters

  • گسترش برای تماس های تابع Spread for Function Calls

  • Spread در Array Literals Spread in Array Literals

  • Spread در Object Literals Spread in Object Literals

  • The Arguments Object (جدید نیست) The Arguments Object (not new)

  • پارامترهای استراحت (جدید!) Rest Parameters (new!)

  • تخریب ساختار آرایه ها Destructuring Arrays

  • تخریب اشیاء Destructuring Objects

  • Nested Destructuring Nested Destructuring

  • پارامترهای تخریب ساختار Destructuring Parameters

روش‌های شی و کلمه کلیدی «این». Object Methods and the 'This' Keyword

  • مختصات شیء Shorthand Object Properties

  • ویژگی های محاسبه شده Computed Properties

  • افزودن متدها به اشیا Adding Methods to Objects

  • سینتکس روش Method Shorthand Syntax

  • معرفی کلمه کلیدی THIS Intro to Keyword THIS

  • استفاده از THIS در Methods Using THIS in Methods

  • این: زمینه فراخوانی THIS: Invocation Context

  • نسخه ی نمایشی مزاحم Annoyomatic Demo

  • قرار دادن همه چیز در کنار هم: دسته کارت Putting It All Together: Deck Of Cards

  • ایجاد یک کارخانه عرشه Creating A Deck Factory

JS در مرورگر - دستکاری DOM JS In the Browser - DOM Manipulation

  • مقدمه ای بر DOM Introduction to the DOM

  • نکته مهم: HTML و CSS IMPORTANT NOTE: HTML & CSS

  • طعم DOM Taste of the DOM

  • یک مثال جالب دیگر DOM Another Fun DOM Example

  • شیء سند The Document Object

  • getElementById getElementById

  • getElementsByTagName getElementsByTagName

  • getElementsByClassName getElementsByClassName

  • querySelector & querySelectorAll querySelector & querySelectorAll

چرخاندن DOM به اراده ما! Twisting the DOM to Our Will!

  • کار با محتوای متنی و متنی Working with innerText & textContent

  • innerHTML innerHTML

  • ارزش، src، href و موارد دیگر value, src, href, and more

  • دریافت و تنظیم ویژگی ها Getting & Setting Attributes

  • پیدا کردن والدین/فرزندان/خواهر و برادر Finding Parent/Children/Siblings

  • تغییر چندین عنصر Changing Multiple Elements

  • تغییر سبک ها Altering Styles

  • getComputedStyle getComputedStyle

  • دستکاری کلاس ها Manipulating Classes

  • ایجاد عناصر Creating Elements

  • افزودن، آماده کردن، و درج قبل از Append, Prepend, & insertBefore

  • removeChild & remove removeChild & remove

  • نمودار امتیازات NBA امتیاز 1. NBA Scores Chart Pt1.

  • نمودار امتیازات NBA Refactor NBA Scores Chart Refactor

ارتباط با رویدادها Communicating with Events

  • معرفی رویدادهای DOM Intro to DOM Events

  • 2 راه برای عدم اضافه کردن رویدادها 2 Ways NOT to Add Events

  • addEventListener addEventListener

  • نسخه ی نمایشی دکمه غیرممکن The Impossible Button Demo

  • رویدادهای چند عنصر Events on Multiple Elements

  • شی رویداد The Event Object

  • رویدادهای کلیدی: فشار کلید، keyup، و keydown Key Events: keypress, keyup, & keydown

  • نسخه ی نمایشی بازی سکه Coin Game Demo

  • رویدادهای فرم و PreventDefault Form Events & PreventDefault

  • ورودی و تغییر رویدادها Input & Change Events

کد ناهمزمان، تماس‌ها و وعده‌ها Asynchronous Code, Callbacks & Promises

  • پشته تماس The Call Stack

  • Call Stack Debugging با ابزار Dev Call Stack Debugging w/ Dev Tools

  • JS تک رشته ای است JS is Single Threaded

  • چگونه تماس های ناهمزمان در واقع کار می کنند How Asynchronous Callbacks Actually Work

  • به Callback Hell خوش آمدید Welcome to Callback Hell

  • معرفی Promises! Introducing Promises!

  • بازگشت وعده ها از توابع Returning Promises from Functions

  • حل و فصل/رد با ارزش ها Resolving/Rejecting w/ Values

  • دلخوشی های وعده زنجیر The Delights of Promise Chaining

  • بازسازی با وعده ها Refactoring w/ Promises

ایجاد درخواست های HTTP Making HTTP Requests

  • معرفی AJAX Intro to AJAX

  • JSON و XML JSON & XML

  • XMLHttpRequests: اصول XMLHttpRequests: The Basics

  • XMLHttpRequests: درخواست های زنجیره ای XMLHttpRequests: Chaining Requests

  • یک راه بهتر: واکشی! A Better Way: Fetch!

  • زنجیره‌ای کردن درخواست‌های واکشی Chaining Fetch Requests

  • Refactoring Fetch Chains Refactoring Fetch Chains

  • یک راه حتی بهتر: Axios An Even Better Way: Axios

  • درخواست های متوالی Axios Sequential Axios Requests

Async & Await: JS Magic Async & Await: JS Magic

  • مروری سریع بر عملکردهای Async A Quick Overview of Async Functions

  • کلمه کلیدی Async The Async Keyword

  • کلیدواژه انتظار The Await Keyword

  • مدیریت خطا در توابع Async Error Handling in Async Functions

  • انتظارات چندگانه Multiple Awaits

  • موازی در مقابل درخواست های متوالی Parallel Vs. Sequential Requests

  • Refactoring با Promise.all Refactoring with Promise.all

نمونه های اولیه، کلاس ها، و اپراتور جدید Prototypes, Classes, & The New Operator

  • نمونه های اولیه روی زمین چیست؟ What on Earth are Prototypes?

  • مقدمه ای برای OOP An Intro to OOP

  • توابع کارخانه Factory Functions

  • توابع سازنده Constructor Functions

  • کلاس های JS - قند نحوی JS Classes - Syntactical Sugar

  • کمی بیشتر با کلاس ها تمرین کنید A Bit More Practice with Classes

  • Extends، Super و Subclasses Extends, Super, and Subclasses

طراحی انیمیشن Drawing Animations

  • به قسمت 2 خوش آمدید! Welcome to Part 2!

  • نمای کلی برنامه App Overview

  • راه اندازی پروژه Project Setup

  • معماری مبتنی بر رویداد Event-Based Architecture

  • پیاده سازی بر اساس کلاس Class-Based Implementation

  • رویدادهای الزام آور در یک کلاس Binding Events in a Class

  • یادآوری در مورد "این" Reminder on 'This'

  • تعیین ارزش "این" Determining the Value of 'This'

  • حل مسئله "این" Solving the 'This' Issue

  • شروع و توقف تایمر Starting and Pausing the Timer

  • کجا داده ها را ذخیره کنیم؟ Where to Store Data?

  • رویکرد DOM محور DOM-Centric Approach

  • گیرندگان و ستترها Getters and Setters

  • توقف تایمر Stopping the Timer

  • اطلاع رسانی به دنیای خارج Notifying the Outside World

  • OnTick و OnComplete OnTick and OnComplete

  • استخراج کد تایمر Extracting Timer Code

  • معرفی SVG ها Introducing SVG's

  • قوانین SVG Rules of SVG's

  • ویژگی های دایره پیشرفته Advanced Circle Properties

  • راز انیمیشن The Secret to the Animation

  • اولین پاس در انیمیشن First Pass on the Animation

  • صاف کردن انیمیشن Smoothing the Animation

  • تنظیم با فاصله زوج Adjusting by an Even Interval

  • استفاده از آیکون ها Using Icons

  • یک ظاهر طراحی و بسته بندی Styling and Wrapup

الگوهای طراحی اپلیکیشن Application Design Patterns

  • بررسی اجمالی برنامه Application Overview

  • راه اندازی کیت شروع Starter Kit Setup

  • چالش های بزرگ Big Challenges

  • واکشی داده های فیلم Fetching Movie Data

  • واکشی یک فیلم واحد Fetching a Single Movie

  • طراحی ویجت تکمیل خودکار AutoComplete Widget Design

  • جستجوی API در تغییر ورودی Searching the API on Input Change

  • تاخیر در ورودی جستجو Delaying Search Input

  • درک Debounce Understanding Debounce

  • پیاده سازی Debounce قابل استفاده مجدد Implementing a Reusable Debounce

  • استخراج توابع سودمند Extracting Utility Functions

  • در انتظار توابع Async Awaiting Async Functions

  • رندر فیلم Rendering Movies

  • رسیدگی به پاسخ های اشتباه Handling Errored Responses

  • باز کردن یک منو Opening a Menu

  • سبک ایجاد ویجت Style of Widget Creation

  • انتقال نسل HTML Moving HTML Generation

  • یادداشت سریع Quick Note

  • Repairing References Repairing References

  • مدیریت تصاویر شکسته Handling Broken Images

  • بسته شدن خودکار پنجره بازشو Automatically Closing the Dropdown

  • رسیدگی به پاسخ های خالی Handling Empty Responses

  • مدیریت انتخاب فیلم Handling Movie Selection

  • ایجاد یک درخواست پیگیری Making a Followup Request

  • ارائه خلاصه گسترده Rendering an Expanded Summary

  • آمار گسترش یافته Expanded Statistics

  • مشکلات مربوط به Codebase Issues with the Codebase

  • ساخت تکمیل خودکار قابل استفاده مجدد Making the Autocomplete Reusable

  • نمایش چندین تکمیل خودکار Displaying Multiple Autocompletes

  • استخراج منطق رندرینگ Extracting Rendering Logic

  • استخراج منطق انتخاب Extracting Selection Logic

  • حذف مراجع فیلم Removing Movie References

  • مصرف منبع متفاوت داده Consuming a Different Source of Data

  • ساختار HTML تازه شده Refreshed HTML Structure

  • جلوگیری از تکرار تنظیمات Avoiding Duplication of Config

  • مخفی کردن آموزش Hiding the Tutorial

  • نمایش دو خلاصه Showing Two Summaries

  • چه زمانی مقایسه کنیم؟ When to Compare?

  • چگونه مقایسه کنیم؟ How to Compare?

  • استخراج مقادیر آماری Extracting Statistic Values

  • تجزیه تعداد جوایز Parsing Number of Awards

  • استفاده از ویژگی های تجزیه شده Applying Parsed Properties

  • به روز رسانی سبک ها Updating Styles

  • رفع اشکال کوچک Small Bug Fix

  • جمع بندی برنامه App Wrapup

جاوا اسکریپت با Canvas API Javascript with the Canvas API

  • بررسی اجمالی برنامه Application Overview

  • راه اندازی پروژه Project Setup

  • اصطلاحات ماده Matter Terminology

  • دریافت محتوا برای نمایش Getting Content to Appear

  • نمای کلی دیگ بخار Boilerplate Overview

  • ترسیم مرزها Drawing Borders

  • کلیک کردن و کشیدن Clicking and Dragging

  • ایجاد اشکال تصادفی Generating Random Shapes

  • الگوریتم تولید پیچ ​​و خم Maze Generation Algorithm

  • بیشتر در مورد Maze Generation More on Maze Generation

  • متغیرهای پیکربندی Configuration Variables

  • تولید شبکه Grid Generation

  • عمودی و افقی Verticals and Horizontals

  • انتزاع ابعاد پیچ ​​و خم Abstracting Maze Dimensions

  • نظرات راهنما Guiding Comments

  • مختصات همسایه Neighbor Coordinates

  • به هم زدن جفت همسایه Shuffling Neighbor Pairs

  • تعیین جهت حرکت Determining Movement Direction

  • به روز رسانی مقادیر دیوار عمودی Updating Vertical Wall Values

  • به روز رسانی ارزش های دیوار افقی Updating Horizontal Wall Values

  • اعتبار سنجی ساختار دیوار Validating Wall Structure

  • تکرار بر روی دیوارها Iterating Over Walls

  • ترسیم بخش های افقی Drawing Horizontal Segments

  • ترسیم بخش های عمودی Drawing Vertical Segments

  • رسم هدف Drawing the Goal

  • کشیدن توپ بازی Drawing the Playing Ball

  • دست زدن به کلیدهای فشرده Handling Keypresses

  • اضافه کردن کنترل های صفحه کلید Adding Keyboard Controls

  • غیرفعال کردن جاذبه Disabling Gravity

  • تشخیص برد Detecting a Win

  • افزودن انیمیشن برنده Adding a Win Animation

  • کشش بوم Stretching the Canvas

  • آشنایی با متغیرهای واحد جدید Understanding the New Unit Variables

  • Refactoring برای مازهای مستطیلی Refactoring for Rectangular Mazes

  • افزودن رنگ های پر Adding Fill Colors

  • نمایش پیام موفقیت Displaying a Success Message

یک برنامه اشتراک گذاری پیام مخفی بسازید Make a Secret-Message Sharing App

  • بررسی اجمالی برنامه Application Overview

  • راه اندازی پروژه Project Setup

  • رسیدگی به ارسال فرم Handling Form Submission

  • کدگذاری Base64 Base64 Encoding

  • رمزگذاری رشته وارد شده Encoding the Entered String

  • بخش هایی از یک URL Parts of a URL

  • ایجاد URL Generating the URL

  • تغییر حالت دید عنصر Toggling Element Visibility

  • رمزگشایی پیام Decoding the Message

  • نمایش پیام Displaying the Message

  • استقرار برنامه App Deployment

ابزارهای خط فرمان Node JS را ایجاد کنید Create Node JS Command Line Tools

  • جاوا اسکریپت با Node در مقابل مرورگر JavaScript with Node vs the Browser

  • اجرای جاوا اسکریپت Executing JavaScript

  • کار با ماژول ها Working with Modules

  • توابع گره نامرئی Invisible Node Functions

  • Require Cache The Require Cache

  • فایل ها یک بار مورد نیاز هستند! Files Get Required Once!

  • اشکال زدایی با Node Debugging with Node

  • نمای کلی برنامه App Overview

  • دسترسی به ماژول های کتابخانه استاندارد Accessing Standard Library Modules

  • الگوی برگشت به تماس در Node The Callback Pattern in Node

  • تابع Process.cwd The Process.cwd Function

  • اجرای برنامه Node به عنوان یک فایل اجرایی Running a Node Program as an Executable

  • پیوند دادن یک پروژه Linking a Project

  • فایل است یا پوشه؟ Is it a File or a Folder?

  • پیاده سازی اولیه باگی A Buggy Initial Implementation

  • راه حل اختیاری شماره 1 Optional Solution #1

  • یک راه حل مبتنی بر تماس A Callback-Based Solution

  • توابع مبتنی بر تماس با استفاده از Promises Callback-Based Functions Using Promises

  • مسائل مربوط به خواندن های متوالی Issues with Sequential Reads

  • Promise.Based Solution Promise.all-Based Solution

  • سیاهههای مربوط به کنسول با رنگها Console Logs with Colors

  • پذیرش آرگومان های خط فرمان Accepting Command Line Arguments

  • پیوستن به مسیرها Joining Paths

  • جمع بندی برنامه App Wrapup

اجرای پروژه خود را بسازید Create Your Own Project Runner

  • نمای کلی برنامه App Overview

  • راه اندازی پروژه Project Setup

  • چالش های بزرگ برنامه Big Application Challenges

  • تماشای فایل ها با Chokidar Watching Files with Chokidar

  • مشکلات مربوط به افزودن رویداد Issues with Add Event

  • حذف رویدادها اضافه کنید Debouncing Add Events

  • بیانیه های مورد نیاز نامگذاری Naming Require Statements

  • کار با ابزارهای CLI با Caporal Handling CLI Tools with Caporal

  • اطمینان از وجود فایل ها Ensuring Files Exist

  • کار می کند! It Works!

  • اطلاعات بیشتر در مورد StdIO More on StdIO

  • [اختیاری] بیشتر در مورد Child_Process [Optional] More on Child_Process

  • جمع بندی برنامه App Wrapup

شروع پروژه - برنامه تجارت الکترونیک Project Start - E-Commerce App

  • نمای کلی برنامه App Overview

  • معماری اپلیکیشن App Architecture

  • اسکریپت های Package.json Package.json Scripts

  • ایجاد وب سرور Creating a Web Server

  • پشت صحنه درخواست ها Behind the Scenes of Requests

  • نمایش HTML ساده Displaying Simple HTML

  • درک فرم ارسالی Understanding Form Submissions

  • تجزیه داده های فرم Parsing Form Data

  • ابزارهای میانی در اکسپرس Middlewares in Express

  • کاربرد جهانی میان افزار Globally Applying Middleware

طراحی یک پایگاه داده سفارشی Design a Custom Database

  • ذخیره سازی داده ها Data Storage

  • روش های مختلف مدل سازی داده ها Different Data Modeling Approaches

  • پیاده سازی مخزن کاربران Implementing the Users Repository

  • باز کردن فایل داده Repo Opening the Repo Data File

  • Refactor کوچک Small Refactor

  • ذخیره سوابق Saving Records

  • قالب بندی بهتر JSON Better JSON Formatting

  • تولید شناسه تصادفی Random ID Generation

  • یافتن بر اساس شناسه Finding By Id

  • حذف رکوردها Deleting Records

  • به روز رسانی سوابق Updating Records

  • اضافه کردن منطق فیلترینگ Adding Filtering Logic

  • صادرات یک نمونه Exporting an Instance

  • منطق اعتبار سنجی ثبت نام Signup Validation Logic

احراز هویت درجه تولید Production-Grade Authentication

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

  • ایجاد سوابق کاربر Creating User Records

  • واکشی یک جلسه Fetching a Session

  • خروج از سیستم کاربر Signing Out a User

  • وارد شدن Signing In

  • هش کردن رمزهای عبور Hashing Passwords

  • نمک زدن رمزهای عبور Salting Passwords

  • Salting + Hashing Passwords Salting + Hashing Passwords

  • مقایسه رمزهای عبور هش شده Comparing Hashed Passwords

  • تست جریان کامل Testing the Full Flow

ساختار پروژه های جاوا اسکریپت Structuring Javascript Projects

  • ساختار پروژه Project Structure

  • Refactor ساختار Structure Refactor

  • توابع قالب HTML HTML Templating Functions

  • استفاده مجدد از HTML با Layouts HTML Reuse with Layouts

  • ساخت فایل Layout Building a Layout File

  • افزودن اعتبار سنجی فرم بهتر Adding Better Form Validation

  • اعتبار سنجی در مقابل پاکسازی Validation vs Sanitization

  • دریافت خروجی اعتبارسنجی Receiving Validation Output

  • افزودن اعتبار سنجی سفارشی Adding Custom Validators

  • استخراج زنجیره های اعتبارسنجی Extracting Validation Chains

  • نمایش پیام های خطا Displaying Error Messages

  • اعتبار سنجی پیرامون ورود به سیستم Validation Around Sign In

  • اعتبارسنجی رمز عبور Password Validation

  • توابع کمک کننده الگو Template Helper Functions

  • اضافه کردن مقداری استایل Adding Some Styling

  • افشای دایرکتوری های عمومی Exposing Public Directories

  • مراحل بعدی Next Steps

  • مسیرهای محصول Product Routes

  • مخزن محصولات The Products Repository

  • استفاده مجدد از کد با کلاس ها Code Reuse with Classes

  • ایجاد مخزن محصولات Creating the Products Repository

  • ساخت فرم ایجاد محصول Building the Product Creation Form

  • مقداری اعتبارسنجی سریع Some Quick Validation

آپلود تصویر و فایل Image and File Upload

  • کاوش آپلود تصویر Exploring Image Upload

  • آشنایی با فرم های چند بخشی Understanding Mutli-Part Forms

  • دسترسی به فایل آپلود شده Accessing the Uploaded File

  • [اختیاری] روش‌های مختلف ذخیره‌سازی تصویر [Optional] Different Methods of Image Storage

  • ذخیره تصویر Saving the Image

  • یک اشکال ظریف میان‌افزار A Subtle Middleware Bug

  • استایل بهتر Better Styling

  • میدل افزار مدیریت خطای قابل استفاده مجدد Reusable Error Handling Middleware

  • فهرست محصولات Products Listing

  • تغییر مسیر در اقدامات موفقیت آمیز Redirect on Success Actions

  • نیاز به احراز هویت Requiring Authentication

  • به روز رسانی قالب Template Update

  • شناسه ها در URL ها Ids in URLs

  • دریافت پارامترهای URL Receiving URL Params

  • نمایش فرم ویرایش Displaying an Edit Form

ساخت سبد خرید Building a Shopping Cart

  • ویرایش یک محصول Editing a Product

  • رفع HandleErrors Middleware Fixing the HandleErrors Middleware

  • ویرایش قالب فرم Edit Form Template

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

  • با Seed Data شروع کنید Starting with Seed Data

  • محصولات مواجه با کاربر User-Facing Products

  • فهرست محصولات Products Index

  • ادغام یک ظاهر طراحی بیشتر Merging More Styling

  • آشنایی با سبد خرید Understanding a Shopping Cart

  • حل مسئله شماره 1 Solving Problem #1

  • حل مسئله شماره 2 Solving Problem #2

  • سبد خرید دیگ بخار Shopping Cart Boilerplate

  • گزینه های ارسال Submission Options

  • ایجاد یک سبد خرید، یک راه یا روش دیگر Creating a Cart, One Way or Another

  • افزودن اقلام به سبد خرید Adding Items to a Cart

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

  • ارائه لیست Rendering the List

  • مجموع اقلام سبد خرید Totaling Cart Items

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

  • تغییر مسیر در حذف Redirect on Remove

مبانی تست زنی The Basics of Testing

  • بررسی اجمالی تست Testing Overview

  • یک تابع ساده برای آزمایش A Simple Function to Test

  • اجرای آزمایش بدون حاشیه A No-Frills Testing Implementation

  • توسعه آزمایش محور Test Driven Development

  • رفع سه مشکل Fixing Three Issues

  • ماژول ادعا The Assert Module

  • استفاده از موکا Using Mocha

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

  • یادآوری در این برنامه Reminder on This App

  • چرا تنظیم تست دشوار است؟ Why is Test Setup Difficult?

  • موکا در مرورگر Mocha in the Browser

  • نمایش تکمیل خودکار Displaying the Autocomplete

  • تأیید وضعیت کشویی Verifying the Dropdown State

  • نوشتن اظهارات Writing Assertions

  • رویدادهای جعلی DOM Fake DOM Events

  • نگه داشتن ادعاها Holding Up Assertions

  • اجرای WaitFor Implementing WaitFor

  • ادعای سوابق واکشی شد Asserting Records Fetched

ساخت یک چارچوب تست از ابتدا Building a Testing Framework From Scratch

  • الزامات چارچوب تست Test Framework Requirements

  • راه اندازی پروژه Project Setup

  • مراحل پیاده سازی Implementation Steps

  • راه رفتن در یک ساختار دایرکتوری Walking a Directory Structure

  • پیاده سازی Breadth First Search Implementing Breadth First Search

  • جمع آوری فایل های تست Collecting Test Files

  • اجرای فایل های تست Running Test Files

  • مهار تست سریع A Quick Test Harness

  • پیاده سازی «قبل از هر» و «آن» Implementing 'beforeEach' and 'it'

  • اضافه کردن گزارش اولیه Adding Basic Reporting

  • افزودن رنگ ها Adding Colors

  • قالب بندی بهتر Better Formatting

  • نادیده گرفتن دایرکتوری ها Ignoring Directories

  • اجرای JS مبتنی بر مرورگر Running Browser-Based JS

  • یک نمونه وب اپلیکیشن A Sample Web App

  • چرا JSDOM؟ Why JSDOM?

  • ساخت یک تابع رندر Building a Render Function

  • ادعاهای عنصر HTML HTML Element Assertions

  • قبولی اشتباه در آزمون An Incorrectly Passing Test

  • یک مسئله کوچک دیگر Another Small Issue

  • تاخیر در اجرای اسکریپت Script Execution Delay

  • اجرای تاخیر Implementing a Delay

  • رفع یک تست Fixing a Test

جایزه! Bonus!

  • جایزه! Bonus!

نمایش نظرات

آموزش دوره بوت کمپ مدرن جاوا اسکریپت (2022)
جزییات دوره
52 hours
483
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
61,977
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Colt Steele Colt Steele

توسعه دهنده و مدرس بوت کمپ

Stephen Grider Stephen Grider

معمار مهندسی