آموزش 100 روز کد - بوت کمپ توسعه وب 2023

100 Days Of Code - 2023 Web Development Bootcamp

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: توسعه وب را از A تا Z در 100 روز (یا با سرعت خود) بیاموزید - از "پایه" تا "پیشرفته"، همه اینها گنجانده شده است! چگونه وب کار می کند و چگونه به عنوان یک توسعه دهنده وب شروع به کار کنید توسعه وب را در 100 روز بیاموزید (اختیاری - همچنین می توانید سرعت متفاوتی را انتخاب کنید) وب سایت ها، برنامه های وب و سرویس های وب بسازید (و درک کنید که این "چیزها" چیست) ساخت فرانت اند رابط های کاربری با HTML، CSS و جاوا اسکریپت ساخت فرآیندهای بک اند با پایگاه های داده NodeJS، Express و SQL + NoSQL اضافه کردن ویژگی های پیشرفته مانند احراز هویت کاربر، آپلود فایل یا درخواست های پایگاه داده به وب سایت ها پیش نیازها: بدون نیاز به دانش قبلی توسعه وب یا برنامه نویسی! ما از صفر شروع می کنیم! برای شروع فقط به یک کامپیوتر یا مک نیاز دارید!

به جامع ترین بوت کمپ توسعه وب در Udemy بپیوندید!

این دوره به شما توسعه وب را آموزش می‌دهد و شما را در 100 روز به یک توسعه‌دهنده وب تبدیل می‌کند - یا به شما امکان می‌دهد موارد ضروری کلیدی خود را تازه‌سازی کنید و دانش موجود خود را گسترش دهید!

تبدیل شدن به یک توسعه‌دهنده وب یک انتخاب عالی است زیرا توسعه وب مسیرهای شغلی بسیاری را باز می‌کند و مهارت‌های توسعه وب تقریباً در هر کسب‌وکاری که امروزه وجود دارد مورد نیاز است - و البته این فقط در آینده افزایش خواهد یافت!

این فقط مربوط به وب‌سایت‌ها نیست، بلکه درباره خدمات «پشت صحنه» است که توسط برنامه‌های تلفن همراه مانند Uber یا AirBnB استفاده می‌شود. این در مورد برنامه های وب غنی مانند Google Docs و همچنین بازی های مرورگر است. و البته در مورد وب‌سایت‌های معمولی مانند فیس‌بوک، وبلاگ‌های آنلاین، فروشگاه‌های آنلاین مانند آمازون و خیلی چیزهای دیگر!

از این رو جای تعجب نیست که توسعه دهندگان وب تقاضای زیادی دارند! و علاوه بر دیدگاه های شغلی عالی، به عنوان یک توسعه دهنده وب، البته می توانید به راحتی تجارت دیجیتال خود را نیز بسازید!

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

این دوره توسعه وب را از پایه به شما آموزش می دهد و به لطف "چالش 100 روزه کد" که در این دوره گنجانده شده است (اگرچه تعهد به آن اختیاری است!)، می توانید در 100 سال توسعه دهنده وب شوید. روزها با کمک این دوره!

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

اما این دوره همچنین برای دانش آموزان پیشرفته ای است که قبلاً دانش توسعه وب دارند! این یک دوره آموزشی عمیق است و از این رو می‌توانید دانش موجود خود را با غواصی عمیق‌تر در اصول کلیدی مانند HTML، CSS یا NodeJS و همچنین با کاوش در مفاهیم پیشرفته مانند پرداخت‌ها، ساخت APIهای REST یا امنیت وب‌سایت گسترش دهید.

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

چالش 100 روزه کد

ما این دوره را با در نظر گرفتن "چالش 100 روزه کد" ایجاد کردیم - چالشی (که توسط ما اختراع نشده است) که هدف آن ایجاد انگیزه در شما برای حداقل 1 ساعت کدنویسی در روز به مدت 100 روز است.

از آنجایی که این یک دوره آموزشی بزرگ است (با حدود 80 ساعت محتوا!) می تواند بسیار طاقت فرسا باشد. و ما می دانیم که بسیاری از دانش آموزان هرگز یک دوره را تمام نمی کنند.

حیف است، زیرا این دوره مملو از محتوا، تمرین‌ها، آزمون‌ها، تکالیف و پروژه‌های نمایشی است! ما یک مرورگر-بازی، یک وبلاگ، یک وب سایت مسافرتی، یک فروشگاه آنلاین و خیلی چیزهای دیگر می سازیم.

بنابراین، ما راهنمایی روشنی در مورد نحوه گذراندن این دوره از A به Z در مدت 100 روز با صرف 1 تا 2 ساعت در روز برای تماشای ویدیو و یادگیری ارائه می دهیم. به عنوان بخشی از دوره، به یک وب سایت همراه دسترسی خواهید داشت که ساختار واضحی را ارائه می دهد و همچنین حاشیه نویسی را درست در برنامه درسی دوره پیدا می کنید.

البته شرکت در این چالش "100 روز" کاملا اختیاری است! همچنین می‌توانید با سرعت خودتان دوره را طی کنید و از هر محتوایی که به آن علاقه ندارید صرف نظر کنید!

آن را بدون ریسک امتحان کنید

این دوره با 30 روز ضمانت بازگشت وجه ارائه می شود. اگر متوجه شدید که برای شما مناسب نیست، می توانید پول خود را پس بگیرید، بدون سوال!

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

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

در اینجا خلاصه ای از مفاهیم کلیدی است که به عنوان بخشی از این دوره بررسی خواهیم کرد:

  • نحوه کار وب

  • فناوری های اصلی: HTML، CSS JavaScript

  • با نحوه ساختار اسناد HTML و نحوه استفاده صحیح از عناصر HTML آشنا شوید

  • مفاهیم اصلی CSS مانند مدل جعبه، flexbox، موقعیت‌یابی، واحدها و موارد دیگر را بیاموزید

  • مفاهیم پیشرفته CSS مانند ساخت وب‌سایت‌های واکنش‌گرا، طرح‌بندی‌ها، ویژگی‌های CSS سفارشی، شبکه CSS موارد بیشتر را کاوش کنید

  • جاوا اسکریپت سمت مرورگر را از پایه بیاموزید

  • بدانید "DOM" چیست و چگونه می توانید آن را از طریق جاوا اسکریپت دستکاری کنید

  • رویدادهای مرورگر/کاربر و نحوه مدیریت آنها با جاوا اسکریپت را کاوش کنید

  • انبوهی از پروژه‌ها (مانند یک بازی مرورگر Tic-Tac-Toe) برای تمرین و درک کامل همه این فناوری‌ها بسازید

  • با NodeJS ExpressJS به توسعه Backend بروید

  • بیاموزید NodeJS چیست و چگونه کار می‌کند

  • وب‌سایت‌های پایه مبتنی بر باطن را با مفاهیم پیشرفته مانند مسیریابی پویا یا قالب‌های پویا بسازید

  • با نحوه کار با پایگاه داده آشنا شوید - SQL NoSQL (و چیست)

  • نحوه استفاده از SQL/NoSQL با NodeJS Express را تمرین کنید

  • در مفاهیم پیشرفته‌ای مانند احراز هویت، امنیت وب‌سایت، الگوهای کدگذاری، آپلود فایل، اعتبارسنجی ورودی کاربر و موارد دیگر غرق شوید!

  • دوباره: پروژه های زیادی بسازید (مثلاً یک فروشگاه آنلاین کامل، از ابتدا!) تا تمام مفاهیم پیشرفته را نیز تمرین کنید

  • با نحوه استفاده از بسته‌ها و خدمات شخص ثالث (مانند Stripe برای پرداخت) در وب‌سایت‌های خود آشنا شوید

  • به سمت مفاهیم تخصصی تر و پیشرفته تر مانند ساختن API های REST بروید

  • فریم‌ورک‌های جاوا اسکریپت frontend مانند Vue.js را برای ایجاد رابط‌های کاربری وب قدرتمندتر کاوش کنید

  • و خیلی چیزهای دیگر - به سادگی برنامه درسی کامل را بررسی کنید تا یک لیست کامل دریافت کنید!

ما دوست داریم این سفر را با شما شروع کنیم، پس بیایید شروع کنیم!

ماکس مانوئل


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

مقدمه [روز اول] Introduction [Day 1]

  • به این دوره خوش آمدید! [روز 1] Welcome to This Course! [Day 1]

  • "توسعه وب" چیست و وب چگونه کار می کند؟ [روز 1] What Is "Web Development" & How Does The Web Work? [Day 1]

  • سه زبان برنامه نویسی کلیدی [روز اول] The Three Key Programming Languages [Day 1]

  • وب چگونه کار می کند: یک شیرجه عمیق [روز اول] How The Web Works: A Deep Dive [Day 1]

  • در مورد "www" چطور؟ [روز 1] What About The "www"? [Day 1]

  • چالش 100 روزه کد! [روز 1] The 100 Days of Code Challenge! [Day 1]

  • چگونه از این دوره بیشترین بهره را ببرید [روز اول] How To Get The Most Out Of This Course [Day 1]

  • در دوره گیر کرده اید؟ ما شما را تحت پوشش قرار دادیم! [روز 1] Stuck in the Course? We Got you Covered! [Day 1]

  • به انجمن آموزشی ما بپیوندید! Join Our Learning Community!

  • نحوه استفاده از کد پیوست [روز 1] How To Use The Attached Code [Day 1]

مقدمه [روز اول] Introduction [Day 1]

  • به این دوره خوش آمدید! [روز 1] Welcome to This Course! [Day 1]

  • "توسعه وب" چیست و وب چگونه کار می کند؟ [روز 1] What Is "Web Development" & How Does The Web Work? [Day 1]

  • سه زبان برنامه نویسی کلیدی [روز اول] The Three Key Programming Languages [Day 1]

  • وب چگونه کار می کند: یک شیرجه عمیق [روز اول] How The Web Works: A Deep Dive [Day 1]

  • در مورد "www" چطور؟ [روز 1] What About The "www"? [Day 1]

  • چالش 100 روزه کد! [روز 1] The 100 Days of Code Challenge! [Day 1]

  • چگونه از این دوره بیشترین بهره را ببرید [روز اول] How To Get The Most Out Of This Course [Day 1]

  • در دوره گیر کرده اید؟ ما شما را تحت پوشش قرار دادیم! [روز 1] Stuck in the Course? We Got you Covered! [Day 1]

  • به انجمن آموزشی ما بپیوندید! Join Our Learning Community!

  • نحوه استفاده از کد پیوست [روز 1] How To Use The Attached Code [Day 1]

ساخت اولین وب سایت: مبانی HTML و CSS [روز 1 - 5] Building a First Website: HTML & CSS Basics [Days 1 - 5]

  • معرفی ماژول [روز 1] Module Introduction [Day 1]

  • نحوه ایجاد یک وب سایت [روز اول] How to Create a Website [Day 1]

  • ایجاد اولین صفحه HTML ما [روز اول] Creating our First HTML Page [Day 1]

  • راه اندازی یک محیط توسعه [روز 2] Setting Up a Development Environment [Day 2]

  • چرا کد ویژوال استودیو؟ [روز دوم] Why Visual Studio Code? [Day 2]

  • درک عناصر HTML [روز 2] Understanding HTML Elements [Day 2]

  • کدام عناصر HTML وجود دارد؟ [روز دوم] Which HTML Elements Exist? [Day 2]

  • افزودن یک عنصر HTML دیگر [روز 2] Adding Another HTML Element [Day 2]

  • کاوش ویژگی‌های HTML [روز ۲] Exploring HTML Attributes [Day 2]

  • بررسی یادگیری: مبانی HTML [روز 2] Learning Check: HTML Basics [Day 2]

  • شروع کار با CSS (روز 2) Getting Started with CSS (Day 2)

  • استایل‌سازی بیشتر CSS [روز ۲] More CSS Styling [Day 2]

  • کار با رنگ ها [روز 3] Working with Colors [Day 3]

  • قالب بندی کد ما [روز 3] Formatting our Code [Day 3]

  • کار با ابزارهای توسعه دهنده مرورگر [روز 3] Working with the Browser Developer Tools [Day 3]

  • افزودن پیوند [روز سوم] Adding a Link [Day 3]

  • می‌توانید عناصر HTML را Nest کنید! [روز سوم] You can Nest HTML Elements! [Day 3]

  • استفاده از سبک‌های جهانی CSS [روز 3] Using Global CSS Styles [Day 3]

  • قالب‌بندی کد CSS [روز 3] CSS Code Formatting [Day 3]

  • اسکلت و فراداده سند HTML [روز 3] The HTML Document Skeleton & Metadata [Day 3]

  • میانبرها و ترفندهای کد ویژوال استودیو [روز سوم] Visual Studio Code Shortcuts & Tricks [Day 3]

  • نظرات کد [روز 3] Code Comments [Day 3]

  • خلاصه اول [روز سوم] First Summary [Day 3]

  • بررسی یادگیری: مبانی HTML و CSS [روز 3] Learning Check: HTML & CSS Basics [Day 3]

  • سبک دادن به عنصر لنگر همچنین با شبه شناور [روز 4] Styling the Anchor Element Also with Pseudo Hover [Day 4]

  • چرا به آن برگه‌های سبک آبشاری می‌گویند [روز چهارم] Why it's Called Cascading Style Sheets [Day 4]

  • ذخیره کد CSS در فایل های خارجی [روز 4] Storing CSS Code in External Files [Day 4]

  • نحو عنصر خالی [روز 4] The Void Element Syntax [Day 4]

  • چندین فایل و درخواست [روز 4] Multiple Files & Requests [Day 4]

  • انتخاب عناصر منفرد با انتخابگر شناسه [روز 4] Selecting Single Elements with the ID Selector [Day 4]

  • کار با "اندازه فونت" و "px" [روز 4] Working with "font-size" and "px" [Day 4]

  • استفاده از فونت های دیگر از فونت های گوگل [روز 4] Using Other Fonts from Google Fonts [Day 4]

  • درک نحوه مدیریت متن و فضای خالی HTML و CSS [روز پنجم] Understanding How HTML & CSS Handle Text & Whitespace [Day 5]

  • افزودن تصویر [روز پنجم] Adding an Image [Day 5]

  • سبک دادن به تصویر و استفاده از برچسب بدن [روز پنجم] Styling the Image & Using the Body Tag [Day 5]

  • سبک دادن به پس‌زمینه کلی صفحه [روز پنجم] Styling the Overall Page Background [Day 5]

  • افزودن دومین فایل HTML [روز پنجم] Adding a Second HTML File [Day 5]

  • کلمه ای درباره کنوانسیون نام فایل [روز پنجم] A Word About File Name Conventions [Day 5]

  • بررسی یادگیری: ویژگی‌های بیشتر HTML و CSS [روز پنجم] Learning Check: More HTML & CSS Features [Day 5]

  • زمان تمرین - اولین چالش شما! [روز پنجم] Time to Practice - Your First Challenge! [Day 5]

  • استفاده از یک فایل CSS مشترک [روز پنجم] Using a Shared CSS File [Day 5]

  • سازماندهی فایل های منبع در پوشه ها [روز پنجم] Organizing Source Files in Folders [Day 5]

  • خلاصه [روز پنجم] Summary [Day 5]

ساخت اولین وب سایت: مبانی HTML و CSS [روز 1 - 5] Building a First Website: HTML & CSS Basics [Days 1 - 5]

  • معرفی ماژول [روز 1] Module Introduction [Day 1]

  • نحوه ایجاد یک وب سایت [روز اول] How to Create a Website [Day 1]

  • ایجاد اولین صفحه HTML ما [روز اول] Creating our First HTML Page [Day 1]

  • راه اندازی یک محیط توسعه [روز 2] Setting Up a Development Environment [Day 2]

  • چرا کد ویژوال استودیو؟ [روز دوم] Why Visual Studio Code? [Day 2]

  • درک عناصر HTML [روز 2] Understanding HTML Elements [Day 2]

  • کدام عناصر HTML وجود دارد؟ [روز دوم] Which HTML Elements Exist? [Day 2]

  • افزودن یک عنصر HTML دیگر [روز 2] Adding Another HTML Element [Day 2]

  • کاوش ویژگی‌های HTML [روز ۲] Exploring HTML Attributes [Day 2]

  • بررسی یادگیری: مبانی HTML [روز 2] Learning Check: HTML Basics [Day 2]

  • شروع کار با CSS (روز 2) Getting Started with CSS (Day 2)

  • استایل‌سازی بیشتر CSS [روز ۲] More CSS Styling [Day 2]

  • کار با رنگ ها [روز 3] Working with Colors [Day 3]

  • قالب بندی کد ما [روز 3] Formatting our Code [Day 3]

  • کار با ابزارهای توسعه دهنده مرورگر [روز 3] Working with the Browser Developer Tools [Day 3]

  • افزودن پیوند [روز سوم] Adding a Link [Day 3]

  • می‌توانید عناصر HTML را Nest کنید! [روز سوم] You can Nest HTML Elements! [Day 3]

  • استفاده از سبک‌های جهانی CSS [روز 3] Using Global CSS Styles [Day 3]

  • قالب‌بندی کد CSS [روز 3] CSS Code Formatting [Day 3]

  • اسکلت و فراداده سند HTML [روز 3] The HTML Document Skeleton & Metadata [Day 3]

  • میانبرها و ترفندهای کد ویژوال استودیو [روز سوم] Visual Studio Code Shortcuts & Tricks [Day 3]

  • نظرات کد [روز 3] Code Comments [Day 3]

  • خلاصه اول [روز سوم] First Summary [Day 3]

  • بررسی یادگیری: مبانی HTML و CSS [روز 3] Learning Check: HTML & CSS Basics [Day 3]

  • سبک دادن به عنصر لنگر همچنین با شبه شناور [روز 4] Styling the Anchor Element Also with Pseudo Hover [Day 4]

  • چرا به آن برگه‌های سبک آبشاری می‌گویند [روز چهارم] Why it's Called Cascading Style Sheets [Day 4]

  • ذخیره کد CSS در فایل های خارجی [روز 4] Storing CSS Code in External Files [Day 4]

  • نحو عنصر خالی [روز 4] The Void Element Syntax [Day 4]

  • چندین فایل و درخواست [روز 4] Multiple Files & Requests [Day 4]

  • انتخاب عناصر منفرد با انتخابگر شناسه [روز 4] Selecting Single Elements with the ID Selector [Day 4]

  • کار با "اندازه فونت" و "px" [روز 4] Working with "font-size" and "px" [Day 4]

  • استفاده از فونت های دیگر از فونت های گوگل [روز 4] Using Other Fonts from Google Fonts [Day 4]

  • درک نحوه مدیریت متن و فضای خالی HTML و CSS [روز پنجم] Understanding How HTML & CSS Handle Text & Whitespace [Day 5]

  • افزودن تصویر [روز پنجم] Adding an Image [Day 5]

  • سبک دادن به تصویر و استفاده از برچسب بدن [روز پنجم] Styling the Image & Using the Body Tag [Day 5]

  • سبک دادن به پس‌زمینه کلی صفحه [روز پنجم] Styling the Overall Page Background [Day 5]

  • افزودن دومین فایل HTML [روز پنجم] Adding a Second HTML File [Day 5]

  • کلمه ای درباره کنوانسیون نام فایل [روز پنجم] A Word About File Name Conventions [Day 5]

  • بررسی یادگیری: ویژگی‌های بیشتر HTML و CSS [روز پنجم] Learning Check: More HTML & CSS Features [Day 5]

  • زمان تمرین - اولین چالش شما! [روز پنجم] Time to Practice - Your First Challenge! [Day 5]

  • استفاده از یک فایل CSS مشترک [روز پنجم] Using a Shared CSS File [Day 5]

  • سازماندهی فایل های منبع در پوشه ها [روز پنجم] Organizing Source Files in Folders [Day 5]

  • خلاصه [روز پنجم] Summary [Day 5]

غواصی عمیق تر در HTML و CSS [روزهای 6 - 8] Diving Deeper Into HTML & CSS [Days 6 - 8]

  • معرفی ماژول [روز 6] Module Introduction [Day 6]

  • استفاده از برنامه افزودنی سرور زنده [روز 6] Using the Live Server Extension [Day 6]

  • سرور توسعه و آدرس وب سایت محلی [روز ششم] The Development Server & The Local Website Address [Day 6]

  • درک لیست ها [روز 6] Understanding Lists [Day 6]

  • ایجاد لیست ها [روز 6] Creating Lists [Day 6]

  • درک والدین، کودکان، ظروف و موارد دیگر [روز ششم] Understanding Parents, Children, Containers & More [Day 6]

  • درک آبشاری، وراثت و ویژگی [روز 6] Understanding Cascading, Inheritance & Specificity [Day 6]

  • استایل دادن به صفحه کامل هفته [روز ششم] Styling the Full Week Page [Day 6]

  • معرفی مدل جعبه CSS [روز هفتم] Introducing the CSS Box Model [Day 7]

  • استفاده از مدل جعبه CSS [روز هفتم] Using the CSS Box Model [Day 7]

  • ایجاد طرح‌بندی‌های HTML [روز ۷] Creating HTML Layouts [Day 7]

  • تئوری: انتخاب‌کنندگان و ترکیب‌کننده‌ها [روز هفتم] Theory: Selectors & Combinators [Day 7]

  • استفاده از انتخابگرها و ترکیب‌کننده‌ها [روز هفتم] Using Selectors & Combinators [Day 7]

  • کلاس های درک [روز هفتم] Understanding Classes [Day 7]

  • Block vs Inline Elements [روز هفتم] Block vs Inline Elements [Day 7]

  • تفاوت های استایل بین عناصر بلوک و درون خطی [روز هشتم] Styling Differences Between Block & Inline Elements [Day 8]

  • درک مارجین فروپاشی [روز هشتم] Understanding Margin Collapsing [Day 8]

  • دارایی "box-shadow" [روز هشتم] The "box-shadow" Property [Day 8]

  • چالش شما! [روز هشتم] Your Challenge! [Day 8]

  • ایجاد طرح‌بندی HTML [روز هشتم] Creating the HTML Layout [Day 8]

  • سبک دادن به بخش اصلی [روز هشتم] Styling the Main Section [Day 8]

  • استایل کردن تصاویر و کار با حاشیه های منفی [روز هشتم] Styling Images & Working with Negative Margins [Day 8]

  • کارهای پایانی [روز هشتم] Finishing Touches [Day 8]

  • خلاصه ماژول [روز هشتم] Module Summary [Day 8]

  • فهرستی از همه انتخابگرهای CSS [روز هشتم] A List Of All CSS Selectors [Day 8]

