codingcogs' logo
کارگاه جاوا اسکریپت (JavaScript)

کارگاه جاوا اسکریپت (JavaScript)

1,829,000 تومان

20 فصل
مدرک اتمام دوره
پشتیبانی دائمی

اگر میخواهید...

  • یادگیری جاوا اسکریپت را شروع کنید و هیچ ایده ای برای شروع ندارید!
  • جاوا اسکریپت را به صورت اصولی، از پایه و تنها یک بار بیاموزید!
  • آشنایی خود با جاوا اسکریپت را تقویت کنید!
  • جایگاه جاوا اسکریپت را در توسعه ی فرانت اند، بک اند، برنامه های سیستمی و هوش مصنوعی درک کنید!
  • با علم روز دنیا همگام باشید!

این دوره برای شما مناسب است.

این دوره بدین منظور طراحی شده که بتوانید پس از گذراندن آن وارد حوزه های وب(فرانت و بک-اند)، موبایل و دسکتاپ شوید. در این دوره قرار است با مباحث واقعی دست و پنجه نرم کنید. آشنایی با HTML و CSS برای استفاده از این دوره ضروری است.

البته به منظور بهبود کیفیت دوره ی پیاده سازی رابط کاربری ما شامل مباحث : HTML ،CSS ،TailWind و BootStrap در حال تدوین است.

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

این دوره دارای 24 تمرین و 103 مثال است.

زمان تقریبی مطالعه و یادگیری دوره:

محتوای ویدیویی: 8 ساعت( 127 ویدیو : شامل تمرین ها و مثال ها)

محتوای متنی : حداقل 570 قسمت

زمان پیشنهادی برای یادگیری : ۱ ماه


