آموزش بوت کمپ مدرن زاویه ای

The Modern Angular Bootcamp

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
توضیحات دوره: با Angular کار را آماده کنید! نحوه ساخت و استقرار برنامه های آماده تولید را بدانید. ساخت اپلیکیشن های تک صفحه ای شگفت انگیز با مفاهیم بنیادی Angular و Typescript Master پشت ساختار برنامه های Angular قدرت ساخت اجزای قابل ترکیب را درک کنید مهندسی باشید که نحوه کار Angular را برای دیگران توضیح می دهد، زیرا شما اصول اولیه را به خوبی می دانید مجموعه ای از پروژه ها را برای نشان دادن هر چیزی بسازید. کارفرمای بالقوه معمار برنامه های بزرگ به طور موثر با استفاده از سیستم ماژول Typescript + Angular مدیریت و پردازش داده ها به صورت اعلامی با استفاده از RxJs پیش نیازها: درک اساسی جاوا اسکریپت درک اولیه نحوه استفاده از خط فرمان

اگر می خواهید برنامه های بزرگ و مقیاس پذیر بسازید، Angular چارچوب جاوا اسکریپت برای یادگیری است!

Angular نزدیک به یک دهه کامل توسط Google در دست توسعه بوده است. این یک هدف دارد: افزایش مقیاس برای مدیریت زیباترین و پیچیده ترین برنامه های وب در اطراف. اگر می خواهید یک برنامه بزرگ بسازید، Angular راهی است که می توانید انجام دهید. هر دوره آنلاین دیگری در اطراف Angular به شما نشان می دهد که چگونه از نحو و ویژگی های اولیه Angular استفاده کنید، اما فقط این دوره به شما نشان می دهد که چگونه با استفاده از Angular پروژه های بزرگ و حرفه ای بسازید.

تسلط بر Angular با خواندن مستندات به تنهایی چالش برانگیز است. اسناد رسمی همیشه راه های متعددی را برای دستیابی به هر کار ساده ای ارائه می دهد، اما هرگز روشن نمی کند که بهترین راه برای انجام کاری چیست. در این دوره، درک اساسی از بهترین راه برای رسیدن به هر هدف با Angular به همراه توضیحی در مورد مزایا و معایب هر رویکرد ممکن به دست خواهید آورد.

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

یادگیری Angular شما را به مهندس نرم افزار بهتری تبدیل می کند. این راز کوچک Angular است که هیچ کس در مورد آن به شما نمی گوید: Angular واقعاً سه موضوع مختلف در یک است! شما خود Angular، Typescript و RxJ را دارید. یادگیری Angular فقط در مورد Angular نیست، بلکه در مورد Typescript و RxJ نیز هست! هدف Typescript این است که به شما کمک کند به جای زمانی که برنامه خود را اجرا می کنید، خطاها را به سرعت در طول توسعه تشخیص دهید، در حالی که هدف RxJs کمک به مدیریت شفاف داده ها در سراسر برنامه است. بدون شک درک Typescript و RxJS به شما کمک می کند تا به یک مهندس آگاه تر، سازنده تر و موفق تر تبدیل شوید. توجه داشته باشید که برای گذراندن این دوره نیازی به تجربه قبلی با Typescript یا RxJ ندارید - من هر آنچه را که باید بدانید به شما آموزش خواهم داد!

برای ساخت برنامه های خود برنامه ریزی می کنید؟ این دوره تعداد بی‌شماری از کدهای قابل استفاده مجدد را در اختیار شما قرار می‌دهد که می‌توانید در پروژه‌های شخصی خود از آنها استفاده کنید و در وقت ارزشمندتان صرفه‌جویی کنید. Angular همه چیز در مورد استفاده مجدد از کد است، و این دوره شما را در مسیر درست شروع می کند. نه تنها کد فوق العاده قابل استفاده مجدد دریافت خواهید کرد، بلکه یاد خواهید گرفت که چندین فریمورک مختلف CSS را با Angular ادغام کنید، بنابراین می توانید یک استایل سفارشی متناسب با نیازهای برنامه خود دریافت کنید.

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

اما فقط حرف من را قبول نکنید - نظرات این دوره را بررسی کنید! خواهید دید که مهندسان دیگر - درست مانند خودتان - موفقیت بزرگی داشته اند و به درک جدیدی از نحوه ساخت برنامه های وب بزرگ با استفاده از Angular دست یافته اند.


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

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

  • مسلط به اصول Angular از جمله اجزاء، خدمات، لوله‌ها و دستورالعمل‌ها

  • اجزای قابل استفاده مجدد را ایجاد کنید که بتوانید آنها را برای ایجاد برنامه‌های پویا و پیچیده متصل کنید

  • با توجه دقیق به قابلیت نگهداری کد، نحوه طراحی و معماری برنامه های بزرگ را بدانید

  • برنامه‌های مدولار بسازید که به راحتی قابل به‌روزرسانی و تغییر باشند

  • با استفاده از بارگذاری تنبل، افزایش سرعت برنامه‌های خود، عملکرد را کنترل کنید

  • به Typescript نگاهی بیندازید، که به شما کمک می‌کند تا برای اولین بار کد کاملی بنویسید، نه اینکه با خطا در مرورگر مواجه شوید

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

  • برای افزودن داده به برنامه خود به پایگاه‌های داده باطنی مانند MySQL، Postgres یا MS SQL Server متصل شوید

  • با نحوه مدیریت امنیت در کد Angular آشنا شوید

  • ...و خیلی چیزهای دیگر!

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


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