غواصی عمیق تر در HTML و CSS [روزهای 6 - 8] Diving Deeper Into HTML & CSS [Days 6 - 8]

  • معرفی ماژول [روز 6] Module Introduction [Day 6]

  • استفاده از برنامه افزودنی سرور زنده [روز 6] Using the Live Server Extension [Day 6]

  • سرور توسعه و آدرس وب سایت محلی [روز ششم] The Development Server & The Local Website Address [Day 6]

  • درک لیست ها [روز 6] Understanding Lists [Day 6]

  • ایجاد لیست ها [روز 6] Creating Lists [Day 6]

  • درک والدین، کودکان، ظروف و موارد دیگر [روز ششم] Understanding Parents, Children, Containers & More [Day 6]

  • درک آبشاری، وراثت و ویژگی [روز 6] Understanding Cascading, Inheritance & Specificity [Day 6]

  • استایل دادن به صفحه کامل هفته [روز ششم] Styling the Full Week Page [Day 6]

  • معرفی مدل جعبه CSS [روز هفتم] Introducing the CSS Box Model [Day 7]

  • استفاده از مدل جعبه CSS [روز هفتم] Using the CSS Box Model [Day 7]

  • ایجاد طرح‌بندی‌های HTML [روز ۷] Creating HTML Layouts [Day 7]

  • تئوری: انتخاب‌کنندگان و ترکیب‌کننده‌ها [روز هفتم] Theory: Selectors & Combinators [Day 7]

  • استفاده از انتخابگرها و ترکیب‌کننده‌ها [روز هفتم] Using Selectors & Combinators [Day 7]

  • کلاس های درک [روز هفتم] Understanding Classes [Day 7]

  • Block vs Inline Elements [روز هفتم] Block vs Inline Elements [Day 7]

  • تفاوت های استایل بین عناصر بلوک و درون خطی [روز هشتم] Styling Differences Between Block & Inline Elements [Day 8]

  • درک مارجین فروپاشی [روز هشتم] Understanding Margin Collapsing [Day 8]

  • دارایی "box-shadow" [روز هشتم] The "box-shadow" Property [Day 8]

  • چالش شما! [روز هشتم] Your Challenge! [Day 8]

  • ایجاد طرح‌بندی HTML [روز هشتم] Creating the HTML Layout [Day 8]

  • سبک دادن به بخش اصلی [روز هشتم] Styling the Main Section [Day 8]

  • استایل کردن تصاویر و کار با حاشیه های منفی [روز هشتم] Styling Images & Working with Negative Margins [Day 8]

  • کارهای پایانی [روز هشتم] Finishing Touches [Day 8]

  • خلاصه ماژول [روز هشتم] Module Summary [Day 8]

  • فهرستی از همه انتخابگرهای CSS [روز هشتم] A List Of All CSS Selectors [Day 8]

HTML و CSS - تمرین و خلاصه [روزهای 9 - 10] HTML & CSS - Practice & Summary [Days 9 - 10]

  • معرفی ماژول [روز نهم] Module Introduction [Day 9]

  • وظیفه ی شما! [روز نهم] Your Task! [Day 9]

  • ایجاد ساختار اصلی [روز نهم] Creating the Core Structure [Day 9]

  • افزودن محتوای سرصفحه [روز نهم] Adding the Header Content [Day 9]

  • افزودن سبک سرصفحه [روز نهم] Adding Header Styling [Day 9]

  • فاصله و مدل جعبه CSS [روز نهم] Spacing & the CSS Box Model [Day 9]

  • افزودن محتوای اصلی [روز نهم] Adding the Main Content [Day 9]

  • سبک دادن به محتوای اصلی [روز دهم] Styling the Main Content [Day 10]

  • موارد و پیوندهای فهرست استایل [روز دهم] Styling List Items & Links [Day 10]

  • افزودن پاورقی [روز دهم] Adding the Footer [Day 10]

  • معرفی عناصر جدید HTML [روز دهم] Introducing New HTML Elements [Day 10]

  • سازماندهی فایل های ما [روز 10] Organizing our Files [Day 10]

  • خلاصه ماژول [روز دهم] Module Summary [Day 10]

HTML و CSS - تمرین و خلاصه [روزهای 9 - 10] HTML & CSS - Practice & Summary [Days 9 - 10]

  • معرفی ماژول [روز نهم] Module Introduction [Day 9]

  • وظیفه ی شما! [روز نهم] Your Task! [Day 9]

  • ایجاد ساختار اصلی [روز نهم] Creating the Core Structure [Day 9]

  • افزودن محتوای سرصفحه [روز نهم] Adding the Header Content [Day 9]

  • افزودن سبک سرصفحه [روز نهم] Adding Header Styling [Day 9]

  • فاصله و مدل جعبه CSS [روز نهم] Spacing & the CSS Box Model [Day 9]

  • افزودن محتوای اصلی [روز نهم] Adding the Main Content [Day 9]

  • سبک دادن به محتوای اصلی [روز دهم] Styling the Main Content [Day 10]

  • موارد و پیوندهای فهرست استایل [روز دهم] Styling List Items & Links [Day 10]

  • افزودن پاورقی [روز دهم] Adding the Footer [Day 10]

  • معرفی عناصر جدید HTML [روز دهم] Introducing New HTML Elements [Day 10]

  • سازماندهی فایل های ما [روز 10] Organizing our Files [Day 10]

  • خلاصه ماژول [روز دهم] Module Summary [Day 10]

ارائه یک وب سایت (میزبانی و استقرار) [روز یازدهم] Serving A Website (Hosting & Deployment) [Day 11]

  • معرفی ماژول [روز یازدهم] Module Introduction [Day 11]

  • "میزبانی" و "استقرار" چیست؟ [روز یازدهم] What is "Hosting" & "Deployment"? [Day 11]

  • میزبانی اولین وب سایت استاتیک (نمونه استقرار در Netlify) [روز یازدهم] Hosting a First Static Website (Example Deployment on Netlify) [Day 11]

  • اطلاعات بیشتر در مورد Netlify و HTTPS [روز ۱۱] More Information On Netlify & HTTPS [Day 11]

  • افزودن فاویکون [روز ۱۱] Adding a Favicon [Day 11]

  • مسیرهای نسبی در مقابل مطلق [روز یازدهم] Relative vs Absolute Paths [Day 11]

  • وب سایت خود را به اشتراک بگذارید [روز یازدهم] Share Your Website! [Day 11]

ارائه یک وب سایت (میزبانی و استقرار) [روز یازدهم] Serving A Website (Hosting & Deployment) [Day 11]

  • معرفی ماژول [روز یازدهم] Module Introduction [Day 11]

  • "میزبانی" و "استقرار" چیست؟ [روز یازدهم] What is "Hosting" & "Deployment"? [Day 11]

  • میزبانی اولین وب سایت استاتیک (نمونه استقرار در Netlify) [روز یازدهم] Hosting a First Static Website (Example Deployment on Netlify) [Day 11]

  • اطلاعات بیشتر در مورد Netlify و HTTPS [روز ۱۱] More Information On Netlify & HTTPS [Day 11]

  • افزودن فاویکون [روز ۱۱] Adding a Favicon [Day 11]

  • مسیرهای نسبی در مقابل مطلق [روز یازدهم] Relative vs Absolute Paths [Day 11]

  • وب سایت خود را به اشتراک بگذارید [روز یازدهم] Share Your Website! [Day 11]

معرفی نسخه کنترل با Git و GitHub [روزهای 11 - 14] Introducing Version Control with Git & GitHub [Days 11 - 14]

  • معرفی ماژول [روز یازدهم] Module Introduction [Day 11]

  • Git & GitHub چیست؟ [روز یازدهم] What are Git & GitHub? [Day 11]

  • رابط خط فرمان (CLI) در مقابل رابط کاربری گرافیکی (GUI) [روز 11] Command Line Interface (CLI) vs Graphical User Interface (GUI) [Day 11]

  • اختیاری: MacOS Terminal (z Shell) Crash Course [روز 11] Optional: MacOS Terminal (z Shell) Crash Course [Day 11]

  • اختیاری: Windows Command Prompt (cmd) Crash Course [روز ۱۲] Optional: Windows Command Prompt (cmd) Crash Course [Day 12]

  • Git: نصب MacOS [روز دوازدهم] Git: MacOS Installation [Day 12]

  • Git: نصب ویندوز [روز دوازدهم] Git: Windows Installation [Day 12]

  • درک اصول Git [روز دوازدهم] Understanding the Git Basics [Day 12]

  • راه اندازی مخزن و ایجاد اولین کامیت ما [روز دوازدهم] Initializing the Repository & Creating our First Commit [Day 12]

  • فعال کردن "کد لنز" در کد ویژوال استودیو [روز سیزدهم] Activating the "Code Lense" in Visual Studio Code [Day 13]

  • درک شاخه ها، ادغام و رفع تضادهای ادغام [روز 13] Understanding Branches, Merging & Fixing Merge Conflicts [Day 13]

  • حذف شعب و تعهدات، برگرداندن تغییرات مرحله‌ای و بدون مرحله [روز سیزدهم] Deleting Branches & Commits, Reverting Staged & Unstaged Changes [Day 13]

  • به بعد به GitHub - چه و چرا؟ [روز سیزدهم] Onwards to GitHub - What & Why? [Day 13]

  • ایجاد یک حساب GitHub و یک مخزن از راه دور [روز سیزدهم] Creating a GitHub Account & a Remote Repository [Day 13]

  • لطفا بخوانید: فقط کاربران ویندوز Please Read: Windows Users Only

  • درک رمز دسترسی شخصی و "کلون گیت" [روز 14] Understanding the Personal Access Token & "git clone" [Day 14]

  • همکاری در پروژه ها - همکاران و سازمان ها [روز چهاردهم] Collaborating on Projects - Collaborators & Organizations [Day 14]

  • مشارکت در پروژه‌ها - درخواست‌های چنگال و کشش [روز ۱۴] Contributing to Projects - Forks & Pull Requests [Day 14]

  • پایان [روز 14] Wrap Up [Day 14]

معرفی نسخه کنترل با Git و GitHub [روزهای 11 - 14] Introducing Version Control with Git & GitHub [Days 11 - 14]

  • معرفی ماژول [روز یازدهم] Module Introduction [Day 11]

  • Git & GitHub چیست؟ [روز یازدهم] What are Git & GitHub? [Day 11]

  • رابط خط فرمان (CLI) در مقابل رابط کاربری گرافیکی (GUI) [روز 11] Command Line Interface (CLI) vs Graphical User Interface (GUI) [Day 11]

  • اختیاری: MacOS Terminal (z Shell) Crash Course [روز 11] Optional: MacOS Terminal (z Shell) Crash Course [Day 11]

  • اختیاری: Windows Command Prompt (cmd) Crash Course [روز ۱۲] Optional: Windows Command Prompt (cmd) Crash Course [Day 12]

  • Git: نصب MacOS [روز دوازدهم] Git: MacOS Installation [Day 12]

  • Git: نصب ویندوز [روز دوازدهم] Git: Windows Installation [Day 12]

  • درک اصول Git [روز دوازدهم] Understanding the Git Basics [Day 12]

  • راه اندازی مخزن و ایجاد اولین کامیت ما [روز دوازدهم] Initializing the Repository & Creating our First Commit [Day 12]

  • فعال کردن "کد لنز" در کد ویژوال استودیو [روز سیزدهم] Activating the "Code Lense" in Visual Studio Code [Day 13]

  • درک شاخه ها، ادغام و رفع تضادهای ادغام [روز 13] Understanding Branches, Merging & Fixing Merge Conflicts [Day 13]

  • حذف شعب و تعهدات، برگرداندن تغییرات مرحله‌ای و بدون مرحله [روز سیزدهم] Deleting Branches & Commits, Reverting Staged & Unstaged Changes [Day 13]

  • به بعد به GitHub - چه و چرا؟ [روز سیزدهم] Onwards to GitHub - What & Why? [Day 13]

  • ایجاد یک حساب GitHub و یک مخزن از راه دور [روز سیزدهم] Creating a GitHub Account & a Remote Repository [Day 13]

  • لطفا بخوانید: فقط کاربران ویندوز Please Read: Windows Users Only

  • درک رمز دسترسی شخصی و "کلون گیت" [روز 14] Understanding the Personal Access Token & "git clone" [Day 14]

  • همکاری در پروژه ها - همکاران و سازمان ها [روز چهاردهم] Collaborating on Projects - Collaborators & Organizations [Day 14]

  • مشارکت در پروژه‌ها - درخواست‌های چنگال و کشش [روز ۱۴] Contributing to Projects - Forks & Pull Requests [Day 14]

  • پایان [روز 14] Wrap Up [Day 14]

آشنایی با چیدمان و موقعیت یابی HTML و CSS [روزهای 15 - 20] Understanding HTML & CSS Layouts & Positioning [Days 15 - 20]

  • معرفی ماژول [روز 15] Module Introduction [Day 15]

  • بررسی اجمالی پروژه - آنچه ما خواهیم ساخت [روز 15] Project Overview - What we Will Build [Day 15]

  • راه اندازی پروژه [روز پانزدهم] Project Setup [Day 15]

  • ایجاد ساختار صفحه فرود [روز پانزدهم] Creating the Landing Page Structure [Day 15]

  • افزودن لوگوی صفحه [روز پانزدهم] Adding the Page Logo [Day 15]

  • افزودن پیمایش صفحه [روز 15] Adding the Page Navigation [Day 15]

  • معرفی CSS Flexbox [روز پانزدهم] Introducing CSS Flexbox [Day 15]

  • تراز کردن موارد فلکس [روز 15] Aligning Flex Items [Day 15]

  • چالش Flexbox شما! [روز شانزدهم] Your Flexbox Challenge! [Day 16]

  • افزودن Flexbox به پروژه ما [روز شانزدهم] Adding Flexbox to our Project [Day 16]

  • افزودن تصویر پس زمینه [روز شانزدهم] Adding a Background Image [Day 16]

  • ایجاد یک ظرف برای محتوای قهرمان [روز شانزدهم] Creating a Container for the Hero-Content [Day 16]

  • عناصر موقعیت یابی [روز شانزدهم] Positioning Elements [Day 16]

  • سبک دادن به محتوای قهرمان [روز شانزدهم] Styling the Hero Content [Day 16]

  • درک موقعیت یابی ثابت و مطلق [روز شانزدهم] Understanding Fixed & Absolute Positioning [Day 16]

  • کار با % واحدها و ایجاد نوار پیمایش برتر [روز 17] Working with % Units & Creating a Top Navigation Bar [Day 17]

  • اتمام سربرگ [روز هفدهم] Finishing the Header [Day 17]

  • معرفی بخش «برترین‌ها» [روز هفدهم] Introducing the "Highlights" Section [Day 17]

  • ایجاد کد HTML [روز 17] Creating the HTML Code [Day 17]

  • ساخت کانتینر فلکس [روز هفدهم] Building the Flex Container [Day 17]

  • طرح بندی مورد فلکس [روز 17] Flex Item Layout [Day 17]

  • استایل دادن به تصاویر با "برازندگی شی" [روز هفدهم] Styling Images with "object-fit" [Day 17]

  • متن استایلینگ [روز هفدهم] Styling Text [Day 17]

  • لطفا بخوانید: افزودن "justify-content" [روز 17] Please Read: Adding "justify-content" [Day 17]

  • درک والدین - فروپاشی حاشیه کودک [روز 18] Understanding Parent - Child Margin Collapsing [Day 18]

  • کار با توابع CSS - گرادیان های خطی [روز 18] Working with CSS Functions - Linear Gradients [Day 18]

  • مرحله بعدی [روز 18] The Next Step [Day 18]

  • ایجاد بخش پاورقی [روز 18] Creating a Footer Section [Day 18]

  • مدل دادن به پاورقی [روز 18] Styling the Footer [Day 18]

  • صفحه مکان ها - بررسی اجمالی و آماده سازی [روز 18] Places Page - Overview & Preparations [Day 18]

  • ایجاد محتوای کارت [روز 18] Creating the Card Content [Day 18]

  • استفاده از "موقعیت: ثابت" [روز 18] Using "position: static" [Day 18]

  • ایجاد ظاهر کارت [روز 19] Creating the Card Look [Day 19]

  • درک "سرریز" و چالش شما! [روز نوزدهم] Understanding "overflow" & Your Challenge! [Day 19]

  • حل چالش [روز نوزدهم] Solving the Challenge [Day 19]

  • ایجاد همه کارت ها [روز 19] Creating all Cards [Day 19]

  • شبکه CSS - نظریه [روز 19] The CSS Grid - Theory [Day 19]

  • آشنایی با انتخابگر "نوع n" و "ستون‌های شبکه-الگو" [روز نوزدهم] Understanding the "nth-type" Selector & "grid-template-columns" [Day 19]

  • چالش شبکه شما [روز بیستم] Your Grid Challenge [Day 20]

  • کار با Unicode UTF-8 [روز بیستم] Working with Unicode UTF-8 [Day 20]

  • کارهای پایانی [روز بیستم] Finishing Touches [Day 20]

  • خلاصه ماژول [روز بیستم] Module Summary [Day 20]

  • اختیاری: غواصی عمیق تر در "موقعیت"، Flexbox & Grid [روز 20] Optional: Diving Deeper Into "position", Flexbox & the Grid [Day 20]

آشنایی با چیدمان و موقعیت یابی HTML و CSS [روزهای 15 - 20] Understanding HTML & CSS Layouts & Positioning [Days 15 - 20]

  • معرفی ماژول [روز 15] Module Introduction [Day 15]

  • بررسی اجمالی پروژه - آنچه ما خواهیم ساخت [روز 15] Project Overview - What we Will Build [Day 15]

  • راه اندازی پروژه [روز پانزدهم] Project Setup [Day 15]

  • ایجاد ساختار صفحه فرود [روز پانزدهم] Creating the Landing Page Structure [Day 15]

  • افزودن لوگوی صفحه [روز پانزدهم] Adding the Page Logo [Day 15]

  • افزودن پیمایش صفحه [روز 15] Adding the Page Navigation [Day 15]

  • معرفی CSS Flexbox [روز پانزدهم] Introducing CSS Flexbox [Day 15]

  • تراز کردن موارد فلکس [روز 15] Aligning Flex Items [Day 15]

  • چالش Flexbox شما! [روز شانزدهم] Your Flexbox Challenge! [Day 16]

  • افزودن Flexbox به پروژه ما [روز شانزدهم] Adding Flexbox to our Project [Day 16]

  • افزودن تصویر پس زمینه [روز شانزدهم] Adding a Background Image [Day 16]

  • ایجاد یک ظرف برای محتوای قهرمان [روز شانزدهم] Creating a Container for the Hero-Content [Day 16]

  • عناصر موقعیت یابی [روز شانزدهم] Positioning Elements [Day 16]

  • سبک دادن به محتوای قهرمان [روز شانزدهم] Styling the Hero Content [Day 16]

  • درک موقعیت یابی ثابت و مطلق [روز شانزدهم] Understanding Fixed & Absolute Positioning [Day 16]

  • کار با % واحدها و ایجاد نوار پیمایش برتر [روز 17] Working with % Units & Creating a Top Navigation Bar [Day 17]

  • اتمام سربرگ [روز هفدهم] Finishing the Header [Day 17]

  • معرفی بخش «برترین‌ها» [روز هفدهم] Introducing the "Highlights" Section [Day 17]

  • ایجاد کد HTML [روز 17] Creating the HTML Code [Day 17]

  • ساخت کانتینر فلکس [روز هفدهم] Building the Flex Container [Day 17]

  • طرح بندی مورد فلکس [روز 17] Flex Item Layout [Day 17]

  • استایل دادن به تصاویر با "برازندگی شی" [روز هفدهم] Styling Images with "object-fit" [Day 17]

  • متن استایلینگ [روز هفدهم] Styling Text [Day 17]

  • لطفا بخوانید: افزودن "justify-content" [روز 17] Please Read: Adding "justify-content" [Day 17]

  • درک والدین - فروپاشی حاشیه کودک [روز 18] Understanding Parent - Child Margin Collapsing [Day 18]

  • کار با توابع CSS - گرادیان های خطی [روز 18] Working with CSS Functions - Linear Gradients [Day 18]

  • مرحله بعدی [روز 18] The Next Step [Day 18]

  • ایجاد بخش پاورقی [روز 18] Creating a Footer Section [Day 18]

  • مدل دادن به پاورقی [روز 18] Styling the Footer [Day 18]

  • صفحه مکان ها - بررسی اجمالی و آماده سازی [روز 18] Places Page - Overview & Preparations [Day 18]

  • ایجاد محتوای کارت [روز 18] Creating the Card Content [Day 18]

  • استفاده از "موقعیت: ثابت" [روز 18] Using "position: static" [Day 18]

  • ایجاد ظاهر کارت [روز 19] Creating the Card Look [Day 19]

  • درک "سرریز" و چالش شما! [روز نوزدهم] Understanding "overflow" & Your Challenge! [Day 19]

  • حل چالش [روز نوزدهم] Solving the Challenge [Day 19]

  • ایجاد همه کارت ها [روز 19] Creating all Cards [Day 19]

  • شبکه CSS - نظریه [روز 19] The CSS Grid - Theory [Day 19]

  • آشنایی با انتخابگر "نوع n" و "ستون‌های شبکه-الگو" [روز نوزدهم] Understanding the "nth-type" Selector & "grid-template-columns" [Day 19]

  • چالش شبکه شما [روز بیستم] Your Grid Challenge [Day 20]

  • کار با Unicode UTF-8 [روز بیستم] Working with Unicode UTF-8 [Day 20]

  • کارهای پایانی [روز بیستم] Finishing Touches [Day 20]

  • خلاصه ماژول [روز بیستم] Module Summary [Day 20]

  • اختیاری: غواصی عمیق تر در "موقعیت"، Flexbox & Grid [روز 20] Optional: Diving Deeper Into "position", Flexbox & the Grid [Day 20]

