
کارگاه جاوا اسکریپت (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