کتاب های برچسب Reactive Prgramming
تاریخ: 1400/10/18 22:54
توسط: MotoMan
امتیاز: ۲
برچسب ها: Java Script |Reactive Prgramming |

طراحی async-first جاوا اسکریپت، هم یک موهبت و هم یک نفرین بوده است. در حالی که حلقه رویداد (event loop) به ما اجازه می‌دهد تا فراخوانی‌های AJAX را به راحتی انجام دهیم، ردیابی همه آنها می‌تواند کار سختی باشد. یک درخواست AJAX را می‌توان به عنوان یک وعده (promise) مدل سازی کرد، اما بیش از یک promise و آن هم به طور ناگهانی و در حین اینکه کاربر در برنامه ما پیش می‌رود، به معنی وجود دسته ای از آیتم‌ها برای ردیابی به صورت دستی (و حتی لغو) است. یکی از بدنام‌ترین مثال ها، typeahead است که در قسمت Advanced Async پوشش داده خواهد شد. شما یاد خواهید گرفت که چگونه فراخوانی‌ها و کنترل جریان را به RxJS واگذار کنید تا بتوانید روی بقیه برنامه خود تمرکز کنید.
از سوی دیگر، مدیریت وضعیت یک برنامه از زمان اختراع RAM، بلای جان برنامه نویسان بوده است که منجر به توصیه‌های مکرر مبنی بر «خاموش کردن و دوباره روشن کردن آن» و ریست کردن وضعیت کامپیوتر شد. جاوا اسکریپت با پیش‌فرض قرار دادن وضعیت سراسری (global) و تغییرپذیر (mutable) این وضعیت را بدتر کرده است. در سال‌های اخیر، جامعه جاوا اسکریپت شروع به ارائه‌ی راه حل هایی موثر برای این مشکل کرده است.
کتابخانه RxJS، جریان‌های رویدادی (eventing flows) شما را بخش بندی می‌کند و هر عمل را در یک تابع واحد محصور می‌کند. علاوه بر این، RxJS تعداد زیادی عملگر کمکی را ارائه می‌کند که وضعیت داخلی را حفظ می‌کنند و به شما این امکان را می‌دهند تا نگرانی‌های وضعیتی خود را به کتابخانه بسپارید. علاوه بر این عملگر ها، در مورد ngrx، یک کتابخانه مدیریت وضعیت که بر فراز RxJS ساخته شده است، در قسمت Advanced Angular خواهید آموخت. در بخش Reactive Game Development، سیستم وضعیت خودتان را که مختص HTML5 Canvas API است ایجاد خواهید کرد.
دنیای front-end می‌تواند مملو از پیچیدگی باشد. کتابخانه RxJS یک راه حل ارائه می‌دهد: Observableها. Observableها دیگر مکانیسم‌های asynch جاوا اسکریپت مانند callback‌ها و promise‌ها را در یک روش جدید برای نگاه کردن به داده‌ها ادغام می‌کند. Observableها به جای کار با اشیا و ردیابی وضعیت آنها، رویدادهای ناهمگام (asynchronous) را به عنوان یک جریان می‌بینند. RxJS ابزارهایی را برای مدیریت، دستکاری و پردازش Observableها به منظور ساده سازی و سرعت بخشیدن به برنامه‌های front-end در اختیار شما قرار می‌دهد. با کمک کتاب Build Reactive Websites with RxJS (ساخت وبسایت‌های واکنشی با آر ایکس جی اس)، با RxJS به Observable مسلط می‌شوید و کد‌های جاوا اسکریپت ناهمگام خود را بسیار تمیزتر و ساده‌تر خواهید کرد.

 

 
تعداد بازدید: ۲۱۷۱
دیدگاه ها: ۰
تاریخ: 1399/10/04 23:01
توسط: MotoMan
امتیاز: ۲