درک طراحی وب ریسپانسیو [روزهای 20 تا 24] Understanding Responsive Web Design [Days 20 - 24]

  • معرفی ماژول [روز بیستم] Module Introduction [Day 20]

  • نمای کلی پروژه [روز بیستم] Project Overview [Day 20]

  • لطفا بخوانید: سخنرانی های اختیاری [روز بیستم] Please Read: Optional Lectures [Day 20]

  • اختیاری: چالش شما - ایجاد ساختار HTML [روز بیستم] Optional: Your Challenge - Creating the HTML Structure [Day 20]

  • اختیاری: راه حل چالش - ساختار HTML [روز بیستم] Optional: Challenge Solution - The HTML Structure [Day 20]

  • اختیاری: حالت دادن به هدر [روز ۲۱] Optional: Styling the Header [Day 21]

  • اختیاری: حالت دادن به بخش "اصلی" [روز 21] Optional: Styling the "main" Section [Day 21]

  • طراحی ریسپانسیو چیست؟ [روز بیست و یکم] What is Responsive Design? [Day 21]

  • مشکل پیکسل ها [روز ۲۱] The Problem with Pixels [Day 21]

  • معرفی "em" و "rem" [روز 21] Introducing "em" & "rem" [Day 21]

  • اعمال "em" و "rem" برای اندازه قلم [روز 22] Applying "em" & "rem" for the Font Size [Day 22]

  • Deep Dive: "em" در مقابل "rem" در مقابل "%" [روز 22] Deep Dive: "em" vs "rem" vs "%" [Day 22]

  • به روز رسانی واحدهای پروژه [روز 22] Updating the Project Units [Day 22]

  • مقایسه اولین طراحی دسکتاپ و موبایل [روز ۲۲] Comparing Desktop & Mobile First Design [Day 22]

  • درک پرسش های رسانه ای [روز ۲۲] Understanding Media Queries [Day 22]

  • افزودن پرسش‌های رسانه‌ای به پروژه [روز ۲۳] Adding Media Queries to the Project [Day 23]

  • چالش پرسش های رسانه ای شما! [روز 23] Your Media Queries Challenge! [Day 23]

  • کشو کناری و نماد همبرگر - نظریه [روز 23] Side Drawer & Hamburger Icon - Theory [Day 23]

  • ایجاد دکمه همبرگر [روز ۲۳] Creating the Hamburger Button [Day 23]

  • ایجاد کشوی کناری [روز ۲۳] Creating the Side Drawer [Day 23]

  • درک قطعات HTML [روز 23] Understanding HTML Fragments [Day 23]

  • درک انتخابگر هدف [روز ۲۴] Understanding the Target Selector [Day 24]

  • اتمام کشوی کناری [روز ۲۴] Finishing the Side Drawer [Day 24]

  • معرفی ویژگی "z-index" [روز ۲۴] Introducing the "z-index" Property [Day 24]

  • خلاصه ماژول [روز ۲۴] Module Summary [Day 24]

درک طراحی وب ریسپانسیو [روزهای 20 تا 24] Understanding Responsive Web Design [Days 20 - 24]

  • معرفی ماژول [روز بیستم] Module Introduction [Day 20]

  • نمای کلی پروژه [روز بیستم] Project Overview [Day 20]

  • لطفا بخوانید: سخنرانی های اختیاری [روز بیستم] Please Read: Optional Lectures [Day 20]

  • اختیاری: چالش شما - ایجاد ساختار HTML [روز بیستم] Optional: Your Challenge - Creating the HTML Structure [Day 20]

  • اختیاری: راه حل چالش - ساختار HTML [روز بیستم] Optional: Challenge Solution - The HTML Structure [Day 20]

  • اختیاری: حالت دادن به هدر [روز ۲۱] Optional: Styling the Header [Day 21]

  • اختیاری: حالت دادن به بخش "اصلی" [روز 21] Optional: Styling the "main" Section [Day 21]

  • طراحی ریسپانسیو چیست؟ [روز بیست و یکم] What is Responsive Design? [Day 21]

  • مشکل پیکسل ها [روز ۲۱] The Problem with Pixels [Day 21]

  • معرفی "em" و "rem" [روز 21] Introducing "em" & "rem" [Day 21]

  • اعمال "em" و "rem" برای اندازه قلم [روز 22] Applying "em" & "rem" for the Font Size [Day 22]

  • Deep Dive: "em" در مقابل "rem" در مقابل "%" [روز 22] Deep Dive: "em" vs "rem" vs "%" [Day 22]

  • به روز رسانی واحدهای پروژه [روز 22] Updating the Project Units [Day 22]

  • مقایسه اولین طراحی دسکتاپ و موبایل [روز ۲۲] Comparing Desktop & Mobile First Design [Day 22]

  • درک پرسش های رسانه ای [روز ۲۲] Understanding Media Queries [Day 22]

  • افزودن پرسش‌های رسانه‌ای به پروژه [روز ۲۳] Adding Media Queries to the Project [Day 23]

  • چالش پرسش های رسانه ای شما! [روز 23] Your Media Queries Challenge! [Day 23]

  • کشو کناری و نماد همبرگر - نظریه [روز 23] Side Drawer & Hamburger Icon - Theory [Day 23]

  • ایجاد دکمه همبرگر [روز ۲۳] Creating the Hamburger Button [Day 23]

  • ایجاد کشوی کناری [روز ۲۳] Creating the Side Drawer [Day 23]

  • درک قطعات HTML [روز 23] Understanding HTML Fragments [Day 23]

  • درک انتخابگر هدف [روز ۲۴] Understanding the Target Selector [Day 24]

  • اتمام کشوی کناری [روز ۲۴] Finishing the Side Drawer [Day 24]

  • معرفی ویژگی "z-index" [روز ۲۴] Introducing the "z-index" Property [Day 24]

  • خلاصه ماژول [روز ۲۴] Module Summary [Day 24]

ایجاد وب سایت های زیبا [روزهای 24 - 25] Creating Beautiful Websites [Days 24 - 25]

  • معرفی ماژول [روز ۲۴] Module Introduction [Day 24]

  • سه چیز که باید به خاطر بسپارید [روز ۲۴] Three Things to Keep in Mind [Day 24]

  • معرفی پروژه ماژول [روز ۲۴] Introducing the Module Project [Day 24]

  • اندازه و فاصله [روز ۲۴] Sizing & Spacing [Day 24]

  • انتخاب فونت مناسب [روز ۲۴] Choosing the Right Font [Day 24]

  • درک اهمیت رنگ‌های خاکستری، اصلی و برجسته [روز ۲۴] Understanding The Importance of Grey, Primary & Accent Colors [Day 24]

  • معرفی متغیرهای CSS/ویژگی‌های سفارشی CSS [روز ۲۵] Introducing CSS Variables / CSS Custom Properties [Day 25]

  • متغیرهای CSS در عمل [روز ۲۵] CSS Variables in Action [Day 25]

  • مقایسه انتخابگرهای "root" در مقابل "html" در مقابل "*" [روز 25] Comparing "root" vs "html" vs "*" Selectors [Day 25]

  • درک تحولات CSS [روز ۲۵] Understanding CSS Transformations [Day 25]

  • افزودن CSS Transitions [روز ۲۵] Adding CSS Transitions [Day 25]

  • کار با SVG [روز ۲۵] Working with SVGs [Day 25]

ایجاد وب سایت های زیبا [روزهای 24 - 25] Creating Beautiful Websites [Days 24 - 25]

  • معرفی ماژول [روز ۲۴] Module Introduction [Day 24]

  • سه چیز که باید به خاطر بسپارید [روز ۲۴] Three Things to Keep in Mind [Day 24]

  • معرفی پروژه ماژول [روز ۲۴] Introducing the Module Project [Day 24]

  • اندازه و فاصله [روز ۲۴] Sizing & Spacing [Day 24]

  • انتخاب فونت مناسب [روز ۲۴] Choosing the Right Font [Day 24]

  • درک اهمیت رنگ‌های خاکستری، اصلی و برجسته [روز ۲۴] Understanding The Importance of Grey, Primary & Accent Colors [Day 24]

  • معرفی متغیرهای CSS/ویژگی‌های سفارشی CSS [روز ۲۵] Introducing CSS Variables / CSS Custom Properties [Day 25]

  • متغیرهای CSS در عمل [روز ۲۵] CSS Variables in Action [Day 25]

  • مقایسه انتخابگرهای "root" در مقابل "html" در مقابل "*" [روز 25] Comparing "root" vs "html" vs "*" Selectors [Day 25]

  • درک تحولات CSS [روز ۲۵] Understanding CSS Transformations [Day 25]

  • افزودن CSS Transitions [روز ۲۵] Adding CSS Transitions [Day 25]

  • کار با SVG [روز ۲۵] Working with SVGs [Day 25]

افزودن فرم ها به وب سایت ها [روزهای 26 - 29] Adding Forms To Websites [Days 26 - 29]

  • معرفی ماژول [روز 26] Module Introduction [Day 26]

  • چی و چرا [روز ۲۶] What & Why [Day 26]

  • عناصر مهم فرم HTML [روز 26] Important Form HTML Elements [Day 26]

  • اولین عنصر ورودی ما [روز 26] Our First Input Element [Day 26]

  • افزودن یک دکمه [روز 26] Adding a Button [Day 26]

  • عنصر فرم، ارسال فرم و انواع مختلف درخواست [روز 26] The Form Element, Form Submission & Different Types of Requests [Day 26]

  • شکل دادن به عنصر فرم [روز 27] Styling the Form Element [Day 27]

  • افزودن برچسب ها [روز ۲۷] Adding Labels [Day 27]

  • مدل‌سازی فرم‌های دقیق‌تر [روز ۲۷] More Detailed Forms Styling [Day 27]

  • درک انواع ورودی های مختلف [روز 27] Understanding Different Input Types [Day 27]

  • درک ایمیل، اعداد، رمز عبور و انواع تاریخ [روز 27] Understanding Email, Numbers, Password & Date Types [Day 27]

  • کار با دکمه های رادیویی [روز 27] Working with Radio Buttons [Day 27]

  • استفاده از چک باکس ها [روز ۲۸] Using Checkboxes [Day 28]

  • عنصر Textarea برای متن طولانی تر [روز 28] The Textarea Element For Longer Text [Day 28]

  • افزودن یک کشویی [روز ۲۸] Adding a Dropdown [Day 28]

  • فرم ها و معناشناسی (ساختار فرم ها) [روز 28] Forms & Semantics (Structuring Forms) [Day 28]

  • اطلاعات بیشتر در مورد دکمه‌های فرم [روز ۲۸] More on Form Buttons [Day 28]

  • ویژگی های اعتبارسنجی [روز 28] Validation Attributes [Day 28]

  • ویژگی‌های ورودی و فرم بیشتر [روز ۲۸] More Input & Form Attributes [Day 28]

  • چالش شما! [روز 29] Your Challenge! [Day 29]

  • چالش: ساختار و استایل صفحه پایه [روز ۲۹] Challenge: Base Page Structure & Styling [Day 29]

  • بررسی یادگیری: فرم‌های وب [روز 29] Learning Check: Web Forms [Day 29]

  • چالش: اولین مجموعه از عناصر ورودی [روز 29] Challenge: First Set of Input Elements [Day 29]

  • چالش: افزودن عناصر باقی مانده [روز 29] Challenge: Adding Remaining Elements [Day 29]

  • چالش: ارسال و اعتبارسنجی [روز 29] Challenge: Submission & Validation [Day 29]

  • چالش: استایل کردن [روز ۲۹] Challenge: Styling [Day 29]

افزودن فرم ها به وب سایت ها [روزهای 26 - 29] Adding Forms To Websites [Days 26 - 29]

  • معرفی ماژول [روز 26] Module Introduction [Day 26]

  • چی و چرا [روز ۲۶] What & Why [Day 26]

  • عناصر مهم فرم HTML [روز 26] Important Form HTML Elements [Day 26]

  • اولین عنصر ورودی ما [روز 26] Our First Input Element [Day 26]

  • افزودن یک دکمه [روز 26] Adding a Button [Day 26]

  • عنصر فرم، ارسال فرم و انواع مختلف درخواست [روز 26] The Form Element, Form Submission & Different Types of Requests [Day 26]

  • شکل دادن به عنصر فرم [روز 27] Styling the Form Element [Day 27]

  • افزودن برچسب ها [روز ۲۷] Adding Labels [Day 27]

  • مدل‌سازی فرم‌های دقیق‌تر [روز ۲۷] More Detailed Forms Styling [Day 27]

  • درک انواع ورودی های مختلف [روز 27] Understanding Different Input Types [Day 27]

  • درک ایمیل، اعداد، رمز عبور و انواع تاریخ [روز 27] Understanding Email, Numbers, Password & Date Types [Day 27]

  • کار با دکمه های رادیویی [روز 27] Working with Radio Buttons [Day 27]

  • استفاده از چک باکس ها [روز ۲۸] Using Checkboxes [Day 28]

  • عنصر Textarea برای متن طولانی تر [روز 28] The Textarea Element For Longer Text [Day 28]

  • افزودن یک کشویی [روز ۲۸] Adding a Dropdown [Day 28]

  • فرم ها و معناشناسی (ساختار فرم ها) [روز 28] Forms & Semantics (Structuring Forms) [Day 28]

  • اطلاعات بیشتر در مورد دکمه‌های فرم [روز ۲۸] More on Form Buttons [Day 28]

  • ویژگی های اعتبارسنجی [روز 28] Validation Attributes [Day 28]

  • ویژگی‌های ورودی و فرم بیشتر [روز ۲۸] More Input & Form Attributes [Day 28]

  • چالش شما! [روز 29] Your Challenge! [Day 29]

  • چالش: ساختار و استایل صفحه پایه [روز ۲۹] Challenge: Base Page Structure & Styling [Day 29]

  • بررسی یادگیری: فرم‌های وب [روز 29] Learning Check: Web Forms [Day 29]

  • چالش: اولین مجموعه از عناصر ورودی [روز 29] Challenge: First Set of Input Elements [Day 29]

  • چالش: افزودن عناصر باقی مانده [روز 29] Challenge: Adding Remaining Elements [Day 29]

  • چالش: ارسال و اعتبارسنجی [روز 29] Challenge: Submission & Validation [Day 29]

  • چالش: استایل کردن [روز ۲۹] Challenge: Styling [Day 29]

درک مبانی جاوا اسکریپت [روزهای 29 - 33] Understanding the JavaScript Basics [Days 29 - 33]

  • معرفی ماژول [روز 29] Module Introduction [Day 29]

  • جاوا اسکریپت چیست و چرا باید از آن استفاده کنیم؟ [روز 29] What is JavaScript & Why would we use it? [Day 29]

  • آنچه در این ماژول خواهید آموخت [روز 29] What You Will Learn In this Module [Day 29]

  • معرفی مقادیر و متغیرها [روز ۲۹] Introducing Values & Variables [Day 29]

  • افزودن عنصر HTML "اسکریپت" [روز 30] Adding the "script" HTML Element [Day 30]

  • کار با مقادیر و دستورات پایه جاوا اسکریپت [روز 30] Working with Values & Basic JavaScript Commands [Day 30]

  • معرفی متغیرها ("ظروف داده") [روز 30] Introducing Variables ("Data Containers") [Day 30]

  • نگاهی دقیق تر به نحو جاوا اسکریپت [روز 30] A Closer Look At The JavaScript Syntax [Day 30]

  • متغیر دوم و زمان تمرین! [روز سی ام] A Second Variable & Practice Time! [Day 30]

  • برون سپاری کد جاوا اسکریپت به فایل های خارجی [روز 30] Outsourcing JavaScript Code Into External Files [Day 30]

  • معرفی آرایه ها (مدیریت لیست داده ها) [روز 30] Introducing Arrays (Managing Lists Of Data) [Day 30]

  • معرفی اشیا (گروه‌بندی داده‌های مرتبط) [روز 30] Introducing Objects (Grouping Related Data) [Day 30]

  • تقسیم کد در چند خط [روز سی و یکم] Splitting Code Across Multiple Lines [Day 31]

  • دسترسی به خواص شی [روز 31] Accessing Object Properties [Day 31]

  • انجام عملیات [روز 31] Performing Operations [Day 31]

  • به سمت دستورات سفارشی! [روز سی و یکم] Onwards To Custom Commands! [Day 31]

  • معرفی توابع [روز 31] Introducing Functions [Day 31]

  • توابع و متغیرها [روز 31] Functions & Variables [Day 31]

  • برگرداندن مقادیر در توابع [روز 31] Returning Values In Functions [Day 31]

  • انتقال داده به توابع با پارامترها [روز 31] Passing Data Into Functions With Parameters [Day 31]

  • توابع - خلاصه [روز 31] Functions - A Summary [Day 31]

  • زمان تمرین: مشکل [روز 32] Time To Practice: The Problem [Day 32]

  • زمان تمرین: راه حل [روز 32] Time To Practice: The Solution [Day 32]

  • معرفی روش ها [روز 32] Introducing Methods [Day 32]

  • آسان‌تر کردن زندگی برنامه‌نویس ما (ورود به سیستم با console.log()) [روز 32] Making Our Developer Life Easier (Logging with console.log()) [Day 32]

  • عملیات ریاضی و کار با انواع مختلف مقادیر [روز 32] Math Operations & Working With Different Kinds Of Values [Day 32]

  • اپراتور مدول [روز 32] The Modulus Operator [Day 32]

  • عملیات ریاضی و قوانین ریاضی [روز 32] Math Operations & Math Rules [Day 32]

  • انجام عملیات رشته (متن) [روز 32] Performing String (Text) Operations [Day 32]

  • اپراتورهای جاوا اسکریپت، اپراتورهای کوتاه و انواع ارزش [روز 32] JavaScript Operators, Shorthand Operators & Value Types [Day 32]

  • عملیات رشته و روش‌های رشته [روز ۳۲] String Operations & String Methods [Day 32]

  • عملیات آرایه پایه [روز 33] Basic Array Operations [Day 33]

  • تقسیم کد جاوا اسکریپت در چندین فایل [روز 33] Splitting JavaScript Code Across Multiple Files [Day 33]

  • خلاصه ماژول [روز 33] Module Summary [Day 33]

  • بررسی یادگیری: مبانی جاوا اسکریپت [روز 33] Learning Check: JavaScript Basics [Day 33]

درک مبانی جاوا اسکریپت [روزهای 29 - 33] Understanding the JavaScript Basics [Days 29 - 33]

  • معرفی ماژول [روز 29] Module Introduction [Day 29]

  • جاوا اسکریپت چیست و چرا باید از آن استفاده کنیم؟ [روز 29] What is JavaScript & Why would we use it? [Day 29]

  • آنچه در این ماژول خواهید آموخت [روز 29] What You Will Learn In this Module [Day 29]

  • معرفی مقادیر و متغیرها [روز ۲۹] Introducing Values & Variables [Day 29]

  • افزودن عنصر HTML "اسکریپت" [روز 30] Adding the "script" HTML Element [Day 30]

  • کار با مقادیر و دستورات پایه جاوا اسکریپت [روز 30] Working with Values & Basic JavaScript Commands [Day 30]

  • معرفی متغیرها ("ظروف داده") [روز 30] Introducing Variables ("Data Containers") [Day 30]

  • نگاهی دقیق تر به نحو جاوا اسکریپت [روز 30] A Closer Look At The JavaScript Syntax [Day 30]

  • متغیر دوم و زمان تمرین! [روز سی ام] A Second Variable & Practice Time! [Day 30]

  • برون سپاری کد جاوا اسکریپت به فایل های خارجی [روز 30] Outsourcing JavaScript Code Into External Files [Day 30]

  • معرفی آرایه ها (مدیریت لیست داده ها) [روز 30] Introducing Arrays (Managing Lists Of Data) [Day 30]

  • معرفی اشیا (گروه‌بندی داده‌های مرتبط) [روز 30] Introducing Objects (Grouping Related Data) [Day 30]

  • تقسیم کد در چند خط [روز سی و یکم] Splitting Code Across Multiple Lines [Day 31]

  • دسترسی به خواص شی [روز 31] Accessing Object Properties [Day 31]

  • انجام عملیات [روز 31] Performing Operations [Day 31]

  • به سمت دستورات سفارشی! [روز سی و یکم] Onwards To Custom Commands! [Day 31]

  • معرفی توابع [روز 31] Introducing Functions [Day 31]

  • توابع و متغیرها [روز 31] Functions & Variables [Day 31]

  • برگرداندن مقادیر در توابع [روز 31] Returning Values In Functions [Day 31]

  • انتقال داده به توابع با پارامترها [روز 31] Passing Data Into Functions With Parameters [Day 31]

  • توابع - خلاصه [روز 31] Functions - A Summary [Day 31]

  • زمان تمرین: مشکل [روز 32] Time To Practice: The Problem [Day 32]

  • زمان تمرین: راه حل [روز 32] Time To Practice: The Solution [Day 32]

  • معرفی روش ها [روز 32] Introducing Methods [Day 32]

  • آسان‌تر کردن زندگی برنامه‌نویس ما (ورود به سیستم با console.log()) [روز 32] Making Our Developer Life Easier (Logging with console.log()) [Day 32]

  • عملیات ریاضی و کار با انواع مختلف مقادیر [روز 32] Math Operations & Working With Different Kinds Of Values [Day 32]

  • اپراتور مدول [روز 32] The Modulus Operator [Day 32]

  • عملیات ریاضی و قوانین ریاضی [روز 32] Math Operations & Math Rules [Day 32]

  • انجام عملیات رشته (متن) [روز 32] Performing String (Text) Operations [Day 32]

  • اپراتورهای جاوا اسکریپت، اپراتورهای کوتاه و انواع ارزش [روز 32] JavaScript Operators, Shorthand Operators & Value Types [Day 32]

  • عملیات رشته و روش‌های رشته [روز ۳۲] String Operations & String Methods [Day 32]

  • عملیات آرایه پایه [روز 33] Basic Array Operations [Day 33]

  • تقسیم کد جاوا اسکریپت در چندین فایل [روز 33] Splitting JavaScript Code Across Multiple Files [Day 33]

  • خلاصه ماژول [روز 33] Module Summary [Day 33]

  • بررسی یادگیری: مبانی جاوا اسکریپت [روز 33] Learning Check: JavaScript Basics [Day 33]

