Mehdi Yasinzadeh
Mehdi Yasinzadeh
خواندن ۳ دقیقه·۳ سال پیش

برنامه نویسی Reactive و event-driven چیست؟

سلام به گلای توی خونه امیدوارم حال دلتون خوب جیبتون پر پول باشه ?
خیلی وقت بود میخواستم بیام و در مورد ریاکتیو و برنامه نویسی رویداد محور کوتاه صحبت کنم اما واقعا وقت نمیکنم ترم اخر زندان ببخشید دانشگاه هستم (کارشناسی) و دارم روی پروژم کار میکنم همچنین دغدغه های کار و سینگلی و... هم هستن
امروز هر طور بود اومدم توی ویرگول و شروع کردم به نوشتن (:

خوب بچه ها میخوام بازم با یه مثال ریاکتیو و برنامه نویسی رویداد محور رو توضیح بدم امیدوارم که همه ی سروران متوجهش بشن و اما اگر نشدن یقین داشته باشن که من بد توضیح دادم.
توضیح من بسیاررررررر ساده و بیسیکه نمیخوام خیلی دیپ بشم در حدی که اگر یه جایی شنیدین بدونید چی به چیه و اون قد راجبش گنگ نباشید.

اول با مثال عامیانه شروع میکنم ?
فرض کنید وسط تابستونه و شما دارید از گرما میمیرین پوشیدن تمبون و رکابی (برای خواهران تاپ و شلوارک) نشستین اما پاسخگو نیست میرید و کولر رو روشن میکنید در اینجا پدرررررر از وسط هال به روشن شدن کولر واکنش میده اینجا پدر شما به یک اتفاقی یا رخدادی یا event خاصی حساسه و به محض رخ دادن اون میاد و یه رفتاری رو از خودش نشون میده مثالا میاد در مورد اینکه هیچ تضمینی نیست بار بعد از خونه میرید بیرون موقع برگشت دری به روی شما باز بشه توضیح میده?
پس ما میتونیم کدی بزنیم که به یسری اتفاقات حساسه و وقتی رخ داد متناسب با اون قسمتی از کد شما وارد عمل بشه... به این میگن برنامه نویسی رخ داد محور یا event-driven

و اما برنامه نویسی ری اکتیو
فک کنید میخواین یسری عکس رو از دیتابیس بگیرین (به والله میدونیم نیازی به ذخیره توی دیتابیس نیست میتونیم اونا رو توی سرور ذخیره کنیم و لینکشو سیو کنیم)
حالت عادی میان چیکار میکنید میگین همه ی عکسا رو بده مثلا توی اسپرینگ (دخترم) هایبرنیت میره همه ی اینارو از دیتابیس میگیره یه session توی رم باز میکنه همه ی اینارو کش میکنه میده ما
خوب این طوری دهن رم سرویس میشه و شاید حتی رم لیویک (رم پرشده) هم بده فاجعه رو این طور فرض کنید که ریکوست های سایت هم بالاس
اسپرینگ میاد میگه خوشتیپ بیا بهم بگو مثلا یک صفحه از این عکسارو بده بهش میگن pagination و تا حدی فضای رم کمتر اشغال میشه ولی هنوز قابل قبول نیست...
در اینجا ری اکتیو میاد میگه: موقشنگا بیاین کارو بسپارین به من (:
یه ایده میده میگه آقا من به دیتابیس میگم هر عکسی آماده شد بهم بده و نگه نداره بعد همه رو باهم بده و هرکدومو مثلا توی ترد های مختلف بده پس بلاک نمیشن یعنی چی
یعنی فک کنید یکی ازین عکسا خراب بود این طوری دیگه قرار نیست هیچی نده همه رو میده و فقط اون یکی رو نمیده سرعت خدا (اگر بش ریسورس خوب بدی) مشکل رم هم حل ? دیگه چی میخواییییین??

امیدوارم مطالبم درست باشه ولی اگر هم نبود به محض اینکه کامنتی مخالف گرفتم راجبش تحقیق میکنم و مطلبمو متناسب با اون آپدیت میکنم.

شاید من خیلییییی دیر شروع کردم به مطالعه و واقعا هم سخته آسون نیست اما مهم تلاش آدماس مهم اینه جلوی خودت شرمنده نباشی بهتون پیشنهاد میکنم حتماااااااا کتاب بخونیدددددد.

هر رفتنی رسیدنی نیست
اما برای رسیدن راهی جز رفتن نیست
در بن بست هم راه آسمان باز است
فقط باید پرواز را آموخت....

reactivejavakotlinspring
شاید یک برنامه نویس ...
شاید از این پست‌ها خوشتان بیاید