هیچ دوره ای در سبد خرید شما وجود ندارد
ما در این آموزش قصد داریم به طور کامل و جامع به آموزش RxJS بپردازیم. RxJS یکی از بهروزترین و داغترین کتابخانههای توسعه وب در عصر امروز است. این کتابخانه در حقیقت reactive programming را به دنیای وب میاورد. سؤالی که اینجا مطرح میشود این است که اساساً این reactive programming به چه معناست؟ reactive programming یا برنامهنویسی واکنشی به این معنا است که ما در هر مرحله از کارکرد برنامه به واکنشهایی که کاربر نسبت به برنامه ما نشان میدهد، واکنش نشان میدهیم و درحقیقت کدهایی مینویسیم که بتوانیم تغییرات را به بهترین نحو مدیریت کنیم.
پیشنیازهای دوره
ازآنجاییکه RxJS یک کتابخانه جاوا اسکریپت است و ما نیز در این دوره به شکل کامل و جامع به آموزش RxJS میپردازیم، لازم است که با مبانی جاوا اسکریپت و نحوه کار آن آشنایی داشته باشید تا بتوانید بهترین بهرهوری را از این دوره داشته باشید.
چرا باید در دوره جامع RxJS شرکت کرد؟
شاید شما نیز دیده باشید که دورههایی برای آموزش کتابخانه RxJS وجود دارد، اما دلیل انتخاب دوره آموزش RxJS توسط شما چیست و چرا باید آن را انتخاب کنید؟ اولین دلیل انتخاب این دوره این است که دوره جامع RxJS یک دوره جامع است. شاید کلمه جامع شما را مجاب به اینکه این دوره واقعاً دوره خاص و کاملی است نکند اما باید گفت که این دوره در بین تمام دورههای موجود در اینترنت و همچنین کلاسهای حضوری جزو جامعترین و کاملترین دورهها بوده و شما بعد از اتمام این دوره به طور کامل روی مباحث گفته شده مسلط خواهید شد. این جامع بودن دوره مزیت دیگری دارد و آن نیز راحت شدن شما از کلاسهای غیر پیوسته است. این دوره به دلیل جامع بودن، به شما کمک میکند تا یادگیری به طور کامل انجام شود و شما به طور کامل و جامع و بدون گسستگی این دوره را بگذرانید و نیاز به دوره دیگری برای آموزش کتابخانه RxJS نداشته باشید.
برای هرچه روان تر شدن آموزش دوره به دو بخش اصلی تقسیم میشود بخش Basics و Masterclass
- در بخش Basics با لایبرری RxJS آشنا میشویم نحوه کار آنرا یاد خواهیم گرفت و با مفاهیم نهفته در آن آشنا میشویم سپس به سراغ یادگیری Operator های RxJS خواهیم رفت و با دسته بندی این Operator ها روشی روان برای یادگیری و به خاطر سپردن آنها را ارایه خواهیم داد تا با استفاده از Marble Diagram بتوانیم بخش بزرگ و اصلی Operator ها را یاد بگیریم.
- پس از این به سراغ بخش پیشرفته دوره خواهیم رفت که همان بخش Masterclass دوره خواهد بود و مفاهیم پیچیده تر را بررسی خواهیم کرد از جمله Subject ها ، Scheduler ها ، تست نویسی و موارد دیگر که آموزش های بسیار کمی در مورد آنها وجود دارد و هموراه باعث سردرگمی برنامه نویسان بوده اند .
- و به این ترتیب شما در پایان دوره به طور کامل بر این لایببری قدرتمند وبسیار بزرگ مسلط خواهید شد و میتوانید در پروژه های خود با بهرمندی از آن کیفیت کد نویسی خود را ارتقا دهید و همچنین به عنوان بخشی از رزومه خود برای ارتقای شغلی خود از آن بهره ببرید
مزایای یادگیری RxJS
این کتابخانه امروزه جزو کتابخانههای بسیار پرطرفدار میباشد. بهگونهای که به طور هفتگی حدود 10.6 میلیون دانلود برای آن صورت میگیرد. این محبوبیت اتفاقی نیست و کتابخانه RxJS مزایای بسیاری را برای برنامهنویسان به همراه دارد.
- RxJS فقط یک بسته الحاقی با نام tslib دارد و این اتفاق سبب میشود که درصورتیکه بخواهیم، از خود این کتابخانه بهعنوان بسته الحاقی استفاده کنیم مشکل زیادی نداشته باشیم.
- این پکیج بسیار خوب نگهداری میشود و به طور مستمر آپدیتهایی را دریافت میکند.
- این پکیج به طور جالبی برای استفاده در نرمافزارهای بلاکچین قابلاجرا است.
اینها فقط بخشی از قابلیتهای این پکیج بودند که هرکدام میتواند یک دلیل بسیار خوب برای یادگیری این کتابخانه باشند.
این دوره مناسب چه کسانی است؟
دوره آموزش RxJS مناسب همه کسانی است که به برنامهنویسی واکنشی و مباحث آن علاقه داشته و یا به دنبال یافتن یک راه برای پیداکردن کار بهعنوان برنامهنویس با استفاده از یک زبان برنامهنویسی آینده نگرانه و در مسیر پیشرفت هستند.
برنامه نویسان
- Angular
- React, React Native
- Vue
- Asp .Net Mvc
و تمام فریم ورک ها و لایبرری های مبتنی بر جاوا اسکریپت امکان استفاده و بهرمندی از لایبرری قدرتمند RxJS را دارا میباشند در واقع هر برنامه نویسی که در ضمینه وب فعالیت دارد باید با لایببریRxJS آشنا باشد.
لذا تمامی برنامه نویسانی که در این حوضه ها کار میکنند با یادگیری کامل و جامع RxJS میتوانند پیشرفت چشمگیری در بهبود برنامه نویسی و ارتقای شغلی خود ایجاد کنند.
بازار کار RxJS
امروزه RxJS در یکی از بالاترین سطوح استفاده خود در دنیا است و همین امر سبب شده است که بسیاری از شرکتهای بزرگ و کوچک به دنبال متخصصهای توانمند در حل مشکلات با استفاده از این کتابخانه هستند. این کتابخانه امروزه به میزان زیادی استفاده میشود. پس با حرفهای شدن در استفاده از آن مطمئناً به مشکل کار، بر نخواهید خورد. البته همه اینها به شرطی است که شما علاوه بر شرکت در دوره جامع آموزش RxJS به تمرین و تلاش نیز بپردازید و بتوانید مهارتهای خود را از این روشها گسترش دهید. پس از آن مطمئن خواهید بود که بهسادگی در شغل و شرکتی که موردعلاقه و دلخواه شما است استخدام خواهید شد.
سرفصلهای آموزش RxJS
1- شروع کار با RxJS
- مقدمه ای از RxJS
- پیکربندی پروژه برای استفاده از RxJS
- ایجاد اولین Observable
- بررسی و درک کامل Observers, Partial Observers, Subscribers
- ارایه مقادیر به صورت Async توسط Observable
- مدیریت Subscriptions Observable ها توسط Unsubscribe
- جمع بندی مقدمه و آنچه خواهیم گفت
2- Creation Operators
- مقدمه ای بر Creation Operators
- ایجاد Observable از ایونت های dom با استفاده از fromevent
- ایجاد Observable از مقادیر Static با استفاده از of
- تبدیل Arrays ،Promises ،Iterator به Observable با استفاده ازfrom
- انجام Emit برپایه مدت زمان با استفاده از Interval و Timer
- جمع بندی Creation Operators و آنچه خواهیم گفت
3- شروع کار با Operator ها
- معرفی و مقدمه ای از Operator ها
- معرفی ماربل دیاگرام ها
- تغییر و دگرگونی مقادیر استریم با map, pluck, mapTo
- چشم پوشی از مقادیر با filter
- تمرین : ایجاد یک Progress Bar با fromEvent, map
- انباشت دیتاها در گذر زمان با reduce
- مدیریت تغییر وضعیت ها با scan
- تمرین : ایجاد یک شمارشگر معکوس با fromEvent, map, scan
4- Filtering Operators
- معرفی و مقدمه ای از Filtering Operator ها
- استفاده از take برای emit مجموعه ای از مقادیر در یک استریم
- کامل شدن یا Complete شدن یک استریم براساس نقض یک شرط با takeWhile
- کامل شدن یا Complete شدن یک استریم براساس یک استریم دیگر با takeUntil
- مقایسه عملکرد take , first , takewhile , filter
- صرف نظر کردن و ignore کردن مقادیر emit شده با distinctUntilChanged
5- Rate Limiting Operators
- معرفی و مقدمه ای از Rate Limiting-Operator ها
- دریافت آخرین مقدار بعد از یک pause توسط debounceTime
- نادیده گرفتن مقادیر در یک پنجره زمانی توسط throttleTime
- نمونه گیری از یک استریم در یک پنجره زمانی با sampleTime
- رسیدگی و بازرسی یک استریم در بازه زمانی با auditTime
6- Transformation Operators
- معرفی Transformation Operator ها
- معرفی و چرایی Flattening Operator ها
- فلت کردن observable های داخلی هنگام استفاده از mergeMap
- سوییچ روی یک Observable جدید در هنگام emission ها با switchMap
- سابسکرایب روی Observable ها با رعایت ترتیب توسط concatMap
- نادیده گرفتن emission ها زمانی که یک Inner-Observable فعال است به کمک exhaustMap
- استفاده از catchError برای گرفتن خطاهای Observable ها
- تمرین : ایجاد یک دنباله عکس برپایه http
7- Combination Operators
- معرفی Combination Operator ها
- افزودن مقادیر به ابتدا و انتهای استریم ها
- صف بندی اجرای Observable ها توسط concat
- ادغام چندین Observable فعال توسط merge
- دریافت آخرین مقدار از چندین Observable در هنگام emission ها توسط
- دریافت آخرین مقدار از چندین Observable در هنگام completion توسط forkJoin
- تمرین : ایجاد یک محاسبه گر وام
8- Subject ها و Operator های Multicast
- معرفی Subject ها
- به اشتراک گذاری دیتا در بین Subscriber ها توسط Subject ها
- تمرین : مدیریت وضعیت Loading اپلیکیشن توسط Subject ها
- خودکار کردن اشتراک گذاری Observable ها توسط multicast و share
- تحویل یک مقدار اولیه به Subscriber ها توسط behaviorSubject
- تمرین : ایجاد یک Store بیسیک برای اپلیکیشن توسط Subject ها
- تکرار تاریخچه مقادیر برای Subscriber های جدید توسط replaySubject
- خودکار کردن multicasting و replaying توسط shareReplay
- ارایه آخرین مقدار در هنگام complete شدن یک Observable توسط asyncSubject
9- معرفی Scheduler ها
- معرفی و مقدمه ای بر Scheduler ها
- اجرای تسک ها به صورت Asynchronous توسط asyncScheduler
- اجرای تسک ها به صورت Asynchronous توسط asapScheduler
- زمانبندی تسک ها قبل از repaint مرورگر توسط animationFrameScheduler
- اجرای تسک ها در یک صف توسط queueScheduler
10- تست Observable ها با پترن Marble Testing
- معرفی و مقدمه ای از Marble Testing
- استفاده از TestScheduler برای تبدیل AsciiDiagrams به Observable
- کانفیگ مقادیر Emit شده در MarbleDiagram
- تایید زمان Subscription توسط MarbleTesting
- تست HotObservables ها توسط Marble ها
- تست عملیات های Synchronous توسط Marble ها
- تست عملیات های Asynchronous توسط Marble ها
- تست منطق های پیچیده توسط سینتکس TimeProgression
- تست هندل شدن ارور ها توسط Marble ها
- اجبار انجام شدن Completion برای Observable های با زمان اجرای بالا توسط Marble ها
11- تست Observable ها با پترن Subscribe and Assert
- معرفی و مقدمه ای از Subscribe , Assert Testing
- تست مقادیر Emit شده در زمانی که اتفاق میافتند
- تست مقادیر Emit شده در هنگام Completion توسط toArray
- تست عملیات های Asynchronous توسط DoneCallback یا TestScheduler
- تست ارور نوتیفیکیشن توسط Subscribe , Assert
12- نکاتی در RxJS
- معرفی و مقدمه نکات RxJS
- استفاده از finalize برای ایجاد تاثیرات جانبی در هنگام Completion
- استخراج بخش های مشترک کد در یک function جدا
- استفاده از Combination Op ها برای دسترس به وضعیت یکObservable ثانویه
- خودکار کردن پروسه Unsubscribe توسط takeUntil
- استفاده از filter و partition برای منطق های شرطی
aminshahin5686 دانشجوی دوره
سلام .چطور میشه با مدرس ارتباط گرفت …سوالاتی پیش میاد در طی دوره
mahdi.sh4199
با سلام
من دوره صفر تا صد انگولار را تهیه کردم و مشغول اموزش هستم ایا این دوره هم برای بنده مفید است
کیوان عبداله زاده مدرس دوره
بله 100 درصد
yadegar.arashk دانشجوی دوره
سلام ضمن خسته نباشید به جناب عبدالله زاده . واقعا دوره ی خوب و کاملیه . کسایی که واقعا میخوان rxjs رو یاد بگیرن این تنها اموزش فارسی هست که دیدم و واقعا عالیه
کیوان عبداله زاده مدرس دوره
خوشحالم که مفید بوده براتون
ferzi دانشجوی دوره
خوشحالم بلاخره یک دوره خوب در زمینه rxjs به زبان فارسی منتشر شد ممنون
کیوان عبداله زاده مدرس دوره
خوشحالم که مفید بوده براتون
حامد غنبری
ممنون دوره بسیار خوبتون
واقعا تو وب فارسی همچین دوره وجود نداره برای rxjs فقط سوالی که داشتم اینه که ایا این signal جدید تو انگولار جایگزین rxjs هست ؟
keyvan.abzadeh
خیر اون یه مبحث دیگری هست و احتمالا در اینده جایگزی برای روشی هست که الان انگولار تغییرات رو تشخیص میده
prof.hooman دانشجوی دوره
به احتمال قوی به سمت ترکیب signal و rxjs خواهیم رفت
کیوان عبداله زاده مدرس دوره
خیر ولی ترکیبی از این دو
Kazem
بسیار دوره عالی بود
ویدیو های کوتاه و با برنامه ریزی و کامل
بعد این دوره قشنگ یکبتر برای همیشه این داستان rxjs رو فهمیدم
کیوان عبداله زاده مدرس دوره
ممنون از شما
bizaval دانشجوی دوره
سواد عالی ولی روش و لحن تدریس افتضاع
مهدی
سلام جناب استاد عبداله زاده لطفا یک راه ارتباطی با خودتون معرفی بفرمایید مثل شماره تلفن یا ایمیلتون در صورت تمایل به این ایمیل mahdiamirigamefa@gmail.com ارسال کنید یا در پاسخ همین کامنت بفرمایید با تشکر
Mohammad
سلام و وقت بخیر
میخواستم بدونم الان که نسخه 7 rxjs اومده این دوره همچنان میتونه مفید باشه؟
کیوان عبداله زاده مدرس دوره
بله هیچ فرقی نداره
maneshisajjad دانشجوی دوره
سلام وقتتون بخیر میخواستم ببینم عکس ها و انیمیشن هایی که توی دوره استفاده میکنید رو میخواستم ببینم امکانش هست در اختیارمون بزارید
با تشکر از دوره خوبتون.
samsondavidoff
سلام خسته نباشید
آیا در این دوره RxJs رو در انگولار استفاده کردید یا نه؟
کیوان عبداله زاده مدرس دوره
rxjs مخصوص انگولار نیست هر جایی میتونید استفاده کنید
و کدهاش یکی هست
محمد
سلام خسته نباشید می خواستم بدونم خرید این دوره چه کمکی به ما میکنه یعنی مثلا من کاربردش برای من فرانت کار چیه در یک پروژه ؟
کیوان عبداله زاده مدرس دوره
در مورد reactive programing مطالعه کنید البته در ابتدای ویدیو هم توضیحاتی داده شده
المیرا حمیدی
آموزش جامع و کاملاً عملی بود . مباحث کتابخانهRxJS هم همگی خیلی خوب هم توضیح داده شده بودند .
soheylakazemi
خیلی ممنون ، خیلی خوشحالیم که این اموزش براتون کاربرد داشته
ریحانه کریمی
· سلام اول از همه تشکر کنم از پاسخگویی شما که زمانی که تماس گرفتم بسیار حرفه ای برخورد کردید . دوم اینکه قکتابخانه RxJS در نوع خودش برای بنده خیلی مفید بود.
soheylakazemi
سلام ممنون از شما دوست عزیز خیلی خوشحالیم که راضی بودید
رضا اسداللهی
قبل از خرید دوره RxJS با مجموعه دانشجویار تماس گرفتم و بسیار حرفه ای من را راهنمایی کردند . با مشاوره تیم دانشجویار هم این دوره و هم دوره جاوا اسکریپت را خریداری کردم . هر دو دوره راهنمای خوبی برای من بودند و خوشحالم قبل از خرید تماس گرفتم چون متوجه شدم این دو دوره در کنار هم کار بسیار پرکاربرد هستند.
soheylakazemi
سلام ممنون از شما دوست عزیز که با نظرتون در پیشرفت آموزش به ما کمک می کنید .
حبیب
سلام خدا قوت
میخواستم بدونم rxjs سمت سرور رو کنترل میکنه یا سمت کاربر
در واقع میخواهم بدونم این آموزش به درد nodejs میخوره یا نه
ممنون میشم راهنمایی کنید
سپاس
کیوان عبداله زاده مدرس دوره
سلام
در دمو توضیح داده شده زبان و فریمورک مهم نیست
هرجایی میشه استفاده کرد
hossein.hedyeh دانشجوی دوره
سلام ،
لطفت این سشن لاگین موندن سایت رو افزایش بدید ، چون ویدیوها رو آنلاین میبینم هر روز باید لاگین کنم ، نگاهی به استک اورفلو و گیتهاب و حتی نمونه های ایرانی بندازید ماه ها لاگین میمونی
soheylakazemi
سلام باشه چشم حتما ارجاع میدم . اما به دلیل امنیت زمانش کوتاه هستش
hossein.hedyeh دانشجوی دوره
سلام خدمتتون
واقعا دوره خوبی هست ، ساده تر از چیزی بوده که فکر میکردم ولی نمیدونم چرا قبلا اینقدر گنگ بود (البته فعلا فصل 6 هستم تا ببینیم)
کامنت گذاشتم که بگم در مورد مدیریت استیت ها خصوصا توی انگولار واقعا گیج هستم به همون گیجی قبل از این دوره rxjs در موردش ، اصلا نمیدونم چیه کجا کاربرد داره
اینجا هم توی کامنت ها هم گفتید دوره برگزار میکنید خواستم ببینم کی منتشر میشه
اگر زمان انتشارش رو بیارید جلو خیلی خوب میشه
در ضمن توی یکی از جلسات هم در مورد همین استیت حرف زدید حتی با کادر و توضیح هم اشاره کردید بازم نگرفتم
soheylakazemi
سلام روزتون بخیر ، دوره انگولار در حال ضبط هستش و چند فصل هم منتشر شده
hossein.hedyeh دانشجوی دوره
سلام ، ممنون از شما
بنده انگولار کار کردم و ندیدم در هیچ دوره ای از انگولار مدیریت استیت ها توضیح داده بشه برای همین دوره انگولار مناسب بنده نیست منتظر مدرس محترم هستیم که نظرشون رو بگن
تشکر
حسن رجبیان
سلام وقت بخیر
یک دوره انگولار کامل در حال ضبط هست مکه میتونین از لینک زیر مشاهده بفرمایید
https://www.daneshjooyar.com/%d8%af%d9%88%d8%b1%d9%87-%d8%ac%d8%a7%d9%85%d8%b9-%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%a7%d9%86%da%af%d9%88%d9%84%d8%a7%d8%b1-angular-12-%d8%a8%d9%87-%d8%b5%d9%88%d8%b1%d8%aa-%d9%be%d8%b1%d9%88%da%98/
hossein.hedyeh دانشجوی دوره
شما توی دورتون مدیریت استیت تدریس میکنید با چه کتابخونه ای ، ngrx یا ….. ؟
soheylakazemi
سلام وقتتون بخیر لطف کنید داخل دوره انگولار کامنت بزارید مدرس دوره پاسختون بدن
کیوان عبداله زاده مدرس دوره
تشکر از شما امیدوارم مفید باشه براتون
بنده اگر فرصت کنم شاید دوره ای منتشر کنم ولی فعلا خیر در برنامه بنده نیست چون دوره کاملی باشه که شامل NGRX,NGXS,AKITA باشه
مگر مدرسان دیگر لطف کنن دوره رو قرار بدن
hossein.hedyeh دانشجوی دوره
به هر حال ممنون ،
به نظر شما از بین این 3 تا کدوم رو یادبگیرم بهتره ، دیروز یکی دو تا مقاله خوندم برای NGRx میگفت یکی از معایبش اینه که پروزه رو سنگین میکنه و هی باید استور تعریف کنی و اکشن تعریف کنی و … یادگیریش هم سخته اما از ngx و درنهایت آسونی akita تعریف کرده بود
به نظرتون akita مناسب انگولار هست؟ سمتش برم؟
کیوان عبداله زاده مدرس دوره
ngrx کدنویسی بسیار زیادی داره و عصاب خورد کن میشه برای پروزه های بزرگ
بین ngrx,akita ببینید با کدومش راحتید
ngxs رو پیشنهاد میکنم
aasalnajafi
سلام
فصل 10 پارت 9 و فصل 6 پارت یک صدا ندارد
کیوان عبداله زاده مدرس دوره
با تشکر از شما فایل ها اصلاح شد و ارسال شد با پشتیبانی در تماس باشید برای رفع مشکل احتمالی
aasalnajafi
فصل 6 قسمت 1 صدا نداره :)
حسن رجبیان
بررسی شد . تمام لینک های دانلود موجوده
c12c24
سلام آقای مهندس ممنون از دووره خوبتون شما برای micro frontend , ngrx هم دوره برگزار می کنید ؟
کیوان عبداله زاده مدرس دوره
یک دوره مدیریت استیت ها منتشر خواهد شد
کیوان عبداله زاده مدرس دوره
سلام تشکر
کاربر مهمان
با سلام
ممنون از دوره و مبحث مهمی که آموزش دادید اما لطف کنید دوره پروژه محور باشه و یک پروژه ای را از صفر تا صد برید.
کیوان عبداله زاده مدرس دوره
دوره کامل هست و تمام مباحث پوشش داده شده داخل دوره ۴ الی ۵ تمرین وجود داره که در نقش یک پروژه کوچیک و مثال عملی از rxjs استفاده کردیم
با گزروندن دوره به rxjs مسلط خواهید شد و کلا دیدتون تفاوت خواهد کرد با قبلش
و دیگه پروژش هیچ فرقی نداره و حتی فریمورکش .
دوره جوری جلو میره که فارق از فریمورکی که کار میکنید قدرت rxjs رو بتونید به کار بگیرید
زهیر صفری
استاد سلام لطفا یک پروژه هم در کنار تدریس عالی تون بزارید تا تکیمل تر بشه با تشکر
کیوان عبداله زاده مدرس دوره
وقت بخیر پروژه در مورد ؟
کیوان عبداله زاده مدرس دوره
اگر منظورتون پروژه برای پیاده سازی و استفاده از rxjs هست تو این دوره کامل مباحث با مثال تمرین و پروژه های کوچیک جلو رفته
و به این ترتیب تمام حالاتی که در پروژه های بزرگ هم براتون اتفاق میافته اجرا شده تو دوره