جاوا اسکریپت پیشرفته: کار با DOM [روزهای 33 - 37] Advanced JavaScript: Working with the DOM [Days 33 - 37]

  • معرفی ماژول [روز 33] Module Introduction [Day 33]

  • راه اندازی شروع ما [روز 33] Our Starting Setup [Day 33]

  • اشیاء جهانی "پنجره" و "سند" [روز 33] The Global "window" & "document" Objects [Day 33]

  • "DOM" چیست؟ [روز سی و سوم] What Is "The DOM"? [Day 33]

  • کاوش در DOM [روز 33] Exploring The DOM [Day 33]

  • حفاری در DOM برای انتخاب و تغییر عناصر HTML [روز 33] Drilling Into The DOM To Select & Change HTML Elements [Day 33]

  • بارگیری صحیح اسکریپت ما [روز 33] Loading Our Script Correctly [Day 33]

  • درخت DOM و پیمایش DOM [روز 33] The DOM Tree & DOM Traversal [Day 33]

  • حفاری در DOM و کاوش گره های متن [روز 34] Drilling Into The DOM & Exploring Text Nodes [Day 34]

  • محدودیت‌های حفاری DOM [روز 34] DOM Drilling Limitations [Day 34]

  • جستجوی DOM برای عناصر [روز 34] Searching The DOM For Elements [Day 34]

  • عناصر جستجو [روز 34] Querying Elements [Day 34]

  • روش های رایج پرس و جو [روز 34] Common Query Methods [Day 34]

  • زمان تمرین: مشکل [روز 34] Time to Practice: The Problem [Day 34]

  • زمان تمرین: راه حل [روز 34] Time to Practice: The Solution [Day 34]

  • مراحل بعدی [روز 34] Next Steps [Day 34]

  • درج عناصر جدید HTML از طریق جاوا اسکریپت [روز 34] Inserting New HTML Elements via JavaScript [Day 34]

  • حذف عناصر DOM [روز 35] Deleting DOM Elements [Day 35]

  • جابجایی عناصر موجود در اطراف [روز 35] Moving Existing Elements Around [Day 35]

  • کار با "innerHTML" [روز 35] Working with "innerHTML" [Day 35]

  • بررسی یادگیری: جاوا اسکریپت و DOM [روز 35] Learning Check: JavaScript & The DOM [Day 35]

  • معرفی رویدادها [روز 35] Introducing Events [Day 35]

  • افزودن اولین "کلیک" شنونده رویداد [روز 35] Adding a First "click" Event Listener [Day 35]

  • گوش دادن به رویدادهای ورودی کاربر [روز 35] Listening To User Input Events [Day 35]

  • شیء "رویداد" [روز 35] The "event" Object [Day 35]

  • بررسی یادگیری: جاوا اسکریپت و رویدادهای DOM [روز 35] Learning Check: JavaScript & DOM Events [Day 35]

  • نسخه نمایشی و نمونه واقعی تر [روز 36] A More Realistic Demo & Example [Day 36]

  • معرفی "متغیرهای ثابت" ("ثابت") [روز 36] Introducing "Constant Variables" ("Constants") [Day 36]

  • تغییر سبک عنصر با جاوا اسکریپت [روز 36] Changing Element Styles With JavaScript [Day 36]

  • مدیریت کلاس های CSS با جاوا اسکریپت [روز 36] Managing CSS Classes With JavaScript [Day 36]

  • خلاصه ماژول [روز 36] Module Summary [Day 36]

  • زمان تمرین: مشکل [روز 37] Time to Practice: The Problem [Day 37]

  • زمان تمرین: راه حل [روز 37] Time to Practice: The Solution [Day 37]

جاوا اسکریپت پیشرفته: کار با DOM [روزهای 33 - 37] Advanced JavaScript: Working with the DOM [Days 33 - 37]

  • معرفی ماژول [روز 33] Module Introduction [Day 33]

  • راه اندازی شروع ما [روز 33] Our Starting Setup [Day 33]

  • اشیاء جهانی "پنجره" و "سند" [روز 33] The Global "window" & "document" Objects [Day 33]

  • "DOM" چیست؟ [روز سی و سوم] What Is "The DOM"? [Day 33]

  • کاوش در DOM [روز 33] Exploring The DOM [Day 33]

  • حفاری در DOM برای انتخاب و تغییر عناصر HTML [روز 33] Drilling Into The DOM To Select & Change HTML Elements [Day 33]

  • بارگیری صحیح اسکریپت ما [روز 33] Loading Our Script Correctly [Day 33]

  • درخت DOM و پیمایش DOM [روز 33] The DOM Tree & DOM Traversal [Day 33]

  • حفاری در DOM و کاوش گره های متن [روز 34] Drilling Into The DOM & Exploring Text Nodes [Day 34]

  • محدودیت‌های حفاری DOM [روز 34] DOM Drilling Limitations [Day 34]

  • جستجوی DOM برای عناصر [روز 34] Searching The DOM For Elements [Day 34]

  • عناصر جستجو [روز 34] Querying Elements [Day 34]

  • روش های رایج پرس و جو [روز 34] Common Query Methods [Day 34]

  • زمان تمرین: مشکل [روز 34] Time to Practice: The Problem [Day 34]

  • زمان تمرین: راه حل [روز 34] Time to Practice: The Solution [Day 34]

  • مراحل بعدی [روز 34] Next Steps [Day 34]

  • درج عناصر جدید HTML از طریق جاوا اسکریپت [روز 34] Inserting New HTML Elements via JavaScript [Day 34]

  • حذف عناصر DOM [روز 35] Deleting DOM Elements [Day 35]

  • جابجایی عناصر موجود در اطراف [روز 35] Moving Existing Elements Around [Day 35]

  • کار با "innerHTML" [روز 35] Working with "innerHTML" [Day 35]

  • بررسی یادگیری: جاوا اسکریپت و DOM [روز 35] Learning Check: JavaScript & The DOM [Day 35]

  • معرفی رویدادها [روز 35] Introducing Events [Day 35]

  • افزودن اولین "کلیک" شنونده رویداد [روز 35] Adding a First "click" Event Listener [Day 35]

  • گوش دادن به رویدادهای ورودی کاربر [روز 35] Listening To User Input Events [Day 35]

  • شیء "رویداد" [روز 35] The "event" Object [Day 35]

  • بررسی یادگیری: جاوا اسکریپت و رویدادهای DOM [روز 35] Learning Check: JavaScript & DOM Events [Day 35]

  • نسخه نمایشی و نمونه واقعی تر [روز 36] A More Realistic Demo & Example [Day 36]

  • معرفی "متغیرهای ثابت" ("ثابت") [روز 36] Introducing "Constant Variables" ("Constants") [Day 36]

  • تغییر سبک عنصر با جاوا اسکریپت [روز 36] Changing Element Styles With JavaScript [Day 36]

  • مدیریت کلاس های CSS با جاوا اسکریپت [روز 36] Managing CSS Classes With JavaScript [Day 36]

  • خلاصه ماژول [روز 36] Module Summary [Day 36]

  • زمان تمرین: مشکل [روز 37] Time to Practice: The Problem [Day 37]

  • زمان تمرین: راه حل [روز 37] Time to Practice: The Solution [Day 37]

جاوا اسکریپت پیشرفته: ساختارهای کنترل [روزهای 37 - 39] Advanced JavaScript: Control Structures [Days 37 - 39]

  • معرفی ماژول [روز 37] Module Introduction [Day 37]

  • شروع با "ساختارهای کنترل" [روز 37] Getting Started with "Control Structures" [Day 37]

  • معرفی مقادیر بولی ("Booleans") و عملگرهای مقایسه [روز 37] Introducing Boolean Values ("Booleans") & Comparison Operators [Day 37]

  • Booleans & Comparison Operators In Action [روز 37] Booleans & Comparison Operators In Action [Day 37]

  • استفاده از Booleans در عبارات "if" (اجرای کد مشروط) [روز 37] Using Booleans In "if" Statements (Conditional Code Execution) [Day 37]

  • یک مثال واقعی [روز 38] A Real Example [Day 38]

  • جایگزین هایی با «دیگر» و «اگر دیگر» [روز 38] Alternatives with "else" and "else if" [Day 38]

  • اطلاعات بیشتر در مورد ارزش های بولی [روز 38] More on Boolean Values [Day 38]

  • ارزش های "حقیقت" و "کاذب" [روز 38] "Truthy" & "Falsy" Values [Day 38]

  • بررسی یادگیری: اظهارات "اگر" [روز 38] Learning Check: "if" Statements [Day 38]

  • معرفی حلقه ها (اجرای مکرر کد) [روز 38] Introducing Loops (Repeated Code Execution) [Day 38]

  • حلقه منظم "for" [روز 38] The Regular "for" Loop [Day 38]

  • حلقه "for-of" (برای آرایه ها) [روز 38] The "for-of" Loop (for Arrays) [Day 38]

  • استفاده از حلقه "for" منظم با آرایه ها [روز 38] Using the Regular "for" Loop with Arrays [Day 38]

  • حلقه "for-in" (برای اشیا) [روز 38] The "for-in" Loop (for Objects) [Day 38]

  • حلقه "در حالی که" [روز 38] The "while" Loop [Day 38]

  • زمان تمرین: راه اندازی و حلقه "برای" [روز 39] Practice Time: Setup & The "for" Loop [Day 39]

  • زمان تمرین: حلقه "for-of" [روز 39] Practice Time: The "for-of" Loop [Day 39]

  • زمان تمرین: حلقه "for-in" [روز 39] Practice Time: The "for-in" Loop [Day 39]

  • زمان تمرین: حلقه "در حالی که" [روز 39] Practice Time: The "while" Loop [Day 39]

  • خلاصه ماژول [روز 39] Module Summary [Day 39]

  • بررسی های یادگیری: حلقه ها [روز 39] Learning Checks: Loops [Day 39]

جاوا اسکریپت پیشرفته: ساختارهای کنترل [روزهای 37 - 39] Advanced JavaScript: Control Structures [Days 37 - 39]

  • معرفی ماژول [روز 37] Module Introduction [Day 37]

  • شروع با "ساختارهای کنترل" [روز 37] Getting Started with "Control Structures" [Day 37]

  • معرفی مقادیر بولی ("Booleans") و عملگرهای مقایسه [روز 37] Introducing Boolean Values ("Booleans") & Comparison Operators [Day 37]

  • Booleans & Comparison Operators In Action [روز 37] Booleans & Comparison Operators In Action [Day 37]

  • استفاده از Booleans در عبارات "if" (اجرای کد مشروط) [روز 37] Using Booleans In "if" Statements (Conditional Code Execution) [Day 37]

  • یک مثال واقعی [روز 38] A Real Example [Day 38]

  • جایگزین هایی با «دیگر» و «اگر دیگر» [روز 38] Alternatives with "else" and "else if" [Day 38]

  • اطلاعات بیشتر در مورد ارزش های بولی [روز 38] More on Boolean Values [Day 38]

  • ارزش های "حقیقت" و "کاذب" [روز 38] "Truthy" & "Falsy" Values [Day 38]

  • بررسی یادگیری: اظهارات "اگر" [روز 38] Learning Check: "if" Statements [Day 38]

  • معرفی حلقه ها (اجرای مکرر کد) [روز 38] Introducing Loops (Repeated Code Execution) [Day 38]

  • حلقه منظم "for" [روز 38] The Regular "for" Loop [Day 38]

  • حلقه "for-of" (برای آرایه ها) [روز 38] The "for-of" Loop (for Arrays) [Day 38]

  • استفاده از حلقه "for" منظم با آرایه ها [روز 38] Using the Regular "for" Loop with Arrays [Day 38]

  • حلقه "for-in" (برای اشیا) [روز 38] The "for-in" Loop (for Objects) [Day 38]

  • حلقه "در حالی که" [روز 38] The "while" Loop [Day 38]

  • زمان تمرین: راه اندازی و حلقه "برای" [روز 39] Practice Time: Setup & The "for" Loop [Day 39]

  • زمان تمرین: حلقه "for-of" [روز 39] Practice Time: The "for-of" Loop [Day 39]

  • زمان تمرین: حلقه "for-in" [روز 39] Practice Time: The "for-in" Loop [Day 39]

  • زمان تمرین: حلقه "در حالی که" [روز 39] Practice Time: The "while" Loop [Day 39]

  • خلاصه ماژول [روز 39] Module Summary [Day 39]

  • بررسی های یادگیری: حلقه ها [روز 39] Learning Checks: Loops [Day 39]

پروژه Milestone: Building a Tic-Tac-Toe Game [روزهای 40 - 44] Milestone Project: Building a Tic-Tac-Toe Game [Days 40 - 44]

  • معرفی ماژول [روز 40] Module Introduction [Day 40]

  • برنامه ریزی پروژه [روز 40] Planning The Project [Day 40]

  • ایجاد ساختار HTML [روز 40] Creating The HTML Structure [Day 40]

  • افزودن سبک‌های صفحه پایه [روز ۴۰] Adding Base Page Styles [Day 40]

  • افزودن یک ظاهر طراحی برای منطقه پیکربندی بازی [روز ۴۱] Adding Styling For The Game Configuration Area [Day 41]

  • Styling The Game Board [روز 41] Styling The Game Board [Day 41]

  • افزودن جاوا اسکریپت، فایل‌های اسکریپت و اولین شنوندگان رویداد [روز ۴۱] Adding JavaScript, Script Files & First Event Listeners [Day 41]

  • نمایش و پنهان کردن حالت پیکربندی (روکش) [روز 41] Showing & Hiding The Configuration Modal (Overlay) [Day 41]

  • رسیدگی به ارسال فرم با جاوا اسکریپت [روز ۴۲] Handling Form Submission With JavaScript [Day 42]

  • اعتبارسنجی ورودی کاربر با جاوا اسکریپت [روز ۴۲] Validating User Input With JavaScript [Day 42]

  • ذخیره و مدیریت داده های ارسالی [روز ۴۲] Storing & Managing Submitted Data [Day 42]

  • اضافه کردن منطق برای شروع یک بازی [روز 43] Adding Logic For Starting A Game [Day 43]

  • مدیریت دور بازی (نوبت) و انتخاب رشته [روز 43] Managing Game Rounds (Turns) & Field Selection [Day 43]

  • ردیابی فیلدهای منتخب در صفحه بازی [روز 43] Tracking Selected Fields On The Game Board [Day 43]

  • بررسی برنده یا قرعه کشی [روز ۴۴] Checking For A Winner Or Draw [Day 44]

  • پایان دادن به بازی و افزودن منطق راه‌اندازی مجدد [روز ۴۴] Ending The Game & Adding Restart Logic [Day 44]

  • خلاصه ماژول [روز 44] Module Summary [Day 44]

پروژه Milestone: Building a Tic-Tac-Toe Game [روزهای 40 - 44] Milestone Project: Building a Tic-Tac-Toe Game [Days 40 - 44]

  • معرفی ماژول [روز 40] Module Introduction [Day 40]

  • برنامه ریزی پروژه [روز 40] Planning The Project [Day 40]

  • ایجاد ساختار HTML [روز 40] Creating The HTML Structure [Day 40]

  • افزودن سبک‌های صفحه پایه [روز ۴۰] Adding Base Page Styles [Day 40]

  • افزودن یک ظاهر طراحی برای منطقه پیکربندی بازی [روز ۴۱] Adding Styling For The Game Configuration Area [Day 41]

  • Styling The Game Board [روز 41] Styling The Game Board [Day 41]

  • افزودن جاوا اسکریپت، فایل‌های اسکریپت و اولین شنوندگان رویداد [روز ۴۱] Adding JavaScript, Script Files & First Event Listeners [Day 41]

  • نمایش و پنهان کردن حالت پیکربندی (روکش) [روز 41] Showing & Hiding The Configuration Modal (Overlay) [Day 41]

  • رسیدگی به ارسال فرم با جاوا اسکریپت [روز ۴۲] Handling Form Submission With JavaScript [Day 42]

  • اعتبارسنجی ورودی کاربر با جاوا اسکریپت [روز ۴۲] Validating User Input With JavaScript [Day 42]

  • ذخیره و مدیریت داده های ارسالی [روز ۴۲] Storing & Managing Submitted Data [Day 42]

  • اضافه کردن منطق برای شروع یک بازی [روز 43] Adding Logic For Starting A Game [Day 43]

  • مدیریت دور بازی (نوبت) و انتخاب رشته [روز 43] Managing Game Rounds (Turns) & Field Selection [Day 43]

  • ردیابی فیلدهای منتخب در صفحه بازی [روز 43] Tracking Selected Fields On The Game Board [Day 43]

  • بررسی برنده یا قرعه کشی [روز ۴۴] Checking For A Winner Or Draw [Day 44]

  • پایان دادن به بازی و افزودن منطق راه‌اندازی مجدد [روز ۴۴] Ending The Game & Adding Restart Logic [Day 44]

  • خلاصه ماژول [روز 44] Module Summary [Day 44]

کار با بسته های شخص ثالث [روزهای 45 - 46] Working with Third-Party Packages [Days 45 - 46]

  • معرفی ماژول [روز 45] Module Introduction [Day 45]

  • چی چرا؟ [روز 45] What & Why? [Day 45]

  • کد شخص ثالث در مقابل کد سفارشی ("کد خودتان") [روز 45] Third-Party Code vs Custom Code ("Your Own Code") [Day 45]

  • مثال اول: افزودن بوت استرپ برای استایل های پیش فرض [روز ۴۵] First Example: Adding Bootstrap For Some Default Styling [Day 45]

  • افزودن و استفاده از بسته CSS Bootstrap [روز ۴۵] Adding & Using the Bootstrap CSS Package [Day 45]

  • افزودن بسته جاوا اسکریپت [روز ۴۵] Adding a JavaScript Package [Day 45]

  • افزودن چرخ فلک/گالری تصویر با بسته شخص ثالث [روز ۴۵] Adding an Image Carousel / Gallery with a Third-Party Package [Day 45]

  • ترکیب بسته‌های شخص ثالث با کد سفارشی [روز ۴۵] Combining Third-Party Packages With Custom Code [Day 45]

  • نمونه های بیشتر بوت استرپ [روز ۴۵] More Bootstrap Examples [Day 45]

  • راه حل تمرین و خلاصه اول [روز ۴۵] Exercise Solution & First Summary [Day 45]

  • مثال دیگر: آماده کردن صفحه اختلاف منظر [روز 45] Another Example: Preparing a Parallax Page [Day 45]

  • افزودن بسته افکت اختلاف منظر [روز ۴۶] Adding A Parallax Effect Package [Day 46]

  • مشاهده کد منبع شخص ثالث و خلاصه ماژول [روز 46] Viewing Third-Party Source Code & Module Summary [Day 46]

کار با بسته های شخص ثالث [روزهای 45 - 46] Working with Third-Party Packages [Days 45 - 46]

  • معرفی ماژول [روز 45] Module Introduction [Day 45]

  • چی چرا؟ [روز 45] What & Why? [Day 45]

  • کد شخص ثالث در مقابل کد سفارشی ("کد خودتان") [روز 45] Third-Party Code vs Custom Code ("Your Own Code") [Day 45]

  • مثال اول: افزودن بوت استرپ برای استایل های پیش فرض [روز ۴۵] First Example: Adding Bootstrap For Some Default Styling [Day 45]

  • افزودن و استفاده از بسته CSS Bootstrap [روز ۴۵] Adding & Using the Bootstrap CSS Package [Day 45]

  • افزودن بسته جاوا اسکریپت [روز ۴۵] Adding a JavaScript Package [Day 45]

  • افزودن چرخ فلک/گالری تصویر با بسته شخص ثالث [روز ۴۵] Adding an Image Carousel / Gallery with a Third-Party Package [Day 45]

  • ترکیب بسته‌های شخص ثالث با کد سفارشی [روز ۴۵] Combining Third-Party Packages With Custom Code [Day 45]

  • نمونه های بیشتر بوت استرپ [روز ۴۵] More Bootstrap Examples [Day 45]

  • راه حل تمرین و خلاصه اول [روز ۴۵] Exercise Solution & First Summary [Day 45]

  • مثال دیگر: آماده کردن صفحه اختلاف منظر [روز 45] Another Example: Preparing a Parallax Page [Day 45]

  • افزودن بسته افکت اختلاف منظر [روز ۴۶] Adding A Parallax Effect Package [Day 46]

  • مشاهده کد منبع شخص ثالث و خلاصه ماژول [روز 46] Viewing Third-Party Source Code & Module Summary [Day 46]