خوش آمدی! از اینجا شروع کنید! Welcome! Start Here!

  • نحوه دریافت کمک How to Get Help

  • منابع دوره Course Resources

  • به انجمن ما بپیوندید! Join Our Community!

  • مقدمه - اولین برنامه ما Intro - Our First App

  • چند سوال پاسخ داده شد A Few Questions Answered

  • چهار نوع فایل اصلی Four Major File Types

  • تنظیم محیط - Node JS Environment Setup - Node JS

  • تنظیم محیط - Angular CLI Environment Setup - Angular CLI

  • راه اندازی محیط - کد ویژوال استودیو Environment Setup - Visual Studio Code

درک نحو الگوی زاویه ای Understanding Angular Template Syntax

  • بررسی اجمالی پروژه Project Overview

  • شروع و توقف یک پروژه Angular Starting and Stopping an Angular Project

  • به روز رسانی یک الگوی کامپوننت Updating a Component Template

  • نحو اتصال رویداد Event Binding Syntax

  • نحو صحافی اموال Property Binding Syntax

  • نحو درونیابی Interpolation Syntax

  • الگوهای طراحی انگولار در مقابل جاوا اسکریپت Angular vs JavaScript Design Patterns

  • ردیابی وضعیت ورودی Tracking Input State

  • ردیابی خواص اضافی Tracking Additional Properties

  • مدیریت ورودی متن Handling Text Input

  • ایجاد یک رمز عبور تصادفی Generating a Random Password

  • بررسی صحافی اموال Review on Property Binding

  • افزودن CSS شخص ثالث Adding Third Party CSS

  • بیانیه های واردات CSS CSS Import Statements

  • اضافه کردن یک ظاهر طراحی شده Adding Some Styling

  • دستورالعمل های ساختاری Structural Directives

  • استقرار Angular Apps Deploying Angular Apps

  • بررسی اصطلاحات Terminology Review

  • بررسی اصطلاحات Terminology Review

اجزای ساختمان Building Components

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

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

  • یک کمپرسی سریع HTML A Quick HTML Dump

  • اضافه کردن فایل های استاتیک به Angular Adding Static Files to Angular

  • فایل های CSS با محدوده Scoped CSS Files

  • کامپوننت ها در Angular Components in Angular

  • ایجاد کامپوننت ها Creating Components

  • چگونه Angular کامپوننت ها را ایجاد می کند How Angular Creates Components

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

  • گره زدن داده ها به یک کامپوننت Tying Data to a Component

  • پذیرش داده ها در مولفه کودک Accepting Data in a Child Component

  • ارتباط از والدین به فرزند Communicating from Parent to Child

  • رفع مراجع الگو Fixing Template References

  • ساخت لیست با NgFor Building Lists with NgFor

  • دو یادداشت در مورد NgFor Two Notes on NgFor

  • انتخابگرهای عنصر میزبان Host Element Selectors

  • استقرار و بررسی Deployment and Review

  • آنچه تاکنون آموخته ایم What We've Learned So Far

ورزش! ساخت بازی تایپ Exercise! Building a Typing Game

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

  • مراحل اولیه Initial Steps

  • افزودن CSS Adding CSS

  • اطلاعات مهم درباره نصب Faker IMPORTANT Info About Faker Installation

  • نمایش محتوا Displaying Content

  • تولید متن به صورت تصادفی Randomly Generating Text

  • مدیریت ورودی کاربر Handling User Input

  • نمایش مشروط Conditional Display

  • مقایسه شخصیت با شخصیت Character by Character Comparison

  • یک ظاهر طراحی شده با مقایسه Styling by Comparison

مسترینگ لوله ها Mastering Pipes

  • بررسی اجمالی لوله ها Pipes Overview

  • افزودن یک ورودی Adding an Input

  • لوله ها در عمل Pipes in Action

  • لمس یک ظاهر طراحی شده A Touch of Styling

  • اضافه کردن یک انتخابگر تاریخ Adding a Date Picker

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

  • نمایش واحد پول Displaying Currency

  • فرمت کردن ارز Formatting the Currency

  • قالب بندی اعداد Formatting Numbers

  • نمایش JSON Displaying JSON

  • ایجاد لوله های سفارشی Creating Custom Pipes

  • آرگومان های سفارشی Custom Arguments

  • دو چیز شسته و رفته با لوله Two Neat Things with Pipes