فصل های دوره

  • 1- مقدمه
  • 2- قراردادها و کلمات تخصصی
  • 3- چیزایی که باید نصب کنید
  • 4- دسترسی به پشتیبانی
  • 1- معرفی
  • 2- جاوا اسکریپت چیه و چه کاربرد هایی داره؟
  • 3- جاوا اسکریپت در مقایسه با بقیه زبان ها
  • 4- مثال ۱.۰۱: شناسایی و کشف زبان ها
  • 5- نگاه مختصری به تاریخچه جاوا اسکریپت
  • 6- ایجاد شدن Netscape Mocha و LiveScript
  • 7- شرکت Sun Microsystems و زبان Java
  • 8- شرکت ECMA International و زبان ECMAScript
  • 9- نسخه های مختلف ECMAScript (و JavaScript)
  • 10- ECMAScript 1 (1997)
  • 11- ECMAScript 2 (1998)
  • 12- ECMAScript 3 (1999)
  • 13- ECMAScript 4 (منتشر نشد)
  • 14- ECMAScript 5 (2009)
  • 15- ECMAScript 6 (2015)
  • 16- ECMAScript 7 (2016)، ECMAScript 8 (2017) و ECMAScript 9 (2018)
  • 17- مثال ۱.۰۲: آیا میتونم از این قابلیت استفاده کنم؟
  • 18- دسترسی به ابزارهای توسعه دهنده (Developer Tools) مرورگر وب
  • 19- Google Chrome
  • 20- Microsoft Edge
  • 21- Apple Safari
  • 22- معرفی متغیر ها
  • 23- مثال ۱.۰۳: اولین گام ها در برنامه نویسی
  • 24- تمرین ۱.۰۱: ایجاد یک پیغام pop-up در مرورگر
  • 25- مروری بر قابلیت های جاوا اسکریپت
  • 26- تایید و اعتبارسنجی داده های فرم سمت کلاینت (Client-Side Form Validation)
  • 27- ویجت ها یا اجزای مختلف جاوا اسکریپت
  • 28- XML HTTP Requests (XHR)
  • 29- ذخیره داده های محلی
  • 30- دستکاری Document Object Model (DOM)
  • 31- انیمیشن ها و افکت ها
  • 32- خلاصه این فصل
  • 1- معرفی
  • 2- Integrated Development Environments (IDE)
  • 3- Atom (توسعه داده شده توسط گیت هاب)
  • 4- Sublime Text
  • 5- Adobe Dreamweaver
  • 6- JetBrains WebStorm
  • 7- Microsoft Visual Studio Code
  • 8- مدیریت فایل و پروژه در جاوا اسکریپت
  • 9- پوشه ها و فایل های پروژه
  • 10- مثال ۲.۰۱: ایجاد کردن پوشه برای پروژه
  • 11- ساختار و syntax جاوا اسکریپت
  • 12- مثال ۲.۰۲: ایجاد کردن فایل های مورد نیاز پروژه
  • 13- قوانین نوشتن(syntax) پایه جاوا اسکریپت
  • 14- ترتیب اجرای دستورات جاوا اسکریپت
  • 15- مثال ۲.۰۳: تایید ترتیب اجرای دستورات
  • 16- مروری به محیط های اجرا شدن جاوا اسکریپت
  • 17- جاوا اسکریپت در مرورگر
  • 18- جاوا اسکریپت در سرور
  • 19- جاوا اسکریپت در دسکتاپ
  • 20- جاوا اسکریپت در موبایل
  • 21- نگاه نزدیک تر به ابزار های توسعه دهنده مرورگر
  • 22- نمای Elements
  • 23- نمای Console
  • 24- نمای Sources
  • 25- نمای Network
  • 26- دستکاری عناصر HTML با جاوا اسکریپت
  • 27- تمرین ۲.۰۱: اضافه کردن یا تغییر دادن یک آیتم توی لیست To-Do
  • 28- خلاصه این فصل
  • 1- معرفی
  • 2- انواع داده ها
  • 3- نشون دادن و کار کردن روی داده ها
  • 4- Literal ها
  • 5- استفاده از operator ها در عبارت (expression) ها
  • 6- مثال ۳.۰۱:‌ پیاده سازی operator و expression ها
  • 7- استفاده از متغیر و مقدار های ثابت (constant) در expression ها
  • 8- مثال ۳.۰۲: کار با متغیر ها با استفاده از کنسول مرورگر
  • 9- فانکشن هایی که مقدار بر میگردونن
  • 10- مثال ۳.۰۳: استفاده از فانکشن ها در expression ها
  • 11- دیتاتایپ object
  • 12- object های آماده
  • 13- مثال ۳.۰۴: کار با object های آماده
  • 14- object های سفارشی
  • 15- نشانه گذاری نقطه ای (Dot Notation) روی object ها
  • 16- آبجکت Array
  • 17- استفاده از آبجکت Console
  • 18- قوانین و شیوه های نوشتن (Syntax)
  • 19- قرار دادن نقطه ویرگول (semicolon) در پایان هر دستور
  • 20- خط های کد در مقابل statement ها
  • 21- کامنت ها (Comments)
  • 22- جریان اجرای کد و شرط ها و حلقه ها
  • 23- بلاک های کد
  • 24- دستورات شرطی (conditional statements)
  • 25- If…else
  • 26- If
  • 27- مثال ۳.۰۵: نوشتن یک دستور if
  • 27- دستور های if و else
  • 29- مثال ۳.۰۶: شیر یا خط با if…else
  • 30- دستور if در کنار چندین دستور else…if
  • 31- یک دستور if در کنار چندین دستور else…if و یک دستور else
  • 32- مثال ۳.۰۷: نوشتن یک دستور if همراه با چندین else…if و یک دستور else
  • 33- break
  • 34- switch
  • 35- مثال ۳.۰۸: نوشتن و تست کردن یک دستور switch
  • 36- حلقه ها
  • 37- for
  • 38- مثال ۳.۰۹: نوشتن و تست کردن یک حلقه for
  • 39- do…while
  • 40- مثال ۳.۱۰: نوشتن و تست کردن do…while
  • 41- while
  • 42- مثال ۳.۱۱: نوشتن و تست کردن یک حلقه با while
  • 43- for…in
  • 44- مثال ۳.۱۲: نوشتن و تست کردن for…in
  • 45- for…of
  • 46- مثال ۳.۱۳: نوشتن و تست کردن for…of
  • 47- continue
  • 48- Labeled statement
  • 49- نوشتن و فراخوانی کردن فانکشن ها
  • 50- تعریف فانکشن ها
  • 51- Function Declaration
  • 52- مثال ۳.۱۴: نوشتن و فراخوانی کردن یک فانکشن به صورت یک دستور
  • 53- Function Expression
  • 54- مثال ۳.۱۵: نوشتن یک فانکشن به عنوان یک عبارت و فراخوانی کردن اون
  • 55- Arrow Function
  • 56- تعریف و فراخوانی یک arrow function
  • 57- مثال ۳.۱۶: نوشتن و فراخوانی یک arrow function
  • 58- واکنش به رویداد (event) های ورودی کاربر و بروزرسانی کردن DOM
  • 59- آبجکت مربوط به المنت های HTML
  • 60- دسترسی به المنت های توی DOM
  • 61- ایجاد المنت ها و محتوای مختلف توی DOM
  • 62- رویداد های توی DOM
  • 63- مثال ۳.۱۷: کار با رویداد ها و دستکاری DOM
  • 64- Silent Fail
  • 65- باگ های syntax
  • 66- باگ های logic
  • 67- دیباگ کردن
  • 68- دیباگر ها
  • 69- تمرین ۳.۰۱: برنامه ای برای بهم ریختن آیتم های یک to do list
  • 70- خلاصه فصل
  • 1- معرفی
  • 2- فریم ورک در مقابل کتابخونه
  • 3- Vanilla.js
  • 4- فریم ورک های معروف جاوا اسکریپت
  • 5- jQuery جاودان!
  • 6- نحوه پیدا کردن و استفاده از کد های آماده
  • 7- مثال ۴.۰۱: استفاده از یک کتابخونه خارجی توی کد
  • 8- jQuery در مقابل Vanilla.js
  • 9- دسکتاری DOM
  • 10- فرستادن درخواست های XHR
  • 11- مثال ۴.۰۲: هندل کردن رویداد های click با jQuery
  • 12- مثال ۴.۰۳: هندل کردن رویداد توی مثال قبلی با vanilla.js
  • 13- انیمیشن در رابط کاربری با jQuery
  • 14- مثال ۴.۰۴: ایجاد انیمیشن ظاهر شدن در زمان کلیک دکمه
  • 15- فریم ورک ها در مقابل جاوا اسکریپت اصلی
  • 16- مثال ۴.۰۵: رندر کردن یک todo list با React
  • 17- مثال ۴.۰۶: رندر کردن یک لیست todo بدون کتابخونه
  • 18- مثال ۴.۰۷: ایجاد یک کتابخونه
  • 19- تمرین ۴.۰۱: اضافه کردن انیمیشن به برنامه todo list
  • 20- خلاصه این فصل
  • 1- معرفی
  • 2- ایجاد کردن متغیر ها
  • 3- نکته ای در مورد referencing (کار با رفرنس ها)
  • 4- تعریف متغیر به صورت Global
  • 5- تعریف متغیر با var
  • 6- تعریف متغیر با let
  • 7- تعریف متغیر با const
  • 8- مثال ۵.۰۱: متغیر ها و scope
  • 9- شناسایی نوع یک متغیر
  • 10- مثال ۵.۰۲: ارزیابی نوع متغیر ها
  • 11- تایپ های ثابت (Fixed Types)
  • 11- مقدار null
  • 13- مقدار undefined
  • 14- مقدار های Boolean
  • 15- اپراتور های Boolean
  • 16- اپراتور های مقایسه
  • 17- اپراتور های منطقی
  • 18- مثال ۵.۰۳: زوج ها و فرد ها
  • 19- بررسی درست بودن مقدار ها
  • 20- اپراتور NOT
  • 21- اولویت اپراتور Boolean
  • 22- شرکت پذیری (Associativity) در اپراتور های Boolean
  • 23- مثال ۵.۰۴: بررسی مشمولیت ارسال رایگان کالا
  • 24- چرا نباید مقدار عبارت های Boolean و Non-Boolean رو با هم مقایسه کنید؟
  • 25- چرا نباید عبارت های مقایسه ای رو به هم وصل کنید (اصطلاحا زنجیر یا chain کنید)؟
  • 26- اپراتور Ternary
  • 27- کار با عددها
  • 28- محدودیت های محاسباتی (arithmetic)
  • 29- آبجکت Number
  • 30- فانکشن های Number
  • 31- متد های Number
  • 32- Property های Number
  • 33- مثال ۵.۰۵: فرمت کننده ارز
  • 34- کاراکتر های ویژه
  • 35- کار با string ها
  • 36- الحاق کردن (Concatenation)
  • 37- Template Literals
  • 38- مثال ۵.۰۶: قالب های email
  • 39- آبجکت String
  • 40- خاصیت (property) length
  • 41- متد های String
  • 42- مثال ۵.۰۷: برعکس کردن جمله ها
  • 43- متد toString
  • 44- عددها با string ها
  • 45- کار با فانکشن ها
  • 46- فانکشن های anonymous
  • 47- Callback ها
  • 48- مثال ۵.۰۸: پارامتر های functional
  • 49- Arrow Function ها
  • 50- نکاتی در مورد arrow function ها
  • 51- فانکشن های generator
  • 52- کلیدواژه this
  • 53- کلیدواژه arguments
  • 54- Call و Apply
  • 55- مثال ۵.۰۹: Dynamic Currying
  • 56- تمرین ۵.۰۱: مقایسه ساده عدد ها
  • 57- کار کردن با آبجکت ها
  • 58- آبجکت ها به عنوان Hash Table ها
  • 59- Key های آبجکت ها و ارتباطشون با حافظه
  • 60- آبجکت و رفرنس های اون
  • 61- Object iteration
  • 62- دسترسی دهنده (Accessor) های آبجکت ها
  • 63- مثال ۵.۱۰: تبدیل کردن آبجکت ها به toString
  • 64- کار با array ها
  • 65- Mutable بودن array ها
  • 66- Iteration روی array ها
  • 67- فانکشن های داخلی array ها
  • 68- کار کردن با Date
  • 69- Parse کردن string های تاریخ
  • 70- فرمت کردن Date به صورت string
  • 71- انجام محاسبات با تاریخ
  • 72- تمرین ۵.۰۲: ایجاد یک مدل to-do
  • 73- خلاصه فصل
  • 1- معرفی
  • 2- انواع رویداد ها
  • 3- رویداد های Timer
  • 4- مثال ۶.۰۱: تایمر سفارشی
  • 5- تایمر های رویداد ها / Event Timers
  • 6- فانکشن setInterval
  • 7- فانکشن setTimeout
  • 8- پارامتر های تایمر
  • 9- مثال ۶.۰۲: ساعت زنده (real-time)
  • 10- مدل رویداد های جاوا اسکریپت
  • 11- Event Bubbling
  • 12- پیمایش درختی نود ها (Node Tree Traversal)
  • 13- دسترسی مستقیم به نود ها
  • 14- اختصاص دادن یا پاک کردن یک هندلر رویداد
  • 15- مثال ۶.۰۳: محتوای قسمت بندی شده (tabbed content)
  • 16- Bubbling در مقابل Capturing
  • 17- چرخه حیات یک رویداد جاوا اسکریپت
  • 18- توقف حرکت یک رویداد
  • 19- متوقف کردن اکشن های رویداد ها
  • 20- مثال ۶.۰۴: جلوگیری شرطی از رویداد
  • 21- Trigger های رویدادها (event triggers)
  • 22- رویداد های سفارشی
  • 23- Trigger های رویداد های داخلی
  • 24- اتریبیوت های هندلر های رویداد ها
  • 25- رویداد ها و حافظه
  • 26- کار کردن با فرم ها
  • 27- HTTP
  • 28- تگ Form
  • 29- ثبت یک فرم با جاوا اسکریپت
  • 30- رویداد های ثبت فرم
  • 31- جلوگیری از ثبت فرم
  • 32- ریست فرم
  • 33- رویداد ریست فرم
  • 34- مثال ۶.۰۵: هندل کردن فرم ساده
  • 35- فرم کنترل ها
  • 36- کنترل های input
  • 37- کنترل button
  • 38- کنترل checkbox
  • 39- کنترل radio
  • 40- کنترل text
  • 41- کنترل password
  • 42- کنترل های email، tel، url
  • 43- کنترل hidden
  • 44- کنترل number
  • 45- کنترل image
  • 46- کنترل file
  • 47- کنترل textarea
  • 48- کنترل select
  • 49- تمرین ۶.۰۱: ایجاد تغییرات در مدل
  • 50- خلاصه این فصل
  • 1- معرفی
  • 2- اجرا شدن جاوا اسکریپت و event loop
  • 3- ران تایم جاوا اسکریپت
  • 4- موتور جاوا اسکریپت
  • 5- API های محیط اجرایی
  • 6- صف پیغام - Message Queue
  • 7- Event loop
  • 8- Call Stack
  • 9- Memory Heap
  • 10- event loop در عمل
  • 11- مثال ۷.۰۱: کار کردن با event loop
  • 12- Stack Overflow
  • 13- مثال ۷.۰۲: Stack Overflow
  • 14- مدیریت حافظه - Memory Management
  • 15- Garbage Collector
  • 16- نشت حافظه - Memory Leak
  • 17- شنونده های رویداد - Event Listeners
  • 18- Node های جداشده DOM
  • 19- متغیر های گلوبال
  • 20- شناسایی نشت های حافظه
  • 21- مثال ۷.۰۳: شناسایی نشت های حافظه
  • 22- مثال ۷.۰۴: حل کردن مشکل نشت حافظه
  • 23- تمرین ۷.۰۱: گرفتن تعداد استک فریم ها
  • 24- خلاصه این فصل
  • 1- معرفی
  • 2- Canvas
  • 3- مثال ۸.۰۱: رسم شکل ها با المنت های canvas
  • 4- دستکاری شکل ها با path
  • 5- تمرین ۸.۰۱: ایجاد یک fractal ساده
  • 6- Web Audio API
  • 7- مثال ۸.۰۲: ایجاد یک نوسانگر موجی شکل (Oscillator Waveform)
  • 8- تمرین ۸.۰۲: پخش صدا و کنترل فرکانس با دو نوسانگر
  • 9- بصری سازی صدا - Audio Visualization
  • 10- Web Storage API
  • 11- مثال 8.03: ذخیره و نشون دادن اسم با localStorage API
  • 12- IndexedDB
  • 13- مثال ۸.۰۴: ایجاد یک object store و اضافه کردن دیتا بهش
  • 14- اجرای query روی indexedDB
  • 15- مثال ۸.۰۵: اجرای query روی دیتابیس
  • 16- Cursor در indexedDB
  • 17- مثال ۸.۰۶: گرفتن، ذخیره کردن و query کردن دیتا
  • 18- Performance API
  • 19- مثال ۸.۰۷: ارزیابی عملکرد
  • 20- Web Socket API
  • 21- مثال ۸.۰۸: ایجاد چت روم با Websocket
  • 22- تمرین ۸.۰۳: Audio Visualization
  • 23- خلاصه این فصل
  • 1- معرفی
  • 2- محیط Node.js
  • 3- Sync در مقابل Async
  • 4- پشت صحنه پردازش درخواست ها
  • 5- Callback ها چین؟
  • 6- شل (shell) Node.js
  • 7- مثال ۹.۰۱: اولین برنامه شما با Node.js
  • 8- نحوه import/require کردن (یا همون وارد کردن) یک ماژول توی یک اپلیکیشن Node.js
  • 9- Node Package Manager (npm)
  • 10- فلگ ها
  • 11- کامند های npm
  • 12- package.json
  • 13- پابلیش کردن یک پکیج
  • 14- ماژول های Node.js
  • 15- ماژول URL
  • 16- مثال ۹.۰۲: به روز رسانی و تغییر اطلاعات URL با ماژول URL
  • 17- Filesystem
  • 18- ماژول os
  • 19- مثال ۹.۰۳: گرفتن جزئیات مربوط به سیستم عامل
  • 20- ماژول path
  • 21- مثال ۹.۰۴: استخراج و ترکیب کردن اسم directory های یک مسیر
  • 22- HTTP
  • 23- مثال ۹.۰۵: استفاده از یک سرور Node.js
  • 24- ماژول های خارجی
  • 25- Express.js
  • 26- ماژول bodyParser
  • 27- Morgan
  • 28- کار با دیتابیس ها
  • 29- تنظیم دیتابیس ها
  • 30- اتصال به دیتابیس ها
  • 31- MySQL
  • 32- مثال ۹.۰۶: نصب، اتصال و پردازش response های یک سرور MySQL
  • 33- MongoDB
  • 34- مثال ۹.۰۷: نصب درایور و ایجاد کانکشن MongoDB
  • 35- ساخت برنامه های real-time
  • 36- WebSocket
  • 37- Socket.IO
  • 38- مثال ۹.۰۸: ساخت اپلیکیشن چت
  • 39- تمرین ۹.۰۱: ایجاد یک وب اپلیکیشن برای آپلود و ذخیره عکس و نگهداری جزئیاتش
  • 40- خلاصه این فصل
  • 1- معرفی
  • 2- JSON
  • 3- REST
  • 4- HTTP چیه؟
  • 5- TheSportsDB
  • 6- مثال ۱۰.۰۱: استفاده از یک REST API برای برقراری ارتباط
  • 7- هدر های HTTP
  • 8- AJAX
  • 9- jQuery
  • 10- مثال ۱۰.۰۲: استفاده از AJAX و متد ()ajax از jQuery برای کال کردن یک سرویس
  • 11- مثال ۱۰.۳: بیشتر کار کردن با AJAX و اضافه کردن یه سری استایل CSS
  • 12- CSS
  • 13- کتابخونه های دیگه و XMLHttpRequest
  • 14- Axios و Fetch API
  • 15- مقایسه XMLHttpRequest با jQuery
  • 16- استفاده از jQuery و XMLHttpRequest برای درخواست های POST
  • 17- درخواست های Cross-Domain
  • 18- هدر CORS
  • 19- تمرین ۱۰.۰۱: پیاده سازی سرویس کال های REST با روش های مختلف
  • 20- خلاصه این فصل
  • 1- معرفی
  • 2- regex چیه؟
  • 3- رجکس ها با جزئیات بیشتر
  • 4- کاراکتر های literal
  • 5- کاراکتر های ویژه، anchor ها و فاصله گذاری / جداسازی
  • 6- Word Boundary
  • 7- کاراکتر کلاس های خلاصه شده و کاراکتر های کلمه
  • 8- کلاس های معکوس
  • 9- کاراکتر نقطه
  • 10- ست ها
  • 11- محدوده ها / رنج ها (ranges)
  • 12- در نظر نگرفتن ست ها و رنج ها
  • 13- کمیت سنج ها / Quantifiers
  • 14- کمیت سنج های مختصر شده
  • 15- تناوب / جایگزینی
  • 16- قسمت های دیگه رجکس
  • 17- تنظیمات الگو و فلگ ها
  • 18- جستجو با String.match()
  • 19- مثال ۱۱.۰۱: تاثیر فلگ g
  • 20- بقیه متد های String برای رجکس ها
  • 21- مثال ۱۱.۰۲: تغییر رجکس برای تطبیق یک الگو
  • 22- اضافه کردن string های بیشتر به رجکس
  • 23- تمرین ۱۱.۰۱: گسترش الگو های تطبیق شماره تلفن برای قبول کردن چندین فرمت مختلف
  • 24- تمرین ۱۱.۰۲: گسترش الگو های تطبیق شماره تلفن برای قبول کردن یک فرمت خاص
  • 25- رجکس های به درد بخور
  • 26- بهترین روش های نوشتن کد تمیز
  • 27- روش های انتخاب اسم های خوب
  • 28- لینتر (linter) های جاوا اسکریپت
  • 29- مثال ۱۱.۰۳: JSLint
  • 30- تمرین ۱۱.۰۳: ریفکتور کردن کد به کد تمیز (clean code)
  • 31- خلاصه این فصل
  • 1- معرفی
  • 2- تفاوت های مرورگر ها
  • 3- polyfill ها
  • 4- Transpiler ها
  • 5- کتابخونه های دارای یک متدولوژی توسعه
  • 6- پکیج منیجر ها
  • 7- پکیج منیجر npm
  • 8- نصب ماژول ها
  • 9- پکیج منیجر yarn
  • 10- ترنسپایلر Babel
  • 11- مثال ۱۲.۰۱: یک پروژه پایه با Babel
  • 12- اپلیکیشن های Babel همراه با Parcel
  • 13- Parcel چیه؟
  • 14- استفاده از Parcel
  • 15- اپلیکیشن های ماژولار با Parcel
  • 16- مثال ۱۲.۰۲: یک پروژه پایه با Parcel
  • 17- اپلیکیشن های Babel همراه با Webpack
  • 18- معماری وب پک
  • 19- لودر ها و پلاگین های وب پک
  • 20- تنظیمات وب پک
  • 21- مثال ۱۲.۰۳: یک پروژه وب پک پایه
  • 22- باندلر های معروف دیگه
  • 23- ترنسپایل کردن بقیه زبان ها
  • 24- زبان تایپ اسکریپت (TypeScript)
  • 25- مثال ۱۲.۰۴: یک پروژه پایه تایپ اسکریپت
  • 26- Elm و ClojureScript
  • 27- Haxe
  • 28- کتابخونه های دارای کد های آماده
  • 29- jQuery
  • 30- Underscore ،Lodash و Ramda
  • 31- مدل ها (Models)، ویو ها (Views) و کنترلر ها (Controllers)
  • 32- Virtual DOM
  • 33- برنامه نویسی Reactive
  • 34- فریم ورک های معروف
  • 35- AngularJS
  • 36- ReactJS
  • 38- Vue.js
  • 39- کتابخونه های سمت سرور
  • 40- Express
  • 41- Request
  • 42- Socket.IO
  • 43- تمرین ۱۲.۰۱: ایجاد یک پروژه برای شناسایی و کامپایل فایل های تایپ اسکریپت
  • 44- خلاصه این فصل
  • 1- معرفی
  • 2- پارادایم های جاوا اسکریپت
  • 3- پارادایم رویه ای
  • 4- مثال ۱۳.۰۱: به کار گیری و پیاده سازی برنامه نویسی رویه ای
  • 5- پارادایم شی گرایی
  • 6- مثال ۱۳.۰۲: به کار گیری و پیاده سازی پارادایم شی گرایی
  • 7- Encapsulation (کپسوله سازی)
  • 8- Inheritance (وراثت)
  • 9- مثال ۱۳.۰۳: پیاده سازی inheritance با کلیدواژه extends
  • 10- کانسپت های پایه جاوا اسکریپت
  • 11- نمونه های اولیه (Prototypes) و وراثت اولیه (Prototypical Inheritance)
  • 12- وراثت اولیه (Prototypical Inheritance) چیه؟
  • 13- مثال ۱۳.۰۴: پیاده سازی وراثت اولیه
  • 14- فانکشن های anonymous
  • 16- تفاوت بین فانکشن های اسم دار و فانکشن های anonymous
  • 17- اسکوپ دیتا
  • 18- اسکوپ گلوبال
  • 19- اسکوپ لوکال
  • 20- اسکوپ سطح فانکشن
  • 21- اسکوپ سطح بلاک
  • 22- Hoisting
  • 23- تفاوت بین var و let
  • 24- Closure ها
  • 25- مدیریت حافظه جاوا اسکریپت
  • 26- چرخه حیات حافظه
  • 27- مقایسه تخصیص استاتیک و داینامیک حافظه
  • 28- آزاد کردن حافظه
  • 29- پیدا کردن حافظه استفاده نشده با بررسی رفرنس ها
  • 30- تمرین ۱۳.۰۱: ایجاد یک برنامه ماشین حساب
  • 31- خلاصه این فصل
  • 1- معرفی
  • 2- فانکشن های خالص
  • 3- عوارض جانبی
  • 4- تغییرناپذیر بودن (Immutability)
  • 5- مثال ۱۴.۰۱: مقدار ها و آبجکت های تغییرناپذیر - استرینگ ها
  • 6- مثال ۱۴.۰۲: مقدار ها و آبجکت های تغییرناپذیر - عدد ها
  • 7- مثال ۱۴.۰۳: تغییرپذیری - آرایه ها
  • 8- مثال ۱۴.۰۴: تغییرپذیری - آبجکت ها
  • 9- کلون (شبیه سازی) آبجکت ها و آرایه ها
  • 10- نمونه دیتا برای مثال ها
  • 11- فانکشن های مرتبه بالا - Higher-Order Functions
  • 12- متد Array.prototype.filter
  • 13- یک یادآوری
  • 14- حذف حلقه های for
  • 15- متد Array.prototype.map
  • 16- مثال ۱۴.۵: روش دوم استفاده از Array.prototype.map
  • 17- متد Array.prototype.reduce
  • 18- مثال ۱۴.۰۶: گروه بندی با استفاده از Array.prototype.reduce
  • 19- Composition همراه با compose() و pipe()
  • 20- پیاده سازی ()compose و ()pipe
  • 21- Curry کردن فانکشن ها
  • 22- مثال ۱۴.۰۷: کاربرد های بیشتر برای Composition و فانکشن های Curry شده
  • 23- بازگشت تابع (Function Recursion)
  • 24- مثال ۱۴.۰۸: شبیه سازی کارت های ورق بازی با استفاده از reduce()
  • 25- مثال ۱۴.۰۹: استفاده از متد pipe برای ایجاد فانکشن شافل کردن / بهم ریختن کارت ها
  • 26- بلک جک
  • 27- مپ کردن مقدار کارت ها به کارت ها
  • 28- تمرین ۱۴.۰۱: فانکشن های بلک جک
  • 29- مدیریت وضعیت بازی بلک جک
  • 30- جریان logic بازی بلک جک
  • 31- فانکشن های نمایش وضعیت بازی بلک جک در صفحه
  • 32- کد بازی بلک جک
  • 33- خلاصه این فصل
  • 1- معرفی
  • 2- کال بک ها
  • 3- ()setTimeout
  • 4- مثال ۱۵.۰۱: اجرای asynchronous کد با ()setTimeout
  • 5- مشکلات Callback Hell و Pyramid of Doom
  • 6- Promise ها و Fetch API
  • 7- استفاده از Fetch API برای دریافت کامنت پست ها
  • 8- مثال ۱۵.۰۲: ریفکتور کد لیست کامنت ها جهت استفاده از Fetch API
  • 9- تغییری برای بهبود کارایی کد
  • 10- مرتب تر کردن کد Fetch قسمت قبل
  • 11- جزئیات بیشتر در رابطه با استفاده از Fetch API
  • 12- نکاتی در رابطه با promise ها
  • 13- مثال ۱۵.۰۳: ایجاد یک فانکشن برای به تاخیر انداختن اجرای یک عملیات
  • 14- اصلاحات بیشتر در ()addDelay
  • 15- Async/Await
  • 16- تکرار شونده ها (iterators) و جنریتور های async
  • 17- تمرین ۱۵.۰۱: ریفکتور کردن کد promise جهت استفاده از سینتکس await/async
  • 18- تمرین ۱۵.۰۲: ساده تر کردن کد promise با حذف کردن پارامتر های فانکشن
  • 19- خلاصه این فصل
  • 1- معرفی
  • 2- یادگیری ماشین
  • 3- یادگیری تقویتی (Reinforcement Learning)
  • 4- یادگیری بدون نظارت (Unsupervised Learning)
  • 5- یادگیری تحت نظارت (Supervised Learning)
  • 6- Tensorflow.js چیه؟
  • 7- شبکه های عصبی کانولوشن یا پیچشی (Convolutional Neural Networks / CNN)
  • 8- MobileNet
  • 9- مثال ۱۶.۰۱: ایجاد یک برنامه تشخیص دسته بندی تصویر با Tensorflow
  • 10- الگوریتم KNN
  • 11- پردازش ویدیوی زنده با Tensorflow
  • 12- مثال ۱۶.۰۲: ساخت برنامه تشخیص دسته بندی تصویر از وبکم با Tensorflow
  • 13- یادگیری انتقالی (Transfer Learning)
  • 14- الگوریتم K-نزدیک ترین همسایه (K-Nearest Neighbor)
  • 15- مثال ۱۶.۰۳: آموزش مدل در مرورگر
  • 16- آموزش یک مدل جدید
  • 17- مثال ۱۶.۰۴: آماده سازی دیتا
  • 18- انکودینگ وان هات (one-hot)
  • 19- دوره ها (Epochs)
  • 20- توابع فعالسازی (Activation Functions)
  • 21- مثال ۱۶.۰۵: آموزش مدل
  • 22- مثال ۱۶.۰۶: استفاده از مدل برای پیش بینی
  • 23- تمرین ۱۶.۰۱: استفاده از Tensorflow.js و مدل تشخیص اشیای COCO-SSD در ایجاد یک برنامه
  • 24- خلاصه این فصل
  • 1- معرفی
  • 2- چرا تست برنامه مهمه؟
  • 3- توسعه تست محور / Test-Driven Development (TDD)
  • 4- مستندات (documentation) و تست ها
  • 5- تست ها، کد نویسی اعلانی و برنامه نویسی تابح محور
  • 6- تست واحد / Unit Test
  • 7- مثال ۱۷.۰۱: یک یونیت تست ساده
  • 8- تایپ های Higher-Kinded
  • 9- فانکتور ها در فانکشن ها
  • 10- فریم ورک تست Jest
  • 11- مثال ۱۷.۰۲: تنظیمات اولیه تست ها با Babel
  • 12- نوشتن تست ها
  • 13- تست فانکشن validateString
  • 14- مثال ۱۷.۰۳: ایجاد و مقداردهی تست ها
  • 15- فراهم کردن شرایط مورد نیاز برای تست
  • 16- رفع ارور های رفرنس
  • 17- مثال ۱۷.۰۴: ساخت فانکتور ها
  • 18- ارور های عدم تطابق دیتاتایپ
  • 19- مثال ۱۷.۰۵: برطرف کردن ارور های یونیت تست ها
  • 20- تمرین ۱۷.۰۱: توسعه مبتنی بر تست / TDD
  • 21- متد های expect در Jest
  • 22- assertion های بولین
  • 23- assertion های نادرستی مقدار
  • 24- refute (رد) کردن assertion ها
  • 25- assertion های آبجکت ها
  • 26- assertion های آرایه ها
  • 27- assertion های فانکشن ها
  • 28- ساختار ماژول تست
  • 29- فانکشن ()describe
  • 30- فانکشن های شروع و پایان تست
  • 31- assertion های async
  • 32- assertion های سفارشی
  • 33- فرمت matcher ها
  • 34- فانکشن extend
  • 35- مثال ۱۷.۰۶: گسترش Jest با matcher های فانکتور ها
  • 37- شبیه سازی (mock) فانکشن ها
  • 38- ماک های اتوماتیک ماژول ها
  • 39- ماک کردن دستی ماژول ها
  • 40- ماک کردن فانکشن های تایمر
  • 41- تمرین ۱۷.۰۲: تکمیل پروژه محاسبه کننده میانگین تعداد کلمه های یک جمله
  • 42- خلاصه این فصل
    • 1- تمرین ۱.۰۱: ایجاد یک پیغام pop-up در مرورگر
    • 2- تمرین ۲.۰۱: اضافه کردن یا تغییر دادن یک آیتم توی لیست To-Do