thisisnabi.dev [Farsi] – Telegram
thisisnabi.dev [Farsi]
2.16K subscribers
458 photos
38 videos
24 files
160 links
اینجا مطالبی از تجربیات خودم رو در زمینه طراحی سیستم با دات نت باهاتون به اشتراک میذارم.
Download Telegram
🔥 از هیچ تا پروداکشن

فرض ما این هست معماری مایکروسرویس کار ما رو راه می ندازه و برای همین چالش های اون محیط رو بررسی می کنیم.

توی این محیط ما توسعه، تست و دیپلوی رو پوشش خواهیم داد.

توضیحات بیشتر:
https://thisisnabi.dev/microservices/inventory

ثبت نام:
https://zarinp.al/640340

📌 لطفا فقط با آدرس gmail ثبت نام بفرمایید.
📌 دانش جزئی از سی شارپ و ASP.NET Core پیش نیاز است
📌 ریلیز ویدیو ها، هر سه شنبه ساعت 21:00
این بزرگوار، Yarp منظورم هستش
اوایل بعنوان Reverse Proxy اومد، ولی خب الان دارن بعنوان API Gateway ازش بیگاری میکشن 😁
ذخیره کردن enum در دیتابیس بصورت عدد واقعا اذیت هست وقتی داری از دیتابیس کوری میگیری،
اگر تونستید اسم enum رو ذخیره کنید، اگر خیلی اذیت پرفورمنس بودید، هم مقدار و هم نام رو ذخیره کنید.
یه ستون اضافه مسئله ای ایجاد نمی کنه ؛)
فقط حواستون به این موضوع باشه که اگر عناوین رو تغییر بدید، دیتا نمی تونه مپ بشه و خطا دارید.
اگر اسمی رو تغییری دادین، بصورت جدا برای دیتا های قدیمی اسکریپت بدید.

@thisisnabi_dev ♻️
زیباترین مثالی که برای SignalR دیدم در یک پروژه انبارداری بود که موجودی رو اعلام می کرد در موقع سند زد.
توی SignalR تعداد Connection های Alive فاکتور مهمی هست.

اینم یه نمونه مثال هست که می تونید داخل گیت هابم پیداش کنید و بررسی کنید.

https://github.com/thisisnabi
"اه این کد کار نمی کنه" چه کوفتیه؟

هیجان برنامه نویسی اون موقع تازه شروع میشه که می خوای یه مشکلی رو حل کنی.
thisisnabi.dev [Farsi]
اکسپشن بی صاحب، به این مدل از اکسپشن ها می گن که کسی گردنش نمی گیره تا به یوزر نهایی میرسه. توی میت Defensive Programming به این موضوعات می پردازیم. @thisisnabi_dev
روی API Gateway می تونید globally این مشکل رو حل کنید.
اگر توسعه دهنده ای هم روی یه سرویس یادش رفت و چنین گندی زد، شما حواستون بوده و کارو جم کردین.
یخورده تمیز تر شده، وگرنه زیاد چیز عجیب و غریبی نیست :)

@thisisnabi_dev
وبلاگش رو بخونید حرف نداره مقاله هاش❤️
خدایی زیبا نیست؟
هفته گذشته سر یه مسئله ای نیاز داشتم تا کاپلینگ 2 بخش یه سیستم رو از بین ببرم و ایده این پیاده سازی خیلی کمکم کرد.


@thisisnabi_dev ♻️
از اون روزی که حضرت رایگان شده منم با vs روی سیستم شخصیم خداحافظی کردم.
Asynchronous programming enables scalability, but BE CAREFUL :)
بی خودی هم اعداد فضایی ندید

چند روز پیش به یه دوستم که در xxx چند هکتار باغ داره توصیه کردم چند تا کره خر هم بگیره و ازشون ویدیو بذاریم تو یوتیوب.

قرار شده نصف نصف باشیم درامدش رو 😅
ای کسانی که سیرکت بریکیر می نویسید؛ سیرکت بریکر ننویسید و از polly استفاده کنید :/
با مایکروسرویس شروع نکنید!

این یک کلام ناآگاهانه س. بسته به ماهیت کار شما، باید در فاز discovery به این سوال پاسخ داده بشه که از چه معماری استفاده کنیم، نه اینکه نسخه عمومی براتون بپیچن.
Abstraction over Auth :)

یخورده پیاده سازی گیت هاب متفاوت بود و چون اکثر کارهایی که دارم انجام می دم روی اعتبارسنجی با گیت هاب هستش، ترجیح دادم یه AuthHandler برای گیت هاب بنویسم.

بزرگترین چالشم؟ نداشتم، زدیم رفت :)
دوست داشتید می تونید اینجا کدش رو ببینید.
2 عدد خطا عمدا گذاشتم درش، خواستید خودتون رو محک بزنید و پیداش کنید.

https://github.com/thisisnabi/AspNetCore.Authentication.GitHub
یکی از الزامات Auth2.1

@thisisnabi_dev