دستورالعمل ها در Angular Directives in Angular

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

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

  • گرفتن مقداری داده Getting Some Data

  • بررسی در NgFor Review on NgFor

  • دستورالعمل NgClass The NgClass Directive

  • بیشتر در NgClass More on NgClass

  • غیرفعال کردن مشروط دکمه ها Conditionally Disabling Buttons

  • صفحات را تغییر می دهد Changes Pages

  • نمایش تصاویر Displaying Images

  • یادآوری در NgIf Reminder on NgIf

  • دستورالعمل های متعدد با Ng-Container Multiple Directives with Ng-Container

  • NgSwitch NgSwitch

  • تولید دستورالعمل های سفارشی Generating Custom Directives

  • دسترسی به عناصر از یک دستورالعمل سفارشی Accessing Elements from a Custom Directive

  • انتقال ویژگی ها به دستورالعمل ها Communicating Properties to Directives

  • رهگیری واگذاری ملک Intercepting a Property Assignment

  • نام مستعار ورودی Input Aliasing

  • جایگزینی NgClass Replacing NgClass

  • دستورالعمل های ساختاری سفارشی Custom Structural Directives

  • زمینه در دستورالعمل های ساختاری Context in Structural Directives

سیستم ماژول The Module System

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

  • مقابله با برخی از چالش ها Tackling Some Challenges

  • بررسی اجمالی ماژول ها Modules Overview

  • تولید ماژول ها Generating Modules

  • واردات و صادرات ماژول ها Importing and Exporting Modules

  • تمرین ماژول ها Modules Exercise

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

  • راه حل تمرین ماژول ها Modules Exercise Solution

  • تعاریف ویژگی های ماژول Module Property Definitions

مسیریابی و پیمایش بین صفحات Routing and Navigation Between Pages

  • اضافه کردن مسیریابی پایه Adding Basic Routing

  • تمرین مسیریابی Routing Exercise

  • راه حل تمرین Exercise Solution

  • عنصر RouterOutlet The RouterOutlet Element

  • پیمایش با RouterLink Navigating with RouterLink

  • لمس یک ظاهر طراحی شده A Touch of Styling

  • سبک دادن به یک پیوند فعال Styling an Active Link

  • افزودن مسیرهای Home و NotFound Adding Home and NotFound Routes

  • ترتیب مجدد قوانین مسیریابی Reordering Routing Rules

  • اجزای Landing و NotFound Landing and NotFound Components

بارگذاری تنبل با ماژول ها Lazy Loading with Modules

  • تنبل در مقابل بارگیری مشتاق Lazy vs Eager Loading

  • پیاده سازی Lazy Loading Implementing Lazy Loading

  • تمرین بارگذاری تنبل Lazy Loading Exercise

  • راه حل تمرین Exercise Solution

  • ایجاد کامپوننت Placeholder Creating a Placeholder Component

  • سفارشی سازی کامپوننت ها Customizing Components

  • یادآوری دستورالعمل های ساختاری Reminder on Structural Directives

  • ماژول های ویجت Widget Modules

  • پیاده سازی یک تقسیم کننده عنوان Implementing a Titled Divider

  • گرفتن محتوا با NgContent Grabbing Content with NgContent

  • ایجاد یک قطعه قطعه Creating a Segment Component

  • NgContent با انتخاب NgContent with Selects

  • پنهان کردن عناصر خالی Hiding Empty Elements

  • ساخت جدول قابل استفاده مجدد Building a Reusable Table

  • تولید و نمایش جدول Generating and Displaying the Table

  • ارتباط داده های جدول پایین Communicating Down Table Data

  • جمع کردن جدول Assembling the Table

  • عبور نام کلاس ها Passing Down Class Names

مسیریابی اجزای پیشرفته Advanced Component Routing

  • ناوبری مبتنی بر برگه Tab Based Navigation

  • افزودن مسیرهای ناوبری کودک Adding Child Navigation Routes

  • درک مسیریابی اجزای کودک Understanding Child Component Routing

  • پیکربندی RouterLink RouterLink Configuration

  • مراجع نسبی RouterLink Relative RouterLink References

  • دستور RouterLink جایگزین Alternate RouterLink Syntax

  • تطبیق مسیرهای دقیق Matching Exact Paths

  • یک جزء Tabs قابل استفاده مجدد A Reusable Tabs Component

  • مشاهده تمرین ماژول Views Module Exercise

  • راه حل تمرین Exercise Solution

  • نمایش لیست آمار Displaying a List of Statistics

  • نمایش لیست اقلام Displaying a List of Items