برنامه‌های مدرن باید به جریان داده‌ها مانند رویدادهای کاربر و سیستم، پیام‌های داخلی و ورودی حسگر‌ها واکنش نشان دهند. (Reactive Extensions (Rx یک کتابخانه برای NET. است که بیش از 600 اپراتور را در خود جای داده است که می‌توانید آن‌ها را با هم ترکیب کنید تا برنامه‌های سمت کلاینت و سرور واکنشی (reactive) ایجاد کنید و رویدادها را به صورت غیرهمزمان مدیریت کنید به گونه ای که پاسخگویی، انعطاف پذیری و کشش را به حداکثر برسانند.

کتاب Rx.NET in Action (آر ایکس دات نت در عمل) تالیف Tamir Dresher، به توسعه دهندگان می‌آموزد که چگونه با استفاده از کتابخانه Rx برنامه‌های رویداد محور بسازند. این کتاب با مروری کلی از طراحی و معماری برنامه‌های ری اکتیو مبتنی بر Rx شروع می‌شود. شما با نمونه کد هایی دقیق و کامل به صورت عملی کار خواهید کرد تا نحوه‌ی بهره برداری از قابلیت‌های پرس و جوی غنی که Rx ارائه می‌دهد را مستقیما بررسی کنید و مدل همزمانی Rx که به شما امکان می‌دهد تا هم asynchronicity کدتان و هم پردازش event handler‌ها را کنترل کنید. شما همچنین در مورد مصرف جریان‌های رویداد، استفاده از برنامه ریز‌ها برای مدیریت زمان و کار با عملگر‌های Rx برای فیلتر کردن، تبدیل و گروه بندی رویدادها را یاد خواهید گرفت. خوانندگان این کتاب باید مفاهیم برنامه نویسی شی گرا را فهمیده باشند و با کد نویسی در سی شارپ راحت باشند.

تعداد بازدید: ۴۰۵۰
دیدگاه ها: ۲
تاریخ: 1396/11/20 16:13
توسط: MotoMan
امتیاز: ۲
برچسب ها: Java |Reactive Prgramming |

برنامه نویسی Reactive، یک اصطلاح عمومی برنامه نویسی است که تمرکزش بر روی  واکنش دادن به تغییرات است مثل مقادیر داده‌ها یا رویداد‌ها که معمولا این کار را می‌توان به صورت دستوری انجام داد. Callback رویکردی برای برنامه نویسی reactive است که دستوری انجام می‌شود. یک صفحه اکسل مثالی عالی از برنامه نویسی reactive است: سلول هایی که وابسته به سلول‌های دیگر هستند به صورت خودکار واکنش (react) نشان می‌دهند وقتی که مقادیر آن سلول‌ها تغییر می‌کنند.
در 28 اکتبر سال 2005، Ray Ozzie معمار ارشد مایکروسافت که اخیرا منصوب شده بود، یادداشتی غم انگیز برای کارکنان خود با عنوان اختلال سرویس‌های اینترنتی ایمیل کرد. در این یادداشت Ray Oziie نمایی کلی از این داد که اساسا جهان امروزه چگونه به نظر می‌رسد جایی که سازمان‌ها مثل مایکروسافت، گوگل، فیسبوک، آمازون و نتفلیکس از وب به عنوان کانال اصلی برای ارائه سرویس هایشان استفاده می‌کنند.
از دید یک توسعه دهنده، Ozzie بیانیه ای قابل توجه ای برای مدیر اجرایی یک شرکت بزرگ داد:
پیچیدگی کشنده است. دهان توسعه دهندگان را سرویس می‌کند، برنامه ریزی، بیلد و تست محصولات را مشکل می‌کند، چالش‌های امنیتی به بار می‌آورد و سبب ناامیدی کاربر نهایی و مدیر می‌شود.
اول از همه این را در نظر داشته باشید که در سال 2005، سازمان‌های بزرگ فناوری عمیقا عاشق فناوری‌های پیچیده ای مثل SOAP، WS-* و XML بودند. زمانی بود که هنوز لغت میکرو سرویس اختراع نشده بود و تکنولوژی ساده ای وجود نداشت تا به توسعه دهندگان کمک کند تا پیچیدگی ترکیب آسنکرون سرویس‌های پیچیده از قسمت‌های کوچکتر را مدیریت کنند و آن‌ها را از شر سر و کله زدن با نگرانی هایی مثل شکست، لتنسی، امنیت و کارآمدی راحت کند.
برای تیم برنامه نویسی ابری من در مایکروسافت، یادداشت Ozzie، بیدارباشی بود تا بر روی ابداع  یک مدل برنامه نویسی ساده برای ساخت معماری‌های سرویس اینترنتی آسنکرون با مقیاس بزرگ و data-intensive تمرکز کنیم. پس از شروع‌های غلط زیاد، نهایتا به ما این را آموخت که با دوگانه کردن اینترفیس Iterable/Iterator برای کالکشن‌های سنکرون، می‌توان به یک جفت اینترفیس برای ارائه جریان‌های رویداد آسنکرون، با همه‌ی عملگر‌های ترتیبی آشنا مثل map، filter، scan، zip، groupBy و غیره رسید برای تبدیل و ترکیب جریان داده‌های آسنکرون، و بدین ترتیب Rx جایی در تابستان 2007 متولد شد. در طول پروسه پیاده سازی ما فهمیدیم که باید همزمانی و زمان را مدیریت کنیم و برای آن ما ایده‌ی اجرا گرهای جاوا با زمان مجازی و برنامه ریزی مجدد اشتراکی را گسترش دادیم.
پس از دو سال سخت، hackathon جایی بود که انتخاب‌های طراحی زیادی را کشف کردیم، ما ابتدا Rx.NET را در 18 نوامبر سال 2009 بیرون دادیم. پس از آن زود ما Rx را به Microsoft.Phone.Reactive برای windows phone 7 پورت کردیم و به این منجر شد که Rx در زبان‌های متعدد دیگری مثل جاوا اسکریپت، ++C و به صورت نسخه‌های آزمایشی در روبی و Objective-C پیاده سازی شود.
همان طور که Rx در صنعت محبوب‌تر می‌شد، ما Microsoft Open Tech را متقاعد کردیم تا Rx .NET را در پاییز 2012 متن باز کند. پس از آن من مایکروسافت را ترک کردم تا 100 درصد از زمانم را روی Rx بگذارم تا آن را تبدیل به API ای cross-language و cross-platform برای پردازش دادهای استریم بلادرنگ آسنکرون کنم.
در کتاب برنامه نویسی Reactive با RxJava – ساخت برنامه‌های آسنکرون رویداد محور، با این که جزئیات RxJava مقداری متفاوت از پیاده سازی‌های دیگر Rx است، اما هنوز هم مخصوص همه‌ی شما توسعه دهندگانی ساخته شده است که احتیاج به زنده ماندن در دنیای جدیدی از پردازش داده‌های توزیع شده بلادرنگ دارند و می‌خواهند بر روی پیچیدگی‌های مورد احتیاج تمرکز کنند بدون اینکه درگیر پیچیدگی‌های تصادفی شوند که زندگی را به کامشان تلخ می‌کنند.

 

تعداد بازدید: ۵۷۱۲
دیدگاه ها: ۰
loading...

لطفا منتظر بمانید...