.NET Fun
1.78K subscribers
83 photos
58 videos
3 files
179 links
Let's Connect!

Linkedin: https://www.linkedin.com/in/babak-taremi

Github: https://github.com/babaktaremi

Twitter: https://twitter.com/BabakTaremi

Telegram: @bob_tm

دانلود دوره های برنامه نویسی کاملا رایگان:
@DotNetFunBot
Download Telegram
هرچی از خوبی های XUnit بگم کم گفتم
تو پروژه ای که دارم روش کار میکنم یه سری یونیت تست بود که توی پایپ لاین های CI CD پاس نمیشدن ( مثلا برای تست یک external api یونیت تست نوشته شده بود و توکن های Authorization مربوط بهش ست نشده بود) . خیلی راحت با استفاده از Trait تونستیم که این تست ها رو در CI CD فیلتر کنیم و اجراشون نکنیم. اینطوری هم پاس شدن تست ها رو اجباری کردیم هم خیلی راحت تست هایی که باید تو پایپ لاین اجرا بشن رو مشخص کردیم. به زودی یک ویدیو راجبش میسازم

Join: https://t.iss.one/DotNetIsFun
سلام به همه دوستان امیدوارم حالتون خوب باشه!

خیلی از رفقا به بنده لطف داشتند و درخواست داشتند که جلسات مشاوره و منتورشیپ داشته باشیم

از این به بعد میتونید برای رزرو جلسات مشاوره در زمینه C# ، .NET و مهندسی نرم افزار از طریق ADPList اقدام کنید. در این جلسات باهم راجع به چالش هایی که دارید صحبت میکنیم و سعی میکنیم به یک راه حل خوب و عملی برسیم.
تمامی این جلسات رایگان هستند.

- برای رزرو تایم میتونید از طریق لینک زیر اقدام کنید:

https://adplist.org/mentors/babak-taremi
تعداد میکروسرویس ها معیار خوبی برای خفن بودن پروژه ای که دارید روش کار میکنید نیست ! شما اگه صد تا میکروسرویس داشته باشید و برای یک فیچر باید ۹۸ تاشون رو تغییر بدید ینی Boundary ها رو درست تشخیص ندادید و یه کاپلینگ وحشتناکی رو بوجود آوردید. اینجا دیگه نباید گفت میکروسرویس، باید گفت افتضاحی که در آینده هیشکی گردن نمیگیرتش!

Join: https://t.iss.one/DotNetIsFun
This media is not supported in your browser
VIEW IN TELEGRAM
به خدا همینه

بعد طرف میخواد خودشو تو لینکدین گنده و خفن نشون بده میاد میگه تو مصاحبه ازش پرسیدم فرق Span و Memory چیه نمیدونست با تحقیر ردش کردم😂


#Fun

Join : @DotNetIsFun
فرهنگ سازمان و جو تیمی که توش میخواید کار کنین از همه چی مهم تره و باید باعث شه هرروز با حال خوب برید سرکار . با چهار تا جمله اینکه اینجا آخرین تکنولوژی رو استفاده میکنیم و سرویس اینترپرایز توسعه میدیم و اتاق گیم و ولکام پکیج داریم گول نخورین :)

Join: @DotNetIsFun
.NET Fun
دوره جامعه Clean Architecture . در این دوره کامل به مبحث Clean Architecture خواهیم پرداخت و یک تمپلیت جامع و خوب برای اون خواهیم نوشت. مباحثی که در طول دوره بررسی میکنیم: - Clean Architecture Project Structure - Mediator Pattern Using Mediator Library (…
تا الان ۱۳ ساعت از دوره ضبط شده و همچنان دوره برقراره ( فکر کنم ۲۰ ساعت رو رد کنیم)
درخواست ها برای ثبت نام خیلی زیاده برای همین ظرفیت محدودی رو برای ثبت نام باز کردم.
برای ثبت نام به من پیام بدین.
@BoB_Tm
از زیبایی های Test Container . خیلی ساده و خوشگل توی Github Actions یک SQL Server Database آوردیم بالا ، تست های مربوط به Persistence رو روش ران کردیم و بعدش هم Container رو کلا پاک کردیم.
حالا هی بگید Test Container بده و Sqlite برای تست های EF Core و Persistence خوبه.
پ ن : بخشی از دوره Clean Architecture رو دارید مشاهده میکنید. توی این دوره راجع به همه چی صحبت میکنیم کنارش Clean Architecture هم توضیح میدیم 😁

Join : @DotNetIsFun
- اگه برنامه نویسی برات خسته کننده شده و برای هر فیچر داری یه کار تکراری رو انجام میدی اصل DRY رو رعایت نکردی

- اگه خیلی نگران آینده ای و در گذشته کلی فیچر و کد نوشتی که تا الان یکبار هم ازشون استفاده نکردی اصل YAGNI رو رعایت نکردی

- اگه هیچ نوآوری توی کدی که مینویسی نداری و همون کاری که پنج سال پیش میکردی رو داری الان میکنی تو دیگه برنامه نویس نیستی. به زندگی کارمندی خوش اومدی!

چند مورد هم شما اضافه کنید

Join : @DotNetIsFun
یه ریپو private دارم که توش سوالای مصاحبه سی شارپ و دات نت رو گذاشتم ( یه بخشی کوچیکی هم سوالات DDD و میکروسرویس هست)
اگه پابلیکش کنیم برای بهتر شدنش مشارکت میکنید؟😁
پکیج Google Captcha Component برای بلیزور به ورژن 5 آپدیت شد. توی این ورژن حالا ساپورت Action Paramter ها رو برای V3 هم داریم. خیلی حس خوبیه که یک نفری که نمیشناسی روی پروژت کانتریبوت میکنه و فیچر های کاربردی بهش اضافه میکنه و خیلی حس بهتریه که تونستی پکیجی رو توسعه بدی که خیلیا ازش استفاده میکنن و کارشون رو راه انداخته :)