به بعد به توسعه Backend [روز 46] Onwards To Backend Development [Day 46]

  • معرفی ماژول [روز 46] Module Introduction [Day 46]

  • "The Backend" چیست و چرا به کد سمت سرور نیاز داریم؟ [روز 46] What is "The Backend" & Why Do We Need Server-side Code? [Day 46]

  • وب سایت های پویا در مقابل وب سایت های ثابت [روز 46] Dynamic Websites vs Static Websites [Day 46]

  • Frontend vs Backend vs Fullstack Development [روز 46] Frontend vs Backend vs Fullstack Development [Day 46]

  • انتخاب زبان برنامه نویسی Backend (سمت سرور) [روز ۴۶] Choosing a Backend (Server-side) Programming Language [Day 46]

  • بررسی یادگیری: Frontend در مقابل Backend [روز 46] Learning Check: Frontend vs Backend [Day 46]

به بعد به توسعه Backend [روز 46] Onwards To Backend Development [Day 46]

  • معرفی ماژول [روز 46] Module Introduction [Day 46]

  • "The Backend" چیست و چرا به کد سمت سرور نیاز داریم؟ [روز 46] What is "The Backend" & Why Do We Need Server-side Code? [Day 46]

  • وب سایت های پویا در مقابل وب سایت های ثابت [روز 46] Dynamic Websites vs Static Websites [Day 46]

  • Frontend vs Backend vs Fullstack Development [روز 46] Frontend vs Backend vs Fullstack Development [Day 46]

  • انتخاب زبان برنامه نویسی Backend (سمت سرور) [روز ۴۶] Choosing a Backend (Server-side) Programming Language [Day 46]

  • بررسی یادگیری: Frontend در مقابل Backend [روز 46] Learning Check: Frontend vs Backend [Day 46]

معرفی NodeJS - شروع به توسعه Backend [روز ۴۷] NodeJS Introduction - Getting Started With Backend Development [Day 47]

  • معرفی ماژول [روز 47] Module Introduction [Day 47]

  • نصب NodeJS [روز ۴۷] Installing NodeJS [Day 47]

  • اجرای کد NodeJS [روز ۴۷] Executing NodeJS Code [Day 47]

  • ایجاد یک سرور NodeJS سفارشی [روز ۴۷] Creating a Custom NodeJS Server [Day 47]

  • رسیدگی به درخواست‌ها و ایجاد پاسخ‌های سفارشی [روز ۴۷] Handling Requests & Creating Custom Responses [Day 47]

  • انجام کارهای بیشتر سمت سرور [روز ۴۷] Doing More Server-side Work [Day 47]

  • بررسی یادگیری: مبانی NodeJS [روز ۴۷] Learning Check: NodeJS Basics [Day 47]

  • خلاصه [روز ۴۷] Summary [Day 47]

معرفی NodeJS - شروع به توسعه Backend [روز ۴۷] NodeJS Introduction - Getting Started With Backend Development [Day 47]

  • معرفی ماژول [روز 47] Module Introduction [Day 47]

  • نصب NodeJS [روز ۴۷] Installing NodeJS [Day 47]

  • اجرای کد NodeJS [روز ۴۷] Executing NodeJS Code [Day 47]

  • ایجاد یک سرور NodeJS سفارشی [روز ۴۷] Creating a Custom NodeJS Server [Day 47]

  • رسیدگی به درخواست‌ها و ایجاد پاسخ‌های سفارشی [روز ۴۷] Handling Requests & Creating Custom Responses [Day 47]

  • انجام کارهای بیشتر سمت سرور [روز ۴۷] Doing More Server-side Work [Day 47]

  • بررسی یادگیری: مبانی NodeJS [روز ۴۷] Learning Check: NodeJS Basics [Day 47]

  • خلاصه [روز ۴۷] Summary [Day 47]

بهبود NodeJS با ExpressJS [روزهای 48 - 49] Enhancing NodeJS with ExpressJS [Days 48 - 49]

  • معرفی ماژول [روز 48] Module Introduction [Day 48]

  • نصب Express با "npm" [روز 48] Installing Express with "npm" [Day 48]

  • ایجاد سرور با اکسپرس و رسیدگی به درخواست‌ها + پاسخ [روز ۴۸] Creating a Server with Express & Handling Requests + Responses [Day 48]

  • تجزیه اطلاعات کاربر با Express [روز ۴۸] Parsing User Data With Express [Day 48]

  • ذخیره سازی داده ها در فایل های (سمت سرور) [روز 48] Storing Data in (Server-side) Files [Day 48]

  • اطلاعات بیشتر درباره فرمت "JSON" [روز 49] More About The "JSON" Format [Day 49]

  • خواندن داده‌های فایل و بازگرداندن پاسخ‌های پویا (کد HTML پویا) [روز ۴۹] Reading File Data & Returning Dynamic Responses (Dynamic HTML Code) [Day 49]

  • بهبود گردش کار توسعه دهندگان با "nodemon" [روز 49] Enhancing the Developer Workflow with "nodemon" [Day 49]

  • خلاصه [روز 49] Summary [Day 49]

  • بررسی یادگیری: مبانی ExpressJS [روز 49] Learning Check: ExpressJS Basics [Day 49]

بهبود NodeJS با ExpressJS [روزهای 48 - 49] Enhancing NodeJS with ExpressJS [Days 48 - 49]

  • معرفی ماژول [روز 48] Module Introduction [Day 48]

  • نصب Express با "npm" [روز 48] Installing Express with "npm" [Day 48]

  • ایجاد سرور با اکسپرس و رسیدگی به درخواست‌ها + پاسخ [روز ۴۸] Creating a Server with Express & Handling Requests + Responses [Day 48]

  • تجزیه اطلاعات کاربر با Express [روز ۴۸] Parsing User Data With Express [Day 48]

  • ذخیره سازی داده ها در فایل های (سمت سرور) [روز 48] Storing Data in (Server-side) Files [Day 48]

  • اطلاعات بیشتر درباره فرمت "JSON" [روز 49] More About The "JSON" Format [Day 49]

  • خواندن داده‌های فایل و بازگرداندن پاسخ‌های پویا (کد HTML پویا) [روز ۴۹] Reading File Data & Returning Dynamic Responses (Dynamic HTML Code) [Day 49]

  • بهبود گردش کار توسعه دهندگان با "nodemon" [روز 49] Enhancing the Developer Workflow with "nodemon" [Day 49]

  • خلاصه [روز 49] Summary [Day 49]

  • بررسی یادگیری: مبانی ExpressJS [روز 49] Learning Check: ExpressJS Basics [Day 49]

اکسپرس بیشتر: محتوای ایستا و پویا با الگوها (EJS) [روزهای 49 - 51] More Express: Static & Dynamic Content with Templates (EJS) [Days 49 - 51]

  • معرفی ماژول [روز 49] Module Introduction [Day 49]

  • ایجاد یک پروژه شروع و آنچه باید تغییر کند [روز 49] Creating a Starting Project & What Needs To Change [Day 49]

  • راه‌اندازی یک برنامه Basic Express (از جمله تمرین) [روز ۴۹] Setting Up A Basic Express App (incl. Practice) [Day 49]

  • ارائه فایل‌های HTML با Node & Express [روز ۴۹] Serving HTML Files With Node & Express [Day 49]

  • ارائه فایل‌های استاتیک (CSS و جاوا اسکریپت) [روز 50] Serving Static Files (CSS & JavaScript) [Day 50]

  • تجزیه داده‌های فرم و درخواست‌های هدایت مجدد [روز 50] Parsing Form Data & Redirecting Requests [Day 50]

  • افزودن موتور قالب EJS [روز 50] Adding the EJS Template Engine [Day 50]

  • ارائه محتوای پویا با الگوها [روز 50] Rendering Dynamic Content With Templates [Day 50]

  • تولید محتوای تکراری با EJS و حلقه ها [روز 50] Outputting Repeated Content With EJS & Loops [Day 50]

  • ارائه محتوای مشروط [روز 50] Rendering Conditional Content [Day 50]

  • شامل محتوای جزئی [روز ۵۱] Including Partial Content [Day 51]

  • پشتیبانی EJS و IDE [روز 51] EJS & IDE Support [Day 51]

  • خلاصه ماژول [روز 51] Module Summary [Day 51]

  • بررسی یادگیری: محتوای ایستا و پویا [روز ۵۱] Learning Check: Static & Dynamic Content [Day 51]

اکسپرس بیشتر: محتوای ایستا و پویا با الگوها (EJS) [روزهای 49 - 51] More Express: Static & Dynamic Content with Templates (EJS) [Days 49 - 51]

  • معرفی ماژول [روز 49] Module Introduction [Day 49]

  • ایجاد یک پروژه شروع و آنچه باید تغییر کند [روز 49] Creating a Starting Project & What Needs To Change [Day 49]

  • راه‌اندازی یک برنامه Basic Express (از جمله تمرین) [روز ۴۹] Setting Up A Basic Express App (incl. Practice) [Day 49]

  • ارائه فایل‌های HTML با Node & Express [روز ۴۹] Serving HTML Files With Node & Express [Day 49]

  • ارائه فایل‌های استاتیک (CSS و جاوا اسکریپت) [روز 50] Serving Static Files (CSS & JavaScript) [Day 50]

  • تجزیه داده‌های فرم و درخواست‌های هدایت مجدد [روز 50] Parsing Form Data & Redirecting Requests [Day 50]

  • افزودن موتور قالب EJS [روز 50] Adding the EJS Template Engine [Day 50]

  • ارائه محتوای پویا با الگوها [روز 50] Rendering Dynamic Content With Templates [Day 50]

  • تولید محتوای تکراری با EJS و حلقه ها [روز 50] Outputting Repeated Content With EJS & Loops [Day 50]

  • ارائه محتوای مشروط [روز 50] Rendering Conditional Content [Day 50]

  • شامل محتوای جزئی [روز ۵۱] Including Partial Content [Day 51]

  • پشتیبانی EJS و IDE [روز 51] EJS & IDE Support [Day 51]

  • خلاصه ماژول [روز 51] Module Summary [Day 51]

  • بررسی یادگیری: محتوای ایستا و پویا [روز ۵۱] Learning Check: Static & Dynamic Content [Day 51]

مدیریت مسیرهای پویا (URL)، خطاها و مدیریت. پروژه های اکسپرس بزرگ [51-53] Handling Dynamic Routes (URLs), Errors & Manag. Bigger Express Projects [51-53]

  • معرفی ماژول [روز 51] Module Introduction [Day 51]

  • معرفی مسیرهای پویا [روز ۵۱] Introducing Dynamic Routes [Day 51]

  • مدیریت داده ها با شناسه های منحصر به فرد [روز ۵۱] Managing Data with Unique IDs [Day 51]

  • بارگیری و نمایش داده های جزئیات [روز ۵۲] Loading & Displaying Detail Data [Day 52]

  • نمایش یک صفحه 404 برای موارد "یافت نشد" [روز 52] Showing a 404 Page For "Not Found" Cases [Day 52]

  • استفاده بیشتر از 404 صفحه (مسیرهای غیر موجود) [روز 52] More 404 Page Usage (Non-Existent Routes) [Day 52]

  • رسیدگی به خطاهای سمت سرور (500 کد وضعیت) [روز 52] Handling Server-Side Errors (500 Status Code) [Day 52]

  • کار با کدهای وضعیت [روز ۵۲] Working With Status Codes [Day 52]

  • بازآفرینی کد و افزودن توابع بیشتر [روز ۵۲] Code Refactoring & Adding More Functions [Day 52]

  • واردات و صادرات کد در NodeJS [روز ۵۳] Importing & Exporting Code In NodeJS [Day 53]

  • استفاده از روتر اکسپرس برای تقسیم پیکربندی مسیر [روز ۵۳] Using The Express Router To Split The Route Configuration [Day 53]

  • معرفی پارامترهای پرس و جو (و فیلدهای فرم پنهان) [روز 53] Introducing Query Parameters (& Hidden Form Fields) [Day 53]

  • پارامترهای پرس و جو در مقابل پارامترهای مسیر [روز 53] Query Parameters vs Route Parameters [Day 53]

  • خلاصه ماژول [روز 53] Module Summary [Day 53]

  • بررسی یادگیری: ویژگی‌های پیشرفته اکسپرس [روز ۵۳] Learning Check: Advanced Express Features [Day 53]

مدیریت مسیرهای پویا (URL)، خطاها و مدیریت. پروژه های اکسپرس بزرگ [51-53] Handling Dynamic Routes (URLs), Errors & Manag. Bigger Express Projects [51-53]

  • معرفی ماژول [روز 51] Module Introduction [Day 51]

  • معرفی مسیرهای پویا [روز ۵۱] Introducing Dynamic Routes [Day 51]

  • مدیریت داده ها با شناسه های منحصر به فرد [روز ۵۱] Managing Data with Unique IDs [Day 51]

  • بارگیری و نمایش داده های جزئیات [روز ۵۲] Loading & Displaying Detail Data [Day 52]

  • نمایش یک صفحه 404 برای موارد "یافت نشد" [روز 52] Showing a 404 Page For "Not Found" Cases [Day 52]

  • استفاده بیشتر از 404 صفحه (مسیرهای غیر موجود) [روز 52] More 404 Page Usage (Non-Existent Routes) [Day 52]

  • رسیدگی به خطاهای سمت سرور (500 کد وضعیت) [روز 52] Handling Server-Side Errors (500 Status Code) [Day 52]

  • کار با کدهای وضعیت [روز ۵۲] Working With Status Codes [Day 52]

  • بازآفرینی کد و افزودن توابع بیشتر [روز ۵۲] Code Refactoring & Adding More Functions [Day 52]

  • واردات و صادرات کد در NodeJS [روز ۵۳] Importing & Exporting Code In NodeJS [Day 53]

  • استفاده از روتر اکسپرس برای تقسیم پیکربندی مسیر [روز ۵۳] Using The Express Router To Split The Route Configuration [Day 53]

  • معرفی پارامترهای پرس و جو (و فیلدهای فرم پنهان) [روز 53] Introducing Query Parameters (& Hidden Form Fields) [Day 53]

  • پارامترهای پرس و جو در مقابل پارامترهای مسیر [روز 53] Query Parameters vs Route Parameters [Day 53]

  • خلاصه ماژول [روز 53] Module Summary [Day 53]

  • بررسی یادگیری: ویژگی‌های پیشرفته اکسپرس [روز ۵۳] Learning Check: Advanced Express Features [Day 53]

کاوش در مفاهیم پیشرفته جاوا اسکریپت [روزهای 54 - 56] Exploring More Advanced JavaScript Concepts [Days 54 - 56]

  • معرفی ماژول [روز 54] Module Introduction [Day 54]

  • توابع و پارامترهای پیش فرض [روز 54] Functions & Default Parameters [Day 54]

  • پارامترهای استراحت و اپراتور اسپرد [روز 54] Rest Parameters & The Spread Operator [Day 54]

  • توابع اشیا هستند! [روز 54] Functions Are Objects! [Day 54]

  • کار با Template Literals [روز 54] Working with Template Literals [Day 54]

  • مقادیر اولیه در مقابل مقادیر مرجع [روز 54] Primitive vs Reference Values [Day 54]

  • مدیریت خطای سفارشی با try/catch [روز ۵۵] Custom Error Handling With try / catch [Day 55]

  • داده‌های خطا و پرتاب خطاهای سفارشی [روز ۵۵] Error Data & Throwing Custom Errors [Day 55]

  • محدوده متغیر و سایه زدن [روز ۵۵] Variable Scoping & Shadowing [Day 55]

  • بررسی یادگیری: مفاهیم پیشرفته جاوا اسکریپت [روز ۵۵] Learning Check: More Advanced JavaScript Concepts [Day 55]

  • معرفی کلاس ها به عنوان طرح اولیه اشیاء [روز 55] Introducing Classes As Object Blueprints [Day 55]

  • کلاس ها و روش ها (و "این") [روز 55] Classes & Methods (and "this") [Day 55]

  • تخریب اشیاء و آرایه ها [روز 55] Destructuring Objects & Arrays [Day 55]

  • بررسی یادگیری: بیشتر در مورد اشیاء [روز 55] Learning Check: More on Objects [Day 55]

  • فرو رفتن در کد ناهمزمان و توابع پاسخ به تماس [روز 56] Diving Into Asynchronous Code & Callback Functions [Day 56]

  • معرفی وعده ها [روز 56] Introducing Promises [Day 56]

  • کد ناهمزمان و مدیریت خطا [روز ۵۶] Asynchronous Code & Error Handling [Day 56]

  • بهبود کد با همگام سازی/در انتظار [روز ۵۶] Improving Code With async / await [Day 56]

  • بررسی یادگیری: کد ناهمزمان [روز 56] Learning Check: Asynchronous Code [Day 56]

  • خلاصه ماژول [روز 56] Module Summary [Day 56]

کاوش در مفاهیم پیشرفته جاوا اسکریپت [روزهای 54 - 56] Exploring More Advanced JavaScript Concepts [Days 54 - 56]

  • معرفی ماژول [روز 54] Module Introduction [Day 54]

  • توابع و پارامترهای پیش فرض [روز 54] Functions & Default Parameters [Day 54]

  • پارامترهای استراحت و اپراتور اسپرد [روز 54] Rest Parameters & The Spread Operator [Day 54]

  • توابع اشیا هستند! [روز 54] Functions Are Objects! [Day 54]

  • کار با Template Literals [روز 54] Working with Template Literals [Day 54]

  • مقادیر اولیه در مقابل مقادیر مرجع [روز 54] Primitive vs Reference Values [Day 54]

  • مدیریت خطای سفارشی با try/catch [روز ۵۵] Custom Error Handling With try / catch [Day 55]

  • داده‌های خطا و پرتاب خطاهای سفارشی [روز ۵۵] Error Data & Throwing Custom Errors [Day 55]

  • محدوده متغیر و سایه زدن [روز ۵۵] Variable Scoping & Shadowing [Day 55]

  • بررسی یادگیری: مفاهیم پیشرفته جاوا اسکریپت [روز ۵۵] Learning Check: More Advanced JavaScript Concepts [Day 55]

  • معرفی کلاس ها به عنوان طرح اولیه اشیاء [روز 55] Introducing Classes As Object Blueprints [Day 55]

  • کلاس ها و روش ها (و "این") [روز 55] Classes & Methods (and "this") [Day 55]

  • تخریب اشیاء و آرایه ها [روز 55] Destructuring Objects & Arrays [Day 55]

  • بررسی یادگیری: بیشتر در مورد اشیاء [روز 55] Learning Check: More on Objects [Day 55]

  • فرو رفتن در کد ناهمزمان و توابع پاسخ به تماس [روز 56] Diving Into Asynchronous Code & Callback Functions [Day 56]

  • معرفی وعده ها [روز 56] Introducing Promises [Day 56]

  • کد ناهمزمان و مدیریت خطا [روز ۵۶] Asynchronous Code & Error Handling [Day 56]

  • بهبود کد با همگام سازی/در انتظار [روز ۵۶] Improving Code With async / await [Day 56]

  • بررسی یادگیری: کد ناهمزمان [روز 56] Learning Check: Asynchronous Code [Day 56]

  • خلاصه ماژول [روز 56] Module Summary [Day 56]

به بعد به پایگاه های داده [روزهای 56 - 57] Onwards To Databases [Days 56 - 57]

  • معرفی ماژول [روز 56] Module Introduction [Day 56]

  • چرا پایگاه های داده؟ و پایگاه های داده در وهله اول چیست؟ [روز 56] Why Databases? And What Are Databases In The First Place? [Day 56]

  • معرفی سریع پایگاه های داده SQL (RDBMS) [روز 57] A Quick Introduction To SQL Databases (RDBMS) [Day 57]

  • معرفی سریع پایگاه های داده NoSQL [روز ۵۷] A Quick Introduction To NoSQL Databases [Day 57]

  • پایگاه‌های داده SQL در مقابل NoSQL [روز ۵۷] SQL vs NoSQL Databases [Day 57]

  • بررسی یادگیری: معرفی پایگاه های داده [روز 57] Learning Check: Databases Introduction [Day 57]

به بعد به پایگاه های داده [روزهای 56 - 57] Onwards To Databases [Days 56 - 57]

  • معرفی ماژول [روز 56] Module Introduction [Day 56]

  • چرا پایگاه های داده؟ و پایگاه های داده در وهله اول چیست؟ [روز 56] Why Databases? And What Are Databases In The First Place? [Day 56]

  • معرفی سریع پایگاه های داده SQL (RDBMS) [روز 57] A Quick Introduction To SQL Databases (RDBMS) [Day 57]

  • معرفی سریع پایگاه های داده NoSQL [روز ۵۷] A Quick Introduction To NoSQL Databases [Day 57]

  • پایگاه‌های داده SQL در مقابل NoSQL [روز ۵۷] SQL vs NoSQL Databases [Day 57]

  • بررسی یادگیری: معرفی پایگاه های داده [روز 57] Learning Check: Databases Introduction [Day 57]