قابلیت استفاده مجدد از اجزای پیشرفته + قلاب Advanced Component Reusability + Hooks

  • ماژول Mods The Mods Module

  • راه اندازی پنجره معین Modal Window Setup

  • راه‌اندازی مدال پایه بیشتر More Basic Modal Setup

  • مسائل طبیعی با ویندوز مدال Natural Issues with Modal Windows

  • حل مسئله مدال Solving the Modal Issue

  • قلاب چرخه حیات Lifecycle Hooks

  • مخفی کردن Modal با NgOnDestroy Hiding the Modal with NgOnDestroy

  • باز کردن Modal Opening the Modal

  • بستن Modal Closing the Modal

  • توقف حباب رویداد Stopping Event Bubbling

  • ساخت Modal قابل استفاده مجدد Making the Modal Reusable

  • ساخت آکاردئون Building an Accordion

  • فهرست عناصر آکاردئون Listing Accordion Elements

  • گسترش عنصر فعال Expanding the Active Element

مروری بر تایپ اسکریپت A Typescript Overview

  • مقدمه ای بر TypeScript Intro to TypeScript

  • انواع پایه Basic Types

  • نوع استنتاج Type Inference

  • اصلا چرا TypeScript؟ Why TypeScript at All?

  • TS با توابع TS with Functions

  • مشکلات با اشیاء Difficulties with Objects

  • معرفی رابط ها Introducing Interfaces

  • طبقات و خواص Classes and Properties

  • عمومی و خصوصی Public and Private

  • میانبر واگذاری املاک Property Assignment Shortcut

  • فعال کردن پشتیبانی دکوراتور Enabling Decorator Support

  • دکوراتورها Decorators

  • سیستم ماژول The Module System

  • حالت سختگیرانه Strict Mode

  • ترکیب رابط ها و کلاس ها Combining Interfaces and Classes

  • کلاس عمومی Class Generics

  • تابع ژنریک Function Generics

  • این مقدار زیادی تایپ اسکریپت است! That's a Lot of Typescript!

رسیدگی به داده ها و درخواست های HTTP Handling Data and HTTP Requests

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

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

  • تولید خدمات Generating Services

  • متدولوژی طراحی کامپوننت Component Design Methodology

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

  • ارتباط کودک با والدین Child to Parent Communication

  • API ویکی پدیا The Wikipedia API

  • نکات مربوط به خدمات Notes on Services

  • دسترسی به خدمات Accessing Services

  • واقعا رفتار عجیبیه Really Weird Behavior

  • از کجا آمد Where'd That Come From

  • باشه ولی چرا؟ Ok, But Why?

  • چرا تزریق وابستگی مفید است Why Dependency Injection is Useful

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

  • مشاهده پاسخ درخواست Seeing the Request's Response

  • ارتباط بیشتر والدین با کودک More Parent to Child Communication

  • ساخت جدول Building the Table

امنیت برنامه در Angular App Security in Angular

  • فرار از کاراکترهای HTML Escaping HTML Characters

  • حملات XSS XSS Attacks

  • اطلاعات بیشتر در مورد حملات XSS More on XSS Attacks

  • افزودن لینک های عنوان Adding Title Links

  • CSS Gotcha دیگر Another CSS Gotcha

  • آخرین بیت از یک ظاهر طراحی شده Last Bit of Styling

RxJs از اصول RxJs From the Fundamentals

  • یادداشت هایی در مورد RxJs Notes on RxJs

  • یک مثال سریع JS A Quick JS Example

  • اضافه کردن اصطلاحات RxJs Adding RxJs Terminology

  • ایجاد یک قابل مشاهده Creating an Observable

  • اجرای خط لوله پردازش Implementing the Processing Pipeline

  • پردازش بیشتر! More Processing!

  • اضافه کردن یک ناظر Adding an Observer

  • گروه های اپراتور Operator Groups

  • اپراتورهای خاص Specific Operators

  • مشاهده پذیرهای سطح پایین Low Level Observables

  • نحو ناظر جایگزین Alternative Observer Syntax

  • Unicast Observables Unicast Observables

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

  • مشاهده پذیرهای چندپخشی Multicast Observables

  • چندپخشی در اکشن Multicast in Action

  • مشاهده پذیرهای گرم در مقابل سرد Hot vs Cold Observables

  • اصطلاحات RxJs RxJs Terminology

جایزه - Typescript + RxJs! Bonus - Typescript + RxJs!

  • RxJ ها در یک جهان زاویه ای RxJs in an Angular World

  • اعمال TypeScript روی RxJs Applying TypeScript to RxJs

  • ژنریک با RxJs Generics with RxJs

  • استفاده از TypeScript برای گرفتن خطاها Using TypeScript to Catch Errors

  • TypeScript هوشمند است TypeScript is Smart

  • خلاصه Summary

