thisisnabi.dev [Farsi] – Telegram
thisisnabi.dev [Farsi]
2.16K subscribers
458 photos
38 videos
24 files
160 links
اینجا مطالبی از تجربیات خودم رو در زمینه طراحی سیستم با دات نت باهاتون به اشتراک میذارم.
Download Telegram
وبلاگش رو بخونید حرف نداره مقاله هاش❤️
خدایی زیبا نیست؟
هفته گذشته سر یه مسئله ای نیاز داشتم تا کاپلینگ 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
این فورس کردن https هم بخشی از الزامات auth2.1 هست.
روی BCL مایکروسافت شما Request.Scheme رو خواهید دید.
thisisnabi.dev [Farsi]
این فورس کردن https هم بخشی از الزامات auth2.1 هست. روی BCL مایکروسافت شما Request.Scheme رو خواهید دید.
این کجا داستان ساز میشه، وقتی دارین پترن Gateway Offloading استفاده میکنید و scheme رو از خود سرویس میگیرید.
احتمالا HTTP بهتون بده.
برای پیاده سازی top k problem با حجم دیتایی بالا (حدودا ۱۵۰ میلیون رکورد) در میت های سیستم دیزاین ۵ ساعت صحبت کردیم و ردیس رو هم به همین بهانه آموزش دادیم.

در این مثال، کنار top k problem باید یه key section هم دیده بشه.
9 ساعت روی Authentication & Authorization صحبت کردیم 🔥
فکر نکنم کلاسی مونده باشه در BCL که یه ناخنکی بهش نزده باشم.

البته هنوز 2 ساعتش مونده :)
تصور کنید در یک سیستم رویداد گرا، حجم زیادی از رویداد ها رو تولید کردید و این باعث شده که یک صفی از رویداد ها تشکیل بشه، به این نتیجه میرسید که یکی از رویداد باید حذف بشه. چه کاری انجام میدید؟ (چند روز دیگه جوابش رو میذارم براتون)
Final Results
20%
رویداد رو از صف حذف می کنید
80%
یک رویداد برای undo کردن تاثیرات رویداد مورد نظر ایجاد می کنید
امروز توی اینستا یه پستی دیدم از این پیج، می گفت ما رو فالو کن بعد کامنت بذار که لیست قیمت فلان محصول رو براتون بفرستیم. من فالو کردم و کامنت گذاشتم.

منتها از پیام مشخصه در اکشن فالوو eventual consistency داریم.
۱۰ ثانیه بعدش کامنت گذاشتم و اوکی بود.

اینکه strong consistency داشته باشید یا تاخیر بروز رسانی رو بپذیرید موضوع جذابی هست که خوبه یادش بگیریم.
👍1
بنظرم audit logging باید در سطح فریم ورک باشه و نباید بسپریمش به برنامه نویس.
چون احتمال فراموش کردنش هست.

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

وقتی می خواید فریمورک یک پروژه رو ارتقا بدین باید به breaking changes های نسخه جدید فریمورک  آشنا باشید.

شاید پروژه تون بیلد و حتی ران بشه، اما باید حواستون باشه که عملکرد نرم افزار شما می تونه متاثر باشه از این قضیه.
thisisnabi.dev [Farsi]
ASP.NET Core Roadmap [Persian]| Part 18: CI/CD ✔️ Channels: @thisisnabi_dev | @Moien_Tajik 〰️〰️〰️ [ Roadmap URL ]: https://github.com/MoienTajik/AspNetCore-Developer-Roadmap
با 2 عدد (یا بیشتر) پاد یا اینستنس به availability نمی رسیم. یه جایی کلا کلاستر از دسترس خارج میشه.
البته اینها رو تیم SRE و DevOps مدیریت می کنن ولی شما باید خواستتون رو بتونید مطرح کنید.

توی این ویدیو با معین عزیز در مورد این مطالب صحبت کردیم که شما تا کجا باید این مطالب رو بلد باشید.
قبلا ما ویدیو ها رو فقط در این کانال میذاشتیم، از این هفته به بعد ویدیو ها رو می تونید در آدرس زیر بدون فیلترشکن دانلود کنید.

امیدوارم که این ویدیو ها براتون مفید بوده باشه.

https://thisisnabi.dev/roadmaps/aspnetcore

@thisisnabi_dev