پایگاه های داده SQL - مقدمه و مفاهیم اصلی [روزهای 57 - 59] SQL Databases - Introduction & Core Concepts [Days 57 - 59]

  • معرفی ماژول [روز 57] Module Introduction [Day 57]

  • چی چرا؟ [روز 57] What & Why? [Day 57]

  • گزینه‌های RDBMS [روز ۵۷] RDBMS Options [Day 57]

  • نصب MySQL و مراحل راه‌اندازی [روز ۵۷] Installing MySQL & Setup Steps [Day 57]

  • سرور پایگاه داده در مقابل پایگاه های داده در مقابل جداول [روز 57] Database Server vs Databases vs Tables [Day 57]

  • نوشتن اولین کد SQL و ایجاد یک پایگاه داده [روز ۵۷] Writing Our First SQL Code & Creating a Database [Day 57]

  • ایجاد جدول و ساختار جدول [روز ۵۸] Creating a Table & Table Structure [Day 58]

  • درج داده ها در یک جدول [روز 58] Inserting Data Into A Table [Day 58]

  • خواندن داده ها از یک جدول (از جمله فیلتر کردن) [روز 58] Reading Data From A Table (incl. Filtering) [Day 58]

  • به‌روزرسانی و حذف داده‌ها [روز ۵۸] Updating & Deleting Data [Day 58]

  • طراحی یک پایگاه داده پیچیده تر [روز 58] Designing A More Complex Database [Day 58]

  • افزودن یک جدول جدید [روز ۵۸] Adding A New Table [Day 58]

  • اجرای یک طراحی پیچیده تر با روابط [روز 59] Implementing A More Complex Design With Relations [Day 59]

  • درج داده‌های مرتبط [روز ۵۹] Inserting Related Data [Day 59]

  • تمرین: درج داده‌های مرتبط [روز ۵۹] Practice: Inserting Related Data [Day 59]

  • جستجو و پیوستن به داده‌های مرتبط [روز ۵۹] Querying & Joining Related Data [Day 59]

  • تمرین: پیوستن به داده ها [روز 59] Practice: Joining Data [Day 59]

  • خلاصه ماژول و موارد بیشتر در مورد روابط [روز 59] Module Summary & More On Relationships [Day 59]

  • بررسی یادگیری: معرفی SQL [روز 59] Learning Check: SQL Introduction [Day 59]

پایگاه های داده SQL - مقدمه و مفاهیم اصلی [روزهای 57 - 59] SQL Databases - Introduction & Core Concepts [Days 57 - 59]

  • معرفی ماژول [روز 57] Module Introduction [Day 57]

  • چی چرا؟ [روز 57] What & Why? [Day 57]

  • گزینه‌های RDBMS [روز ۵۷] RDBMS Options [Day 57]

  • نصب MySQL و مراحل راه‌اندازی [روز ۵۷] Installing MySQL & Setup Steps [Day 57]

  • سرور پایگاه داده در مقابل پایگاه های داده در مقابل جداول [روز 57] Database Server vs Databases vs Tables [Day 57]

  • نوشتن اولین کد SQL و ایجاد یک پایگاه داده [روز ۵۷] Writing Our First SQL Code & Creating a Database [Day 57]

  • ایجاد جدول و ساختار جدول [روز ۵۸] Creating a Table & Table Structure [Day 58]

  • درج داده ها در یک جدول [روز 58] Inserting Data Into A Table [Day 58]

  • خواندن داده ها از یک جدول (از جمله فیلتر کردن) [روز 58] Reading Data From A Table (incl. Filtering) [Day 58]

  • به‌روزرسانی و حذف داده‌ها [روز ۵۸] Updating & Deleting Data [Day 58]

  • طراحی یک پایگاه داده پیچیده تر [روز 58] Designing A More Complex Database [Day 58]

  • افزودن یک جدول جدید [روز ۵۸] Adding A New Table [Day 58]

  • اجرای یک طراحی پیچیده تر با روابط [روز 59] Implementing A More Complex Design With Relations [Day 59]

  • درج داده‌های مرتبط [روز ۵۹] Inserting Related Data [Day 59]

  • تمرین: درج داده‌های مرتبط [روز ۵۹] Practice: Inserting Related Data [Day 59]

  • جستجو و پیوستن به داده‌های مرتبط [روز ۵۹] Querying & Joining Related Data [Day 59]

  • تمرین: پیوستن به داده ها [روز 59] Practice: Joining Data [Day 59]

  • خلاصه ماژول و موارد بیشتر در مورد روابط [روز 59] Module Summary & More On Relationships [Day 59]

  • بررسی یادگیری: معرفی SQL [روز 59] Learning Check: SQL Introduction [Day 59]

استفاده از MySQL در وب‌سایت‌های NodeJS و Express [روزهای 60 - 62] Using MySQL In NodeJS & Express Websites [Days 60 - 62]

  • معرفی ماژول [روز 60] Module Introduction [Day 60]

  • چرا باید کد دسترسی به پایگاه داده در Backend اجرا شود؟ [روز 60] Why Should Database-Accessing Code Run On The Backend? [Day 60]

  • آنچه در این بخش خواهیم ساخت [روز 60] What We'll Build In This Section [Day 60]

  • برنامه ریزی ساختار پایگاه داده ما [روز 60] Planning Our Database Structure [Day 60]

  • راه اندازی پایگاه داده [روز 60] Database Initialization [Day 60]

  • راه اندازی پروژه [روز 60] Project Setup [Day 60]

  • ایجاد اولین مسیرهای ما [روز 60] Creating Our First Routes [Day 60]

  • اتصال به پایگاه داده و جستجوی داده ها [روز 61] Connecting To The Database & Querying Data [Day 61]

  • درج داده با متغیرهایی (تزریق داده پویا) [روز 61] Inserting Data With Placeholders (Injecting Dynamic Data) [Day 61]

  • واکشی و نمایش فهرستی از پست های وبلاگ [روز 61] Fetching & Displaying a List Of Blog Posts [Day 61]

  • واکشی و نمایش یک پست وبلاگ واحد [روز 62] Fetching & Displaying a Single Blog Post [Day 62]

  • قالب‌بندی و تبدیل داده‌های واکشی شده [روز ۶۲] Formatting & Transforming Fetched Data [Day 62]

  • آماده سازی صفحه "به روز رسانی پست" [روز 62] Preparing The "Update Post" Page [Day 62]

  • به روز رسانی پست ها [روز 62] Updating Posts [Day 62]

  • حذف پست ها [روز 62] Deleting Posts [Day 62]

  • خلاصه ماژول [روز 62] Module Summary [Day 62]

استفاده از MySQL در وب‌سایت‌های NodeJS و Express [روزهای 60 - 62] Using MySQL In NodeJS & Express Websites [Days 60 - 62]

  • معرفی ماژول [روز 60] Module Introduction [Day 60]

  • چرا باید کد دسترسی به پایگاه داده در Backend اجرا شود؟ [روز 60] Why Should Database-Accessing Code Run On The Backend? [Day 60]

  • آنچه در این بخش خواهیم ساخت [روز 60] What We'll Build In This Section [Day 60]

  • برنامه ریزی ساختار پایگاه داده ما [روز 60] Planning Our Database Structure [Day 60]

  • راه اندازی پایگاه داده [روز 60] Database Initialization [Day 60]

  • راه اندازی پروژه [روز 60] Project Setup [Day 60]

  • ایجاد اولین مسیرهای ما [روز 60] Creating Our First Routes [Day 60]

  • اتصال به پایگاه داده و جستجوی داده ها [روز 61] Connecting To The Database & Querying Data [Day 61]

  • درج داده با متغیرهایی (تزریق داده پویا) [روز 61] Inserting Data With Placeholders (Injecting Dynamic Data) [Day 61]

  • واکشی و نمایش فهرستی از پست های وبلاگ [روز 61] Fetching & Displaying a List Of Blog Posts [Day 61]

  • واکشی و نمایش یک پست وبلاگ واحد [روز 62] Fetching & Displaying a Single Blog Post [Day 62]

  • قالب‌بندی و تبدیل داده‌های واکشی شده [روز ۶۲] Formatting & Transforming Fetched Data [Day 62]

  • آماده سازی صفحه "به روز رسانی پست" [روز 62] Preparing The "Update Post" Page [Day 62]

  • به روز رسانی پست ها [روز 62] Updating Posts [Day 62]

  • حذف پست ها [روز 62] Deleting Posts [Day 62]

  • خلاصه ماژول [روز 62] Module Summary [Day 62]

NoSQL & MongoDB - مقدمه [روزهای 63 - 64] NoSQL & MongoDB - An Introduction [Days 63 - 64]

  • معرفی ماژول [روز 63] Module Introduction [Day 63]

  • ایده پشت سیستم های پایگاه داده NoSQL [روز 63] The Idea Behind NoSQL Database Systems [Day 63]

  • معرفی MongoDB [روز ۶۳] Introducing MongoDB [Day 63]

  • دستورالعمل‌های راه‌اندازی عمومی و نصب MongoDB در macOS [روز ۶۳] General Setup Instructions & Installing MongoDB on macOS [Day 63]

  • نصب MongoDB در ویندوز [روز ۶۳] Installing MongoDB on Windows [Day 63]

  • نصب MongoDB Shell [روز 63] Installing the MongoDB Shell [Day 63]

  • درج داده با MongoDB [روز 63] Inserting Data with MongoDB [Day 63]

  • خواندن و فیلتر کردن داده ها [روز ۶۴] Reading & Filtering Data [Day 64]

  • به روز رسانی اسناد در پایگاه داده MongoDB [روز 64] Updating Documents In A MongoDB Database [Day 64]

  • حذف اسناد با MongoDB [روز 64] Deleting Documents With MongoDB [Day 64]

  • برنامه ریزی یک طراحی کامل پایگاه داده/چیدمان [روز 64] Planning a Complete Database Design / Layout [Day 64]

  • اجرای طرح و چیدمان برنامه ریزی شده [روز 64] Implementing the Planned Design & Layout [Day 64]

  • زمان تمرین و اپراتورهای فیلتر بیشتر [روز 64] Practice Time & More Filtering Operators [Day 64]

NoSQL & MongoDB - مقدمه [روزهای 63 - 64] NoSQL & MongoDB - An Introduction [Days 63 - 64]

  • معرفی ماژول [روز 63] Module Introduction [Day 63]

  • ایده پشت سیستم های پایگاه داده NoSQL [روز 63] The Idea Behind NoSQL Database Systems [Day 63]

  • معرفی MongoDB [روز ۶۳] Introducing MongoDB [Day 63]

  • دستورالعمل‌های راه‌اندازی عمومی و نصب MongoDB در macOS [روز ۶۳] General Setup Instructions & Installing MongoDB on macOS [Day 63]

  • نصب MongoDB در ویندوز [روز ۶۳] Installing MongoDB on Windows [Day 63]

  • نصب MongoDB Shell [روز 63] Installing the MongoDB Shell [Day 63]

  • درج داده با MongoDB [روز 63] Inserting Data with MongoDB [Day 63]

  • خواندن و فیلتر کردن داده ها [روز ۶۴] Reading & Filtering Data [Day 64]

  • به روز رسانی اسناد در پایگاه داده MongoDB [روز 64] Updating Documents In A MongoDB Database [Day 64]

  • حذف اسناد با MongoDB [روز 64] Deleting Documents With MongoDB [Day 64]

  • برنامه ریزی یک طراحی کامل پایگاه داده/چیدمان [روز 64] Planning a Complete Database Design / Layout [Day 64]

  • اجرای طرح و چیدمان برنامه ریزی شده [روز 64] Implementing the Planned Design & Layout [Day 64]

  • زمان تمرین و اپراتورهای فیلتر بیشتر [روز 64] Practice Time & More Filtering Operators [Day 64]

NodeJS & MongoDB (NoSQL) [روزهای 65 - 67] NodeJS & MongoDB (NoSQL) [Days 65 - 67]

  • معرفی ماژول [روز 65] Module Introduction [Day 65]

  • برنامه ریزی ساختار و چیدمان پایگاه داده [روز 65] Planning the Database Structure & Layout [Day 65]

  • راه اندازی پروژه و پایگاه داده [روز 65] Project & Database Initialization [Day 65]

  • اتصال به MongoDB - خطای احتمالی Connecting to MongoDB - Potential Error

  • اتصال به MongoDB (از داخل NodeJS) [روز 65] Connecting to MongoDB (from inside NodeJS) [Day 65]

  • واکشی و نمایش فهرستی از نویسندگان [روز 65] Fetching & Displaying A List Of Authors [Day 65]

  • درج اسناد (پست های جدید) [روز 65] Inserting Documents (New Posts) [Day 65]

  • واکشی و نمایش اسناد [روز 66] Fetching & Displaying Documents [Day 66]

  • MongoDB Projection & NodeJS MongoDB Projection & NodeJS

  • واکشی یک سند واحد [روز ۶۶] Fetching a Single Document [Day 66]

  • تبدیل و آماده سازی داده ها [روز 66] Transforming & Preparing Data [Day 66]

  • به روز رسانی اسناد [روز 66] Updating Documents [Day 66]

  • حذف اسناد [روز 66] Deleting Documents [Day 66]

  • ExpressJS و رسیدگی به خطاهای کد ناهمزمان [روز 67] ExpressJS & Handling Asynchronous Code Errors [Day 67]

NodeJS & MongoDB (NoSQL) [روزهای 65 - 67] NodeJS & MongoDB (NoSQL) [Days 65 - 67]

  • معرفی ماژول [روز 65] Module Introduction [Day 65]

  • برنامه ریزی ساختار و چیدمان پایگاه داده [روز 65] Planning the Database Structure & Layout [Day 65]

  • راه اندازی پروژه و پایگاه داده [روز 65] Project & Database Initialization [Day 65]

  • اتصال به MongoDB - خطای احتمالی Connecting to MongoDB - Potential Error

  • اتصال به MongoDB (از داخل NodeJS) [روز 65] Connecting to MongoDB (from inside NodeJS) [Day 65]

  • واکشی و نمایش فهرستی از نویسندگان [روز 65] Fetching & Displaying A List Of Authors [Day 65]

  • درج اسناد (پست های جدید) [روز 65] Inserting Documents (New Posts) [Day 65]

  • واکشی و نمایش اسناد [روز 66] Fetching & Displaying Documents [Day 66]

  • MongoDB Projection & NodeJS MongoDB Projection & NodeJS

  • واکشی یک سند واحد [روز ۶۶] Fetching a Single Document [Day 66]

  • تبدیل و آماده سازی داده ها [روز 66] Transforming & Preparing Data [Day 66]

  • به روز رسانی اسناد [روز 66] Updating Documents [Day 66]

  • حذف اسناد [روز 66] Deleting Documents [Day 66]

  • ExpressJS و رسیدگی به خطاهای کد ناهمزمان [روز 67] ExpressJS & Handling Asynchronous Code Errors [Day 67]

افزودن آپلود فایل به وب سایت [روزهای 67 - 68] Adding File Upload To A Website [Days 67 - 68]

  • معرفی ماژول [روز 67] Module Introduction [Day 67]

  • دو طرف آپلود فایل ها و راه اندازی یک پروژه شروع [روز 67] The Two Sides Of Uploading Files & Setting Up A Starting Project [Day 67]

  • افزودن انتخابگر فایل به فرم [روز ۶۷] Adding A File Picker To A Form [Day 67]

  • تجزیه آپلودهای فایل ورودی با بسته "multer" [روز 67] Parsing Incoming File Uploads With The "multer" Package [Day 67]

  • نحوه ذخیره فایل ها در یک Backend [روز 67] How To Store Files On A Backend [Day 67]

  • پیکربندی مولتر در عمق [روز ۶۷] Configuring Multer In-Depth [Day 67]

  • ذخیره سازی داده های فایل در یک پایگاه داده (و آنچه که نباید ذخیره شود) [روز 68] Storing File Data In A Database (And What NOT To Store) [Day 68]

  • ارائه فایل های آپلود شده به بازدیدکنندگان وب سایت [روز 68] Serving Uploaded Files To Website Visitors [Day 68]

  • افزودن یک ویژگی پیش‌نمایش تصویر [روز ۶۸] Adding An Image Preview Feature [Day 68]

  • خلاصه ماژول [روز 68] Module Summary [Day 68]

  • بررسی یادگیری: بارگذاری فایل [روز 68] Learning Check: File Uploads [Day 68]

افزودن آپلود فایل به وب سایت [روزهای 67 - 68] Adding File Upload To A Website [Days 67 - 68]

  • معرفی ماژول [روز 67] Module Introduction [Day 67]

  • دو طرف آپلود فایل ها و راه اندازی یک پروژه شروع [روز 67] The Two Sides Of Uploading Files & Setting Up A Starting Project [Day 67]

  • افزودن انتخابگر فایل به فرم [روز ۶۷] Adding A File Picker To A Form [Day 67]

  • تجزیه آپلودهای فایل ورودی با بسته "multer" [روز 67] Parsing Incoming File Uploads With The "multer" Package [Day 67]

  • نحوه ذخیره فایل ها در یک Backend [روز 67] How To Store Files On A Backend [Day 67]

  • پیکربندی مولتر در عمق [روز ۶۷] Configuring Multer In-Depth [Day 67]

  • ذخیره سازی داده های فایل در یک پایگاه داده (و آنچه که نباید ذخیره شود) [روز 68] Storing File Data In A Database (And What NOT To Store) [Day 68]

  • ارائه فایل های آپلود شده به بازدیدکنندگان وب سایت [روز 68] Serving Uploaded Files To Website Visitors [Day 68]

  • افزودن یک ویژگی پیش‌نمایش تصویر [روز ۶۸] Adding An Image Preview Feature [Day 68]

  • خلاصه ماژول [روز 68] Module Summary [Day 68]

  • بررسی یادگیری: بارگذاری فایل [روز 68] Learning Check: File Uploads [Day 68]

درخواست‌های Http مبتنی بر Ajax و JS ناهمزمان [روزهای 68 - 70] Ajax & Asynchronous JS-driven Http Requests [Days 68 - 70]

  • معرفی ماژول [روز 68] Module Introduction [Day 68]

  • آژاکس چیست؟ و چرا به آن نیاز داریم؟ [روز 68] What Is Ajax? And Why Would We Need It? [Day 68]

  • "آژاکس" چیست؟ [روز 68] What is "Ajax"? [Day 68]

  • پروژه شروع و یک مشکل [روز 69] The Starting Project & A Problem [Day 69]

  • ارسال و رسیدگی به درخواست GET Ajax [روز 69] Sending & Handling a GET Ajax Request [Day 69]

  • به روز رسانی DOM بر اساس پاسخ [روز 69] Updating The DOM Based On The Response [Day 69]

  • آماده سازی داده های درخواست POST [روز 69] Preparing The POST Request Data [Day 69]

  • ارسال و رسیدگی به درخواست POST Ajax [روز 69] Sending & Handling a POST Ajax Request [Day 69]

  • بهبود تجربه کاربر (UX) [روز 70] Improving The User Experience (UX) [Day 70]

  • رسیدگی به خطاها (سمت سرور و فنی) [روز 70] Handling Errors (Server-side & Technical) [Day 70]

  • ما اکنون روش های HTTP بیشتری داریم! [روز 70] We Now Have More HTTP Methods! [Day 70]

  • خلاصه ماژول [روز 70] Module Summary [Day 70]

  • بررسی یادگیری: درخواست‌های Http مبتنی بر Ajax/JS [روز 70] Learning Check: Ajax / JS-driven Http Requests [Day 70]

درخواست‌های Http مبتنی بر Ajax و JS ناهمزمان [روزهای 68 - 70] Ajax & Asynchronous JS-driven Http Requests [Days 68 - 70]

  • معرفی ماژول [روز 68] Module Introduction [Day 68]

  • آژاکس چیست؟ و چرا به آن نیاز داریم؟ [روز 68] What Is Ajax? And Why Would We Need It? [Day 68]

  • "آژاکس" چیست؟ [روز 68] What is "Ajax"? [Day 68]

  • پروژه شروع و یک مشکل [روز 69] The Starting Project & A Problem [Day 69]

  • ارسال و رسیدگی به درخواست GET Ajax [روز 69] Sending & Handling a GET Ajax Request [Day 69]

  • به روز رسانی DOM بر اساس پاسخ [روز 69] Updating The DOM Based On The Response [Day 69]

  • آماده سازی داده های درخواست POST [روز 69] Preparing The POST Request Data [Day 69]

  • ارسال و رسیدگی به درخواست POST Ajax [روز 69] Sending & Handling a POST Ajax Request [Day 69]

  • بهبود تجربه کاربر (UX) [روز 70] Improving The User Experience (UX) [Day 70]

  • رسیدگی به خطاها (سمت سرور و فنی) [روز 70] Handling Errors (Server-side & Technical) [Day 70]

  • ما اکنون روش های HTTP بیشتری داریم! [روز 70] We Now Have More HTTP Methods! [Day 70]

  • خلاصه ماژول [روز 70] Module Summary [Day 70]

  • بررسی یادگیری: درخواست‌های Http مبتنی بر Ajax/JS [روز 70] Learning Check: Ajax / JS-driven Http Requests [Day 70]