ورزش! یک برنامه واکشی عکس Exercise! A Photo-Fetching App

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

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

  • ثبت نام API API Signup

  • اتصال ماژول HTTP HTTP Module Hookup

  • تزریق وابستگی HTTP HTTP Dependency Injection

  • انجام درخواست Making the Request

  • نمایش کامپوننت Displaying the Component

  • انجام درخواست Making the Request

  • استفاده از نوع عمومی Using a Generic Type

  • نمایش تصویر Displaying the Image

  • واکشی مجدد داده ها Refetching Data

پرداخت های کارت اعتباری با فرم های واکنشی Credit Card Payments with Reactive Forms

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

  • فرم های واکنشی در مقابل فرم های قالب Reactive Forms vs Template Forms

  • ایجاد یک نمونه فرم Creating a Form Instance

  • اتصال یک FormGroup به یک فرم Binding a FormGroup to a Form

  • اعتبار سنجی فیلدها Validating Fields

  • پیدا کردن خطاهای اعتبارسنجی Finding Validation Errors

  • مدیریت خطاهای ناخوشایند Nasty Error Handling

  • نمایش و پنهان کردن پیام های اعتبارسنجی Showing and Hiding Validation Messages

  • ساخت ورودی قابل استفاده مجدد Making a Reusable Input

  • اضافه کردن موارد پیام Adding Message Cases

  • تغییر استایل در خطاهای اعتبارسنجی Changing Styling on Validation Errors

  • افزودن ورودی های اضافی Adding Additional Inputs

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

  • اعتبار سنجی های اضافی Additional Validations

  • پوشش ورودی Input Masking

  • ربودن مقادیر کنترل فرم Hijacking Form Control Values

  • درج کاراکترهای اضافی Inserting Extra Characters

  • فرمت مجدد ورودی Reformatting the Input

  • استفاده از کتابخانه برای پوشش Using a Library for Masking

  • بازنشانی یک فرم Resetting a Form

  • لمس یک ظاهر طراحی شده A Touch of Styling

  • اضافه کردن کارت اعتباری Adding a Credit Card

ورود داده های ساده با فرم های الگو Simple Data Entry with Template Forms

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

  • راه اندازی اولیه فرم قالب Basic Template Form Setup

  • نحو صحافی دو طرفه Two Way Binding Syntax

  • تفاوت بین قالب و فرم های واکنشی Differences Between Template and Reactive Forms

  • اعتبارسنجی پیرامون فرم‌های الگو Validation Around Template Forms

  • اعتبار سنجی مشروط Conditional Validation

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

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

یک بازی ریاضی سریع بسازید Build a Fast-Paced Math Game

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

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

  • رویکردهای طراحی ممکن Possible Design Approaches

  • نمایش مقادیر فرم Displaying Form Values

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

  • استخراج منطق اعتبار سنجی سفارشی Extracting Custom Validation Logic

  • ساخت اعتبار سنجی قابل استفاده مجدد Making Validators Reusable

  • RxJ با فرم های واکنشی RxJs with Reactive Forms

  • رسیدگی به پاسخ های صحیح Handling Correct Answers

  • اپراتور تاخیر The Delay Operator

  • اضافه کردن یک آمار Adding a Statistic

  • راه حل RxJs RxJs Solution

  • لمس یک ظاهر طراحی شده A Touch of Styling

  • کمک به کاربر در کنار Helping the User Along

  • دسترسی به FormGroup ها از دستورالعمل های سفارشی Accessing FormGroups from Custom Directives

  • تشخیص تغییرات Detecting Changes

  • اعمال نام کلاس Applying a Class Name

اعتبار سنجی سفارشی Custom Validators

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

  • سرور API The API Server

  • تماس با Backend API Contacting the Backend API

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

  • تولید فایل File Generation

  • یادآوری ناوبری Navigation Reminder

  • افزودن فرم ثبت نام Adding a Signup Form

  • اضافه کردن استایل پایه Adding Basic Styling

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

  • نوشتن اعتبار سنجی سفارشی Writing Custom Validators

  • اتصال اعتبار سنجی سفارشی Connecting Custom Validators

  • پیاده سازی Async Validators Implementing Async Validators

  • Nasty Async Validators Nasty Async Validators

  • آشنایی با اعتبار سنجی Async Understanding Async Validators

  • رسیدگی به خطاهای حاصل از اعتبارسنجی Async Handling Errors from Async Validation

  • ساخت یک سرویس Auth Building an Auth Service

  • ورودی قابل استفاده مجدد دیگر Another Reusable Input

  • مدیریت خطای قوی Robust Error Handling

  • سفارشی کردن نوع ورودی Customizing Input Type

  • رفع چند شانس و پایان Fixing a Few Odds and Ends

