توضیحات
اگر از قبل با دنیای جاوا اسکریپت آشنا هستید، احتمالا اسم ریداکس براتون آشناست اما به هرحال بهتره ابتدای کار یه تعریف ساده و کتابی از اون داشته باشیم تا بریم سراغ ادامه جزئیات.
ریداکس (Redux) یه کتابخونه پر کاربرد برای مدیریت حالت های (state) مختلف یه برنامه جاوا اسکریپتی محسوب میشه.
حالا شاید براتون سوال پیش بیاد که خود state دقیقا چی هست؟
ببینید در برنامه های مخصوص کامپیوتر، داده ها درون مجموعه ای از متغیرها ذخیره میشن که هر متغیر به نسبت نوعی که داره، درصدی از فضای ram کامپیوتر رو اشغال میکنه. حالا زمانی که برنامه ما در حال اجراست به اون بخش از حافظه ای که اشغال شده میگیم state . به عبارت سادهتر آخرین وضعیت و حالت دیتاهای هر برنامه در state ها نگهداری میشه تا بتونیم از طریق اونها از اتفاقات و تحولات برنامه باخبر بشیم.
در واقع ما میتونیم به کمک redux تغییراتی که در وضعیت برنامه ما اتفاق میفته رو پیگیری کرده و تاریخچه اون تغییرات رو بررسی کنیم. همچنین میتونیم با به اشتراک گذاری وضعیت برنامه به طور منظم به توسعه دهنده های دیگه این امکان رو فراهم کنیم که در دوره های زمانی مشخص، وضعیت برنامه توسط اشخاص مرتبط قابل مشاهده باشه و اقدامات لازم در زمان مناسب صورت بگیره.
در ادامه به طور خلاصه چند مورد از ویژگی های کتابخونه ریداکس رو باهم بررسی میکنیم تا آشنایی بیشتری با اون پیدا کنید.
- قابلیت بکاپ
- قابلیت تست
- قابل استفاده در React
- قابل استفاده با سایر فریمورک ها
چه زمانی باید از redux استفاده کنیم؟
تیم توسعه Redux پیشنهاد داده که فقط زمانی که در پروژه نیاز بود از ریداکس استفاده کنید چون در غیر این صورت نه تنها مشکلی رو حل نمیکنه بلکه میتونه کار رو سخت تر و پیچیده تر کنه. در واقع چنین کتابخونه هایی برای برنامه های بزرگ و شلوغ طراحی شدن و اگر برای برنامه های کوچیک استفاده بشن ممکنه بهره وری کلی رو پایین بیارن.
بطور خلاصه در شرایط زیر میتونیم به سمت ریداکس بریم و ازش استفاده کنیم:
- زمانی که پروژه ما تعداد زیادی state داره و در طول پروژه این state ها زیاد استفاده میشه
- زمانی که منطق بروزرسانی state پیچیده و سخت باشه
- زمانی که برنامه ما پایگاه داده متوسط یا بزرگ داشته باشه و افراد زیادی هم در توسعه این برنامه مشارکت داشته باشن.
این دوره چه فرقی با بقیه دوره داره؟
تصور اکثر برنامه نویسان اینه که ریداکس یک غول بی شاخ و دم هست که کار کردن با این کتابخونه کار هرکسی نیست.
علت اصلی این موضوع هم اینه که خیلی از افراد یا آشنایی خیلی سطحی با اون دارن یا دوره هایی رو دیدن که ریداکس صرفا به عنوان درس مکمل در کنار ریکت تدریس شده و همین موضوع باعث میشه به درک خیلی خوبی از redux نرسن. اما در این دوره شما کتابخونه ریداکس رو از صفر مطلق شروع میکنید و در ابتدا در پروژه های جاوا اسکریپتی خام ازش استفاده میکنید تا به خود ریداکس مسلط بشید و بعد با آمادگی خیلی خوبی برید و داخل پروژه های ریکتی از این کتابخونه کاربردی استفاده کنید.
توی این دوره دقیقا چی یاد میگیریم؟
در این دوره ابتدا یکسری ابهامات و سوالاتی که در مورد ریداکس هست برای شما حل و فصل میشه. مثل اینکه چرا میگن ریداکس سخته؟ در چه پروژه هایی نباید از ریداکس استفاده کنیم؟ در چه پروژه های استفاده کنیم؟ و…
در ادامه با مفاهیم اصلی ریداکس آشنا میشید و بعد از اون در سطوح مقدماتی تا متوسط، با ریداکس دو تا مینی پروژه counter و todolist انجام میدید تا خیلی خوب به این مباحث مسلط بشید.
در مرحله بعد کانسپت های حرفه ای ریداکس و مباحث پیشرفته رو یاد خواهید گرفت تا به سطح استادی در ریداکس برسید و کار با پکیج هایی مثل redux-thunk و redux-logger و redux-devtools رو تمرین می کنید تا بتونید در زمان مناسب به بهترین شکل از این پکیج ها استفاده کنید.
در نهایت یک پروژه نهایی با ریداکس و ریکت انجام میشه که یک cms زیبا با بک اند اختصاصی node js هست و با گذر از این مرحله دیگه میتونید ادعای تسلط به ریداکس رو داشته باشید.
بعد از گذروندن این دوره به چه سطحی میرسیم میتونیم چیکار کنیم؟
شما با دیدن این دوره میتونید در پروژه های واقعی از ریداکس استفاده کنید و پروژه رو توسعه بدید و کلی پروژه های فریلنسری که نیاز به ریداکس دارند رو بپذیرید. یا برای شرکت هایی که نیاز به توسعه دهنده مسلط به ریداکس دارند روزمه ارسال کنید و همکاریتون رو شروع کنید.
ضمنا میشه به جرات گفت شما بعد از دیدن این دوره و تسلط روی ریداکس میتونید هر شخصی که مشکلی در زمینه ریداکس داشته باشه رو راهنمایی کنید تا مشکلش حل بشه.
اگه این دوره رو نبینم چه اتفاقی میفته؟
این سوال دو بخش داره. اگر ریداکس رو یاد نگیرید، قطعا یک فرصت استثنائی برای متمایز شدن با دیگران رو از دست میدید که با وجود بازار رقابتی فعلی این تصمیم نمیتونه منطقی باشه چون اگر قصد دارید وارد شرکت های بزرگ یا پروژه های بزرگ بشید حتما باید با این موارد آشنا باشید.
اگر هم منظورتون اینه که ریداکس رو از سبزلرن یاد نگیرید، در نهایت اختیار با شماست اما بهتره بدونید یک دوره غیر استاندارد و تئوری که مدرس اون به اندازه کافی اصطلاحا خاک خورده اون تکنولوژی نباشه نمیتونه شمارو به درجه تسلط برسونه و ممکنه حتی بعد از دیدن دوره های دیگه، نتونید باهاش ارتباط برقرار کنید چون قدم اول رو ناقص برداشتید و ساختار ذهنیتون به هم خورده.
از این مهمتر سبزلرن برای اثبات کیفیت دوره ها و راحت تر کردن خیال شما، 40 درصد همه دوره هارو رایگان کرده و بنابراین هیچ دلیل منطقی و ریسکی ندارید که چنین منبع آموزشی با ارزشی رو انتخاب نکنید. اما به هر حال انتخاب با شماست و ما کاملا به نظرتون احترام میذاریم.
در آینده نزدیک خواهید دید که تسلط به ریداکس یکی از پارامترهای ضروری برای استخدام شدن در شرکت های مختلف به شمار خواهد رفت و برنامه نویسانی که تا اون موقع نتونستن خودشون رو با شرایط بازار وفق بدن، جای خودشون رو به متخصص های به روزتر خواهند داد.
چه تضمینی هست که خوب و کامل یاد بگیرم؟
ولی به طور کلی چند دلیل هست که معمولا باعث عدم نتیجه گیری شما از دوره ها میشه :
1 – کیفیت پایین محتوای آموزشی و سبک و تسلط مدرس
2 – عدم اشتیاق و علاقه مندی کافی شما برای یادگیری
3 – نبود پشتیبانی در دسترس و قوی در طول آموزش
4 – عدم مرور و تمرین مطالب (انبار کردن اونها برای روز مبادا !)
دو مورد اینها بر عهده شماست و دو مورد هم بر عهده سبزلرن. ما به شما قول میدیم این آموزش رو با بالاترین کیفیت و موثرترین پشتیبانی در اختیار شما قرار بدیم. شما قول می دید که با علاقه و پشتکار تمام تمرینات رو انجام بدید تا به نتیجه برسید؟! پس همه چی حله…
نتایج دانشجو ها بعداز دیدن این دوره؟(هر دوره جدا ارسال بشه)
با دنبال کردن صفحات اساتید در فضای مجازی میتونید با نتایج دانشجوها و پروژه هایی که تونستن بعد از دوره انجام بدن آشنا بشید و انگیزه بگیرید که شما هم به زودی به جمع اونا بپیوندید.
نظر دانشجو ها در رابطه با این دوره؟(هر دوره جدا ارسال بشه)
در قسمت کامنت های هر دوره، می تونید تمامی نظرات دانشجوهارو مطالعه کنید و نظراتشون رو ببینید تا با خیال راحت تر تصمیم بگیرید که در این دوره ثبت نام کنید.
چه پروژه هایی در طول دوره کار میشه؟
در این دوره دو مینی پروژه با همراهی شما انجام خواهد شد.
پروژه اول یک counter هست که به وسیله جاوا اسکریپت خام توسعه داده میشه
پروژه دوم یک todolist (برنامه ریزی کارهای روزمره) هست که مثل پروژه اول با جاوا اسکریپت خام توسعه داده میشه تا به صورت کامل به مباحث ریداکس مسلط بشید.
و در نهایت پروژه نهایی و جذاب دوره یک پروژه cms فروشگاهی هست که قابلیت هایی مثل مدیریت کاربران، اطلاعات ادمین سایت، اضافه، حذف و ویرایش محصول و اضافه کردن تخفیف و… در اون وجود داره. همچنین مدیریت وبلاگ و مقالات سایت رو هم یاد می گیرید که با بک اند اختصاصی node js توسعه داده شده.
شما این پروژه رو به کمک ریکت و redux توسعه میدید تا عمیقا با مطالب و نکات آشنا بشید و فوت و فن استفاده از ریداکس در تکنولوژی های جاوا اسکریپتی رو یاد بگیرید.
مدرس دوره کیست؟
مدرس این دوره استاد سعیدی راد هست که با تجربه بالا و سابقه طولانی که در زمینه برنامه نویسی (به خصوص جاوا اسکریپت) داره، مطالب رو به ساده ترین شکل ممکن بیان می کنه طوری که خودتون هم نخواید یاد بگیرید، آخرش یاد میگیرید. ایشون انتخاب شده چون اعتقاد داریم مدرسی که اطلاعاتش به روز هست و مستقیما با بازار کار جاوا اسکریپت و کل تکنولوژی های زیرشاخه اون سروکار داره، سبکش با مدرس عادی و تئوری محور متفاوته. (مثل اکثر اساتیدی که در دانشگاه داشتیم!)
یکی از خصلت های ویژه ایشون اهمیت به پشتیبانی فنی دانشجوهاست و تا حد امکان به صورت مستقیم مشکلات و سوالات اون هارو در پلتفرم های مختلف جواب میده. آقای سعیدی راد هم مثل بقیه اساتید سبزلرن یه راست وارد اصل مطلب میشه و شاخ و برگ اضافی و خسته کننده در آموزش های ایشون نمی بینید.
اگر هم قبلا دوره جامع آموزش جاوا اسکریپت رو با ایشون گذرونده باشید پس قطعا با کیفیت و سبک جذاب تدریس اون آشنا هستید.
چطور میتونم بهترین نتیجه رو از این دوره بگیرم؟
یادگیری هر مهارتی یک سری اصول داره که اگه رعایت کنید بهترین نتیجه رو میگیرید.
برای اینکه به خوبی به ریداکس مسلط بشید نیازه که مراحل زیر رو انجام بدید.
- سعی کنید بعد از مشاهده هر جلسه از دوره حتما دست به سرچ بشید و در مورد مباحث اون جلسه خوب تحقیق کنید و چند مقاله باکیفیت بخونید.
- بعد از تحقیق هم باید خودتون دست به کد بشید و مباحثی که در جلسه گفته شده رو خیلی خوب تمرین کنید تا اصطلاحا ملکه ذهنتون بشه.
- اگه در دوره قراره پروژه ای انجام بشه شما باید قبل از دیدن حل اون پروژه خودتون اون پروژه تمرینی رو تا حد امکان حل کنید و بعد ویدیو حل رو ببینید و با کد خودتون مقایسه کنید تا به نقاط ضعف و قوت خودتون پی ببرید.
آیا به پیش زمینه خاصی نیاز دارد؟ مثال باید به انگلیسی یا نرم افزار خاصی مسلط باشم؟
پیشنیاز های اصلی این دوره :
- Html css
- تسلط خیلی خوب به جاوا اسکریپت
- تسلط خیلی خوب به ریکت
این دوره برای چه کسانی مناسب هست؟
این دوره میتونه برای توسعه دهنده های وب که با جاوا اسکریپت و فریم ورک های قدرتمند اون (ویو، ریکت، انگیولار) کار میکنن میتونه فوق العاده کاربردی باشه.
خصوصا اگر شما توسعه دهنده ریکت باشید یادگیری redux خیلی میتونه به شما کمک کنه و شانس استخدام و شهرت شما رو در شرکت های مختلف بالاتر ببره.
مدت دوره کمه یا زیاد؟ آپدیت هم میشه؟
مدرسین هر دوره به دلیل آپدیت بودن با شرایط تکنولوژی و بازار کار، در اولین فرصتی که آپدیت یا اصلاح خاصی کشف کنن، حتما فایل های جدید رو به عنوان آپدیت در اختیار تیم پشتیبانی سبزلرن قرار میدن تا به پنل کاربری دانشجوها اضافه بشه. بنابراین خیالتون از بابت پویا بودن مطالب دوره هم راحت باشه!
اگر با سوال یا مشکلی مواجه شدم، پشتیبانی می کنید؟
100%
رایگان، سریع، راحت!
ما در سبزلرن اعتقاد داریم تا زمانی که دانشجو در عمل نتونسته یک پروژه صفر تا صد بنویسه، هنوز یادگیریش تموم نشده و تا رسیدن به این مرحله، علاوه بر اساتید، تیم پشتیبانی هم در دسترس شما هست تا هر سوال یا ابهامی داشتید به شما کمک کنه.
ما کاملا درک می کنیم ورود به دنیای برنامه نویسی بدون داشتن پشتیبان در دسترس به عنوان یک دوست قابل اعتماد، در یادگیری و رسیدن به نتیجه چقدر سخته. برای همین با تمام وجود در کنارتون هستیم تا به هر تخصصی که دوست دارید برسید. تمام و کمال!
روزی چند ساعت باید وقت بگذارم تا خوب یاد بگیرم؟
این سوال در مورد هر درس و رشته ای غلط هست چون هر شخصی نسبت به آمادگی ذهنی، علاقه، پشتکار و زمانی که برای آموزش اختصاص میده، تعیین میکنه هر درسی رو در چه زمانی یاد بگیره. بنابراین نمیشه یک نسخه واحد برای همه پیچید اما یه قانون قطعی وجود داره. هرچقدر زمانی که میذارید با چاشنی تمرکز و اشتیاق همراه باشه، فاصله شما تا رسیدن به هدف نهایی هم کوتاه تر خواهد بود.
هر چند مهم تر از مدت زمان تداومی هست که شما باید به خرج بدید و حوصله داشته باشید تا نتیجه کارتون رو ببینید
به قول شاعر، رهرو آن نیست گهی تند و گهی خسته رود، رهرو آن است که آهسته و پیوسته رود…
سبزلرن چطور دوره هاشو گارانتی میکنه؟
اولین تضمین، نظر دانشجویان قبلی هست که میتونید کاملا شفاف مطالعه کنید. دومین تضمین رایگان بودن 40 درصد هر دوره هست که هیچ ریسکی برای شما ایجاد نمیکنه. بنابراین می تونید با خیال راحت و بدون دغدغه فقط روی آموزش دیدن تمرکز کنید.
ما سال هاست که در زمینه آموزش برنامه نویسی، هزاران دانشجوی عزیز مثل شمارو تحویل جامعه نرم افزار و توسعه وب دادیم و همیشه سعی کردیم با رفع نواقص و خطاها، بهترین شرایط رو فراهم کنیم.
بدون شک شما با انجام تمرین قبل از هر جلسه و مطالعه داکیومنت به نتیجه ای که مدنظرتون هست برسید و اگه نرسیدید، میتونید هزینه خودتون رو از سبزلرن پس بگیرید. اتفاقی که خیلی خیلی نادر بوده!
همین که سبزلرن این امکان رو فراهم کرده تا موقتا کاربران بتونن تقریبا نیمی از دوره رو به صورت رایگان ببینن، خودش دلیلی بر حسن نیت و احساس مسئولیت ما در برابر کاربران عزیزمون هست.
کلام آخر
توضیحات دوره انقدر جامع و شفاف بود که بعید میدونیم جای سوال و ابهامی برای شما باقی مونده باشه اما به طور خلاصه و برای یادآوری، به شما میگیم که این دوره با یک استاد حرفه ای و کاربلد، مطالب کامل و بیانی ساده تهیه شده که یادگیری اون میتونه راه شمارو برای ادامه مسیر برنامه نویسی وب هموار تر کنه. به خصوص اگه در حوزه فرانت اند کار می کنید.
کتابخانه ریداکس به عنوان یک دستیار کاربردی برای برنامه نویسان حرفه ای شناخته میشه که میتونه روند توسعه و خطایابی برنامه هارو به شدت آسون تر کنه و با ویژگی های خاصی که داره، بهره وری کلی تیم توسعه دهنده رو افزایش بده.
تیم سبزلرن هم که همه چیز رو آماده کرده و فصل های اول رو هم رایگان کرده تا شما بتونید بدون هیچ دغدغه ای این دوره فوقالعاده رو ببینید و لذت ببرید. معلوم نیست این آموزش های با ارزش تا کی رایگان باشن. پس اصلا معطل نکنید و همین الان اولین جلسات رو شروع کنید…
هرسوالی داشتید همینجا بپرسید تا مشاوران سبزلرن در کمترین زمان ممکن به شما جواب بدن
جلسات
معرفی دوره
ریداکس چیه؟
چرا اینقد میگن ریداکس سخته؟
تو چه پروژهای از ریداکس استفاده نکنیم؟
چه زمانی باید ریداکس رو یاد بگیریم؟
آشنایی با Pure Function
کار با متد reduce + حل تمرین
توسعه تمرین برای درک بهتر reduce
آشنایی با HOF - قسمت اول
آشنایی با HOF - قسمت دوم
آشنایی با Mutate و Immutate - قسمت اول
آشنایی با Mutate و Immutate - قسمت دوم
Store چیه؟ - پیاده سازی Store برای 3 پروژه مختلف
Action چیه؟ - پیاده سازی Actionها برای 3 پروژه مختلف
Reducer چیه؟ - پیاده سازی Reducer برای 3 پروژه مختلف
نصب و راه اندازی Redux
توسعه Reducer مینی پروژه Counter
ساخت Store و اتصال آن به Reducer
توسعه Actionها و تکمیل لاجیک Counter
ریفکتور مینی پروژه - جداسازی Actionها
ریفکتور مینی پروژه - ساخت Action Creator
ساخت Action های پروژه
توسعه Action Crearor های پروژه
توسعه Reducer و قابلیت AddTodo
نمایش Todoها در DOM
توسعه قابلیت RemoveTodo
توسعه قابلیت CompleteTodo
توسعه قابلیت فیلترینگ تودوها (به روش اشتباه)
آشنایی با مفهوم مهم Derived Data در ریداکس
توسعه قابلیت فیلترینگ تودوها (به روش اصولی)
تو این فصل چیکار میکنیم؟
توسعه قابلیت ساخت store با Vanilla Js
توسعه لاجیک قابلیت های dispatch و getState
استفاده از ریداکسی که توسعه دادیم به جای ریداکس اصلی تو پروژه واقعی
کل ریداکس همین بود؟!
توسعه Counter بدون ریداکس
نصب ریداکس در ریاکت
ساخت store و reducer در ریاکت
ساخت Action Creator های لازم برای Counter
آشنایی با subscribe در ریداکس
اتصال لاجیک Counter به ریداکس
چطور از استور unsubscribe کنیم؟
هر Entity = یک Reducer
توسعه reducer های مینیپروژه فروشگاه
ترکیب reducerها با combineReducers
آشنایی با قابلیت currying در Functional Programming
مفهوم Middleware چیه؟ (تئوری)
توسعه اولین Middleware به اسم logger
چطور به Middleware پارامتر ارسال کنیم؟
توسعه Middleware برای کال کردن Api
پترن ducks برای پروژه های Redux
معرفی پکیج Redux-Thunk
ارائه سورسکد Webpack Dev Server
نصب و راه اندازی Redux-Thunk
ارسال فانکشن بعنوان Action
اجرای Async Action Creator به کمک Redux-Thunk
معرفی Redux-Logger
نصب و استفاده از Redux-Logger
کانفیگ های Redux-Logger
نصب و راه اندازی Redux-Devtools
آشنایی با 3 قسمت اصلی Redux-Devtools
کار با Inspector Monitoring
ارسال Middleware به composeWithDevtools
اکسپورت و ایمپورت در Redux-Devtools
معرفی و نصب react-redux
Provide کردن store
آماده سازی Store
connect و mapStateToProps
connect و mapDispatchToProps
آماده سازی Ui و Store تودولیست
نمایش تودو های Store در Dom
توسعه قابلیت Add Todo
ریفکتور پروژه با هوک useDispatch
ریفکتور پروژه با هوک useSelector
نصب Redux-Toolkit
ساخت store با Redux-Toolkit
ساخت Action با Redux-Toolkit
ساخت reducer با createReducer
ساخت slice و ریفکتور Todolist
استفاده از createAsyncThunk برای ساختن اکشن های Async
روش دوم تعریف Async Acion - ریفکتور پروژه Todolist
رونمایی از پروژه Cms
پیاده سازی ساختار پروژه
توسعه کامپوننت Header
توسعه کامپوننت Sidebar
توسعه صفحه Users
توسعه صفحه Courses
توسعه صفحه Articles
توسعه صفحه Infos
دریافت اطلاعات کاربران از سمت سرور فیک جهت تست پروژه
کار با ابزار Postman
ایمپورت کردن Api Doc پروژه داخل Postman
دریافت لیست کاربران از سرور اختصاصی پروژه
تست بکاند جهت بررسی Async Action های پروژه
توسعه Async Action برای دریافت دورهها از سرور و نمایش در Dom
توسعه Async Action برای دریافت مقالات از سرور و نمایش در Dom
فیکس کردن باگ آپدیت store
توسعه Async Action برای حذف کاربر
همگام کردن تغییرات سرور با store
توسعه قابلیت های حذف دوره و مقاله
نمایش جزئیات کاربر داخل Modal
چندین تسک مهم برای دانشجوها + سخن پایانی ❤️
پیش نیاز ها
پشتیبانی
این دوره مجهز به «سبزبات» ربات هوشمند مبتنی بر هوش مصنوعی است.
اگر در حین مشاهده جلسات دوره با سوال یا ابهامی مواجه شدید، میتوانید پرسش خود را از سبزبات بپرسید و در همان لحظه پاسخ دریافت کنید. در صورتی که نیاز به توضیح بیشتر یا پاسخ تخصصی مدرس داشتید، کافی است از سبزبات بخواهید تا سوال شما را به مدرس دوره ارجاع دهد تا مستقیماً توسط مدرس پاسخ داده شود.