احراز هویت کاربر و کار با جلسات [روزهای 70 - 73] User Authentication & Working With Sessions [Days 70 - 73]

  • معرفی ماژول [روز 70] Module Introduction [Day 70]

  • "احراز هویت" چیست و چرا می خواهید آن را به یک وب سایت اضافه کنید؟ [روز 70] What is "Authentication" & Why Would You Want To Add It To A Website? [Day 70]

  • پروژه شروع ما [روز 70] Our Starting Project [Day 70]

  • افزودن یک عملکرد اولیه ثبت نام [روز 70] Adding a Basic Signup Functionality [Day 70]

  • کارهایی که باید انجام دهید: هش کردن رمزهای عبور [روز ۷۱] Must-Do: Hashing Passwords [Day 71]

  • افزودن قابلیت ورود کاربر [روز ۷۱] Adding User Login Functionality [Day 71]

  • اعتبارسنجی اطلاعات ثبت نام [روز ۷۱] Validating Signup Information [Day 71]

  • معرفی Sessions & Cookies - The Stars Of Authentication [روز ۷۱] Introducing Sessions & Cookies - The Stars Of Authentication [Day 71]

  • افزودن پشتیبانی جلسات به وب سایت ما [روز ۷۱] Adding Sessions Support To Our Website [Day 71]

  • ذخیره داده‌های احراز هویت در جلسات [روز ۷۲] Storing Authentication Data In Sessions [Day 72]

  • استفاده از جلسات و کوکی‌ها برای کنترل دسترسی [روز ۷۲] Using Sessions & Cookies For Controlling Access [Day 72]

  • افزودن عملکرد خروج [روز ۷۲] Adding The Logout Functionality [Day 72]

  • نگاهی دقیق تر به کوکی ها [روز 72] A Closer Look At Cookies [Day 72]

  • غواصی عمیق تر در جلسات (فراتر از احراز هویت) [روز 72] Diving Deeper Into Sessions (Beyond Authentication) [Day 72]

  • مجوز در مقابل احراز هویت [روز ۷۳] Authorization vs Authentication [Day 73]

  • جلسات تمرین و کار با جلسات [روز 73] Practicing Sessions & Working With Sessions [Day 73]

  • نوشتن میان افزارهای سفارشی و استفاده از "res.locals" [روز 73] Writing Custom Middlewares & Using "res.locals" [Day 73]

  • خلاصه ماژول [روز ۷۳] Module Summary [Day 73]

  • بررسی یادگیری: احراز هویت [روز ۷۳] Learning Check: Authentication [Day 73]

احراز هویت کاربر و کار با جلسات [روزهای 70 - 73] User Authentication & Working With Sessions [Days 70 - 73]

  • معرفی ماژول [روز 70] Module Introduction [Day 70]

  • "احراز هویت" چیست و چرا می خواهید آن را به یک وب سایت اضافه کنید؟ [روز 70] What is "Authentication" & Why Would You Want To Add It To A Website? [Day 70]

  • پروژه شروع ما [روز 70] Our Starting Project [Day 70]

  • افزودن یک عملکرد اولیه ثبت نام [روز 70] Adding a Basic Signup Functionality [Day 70]

  • کارهایی که باید انجام دهید: هش کردن رمزهای عبور [روز ۷۱] Must-Do: Hashing Passwords [Day 71]

  • افزودن قابلیت ورود کاربر [روز ۷۱] Adding User Login Functionality [Day 71]

  • اعتبارسنجی اطلاعات ثبت نام [روز ۷۱] Validating Signup Information [Day 71]

  • معرفی Sessions & Cookies - The Stars Of Authentication [روز ۷۱] Introducing Sessions & Cookies - The Stars Of Authentication [Day 71]

  • افزودن پشتیبانی جلسات به وب سایت ما [روز ۷۱] Adding Sessions Support To Our Website [Day 71]

  • ذخیره داده‌های احراز هویت در جلسات [روز ۷۲] Storing Authentication Data In Sessions [Day 72]

  • استفاده از جلسات و کوکی‌ها برای کنترل دسترسی [روز ۷۲] Using Sessions & Cookies For Controlling Access [Day 72]

  • افزودن عملکرد خروج [روز ۷۲] Adding The Logout Functionality [Day 72]

  • نگاهی دقیق تر به کوکی ها [روز 72] A Closer Look At Cookies [Day 72]

  • غواصی عمیق تر در جلسات (فراتر از احراز هویت) [روز 72] Diving Deeper Into Sessions (Beyond Authentication) [Day 72]

  • مجوز در مقابل احراز هویت [روز ۷۳] Authorization vs Authentication [Day 73]

  • جلسات تمرین و کار با جلسات [روز 73] Practicing Sessions & Working With Sessions [Day 73]

  • نوشتن میان افزارهای سفارشی و استفاده از "res.locals" [روز 73] Writing Custom Middlewares & Using "res.locals" [Day 73]

  • خلاصه ماژول [روز ۷۳] Module Summary [Day 73]

  • بررسی یادگیری: احراز هویت [روز ۷۳] Learning Check: Authentication [Day 73]

امنیت [روزهای 74 - 75] Security [Days 74 - 75]

  • معرفی ماژول [روز 74] Module Introduction [Day 74]

  • احراز هویت در مقابل امنیت وب سایت [روز ۷۴] Authentication vs Website Security [Day 74]

  • درک حملات CSRF [روز 74] Understanding CSRF Attacks [Day 74]

  • محافظت جزئی CSRF با کوکی‌های "Same-Site" [روز ۷۴] Partial CSRF Protection With "Same-Site" Cookies [Day 74]

  • اجرای یک محافظت بهتر از CSRF [روز 74] Implementing A Better CSRF Protection [Day 74]

  • csurf() جایگزین csurf() Alternative

  • درک حملات XSS [روز ۷۴] Understanding XSS Attacks [Day 74]

  • محافظت در برابر حملات XSS [روز 74] Protecting Against XSS Attacks [Day 74]

  • درک حملات تزریق SQL [روز ۷۵] Understanding SQL Injection Attacks [Day 75]

  • محافظت در برابر حملات تزریق SQL [روز ۷۵] Protecting Against SQL Injection Attacks [Day 75]

  • سخنی در مورد NoSQL Injection [روز 75] A Word About NoSQL Injection [Day 75]

  • خلاصه ماژول [روز ۷۵] Module Summary [Day 75]

  • از افشای تصادفی کد یا داده های سمت سرور خودداری کنید! [روز 75] Avoid Exposing Your Server-side Code or Data Accidentally! [Day 75]

  • بررسی یادگیری: امنیت [روز ۷۵] Learning Check: Security [Day 75]

امنیت [روزهای 74 - 75] Security [Days 74 - 75]

  • معرفی ماژول [روز 74] Module Introduction [Day 74]

  • احراز هویت در مقابل امنیت وب سایت [روز ۷۴] Authentication vs Website Security [Day 74]

  • درک حملات CSRF [روز 74] Understanding CSRF Attacks [Day 74]

  • محافظت جزئی CSRF با کوکی‌های "Same-Site" [روز ۷۴] Partial CSRF Protection With "Same-Site" Cookies [Day 74]

  • اجرای یک محافظت بهتر از CSRF [روز 74] Implementing A Better CSRF Protection [Day 74]

  • csurf() جایگزین csurf() Alternative

  • درک حملات XSS [روز ۷۴] Understanding XSS Attacks [Day 74]

  • محافظت در برابر حملات XSS [روز 74] Protecting Against XSS Attacks [Day 74]

  • درک حملات تزریق SQL [روز ۷۵] Understanding SQL Injection Attacks [Day 75]

  • محافظت در برابر حملات تزریق SQL [روز ۷۵] Protecting Against SQL Injection Attacks [Day 75]

  • سخنی در مورد NoSQL Injection [روز 75] A Word About NoSQL Injection [Day 75]

  • خلاصه ماژول [روز ۷۵] Module Summary [Day 75]

  • از افشای تصادفی کد یا داده های سمت سرور خودداری کنید! [روز 75] Avoid Exposing Your Server-side Code or Data Accidentally! [Day 75]

  • بررسی یادگیری: امنیت [روز ۷۵] Learning Check: Security [Day 75]

نوشتن کد خوب، Refactoring و الگوی MVC [روزهای 75 - 78] Writing Good Code, Refactoring & The MVC Pattern [Days 75 - 78]

  • معرفی ماژول [روز 75] Module Introduction [Day 75]

  • پروژه شروع ما (شیرجه عمیق) [روز 75] Our Starting Project (Deep Dive) [Day 75]

  • کد ما چه مشکلی دارد؟ [روز 75] What's Wrong With Our Code? [Day 75]

  • تقسیم مسیرهای ما [روز ۷۶] Splitting Our Routes [Day 76]

  • استخراج تنظیمات پیکربندی [روز ۷۶] Extracting Configuration Settings [Day 76]

  • استخراج میان افزار سفارشی [روز ۷۶] Extracting Custom Middleware [Day 76]

  • مقدمه ای بر الگوی MVC [روز ۷۶] An Introduction To The MVC Pattern [Day 76]

  • خلق اولین مدل ما [روز ۷۶] Creating Our First Model [Day 76]

  • افزودن قابلیت‌های به‌روزرسانی و حذف به مدل [روز ۷۶] Adding Update & Delete Functionalities To The Model [Day 76]

  • افزودن عملکردهای Fetch به مدل [روز ۷۶] Adding Fetch Functionalities To The Model [Day 76]

  • افزودن اولین کنترل کننده و اقدامات کنترل کننده [روز ۷۷] Adding A First Controller & Controller Actions [Day 77]

  • Refactoring The Sessions & Input Validation Errors Functional [روز ۷۷] Refactoring The Sessions & Input Validation Errors Functionality [Day 77]

  • Refactoring The CSRF Token Handling [روز ۷۷] Refactoring The CSRF Token Handling [Day 77]

  • انتقال عملکرد "Authentication" به MVC [روز ۷۷] Migrating The "Authentication" Functionality To MVC [Day 77]

  • بهبود مدیریت خطای ناهمزمان [روز ۷۸] Improving Asynchronous Error Handling [Day 78]

  • محافظت از مسیرها با میان افزار سفارشی [روز ۷۸] Protecting Routes With Custom Middleware [Day 78]

  • بررسی یادگیری: Refactoring & MVC [روز ۷۸] Learning Check: Refactoring & MVC [Day 78]

نوشتن کد خوب، Refactoring و الگوی MVC [روزهای 75 - 78] Writing Good Code, Refactoring & The MVC Pattern [Days 75 - 78]

  • معرفی ماژول [روز 75] Module Introduction [Day 75]

  • پروژه شروع ما (شیرجه عمیق) [روز 75] Our Starting Project (Deep Dive) [Day 75]

  • کد ما چه مشکلی دارد؟ [روز 75] What's Wrong With Our Code? [Day 75]

  • تقسیم مسیرهای ما [روز ۷۶] Splitting Our Routes [Day 76]

  • استخراج تنظیمات پیکربندی [روز ۷۶] Extracting Configuration Settings [Day 76]

  • استخراج میان افزار سفارشی [روز ۷۶] Extracting Custom Middleware [Day 76]

  • مقدمه ای بر الگوی MVC [روز ۷۶] An Introduction To The MVC Pattern [Day 76]

  • خلق اولین مدل ما [روز ۷۶] Creating Our First Model [Day 76]

  • افزودن قابلیت‌های به‌روزرسانی و حذف به مدل [روز ۷۶] Adding Update & Delete Functionalities To The Model [Day 76]

  • افزودن عملکردهای Fetch به مدل [روز ۷۶] Adding Fetch Functionalities To The Model [Day 76]

  • افزودن اولین کنترل کننده و اقدامات کنترل کننده [روز ۷۷] Adding A First Controller & Controller Actions [Day 77]

  • Refactoring The Sessions & Input Validation Errors Functional [روز ۷۷] Refactoring The Sessions & Input Validation Errors Functionality [Day 77]

  • Refactoring The CSRF Token Handling [روز ۷۷] Refactoring The CSRF Token Handling [Day 77]

  • انتقال عملکرد "Authentication" به MVC [روز ۷۷] Migrating The "Authentication" Functionality To MVC [Day 77]

  • بهبود مدیریت خطای ناهمزمان [روز ۷۸] Improving Asynchronous Error Handling [Day 78]

  • محافظت از مسیرها با میان افزار سفارشی [روز ۷۸] Protecting Routes With Custom Middleware [Day 78]

  • بررسی یادگیری: Refactoring & MVC [روز ۷۸] Learning Check: Refactoring & MVC [Day 78]

پروژه Milestone: یک فروشگاه آنلاین کامل (از A تا Z!) [روزهای 78 - 92] Milestone Project: A Complete Online Shop (From A to Z!) [Days 78 - 92]

  • معرفی ماژول [روز 78] Module Introduction [Day 78]

  • برنامه ریزی پروژه [روز 78] Planning The Project [Day 78]

  • چالش شما! [روز 78] Your Challenge! [Day 78]

  • راه اندازی پروژه دوره [روز ۷۸] Course Project Setup [Day 78]

  • ایجاد پوشه‌ها، فایل‌ها و اولین مجموعه از مسیرها [روز ۷۸] Creating Folders, Files & A First Set Of Routes [Day 78]

  • افزودن EJS و اولین نماها [روز ۷۹] Adding EJS & First Views [Day 79]

  • پر کردن و ارائه اولین نمای [روز ۷۹] Populating & Rendering The First View [Day 79]

  • افزودن فایل‌های CSS پایه و سرویس فایل استاتیک [روز ۷۹] Adding Base CSS Files & Static File Serving [Day 79]

  • افزودن متغیرهای CSS و تم وب سایت [روز ۷۹] Adding CSS Variables & A Website Theme [Day 79]

  • بیشتر سبک های CSS پایه برای وب سایت [روز 80] More Base CSS Styles For The Website [Day 80]

  • شکل دادن به عناصر فرم اول [روز 80] Styling First Form Elements [Day 80]

  • افزودن سرور و اتصال پایگاه داده MongoDB [روز 80] Adding A MongoDB Database Server & Connection [Day 80]

  • افزودن ثبت نام کاربر [روز ۸۱] Adding User Signup [Day 81]

  • زمان امنیتی: افزودن محافظت CSRF [روز 81] Security Time: Adding CSRF Protection [Day 81]

  • پیاده‌سازی مدیریت صحیح خطا با میان‌افزار مدیریت خطا [روز ۸۱] Implementing Proper Error Handling With The Error Handling Middleware [Day 81]

  • معرفی جلسات و پیکربندی جلسات [روز ۸۱] Introducing Sessions & Configuring Sessions [Day 81]

  • اجرای احراز هویت و ورود کاربر [روز ۸۲] Implementing Authentication & User Login [Day 82]

  • تکمیل احراز هویت و بررسی وضعیت احراز هویت (Middleware سفارشی) [روز 82] Finishing Authentication & Checking The Auth Status (Custom Middleware) [Day 82]

  • افزودن عملکرد خروج [روز ۸۲] Adding Logout Functionality [Day 82]

  • رسیدگی به خطاها در کد ناهمزمان [روز 82] Handling Errors In Asynchronous Code [Day 82]

  • افزودن اعتبار ورودی کاربر [روز ۸۲] Adding User Input Validation [Day 82]

  • خطاهای چشمک زن و داده های ورودی در جلسات [روز ۸۳] Flashing Errors & Input Data Onto Sessions [Day 83]

  • نمایش پیام‌های خطا و ذخیره ورودی کاربر [روز ۸۳] Displaying Error Messages & Saving User Input [Day 83]

  • مجوز مدیریت و پیمایش محافظت شده [روز ۸۳] Admin Authorization & Protected Navigation [Day 83]

  • راه‌اندازی سبک‌های پیمایش پایه [روز ۸۳] Setting Up Base Navigation Styles [Day 83]

  • ساخت یک وب سایت واکنش گرا [روز 84] Building a Responsive Website [Day 84]

  • جاوا اسکریپت فرانت اند برای تغییر منوی موبایل [روز 84] Frontend JavaScript For Toggling The Mobile Menu [Day 84]

  • افزودن صفحات و فرم‌های مدیریت محصول [روز ۸۴] Adding Product Admin Pages & Forms [Day 84]

  • افزودن قابلیت آپلود تصویر [روز ۸۵] Adding The Image Upload Functionality [Day 85]

  • اطلاعات بیشتر: افزودن مدل محصول و ذخیره محصولات در پایگاه داده [روز ۸۵] More Data: Adding a Product Model & Storing Products In The Database [Day 85]

  • واکشی و خروجی اقلام محصول [روز 85] Fetching & Outputting Product Items [Day 85]

  • اقلام محصول یک ظاهر طراحی شده [روز 86] Styling Product Items [Day 86]

  • افزودن صفحه "جزئیات محصول" (تک محصول) [روز 86] Adding the "Product Details" (Single Product) Page [Day 86]

  • به روز رسانی محصولات (به عنوان مدیر) [روز 86] Updating Products (As Administrator) [Day 86]

  • افزودن پیش‌نمایش «آپلود فایل» [روز ۸۷] Adding a "File Upload" Preview [Day 87]

  • ساخت محصولات قابل حذف [روز 87] Making Products Deletable [Day 87]

  • استفاده از درخواست‌های Ajax/Frontend JS و به‌روزرسانی DOM [روز ۸۷] Using Ajax / Frontend JS Requests & Updating The DOM [Day 87]

  • رفع اشکال مختلف و حفاظت از مسیر مناسب [روز 88] Various Fixes & Proper Route Protection [Day 88]

  • تولید محصولات برای مشتریان [روز 88] Outputting Products For Customers [Day 88]

  • خروجی جزئیات محصول [روز 88] Outputting Product Details [Day 88]

  • افزودن مدل سبد خرید [روز 89] Adding A Cart Model [Day 89]

  • کار بر روی منطق سبد خرید [روز 89] Working On The Shopping Cart Logic [Day 89]

  • افزودن اقلام سبد خرید از طریق درخواست های Ajax [روز 89] Adding Cart Items Via Ajax Requests [Day 89]

  • افزودن صفحه سبد خرید [روز نود] Adding A Cart Page [Day 90]

  • شکل دادن به صفحه سبد خرید [روز نود] Styling The Cart Page [Day 90]

  • به روز رسانی اقلام سبد خرید (تغییر تعداد) [روز 90] Updating Cart Items (Changing Quantities) [Day 90]

  • به روز رسانی سبد خرید از طریق درخواست های Ajax (درخواست های PATCH) [روز 90] Updating Carts Via Ajax Requests (PATCH Requests) [Day 90]

  • به روز رسانی DOM پس از به روز رسانی اقلام سبد خرید [روز 91] Updating The DOM After Cart Item Updates [Day 91]

  • جاوا اسکریپت و محاسبات ممیز شناور [روز ۹۱] JavaScript & Floating Point Arithmetic [Day 91]

  • افزودن کنترل‌کننده سفارش و مدل سفارش اولیه [روز ۹۱] Adding The Order Controller & A Basic Order Model [Day 91]

  • ذخیره سفارشات در پایگاه داده [روز 91] Saving Orders In The Database [Day 91]

  • نمایش سفارشات (برای مشتریان و مدیران) [روز 92] Displaying Orders (For Customers & Administrators) [Day 92]

  • مدیریت سفارشات به عنوان یک مدیر [روز 92] Managing Orders As An Administrator [Day 92]

  • به روز نگه داشتن اقلام سبد خرید [روز 92] Keeping Cart Items Updated [Day 92]

  • رفع اشکال و پرداخت [روز ۹۲] Bugfixing & Polishing [Day 92]

  • خلاصه ماژول [روز 92] Module Summary [Day 92]