رسیدگی به احراز هویت Handling Authentication

  • بررسی اجمالی فرآیند ثبت نام Signup Process Overview

  • انجام درخواست ثبت نام Making the Signup Request

  • تمیز کردن سرویس Auth Cleaning up the Auth Service

  • رسیدگی به خطاهای ثبت نام Handling Signup Errors

  • مدیریت خطای عمومی Generic Error Handling

  • افزودن سربرگ ناوبری Adding a Navigation Header

  • حفظ وضعیت احراز هویت Maintaining Authentication State

  • اوه نه، RxJ های بیشتری Oh No, More RxJs

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

  • لوله Async The Async Pipe

  • لینک های فعال دقیق Exact Active Links

  • بررسی وضعیت Auth Checking Auth Status

  • Gotcha در اطراف HttpClient A Gotcha Around the HttpClient

  • رهگیرهای HTTP HTTP Interceptors

  • سیم کشی یک رهگیر Wiring up an Interceptor

  • اصلاح درخواست های خروجی Modifying Outgoing Requests

  • کاربردهای دیگر رهگیرها Other Uses of Interceptors

  • کمی ثبت و ضبط A Little Record Keeping

  • افزودن خروج از سیستم Adding Sign Out

  • خروجی های خودکار Automated Signouts

  • ناوبری برنامه ای Programmatic Navigation

  • ایجاد جریان ورود به سیستم Building the Sign In Flow

  • ورود به سیستم احراز هویت Sign In Authentication

  • نمایش خطاهای احراز هویت Showing Authentication Errors

  • طراحی ماژول صندوق ورودی Inbox Module Design

  • پیمایش در احراز هویت Navigation on Authentication

اطلاعات بیشتر در مورد امنیت برنامه Angular More on Angular App Security

  • محدود کردن مسیریابی با نگهبانان Restricting Routing with Guards

  • مسائل با نگهبانان Issues With Guards

  • راه حلی برای گارد با RxJs A Solution to the Guard with RxJs

  • پیاده سازی راه حل RxJs ما Implementing Our RxJs Solution

  • پیمایش در مورد شکست گارد Navigation on Failing a Guard

یک کلاینت ایمیل واقعی بسازید! Build a Real Email Client!

  • تولید اجزای صندوق ورودی Generating Inbox Components

  • بازیابی ایمیل ها Retrieving Emails

  • افزودن واکشی ایمیل به سرویس Adding Email Fetching to the Service

  • اتصال سرویس Connecting the Service

  • ارائه فهرستی از ایمیل ها Rendering a List of Emails

  • ناوبری مسیر کودک Child Route Navigation

  • پیوندهای نسبی با پیوند روتر Relative Links with Router Link

  • سبک دادن به ایمیل انتخاب شده Styling the Selected Email

  • نشانه گذاری مکان نگهدار Placeholder Markup

  • استخراج پارامترهای URL Extracting URL Params

  • دسترسی به اطلاعات مسیر Accessing Route Information

  • Snapshot در مقابل پارامترهای مسیر قابل مشاهده Snapshot vs Observable Route Params

  • مشکلات مربوط به مشترکین تودرتو Issues with Nested Subscribes

  • لغو درخواست های ایمیل قبلی Canceling Previous Email Requests

  • مدیریت داده های تعریف نشده Handling Undefined Data

  • واکشی داده های قابل استفاده مجدد با حل کننده ها Reusable Data Fetching with Resolvers

  • استفاده از Resolver Using a Resolver

  • ارتباط داده ها از یک Resolver Communicating Data Out of a Resolver

  • مدیریت خطا با حل کننده ها Error Handling with Resolvers

  • نمایش HTML ایمیل Showing Email HTML

  • استفاده مجدد از مؤلفه در ایجاد ایمیل Component Reuse in Email Creation

  • یک مدال قابل استفاده مجدد A Reusable Modal

  • برخی دیگر از پیاده سازی مدال Some More Modal Implementation

  • Modal را کجا قرار دهیم؟ Where to Place the Modal?

  • تغییر حالت دید مودال Toggling Modal Visibility

  • ارائه یک فرم مقادیر پیش فرض Providing a Form Default Values

  • نمایش ورودی های ایمیل Displaying Email Inputs

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

  • نمایش Textarea به جای ورودی متن Displaying Textarea instead of Text Input

  • گرفتن نام کاربری Capturing the Username

  • ارسال ایمیل جدید Submitting a New Email

  • ارسال ایمیل اصلی Sending Original Email

  • پاسخ دادن به ایمیل ها Replying to Emails

  • قالب بندی ایمیل های پاسخ Formatting Reply Emails

  • ارسال پاسخ Sending Replies

  • رفع سریع اشکال (سخنرانی پایانی) Quick Bug Fix! (Final Lecture)