Repo:
https://github.com/babaktaremi/GoogleCaptchaComponent

Join : @DotNetIsFun
کتاب C# in a nutshell برای ما که هرروز با اپلیکیشن های دات نتی سر و کله میزنیم مثل دایرة المعارف میمونه که موقع مشکل و ابهام باید بهش رجوع کنیم
ممنونم از رفهاب عزیز که این کتاب رو با بالاترین کیفیت ممکن برام چاپ کرد و فرستاد.

دانلود رایگان و سفارش این کتاب:
https://refhub.ir/fa/refrence_detail/c_sharp_12_in_a_nutshell_the_definitive_reference/

کانال رفهاب:
@refhubOfficial
.NET Fun
دوره جامعه Clean Architecture . در این دوره کامل به مبحث Clean Architecture خواهیم پرداخت و یک تمپلیت جامع و خوب برای اون خواهیم نوشت. مباحثی که در طول دوره بررسی میکنیم: - Clean Architecture Project Structure - Mediator Pattern Using Mediator Library (…
جلسات مربوط به آیدنتیتی هم ضبط شد. دوره هرروز داره کاملتر میشه و خدا رو شکر تمام شرکت کننده ها هم راضین . همه مباحث هم با جزییات کامل بررسی میکنیم و Best Practice ها رو هم بهشون اشاره میکنیم ( جز این هم نباید باشه 😁)

Join : @DotNetIsFun
مایکروسافت توی دات نت ۹ لایبرری محبوب Swashbuckle رو کنار گذاشت و دیگه بصورت پیش فرض توی تمپلیت Web API وجود نداره. نظر شما چیه؟
Anonymous Poll
49%
از قابلیت جدید دات نت ۹ و Built in support ای که برای OpenAPI اضافه کرده استفاده میکنم
11%
میرم سراغ NSwag
23%
به استفاده از Swashbuckle ادامه میدم
17%
هنوز تو دات نت فریم ورک گیر کردم!
.NET Fun
مایکروسافت توی دات نت ۹ لایبرری محبوب Swashbuckle رو کنار گذاشت و دیگه بصورت پیش فرض توی تمپلیت Web API وجود نداره. نظر شما چیه؟
بنظر من فعلا زوده که بخوایم تو پروژه هامون از قابلیت Built In دات نت ۹ برای OpenAPI استفاده کنیم . NSwag پروژه جالبیه ولی یکسری از قابلیت های Swashbuckle رو باید خودمون براش پیاده سازی کنیم
به زودی پروژه Clean Architecture Template رو به NSwag انتقال میدم
Join: @DotNetIsFun
Forwarded from IT Guys👾
در سطح سازمانی، راه‌اندازی یک Docker Registry قابل اعتماد و امن برای ذخیره، مدیریت و توزیع تصاویر Docker اهمیت زیادی دارد. برخی از بهترین Docker Registryها که برای پیاده‌سازی در سطح سازمانی مناسب هستند عبارتند از:

1. Docker Trusted Registry (DTR)
ویژگی‌ها:
نسخه تجاری Docker که به صورت کامل یکپارچه با Docker Enterprise کار می‌کند.
ارائه امنیت بالا با قابلیت اسکن آسیب‌پذیری (vulnerability scanning).
پشتیبانی از کنترل دسترسی نقش‌محور (RBAC) و تنظیمات امنیتی پیشرفته.
قابلیت مدیریت تصاویر در چندین دیتاسنتر و زیرساخت ابری.
مناسب برای: سازمان‌های بزرگ با نیازهای امنیتی بالا و مدیریت متمرکز.

2. Harbor
ویژگی‌ها:
یک رجیستری متن‌باز که توسط VMware پشتیبانی می‌شود.
پشتیبانی از امضای تصویر (image signing) و اسکن آسیب‌پذیری.
یکپارچه‌سازی با LDAP و Active Directory برای احراز هویت کاربران.
مدیریت فضاها (projects) و کنترل دسترسی بر اساس نقش‌ها.
پشتیبانی از replication برای انتشار تصاویر بین رجیستری‌های متعدد.
مناسب برای: سازمان‌هایی که نیاز به یک راهکار متن‌باز قوی و امن دارند.

3. Quay
ویژگی‌ها:
توسط Red Hat توسعه یافته است و پشتیبانی تجاری نیز ارائه می‌دهد.
امکان اسکن آسیب‌پذیری و مدیریت دقیق دسترسی به تصاویر.
قابلیت replication تصاویر بین رجیستری‌های مختلف و چندین دیتاسنتر.
یکپارچه‌سازی با سیستم‌های مدیریت دسترسی و CI/CD.
پشتیبانی از ساخت خودکار تصاویر از GitHub و GitLab.
مناسب برای: سازمان‌هایی که نیاز به یک رجیستری تجاری با امکانات گسترده دارند و از فناوری‌های Red Hat استفاده می‌کنند.

4. AWS Elastic Container Registry (ECR)
ویژگی‌ها:
یک سرویس رجیستری مدیریت‌شده توسط AWS.
قابلیت یکپارچه‌سازی کامل با سرویس‌های AWS مثل ECS و EKS.
امنیت بالا با مدیریت دسترسی از طریق IAM.
قابلیت replication تصاویر در بین مناطق مختلف AWS.
مدیریت خودکار اعتبارنامه‌ها و رمزنگاری.
مناسب برای: سازمان‌هایی که از زیرساخت ابری AWS استفاده می‌کنند و به دنبال یک راهکار ساده و مدیریت‌شده هستند.

5. Google Container Registry (GCR)
ویژگی‌ها:
رجیستری مدیریت‌شده توسط Google Cloud.
امنیت قوی با یکپارچه‌سازی IAM و رمزنگاری داده‌ها.
امکان ذخیره و مدیریت تصاویر در چندین منطقه جغرافیایی.
پشتیبانی از اسکن آسیب‌پذیری و CI/CD pipeline یکپارچه.
مناسب برای: سازمان‌هایی که زیرساخت ابری Google Cloud را انتخاب کرده‌اند.

6. Azure Container Registry (ACR)
ویژگی‌ها:
سرویس رجیستری مدیریت‌شده توسط Microsoft Azure.
قابلیت اسکن آسیب‌پذیری، replication و رمزنگاری تصاویر.
پشتیبانی از multi-region replication برای توزیع تصاویر.
یکپارچه‌سازی با Azure DevOps و سایر سرویس‌های Azure.
مناسب برای: سازمان‌هایی که در زیرساخت Azure فعالیت دارند و به دنبال یک رجیستری یکپارچه هستند.

7. JFrog Artifactory
ویژگی‌ها:
پشتیبانی از Docker Registry همراه با مدیریت سایر انواع بسته‌ها و artifact‌ها.
پشتیبانی از دسترسی پیشرفته، کنترل نسخه، و replication.
اسکن امنیتی و مدیریت دسترسی بر اساس نقش‌ها.
یکپارچه‌سازی با ابزارهای CI/CD.
مناسب برای: سازمان‌هایی که به دنبال یک راهکار جامع برای مدیریت تمامی بسته‌ها و artifactها هستند.

جمع‌بندی:
اگر سازمان شما به دنبال یک راهکار متن‌باز و قدرتمند است، Harbor یک انتخاب عالی است. اما اگر نیاز به سرویس‌های ابری دارید، رجیستری‌های مدیریت‌شده مانند AWS ECR یا Azure ACR مناسب‌تر خواهند بود. برای راهکارهای سازمانی پیشرفته و نیاز به پشتیبانی تجاری، Docker Trusted Registry و JFrog Artifactory انتخاب‌های بسیار خوبی هستند.
پرفورمنس رو جدی بگیرید. این ایده غلطه که یوزر یک ثانیه بیشتر معطل بمونه اتفاقی نمیوفته.
وب سایت آمازون تخمین زده که اگه تو لود یک صفحه 1 ثانیه تاخیر داشته باشن میتونه ضرر میلیارد دلاری بهمراه داشته باشه
https://www.fastcompany.com/1825005/how-one-second-could-cost-amazon-16-billion-sales

Join: @DotNetIsFun
امروز دو تا از بزرگترین چالش ها توی دنیای نرم افزار ( مشکل Thread Starvation و Memory Leak) رو حل کردیم . از خوشحالی برنمیتابم😁
Join: @DotNetIsFun
یکی از مواردی که استفاده از async/await باعث بهبود پرفورمنس نمیشه. این یک Issue توی EF Core هست که الان حدود چهار سال هست که بازه. سعید خیلی زیبا و قشنگ و ساده توی این ویدیو راجبش توضیح داده ( کلا سعید افتخار ما دولوپرای دات نت هست و دانش خیلی عمیقی داره و بشخصه خیلی چیز ها ازش یاد گرفتم)
https://www.youtube.com/watch?v=Wet1EHDNSiQ&t=942s

Join : @DotNetIsFun