پروژه Milestone: یک فروشگاه آنلاین کامل (از A تا Z!) [روزهای 78 - 92] Milestone Project: A Complete Online Shop (From A to Z!) [Days 78 - 92]

  • معرفی ماژول [روز 78] Module Introduction [Day 78]

  • برنامه ریزی پروژه [روز 78] Planning The Project [Day 78]

  • چالش شما! [روز 78] Your Challenge! [Day 78]

  • راه اندازی پروژه دوره [روز ۷۸] Course Project Setup [Day 78]

  • ایجاد پوشه‌ها، فایل‌ها و اولین مجموعه از مسیرها [روز ۷۸] Creating Folders, Files & A First Set Of Routes [Day 78]

  • افزودن EJS و اولین نماها [روز ۷۹] Adding EJS & First Views [Day 79]

  • پر کردن و ارائه اولین نمای [روز ۷۹] Populating & Rendering The First View [Day 79]

  • افزودن فایل‌های CSS پایه و سرویس فایل استاتیک [روز ۷۹] Adding Base CSS Files & Static File Serving [Day 79]

  • افزودن متغیرهای CSS و تم وب سایت [روز ۷۹] Adding CSS Variables & A Website Theme [Day 79]

  • بیشتر سبک های CSS پایه برای وب سایت [روز 80] More Base CSS Styles For The Website [Day 80]

  • شکل دادن به عناصر فرم اول [روز 80] Styling First Form Elements [Day 80]

  • افزودن سرور و اتصال پایگاه داده MongoDB [روز 80] Adding A MongoDB Database Server & Connection [Day 80]

  • افزودن ثبت نام کاربر [روز ۸۱] Adding User Signup [Day 81]

  • زمان امنیتی: افزودن محافظت CSRF [روز 81] Security Time: Adding CSRF Protection [Day 81]

  • پیاده‌سازی مدیریت صحیح خطا با میان‌افزار مدیریت خطا [روز ۸۱] Implementing Proper Error Handling With The Error Handling Middleware [Day 81]

  • معرفی جلسات و پیکربندی جلسات [روز ۸۱] Introducing Sessions & Configuring Sessions [Day 81]

  • اجرای احراز هویت و ورود کاربر [روز ۸۲] Implementing Authentication & User Login [Day 82]

  • تکمیل احراز هویت و بررسی وضعیت احراز هویت (Middleware سفارشی) [روز 82] Finishing Authentication & Checking The Auth Status (Custom Middleware) [Day 82]

  • افزودن عملکرد خروج [روز ۸۲] Adding Logout Functionality [Day 82]

  • رسیدگی به خطاها در کد ناهمزمان [روز 82] Handling Errors In Asynchronous Code [Day 82]

  • افزودن اعتبار ورودی کاربر [روز ۸۲] Adding User Input Validation [Day 82]

  • خطاهای چشمک زن و داده های ورودی در جلسات [روز ۸۳] Flashing Errors & Input Data Onto Sessions [Day 83]

  • نمایش پیام‌های خطا و ذخیره ورودی کاربر [روز ۸۳] Displaying Error Messages & Saving User Input [Day 83]

  • مجوز مدیریت و پیمایش محافظت شده [روز ۸۳] Admin Authorization & Protected Navigation [Day 83]

  • راه‌اندازی سبک‌های پیمایش پایه [روز ۸۳] Setting Up Base Navigation Styles [Day 83]

  • ساخت یک وب سایت واکنش گرا [روز 84] Building a Responsive Website [Day 84]

  • جاوا اسکریپت فرانت اند برای تغییر منوی موبایل [روز 84] Frontend JavaScript For Toggling The Mobile Menu [Day 84]

  • افزودن صفحات و فرم‌های مدیریت محصول [روز ۸۴] Adding Product Admin Pages & Forms [Day 84]

  • افزودن قابلیت آپلود تصویر [روز ۸۵] Adding The Image Upload Functionality [Day 85]

  • اطلاعات بیشتر: افزودن مدل محصول و ذخیره محصولات در پایگاه داده [روز ۸۵] More Data: Adding a Product Model & Storing Products In The Database [Day 85]

  • واکشی و خروجی اقلام محصول [روز 85] Fetching & Outputting Product Items [Day 85]

  • اقلام محصول یک ظاهر طراحی شده [روز 86] Styling Product Items [Day 86]

  • افزودن صفحه "جزئیات محصول" (تک محصول) [روز 86] Adding the "Product Details" (Single Product) Page [Day 86]

  • به روز رسانی محصولات (به عنوان مدیر) [روز 86] Updating Products (As Administrator) [Day 86]

  • افزودن پیش‌نمایش «آپلود فایل» [روز ۸۷] Adding a "File Upload" Preview [Day 87]

  • ساخت محصولات قابل حذف [روز 87] Making Products Deletable [Day 87]

  • استفاده از درخواست‌های Ajax/Frontend JS و به‌روزرسانی DOM [روز ۸۷] Using Ajax / Frontend JS Requests & Updating The DOM [Day 87]

  • رفع اشکال مختلف و حفاظت از مسیر مناسب [روز 88] Various Fixes & Proper Route Protection [Day 88]

  • تولید محصولات برای مشتریان [روز 88] Outputting Products For Customers [Day 88]

  • خروجی جزئیات محصول [روز 88] Outputting Product Details [Day 88]

  • افزودن مدل سبد خرید [روز 89] Adding A Cart Model [Day 89]

  • کار بر روی منطق سبد خرید [روز 89] Working On The Shopping Cart Logic [Day 89]

  • افزودن اقلام سبد خرید از طریق درخواست های Ajax [روز 89] Adding Cart Items Via Ajax Requests [Day 89]

  • افزودن صفحه سبد خرید [روز نود] Adding A Cart Page [Day 90]

  • شکل دادن به صفحه سبد خرید [روز نود] Styling The Cart Page [Day 90]

  • به روز رسانی اقلام سبد خرید (تغییر تعداد) [روز 90] Updating Cart Items (Changing Quantities) [Day 90]

  • به روز رسانی سبد خرید از طریق درخواست های Ajax (درخواست های PATCH) [روز 90] Updating Carts Via Ajax Requests (PATCH Requests) [Day 90]

  • به روز رسانی DOM پس از به روز رسانی اقلام سبد خرید [روز 91] Updating The DOM After Cart Item Updates [Day 91]

  • جاوا اسکریپت و محاسبات ممیز شناور [روز ۹۱] JavaScript & Floating Point Arithmetic [Day 91]

  • افزودن کنترل‌کننده سفارش و مدل سفارش اولیه [روز ۹۱] Adding The Order Controller & A Basic Order Model [Day 91]

  • ذخیره سفارشات در پایگاه داده [روز 91] Saving Orders In The Database [Day 91]

  • نمایش سفارشات (برای مشتریان و مدیران) [روز 92] Displaying Orders (For Customers & Administrators) [Day 92]

  • مدیریت سفارشات به عنوان یک مدیر [روز 92] Managing Orders As An Administrator [Day 92]

  • به روز نگه داشتن اقلام سبد خرید [روز 92] Keeping Cart Items Updated [Day 92]

  • رفع اشکال و پرداخت [روز ۹۲] Bugfixing & Polishing [Day 92]

  • خلاصه ماژول [روز 92] Module Summary [Day 92]

کار با سرویس‌ها و APIها (مثلاً افزودن پرداخت‌های Stripe) [روز ۹۳] Working With Services & APIs (e.g. Adding Stripe Payments) [Day 93]

  • معرفی ماژول [روز 93] Module Introduction [Day 93]

  • "سرویس ها" و "API" چیست؟ [روز 93] What Are "Services" & "APIs"? [Day 93]

  • چرا از خدمات و API ها استفاده می کنید؟ [روز 93] Why Would You Use Services & APIs? [Day 93]

  • معرفی Stripe [روز 93] Introducing Stripe [Day 93]

  • ایجاد حساب Stripe [روز ۹۳] Creating A Stripe Account [Day 93]

  • تنظیم درخواست Stripe API [روز ۹۳] Setting Up A Stripe API Request [Day 93]

  • پیکربندی درخواست Stripe و رسیدگی به پرداخت ها [روز ۹۳] Configuring The Stripe Request & Handling Payments [Day 93]

  • خلاصه ماژول [روز 93] Module Summary [Day 93]

  • خدمات بیشتر: ورود به سیستم اجتماعی (Google، فیس بوک)، Google Analytics و موارد دیگر [روز 93] More Services: Social Login (Google, Facebook), Google Analytics & More [Day 93]

کار با سرویس‌ها و APIها (مثلاً افزودن پرداخت‌های Stripe) [روز ۹۳] Working With Services & APIs (e.g. Adding Stripe Payments) [Day 93]

  • معرفی ماژول [روز 93] Module Introduction [Day 93]

  • "سرویس ها" و "API" چیست؟ [روز 93] What Are "Services" & "APIs"? [Day 93]

  • چرا از خدمات و API ها استفاده می کنید؟ [روز 93] Why Would You Use Services & APIs? [Day 93]

  • معرفی Stripe [روز 93] Introducing Stripe [Day 93]

  • ایجاد حساب Stripe [روز ۹۳] Creating A Stripe Account [Day 93]

  • تنظیم درخواست Stripe API [روز ۹۳] Setting Up A Stripe API Request [Day 93]

  • پیکربندی درخواست Stripe و رسیدگی به پرداخت ها [روز ۹۳] Configuring The Stripe Request & Handling Payments [Day 93]

  • خلاصه ماژول [روز 93] Module Summary [Day 93]

  • خدمات بیشتر: ورود به سیستم اجتماعی (Google، فیس بوک)، Google Analytics و موارد دیگر [روز 93] More Services: Social Login (Google, Facebook), Google Analytics & More [Day 93]

استقرار (انتشار) وب سایت ها [روزهای 94 - 95] Deploying (Publishing) Websites [Days 94 - 95]

  • معرفی ماژول [روز 94] Module Introduction [Day 94]

  • چگونه وب سایت ها در دسترس عموم قرار می گیرند؟ [روز 94] How Are Websites Made Available To The Public? [Day 94]

  • وب سایت های استاتیک در مقابل پویا [روز 94] Static vs Dynamic Websites [Day 94]

  • میزبانی سرورهای پایگاه داده [روز 94] Hosting Database Servers [Day 94]

  • مراحل استقرار (آماده سازی) [روز 94] Deployment (Preparation) Steps [Day 94]

  • پروژه های نمونه [روز 94] The Example Projects [Day 94]

  • تست و تهیه کد (شامل متغیرهای محیطی) [روز 94] Testing & Code Preparation (incl. Environment Variables) [Day 94]

  • ارزیابی پشتیبانی بین مرورگرها [روز ۹۴] Evaluating Cross-Browser Support [Day 94]

  • بهینه سازی موتورهای جستجو (SEO) [روز 94] Search Engine Optimization (SEO) [Day 94]

  • افزودن فاویکون [روز ۹۴] Adding a Favicon [Day 94]

  • بهبود عملکرد و کاهش دارایی ها (JS، تصاویر) [روز 95] Improving Performance & Shrinking Assets (JS, Images) [Day 95]

  • مثال استقرار: وب‌سایت‌های ثابت (تجدیدکننده) [روز ۹۵] Deployment Example: Static Websites (Refresher) [Day 95]

  • مثال استقرار: وب سایت پویا با کد پشتیبان [روز ۹۵] Deployment Example: Dynamic Website With Backend Code [Day 95]

  • استقرار پایگاه داده MongoDB با Atlas [روز ۹۵] Deploying A MongoDB Database With Atlas [Day 95]

  • تکمیل استقرار وب سایت پویا [روز 95] Finishing Dynamic Website Deployment [Day 95]

استقرار (انتشار) وب سایت ها [روزهای 94 - 95] Deploying (Publishing) Websites [Days 94 - 95]

  • معرفی ماژول [روز 94] Module Introduction [Day 94]

  • چگونه وب سایت ها در دسترس عموم قرار می گیرند؟ [روز 94] How Are Websites Made Available To The Public? [Day 94]

  • وب سایت های استاتیک در مقابل پویا [روز 94] Static vs Dynamic Websites [Day 94]

  • میزبانی سرورهای پایگاه داده [روز 94] Hosting Database Servers [Day 94]

  • مراحل استقرار (آماده سازی) [روز 94] Deployment (Preparation) Steps [Day 94]

  • پروژه های نمونه [روز 94] The Example Projects [Day 94]

  • تست و تهیه کد (شامل متغیرهای محیطی) [روز 94] Testing & Code Preparation (incl. Environment Variables) [Day 94]

  • ارزیابی پشتیبانی بین مرورگرها [روز ۹۴] Evaluating Cross-Browser Support [Day 94]

  • بهینه سازی موتورهای جستجو (SEO) [روز 94] Search Engine Optimization (SEO) [Day 94]

  • افزودن فاویکون [روز ۹۴] Adding a Favicon [Day 94]

  • بهبود عملکرد و کاهش دارایی ها (JS، تصاویر) [روز 95] Improving Performance & Shrinking Assets (JS, Images) [Day 95]

  • مثال استقرار: وب‌سایت‌های ثابت (تجدیدکننده) [روز ۹۵] Deployment Example: Static Websites (Refresher) [Day 95]

  • مثال استقرار: وب سایت پویا با کد پشتیبان [روز ۹۵] Deployment Example: Dynamic Website With Backend Code [Day 95]

  • استقرار پایگاه داده MongoDB با Atlas [روز ۹۵] Deploying A MongoDB Database With Atlas [Day 95]

  • تکمیل استقرار وب سایت پویا [روز 95] Finishing Dynamic Website Deployment [Day 95]

APIهای خدمات وب و ساخت سفارشی (REST) ​​[روزهای 95 - 97] Web Services & Building Custom (REST) APIs [Days 95 - 97]

  • معرفی ماژول [روز 95] Module Introduction [Day 95]

  • API ها و خدمات: چه چیزی و چرا؟ [روز 95] APIs & Services: What & Why? [Day 95]

  • بسته‌های JS در مقابل APIهای مبتنی بر URL: آنچه در اینجا خواهیم ساخت [روز ۹۵] JS Packages vs URL-based APIs: What We Will Build Here [Day 95]

  • APIها در مقابل «وب‌سایت‌های سنتی» [روز ۹۵] APIs vs "Traditional Websites" [Day 95]

  • معرفی REST API [روز ۹۶] Introducing REST APIs [Day 96]

  • ساخت اولین API پایه REST [روز ۹۶] Building A First Basic REST API [Day 96]

  • تقویت API و واقعی‌تر کردن آن [روز ۹۶] Enhancing The API & Making It More Realistic [Day 96]

  • API پیچیده‌تر REST: مراحل اول [روز ۹۶] A More Complex REST API: First Steps [Day 96]

  • اتمام اولین نقطه پایانی API [روز ۹۷] Finishing The First API Endpoints [Day 97]

  • آزمایش APIها با پستچی [روز 97] Testing APIs With Postman [Day 97]

  • افزودن مسیرها/نقاط پایانی PATCH & DELETE [روز ۹۷] Adding PATCH & DELETE Routes / Endpoints [Day 97]

  • افزودن یک وب سایت فرانت اند جدا شده (SPA) [روز 97] Adding A Decoupled Frontend Website (SPA) [Day 97]

  • چرا از Frontend/SPA جدا شده استفاده می کنید؟ [روز 97] Why Would You Use A Decoupled Frontend / SPA? [Day 97]

  • درک خطاهای CORS [روز 97] Understanding CORS Errors [Day 97]

  • رفع خطاهای CORS و اتصال Frontend SPA به REST API [روز 97] Fixing CORS Errors & Connecting The Frontend SPA To The REST API [Day 97]

  • بررسی یادگیری: APIهای سفارشی (REST) ​​[روز ۹۷] Learning Check: Custom (REST) APIs [Day 97]

APIهای خدمات وب و ساخت سفارشی (REST) ​​[روزهای 95 - 97] Web Services & Building Custom (REST) APIs [Days 95 - 97]

  • معرفی ماژول [روز 95] Module Introduction [Day 95]

  • API ها و خدمات: چه چیزی و چرا؟ [روز 95] APIs & Services: What & Why? [Day 95]

  • بسته‌های JS در مقابل APIهای مبتنی بر URL: آنچه در اینجا خواهیم ساخت [روز ۹۵] JS Packages vs URL-based APIs: What We Will Build Here [Day 95]

  • APIها در مقابل «وب‌سایت‌های سنتی» [روز ۹۵] APIs vs "Traditional Websites" [Day 95]

  • معرفی REST API [روز ۹۶] Introducing REST APIs [Day 96]

  • ساخت اولین API پایه REST [روز ۹۶] Building A First Basic REST API [Day 96]

  • تقویت API و واقعی‌تر کردن آن [روز ۹۶] Enhancing The API & Making It More Realistic [Day 96]

  • API پیچیده‌تر REST: مراحل اول [روز ۹۶] A More Complex REST API: First Steps [Day 96]

  • اتمام اولین نقطه پایانی API [روز ۹۷] Finishing The First API Endpoints [Day 97]

  • آزمایش APIها با پستچی [روز 97] Testing APIs With Postman [Day 97]

  • افزودن مسیرها/نقاط پایانی PATCH & DELETE [روز ۹۷] Adding PATCH & DELETE Routes / Endpoints [Day 97]

  • افزودن یک وب سایت فرانت اند جدا شده (SPA) [روز 97] Adding A Decoupled Frontend Website (SPA) [Day 97]

  • چرا از Frontend/SPA جدا شده استفاده می کنید؟ [روز 97] Why Would You Use A Decoupled Frontend / SPA? [Day 97]

  • درک خطاهای CORS [روز 97] Understanding CORS Errors [Day 97]

  • رفع خطاهای CORS و اتصال Frontend SPA به REST API [روز 97] Fixing CORS Errors & Connecting The Frontend SPA To The REST API [Day 97]

  • بررسی یادگیری: APIهای سفارشی (REST) ​​[روز ۹۷] Learning Check: Custom (REST) APIs [Day 97]

کار با فریم‌ورک‌های جاوا اسکریپت Frontend و معرفی Vue.js [روزهای ۹۸ - ۹۹] Working With Frontend JavaScript Frameworks & Introducing Vue.js [Days 98 - 99]

  • معرفی ماژول [روز 98] Module Introduction [Day 98]

  • چرا از فریم‌ورک‌های رابط کاربری جاوا اسکریپت Frontend استفاده می‌کنید؟ [روز 98] Why Would You Use Frontend JavaScript UI Frameworks? [Day 98]

  • React vs Vue vs Angular: از کدام چارچوب باید استفاده کنید؟ [روز 98] React vs Vue vs Angular: Which Framework Should You Use? [Day 98]

  • شروع به کار با Vue.js ("Vue") [روز 98] Getting Started With Vue.js ("Vue") [Day 98]

  • گوش دادن به رویدادها و به‌روزرسانی داده‌ها + DOM [روز ۹۸] Listening To Events & Updating Data + the DOM [Day 98]

  • معرفی "دوطرفه صحافی" [روز 98] Introducing "Two-Way-Binding" [Day 98]

  • خروجی لیست داده ها [روز 99] Outputting Lists Of Data [Day 99]

  • خروجی محتوا به صورت مشروط [روز ۹۹] Outputting Content Conditionally [Day 99]

  • به روز رسانی داده ها [روز 99] Updating Data [Day 99]

  • در حال حذف داده ها [روز ۹۹] Deleting Data [Day 99]

  • ارسال یک درخواست Http POST [روز ۹۹] Sending a POST Http Request [Day 99]

  • بارگیری داده ها و مدیریت ایالات بارگیری [روز ۹۹] Loading Data & Managing Loading States [Day 99]

  • بارگیری Vue متفاوت [روز ۹۹] Loading Vue Differently [Day 99]

  • ارسال پچ + درخواست‌های حذف و خلاصه ماژول [روز ۹۹] Sending PATCH + DELETE Requests & Module Summary [Day 99]

  • بررسی یادگیری: JavaScript Frameworks & Vue.js [روز ۹۹] Learning Check: JavaScript Frameworks & Vue.js [Day 99]

کار با فریم‌ورک‌های جاوا اسکریپت Frontend و معرفی Vue.js [روزهای ۹۸ - ۹۹] Working With Frontend JavaScript Frameworks & Introducing Vue.js [Days 98 - 99]

  • معرفی ماژول [روز 98] Module Introduction [Day 98]

  • چرا از فریم‌ورک‌های رابط کاربری جاوا اسکریپت Frontend استفاده می‌کنید؟ [روز 98] Why Would You Use Frontend JavaScript UI Frameworks? [Day 98]

  • React vs Vue vs Angular: از کدام چارچوب باید استفاده کنید؟ [روز 98] React vs Vue vs Angular: Which Framework Should You Use? [Day 98]

  • شروع به کار با Vue.js ("Vue") [روز 98] Getting Started With Vue.js ("Vue") [Day 98]

  • گوش دادن به رویدادها و به‌روزرسانی داده‌ها + DOM [روز ۹۸] Listening To Events & Updating Data + the DOM [Day 98]

  • معرفی "دوطرفه صحافی" [روز 98] Introducing "Two-Way-Binding" [Day 98]

  • خروجی لیست داده ها [روز 99] Outputting Lists Of Data [Day 99]

  • خروجی محتوا به صورت مشروط [روز ۹۹] Outputting Content Conditionally [Day 99]

  • به روز رسانی داده ها [روز 99] Updating Data [Day 99]

  • در حال حذف داده ها [روز ۹۹] Deleting Data [Day 99]

  • ارسال یک درخواست Http POST [روز ۹۹] Sending a POST Http Request [Day 99]

  • بارگیری داده ها و مدیریت ایالات بارگیری [روز ۹۹] Loading Data & Managing Loading States [Day 99]

  • بارگیری Vue متفاوت [روز ۹۹] Loading Vue Differently [Day 99]

  • ارسال پچ + درخواست‌های حذف و خلاصه ماژول [روز ۹۹] Sending PATCH + DELETE Requests & Module Summary [Day 99]

  • بررسی یادگیری: JavaScript Frameworks & Vue.js [روز ۹۹] Learning Check: JavaScript Frameworks & Vue.js [Day 99]

خلاصه دوره و کجا برویم [روز 100] Course Summary & Where To Go Next [Day 100]

  • پاداش: گام‌های بعدی احتمالی، فرصت‌های تمرین و ایده‌های پروژه [روز 100] Bonus: Possible Next Steps, Practice Opportunities & Project Ideas [Day 100]

خلاصه دوره و کجا برویم [روز 100] Course Summary & Where To Go Next [Day 100]

  • پاداش: گام‌های بعدی احتمالی، فرصت‌های تمرین و ایده‌های پروژه [روز 100] Bonus: Possible Next Steps, Practice Opportunities & Project Ideas [Day 100]

نمایش نظرات

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

آموزش 100 روز کد - بوت کمپ توسعه وب 2023
خرید اشتراک و دانلود خرید تکی و دانلود | 960,000 تومان (11 روز مهلت دانلود) در صورت خرید اشتراک، این آموزش بدلیل حجم بالا معادل 8 دوره است و 8 دوره از اشتراک شما کم می شود. زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
79 hours
643
Udemy (یودمی) udemy-small
18 آبان 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
32,724
4.7 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Academind by Maximilian Schwarzmüller Academind by Maximilian Schwarzmüller

آموزش آنلاین

Academind by Maximilian Schwarzmüller Academind by Maximilian Schwarzmüller

آموزش آنلاین

Maximilian Schwarzmüller Maximilian Schwarzmüller

دارای گواهینامه AWS، توسعه دهنده وب و مدرس حرفه ای

Manuel Lorenz Manuel Lorenz

تحلیلگر و مدرس حرفه ای کسب و کار

Maximilian Schwarzmüller Maximilian Schwarzmüller

دارای گواهینامه AWS، توسعه دهنده وب و مدرس حرفه ای

Manuel Lorenz Manuel Lorenz

تحلیلگر و مدرس حرفه ای کسب و کار

Udemy (یودمی)

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

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