ضمیمه - TypeScript Appendix - TypeScript

  • Annotations and Inference را تایپ کنید Type Annotations and Inference

  • حاشیه نویسی ها و متغیرها Annotations and Variables

  • حاشیه نویسی های تحت اللفظی شی Object Literal Annotations

  • حاشیه نویسی در اطراف توابع Annotations Around Functions

  • درک استنتاج Understanding Inference

  • هر نوع The Any Type

  • تعمیر نوع "Any". Fixing the "Any" Type

  • اولیه سازی با تاخیر Delayed Initialization

  • وقتی استنباط کار نمی کند When Inference Doesn't Work

  • حاشیه نویسی در اطراف توابع Annotations Around Functions

  • استنتاج پیرامون توابع Inference Around Functions

  • حاشیه نویسی برای توابع ناشناس Annotations for Anonymous Functions

  • باطل و هرگز Void and Never

  • تخریب ساختار با حاشیه نویسی Destructuring with Annotations

  • حاشیه نویسی و اشیاء Annotations and Objects

  • آرایه ها در TypeScript Arrays in TypeScript

  • چرا آرایه های تایپ شده؟ Why Typed Arrays?

  • انواع متعدد در آرایه ها Multiple Types in Arrays

  • زمان استفاده از آرایه های تایپ شده When to Use Typed Arrays

  • تاپل ها در TypeScript Tuples in TypeScript

  • تاپل ها در عمل Tuples in Action

  • چرا تاپل ها؟ Why Tuples?

  • رابط ها Interfaces

  • حاشیه نویسی های نوع طولانی Long Type Annotations

  • رفع حاشیه نویسی با رابط Fixing Annotations With Interfaces

  • نحو در اطراف رابط ها Syntax Around Interfaces

  • توابع در رابط ها Functions in Interfaces

  • استفاده مجدد از کد با رابط ها Code Reuse with Interfaces

  • طرح کلی با رابط ها General Plan with Interfaces

  • کلاس ها Classes

  • ارث اساسی Basic Inheritance

  • اصلاح کننده های روش کلاس Class Method Modifiers

  • فیلدها در کلاس ها Fields in Classes

  • فیلدهای دارای ارث Fields with Inheritance

  • محل استفاده از کلاس ها Where to Use Classes

  • دستورالعمل بسته به روز شد Updated Parcel Instructions

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

  • بسته بندی با بسته Bundling with Parcel

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

  • اطلاعات مهم درباره نصب Faker IMPORTANT Info About Faker Installation

  • تولید داده های تصادفی Generating Random Data

  • فایل های تعریف را تایپ کنید Type Definition Files

  • استفاده از نوع فایل های تعریف Using Type Definition Files

  • صدور بیانیه ها در TypeScript Export Statements in TypeScript

  • تعریف شرکت Defining a Company

  • نکته ای در مورد کلیدهای API A Note on API Keys

  • افزودن پشتیبانی Google Maps Adding Google Maps Support

  • به‌روزرسانی مورد نیاز برای کتابخانه جدید @types Required Update for New @types Library

  • ادغام نقشه های گوگل با TypeScript Google Maps Integration with TypeScript

  • کاوش در فایل های تعریف نوع Exploring Type Definition Files

  • قابلیت پنهان کردن Hiding Functionality

  • چرا از اصلاح کننده های خصوصی استفاده کنیم؟ در اینجا چرا Why Use Private Modifiers? Here's Why

  • اضافه کردن نشانگرها Adding Markers

  • کد تکراری Duplicate Code

  • یک راه حل ممکن One Possible Solution

  • محدود کردن دسترسی با رابط ها Restricting Access with Interfaces

  • بررسی نوع ضمنی Implicit Type Checks

  • نمایش پنجره های پاپ آپ Showing Popup Windows

  • به روز رسانی تعاریف رابط Updating Interface Definitions

  • بندهای اجرایی اختیاری Optional Implements Clauses

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

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

  • پیکربندی کامپایلر TS Configuring the TS Compiler

  • همزمان تدوین و اجرا Concurrently Compilation and Execution

  • یک الگوریتم مرتب سازی ساده A Simple Sorting Algorithm

  • داربست جداکننده Sorter Scaffolding

  • پیاده سازی مرتب سازی Sorting Implementation

  • دو مسئله بزرگ Two Huge Issues

  • TypeScript واقعا هوشمند است TypeScript is Really Smart

  • تایپ گارد Type Guards

  • چرا این بد است؟ Why Is This Bad?

  • استخراج منطق کلید Extracting Key Logic

  • جداسازی مبادله و مقایسه Seperating Swapping and Comparison

  • فاش شدن بزرگ The Big Reveal

  • تعریف رابط Interface Definition

  • مرتب سازی مجموعه های خلاصه Sorting Abritrary Collections

  • پیاده سازی لیست پیوندی Linked List Implementation

  • کد لیست پیوندی تکمیل شده Completed Linked List Code

  • فقط ... یک ... بیشتر ... رفع ... Just... One... More... Fix...

  • ادغام روش مرتب سازی Integrating the Sort Method

  • مسائل مربوط به ارث Issues with Inheritance

  • کلاس های چکیده Abstract Classes

  • کلاس های انتزاعی در عمل Abstract Classes in Action

  • حل تمام مسائل ما با کلاس های انتزاعی Solving All Our Issues with Abstract Classes

  • رابط ها در مقابل کلاس های انتزاعی Interfaces vs Abstract Classes

جایزه - یک برنامه صفحه فرود چند ویژگی BONUS - A Multi-Feature Landing Page App

  • مهم - برنامه ناتمام IMPORTANT - Unfinished Application

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

  • بررسی اجمالی ماژول ها Modules Overview

  • تولید ماژول ها Generating Modules

  • ویژگی های ماژول Module Properties

  • اتصال ماژول ها Connecting Modules

  • بررسی API Examining the API

  • خواندن مکان کاربران Reading the Users Location

  • راه زاویه ای The Angular Way

  • موقعیت جغرافیایی در یک قابل مشاهده Geolocation in an Observable

  • اتصال سرویس به کامپوننت Connecting the Service to a Component

  • تبدیل مختصات به پارامترهای پرس و جو Transforming Coordinates to Query Params

  • SwitchMap در مقابل MergeMap SwitchMap vs MergeMap

  • اما چرا SwitchMap؟ But Why SwitchMap?

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

  • پردازش بیشتر Further Processing

  • ژنریک در درخواست های HTTP Generics on HTTP Requests

  • فیلتر، MergeMap، Pluck Operators Filter, MergeMap, Pluck Operators

  • عملگرهای نقشه و آرایه Map and toArray Operators

  • دسترسی به داده ها در قالب Accessing Data in the Template

  • بررسی اجمالی لوله ها Pipes Overview

  • لوله های داده Data Pipes

  • لوله Async The Async Pipe

  • اضافه کردن بوت استرپ Adding Bootstrap

  • سبک دادن به مؤلفه پیش بینی Styling the Forecast Component

  • یادآوری در اپراتور اشتراک Reminder on the Share Operator

  • نحوه ساختاربندی خدمات How to Structure Services

  • ایجاد ماژول اطلاع رسانی Generating the Notification Module

  • طراحی سرویس اطلاع رسانی Notifications Service Design

  • معرفی موضوعات Introducing Subjects

  • تغییرات موضوعی Subject Variations

  • طراحی بیشتر در مورد اعلان ها More Design on Notifications

  • ساخت یک ساختار فرماندهی Building a Command Structure

  • اپراتور اسکن The Scan Operator

  • اسکن در سرویس Scan in the Service

  • رفع چند خطا Fixing a Few Errors

  • بازپخش موضوع در عمل Replay Subject in Action

  • یک راه حل ترجیحی A Preferred Solution

  • نمایش پیام ها Displaying Messages

  • تایم اوت خودکار Automatic Timeout

  • استایل اعلان Notification Styling

  • پاک کردن پیام ها Clearing Messages

  • زمان افزودن اعلان ها When to Add Notifications

  • نمایش موفقیت و خطاها Showing Success and Errors

  • CatchError و ThrowError CatchError and ThrowError

  • اپراتور دوباره امتحان کنید The Retry Operator

  • طراحی خدمات Service Design

  • اطلاعات بیشتر در مورد صفحه بندی API More on API Pagination

  • نسل خدمات Service Generation

  • اعلامیه های موضوعی Subject Declarations

  • ساخت پارامترهای HTTP Building the HTTP Params

  • اعمال یک نوع در پاسخ Applying a Type to the Response

  • محاسبه صفحات موجود Calculating Pages Available

  • بسته بندی موضوع ورودی Wrapping the Input Subject

  • یک رابط بهتر A Better Interface

  • جزء فهرست مقاله The Article List Component

  • دسترسی به داده ها Accessing the Data

  • ارائه مقالات Rendering Articles

  • واکشی صفحه Fetching a Page

  • رفع برخی از یک ظاهر طراحی شده Fixing Some Styling

  • ایجاد لوله های سفارشی Creating Custom Pipes

  • آرگومان های لوله سفارشی Custom Pipe Arguments

  • الگوی ماژول مشترک The Shared Module Pattern

  • اتصال صفحه‌گذار Connecting the Paginator

  • استراتژی صفحه‌گردان Paginator Strategy

  • صفحه‌بندی داخلی Paginator Internals

  • حالت دادن به صفحه فعلی Styling the Current Page

  • ارتباط والدین با کودک Parent to Child Communication

  • یادآوری - برنامه ناتمام REMINDER - Unfinished Application

جایزه! Bonus!

  • جایزه! Bonus!

نمایش نظرات

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

آموزش بوت کمپ مدرن زاویه ای
خرید اشتراک و دانلود خرید تکی و دانلود | 480,000 تومان (7 روز مهلت دانلود) در صورت خرید اشتراک، این آموزش بدلیل حجم بالا معادل 4 دوره است و 4 دوره از اشتراک شما کم می شود. زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
45.5 hours
511
Udemy (یودمی) udemy-small
11 اسفند 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
21,779
4.6 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Stephen Grider Stephen Grider

معمار مهندسی

Udemy (یودمی)

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

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