DotNet | دات نت – Telegram
DotNet | دات نت
1.19K subscribers
671 photos
231 videos
486 files
730 links
تو این روزا بهتره که همیشه علم خودمون رو بالا ببریم و بتونیم با سریع ترین راه ممکن خودمونو بروز نگه داریم.
- سعی کنیم از کمترین امکانات بیشترین بهره رو ببریم
منتظرت هستیم😉
دنیا رو جای بهتری برای یادگیری کنیم 🌹
#course #book


🆔 @dotnetcode
Download Telegram
🛡 انقلابی در امنیت کانتینرها: داکر Hardened Images رایگان شد!

اگر در حوزه DevOps یا توسعه نرم‌افزار فعالیت می‌کنید، احتمالاً می‌دانید که پاکسازی ایمیج‌ها از آسیب‌پذیری‌ها (CVE) یکی از خسته‌کننده‌ترین کارهاست. داکر با عمومی کردن کاتالوگ Hardened Images (DHI)، یک استاندارد جدید برای امنیت معرفی کرده است.

🔹 چرا این قابلیت یک تغییر بزرگ (Game Changer) است؟

1️⃣ امنیت فراتر از انتظار (SLSA Level 3):
این ایمیج‌ها فقط "لاغر" نیستند، بلکه دارای گواهینامه SLSA Build Level 3 هستند. این یعنی داکر تضمین می‌کند که فرآیند ساخت ایمیج کاملاً خودکار، غیرقابل دستکاری و قابل ردیابی است. شما دقیقاً می‌دانید چه چیزی، چگونه و توسط چه کسی ساخته شده است.

2️⃣ اجرا بدون دسترسی Root (Non-Root by Default):
یکی از بزرگترین ریسک‌های امنیتی، اجرای اپلیکیشن با دسترسی روت است. تمامی ایمیج‌های مقاوم‌سازی شده داکر به‌صورت پیش‌فرض Non-Root هستند. یعنی حتی اگر اپلیکیشن شما هک شود، نفوذگر دسترسی سیستمی به کانتینر نخواهد داشت.

3️⃣ هوش مصنوعی در خدمت امنیت:
داکر از یک سیستم AI Guardrail برای بررسی کدهای بالادستی (Upstream) استفاده می‌کند. اگر پکیجی که داکر از آن استفاده می‌کند (مثل Nginx یا Python) آپدیت شود و در کد جدیدش یک باگ منطقی یا امنیتی وجود داشته باشد، هوش مصنوعی داکر قبل از انتشار ایمیج، جلوی آن را می‌گیرد.

4️⃣ شفافیت کامل با SBOM و VEX:
هر ایمیج همراه با یک شناسنامه دیجیتال (SBOM) ارائه می‌شود که لیست تک‌تک کتابخانه‌ها را دارد. همچنین با استفاده از فایل‌های VEX، به شما می‌گوید کدام آسیب‌پذیری‌ها واقعاً خطرناک هستند و کدام‌ها تأثیری روی برنامه شما ندارند تا بیهوده وقتتان را صرف هشدارهای اشتباه (False Positives) نکنید.

5️⃣ سازگاری کامل (Drop-in Replacement):
برخلاف برخی ایمیج‌های امنیتی دیگر که شما را مجبور به تغییر سیستم‌عامل می‌کنند، داکر این ایمیج‌ها را بر پایه توزیع‌های محبوبی مثل Alpine و Debian ساخته است. یعنی مهاجرت به آن‌ها دردسر فنی عجیبی ندارد.

نتیجه نهایی:
استفاده از DHI یعنی کاهش ۹۵ درصدی سطح حملات و رسیدن به نزدیکی صفر CVE. اگر امنیت برایتان اولویت است، همین امروز خط FROM را در داکرفایل‌هایتان تغییر دهید.

🔗 برای بررسی عمیق‌تر این ویدیو را ببینید:
https://youtu.be/Al1_71oGh18?si=LRONaGOWosQ_srk-


#Docker #Security #DevOps #CyberSecurity #CloudNative #DHI #امنیت #داکر #برنامه_نویسی #دواپس

🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🔥1👏1
چطوری مثل یک «گوگلر» از شر شلوغی ذهن راحت شیم؟

تا حالا شده یه ایده عالی تو مترو به ذهنت برسه و نیم ساعت بعد یادت بره؟ یا وسط ناهار رئیست یه کاری بهت بسپره و فردا صبح اصلاً یادت نیاد چی بود؟

جف سو (که سال‌ها تو گوگل بوده) یه سیستم بهره‌وری به اسم Core Workflow رو معرفی کرده که تو گوگل به هزاران نفر یاد داده. اصل حرفش اینه: «مغز ما برای ایده‌پردازیه، نه برای نگه داشتن ایده‌ها!»
این سیستم ۴ تا مرحله خیلی ساده داره که فرقی نمی‌کنه با چه اپلیکیشنی (Notion، تقویم گوگل یا حتی دفترچه یادداشت) انجامش بدی:

۱️⃣ ثبت (Capture): 📱
به محض اینکه تسک، ایده یا فایلی اومد سراغت، سریع یه جا یادداشتش کن. نذار تو چرخ‌دنده‌های ذهنت بمونه. (مثلاً تو اپلیکیشن Tasks یا Google Keep).

۲️⃣ سازماندهی (Organize): 📁
برای هر چیزی که ثبت کردی، یه «تاریخ انجام» یا یه «برچسب» (Tag) بذار. تسکی که تاریخ نداشته باشه، عملاً گم شده‌ست.

۳️⃣ مرور (Review): 🔍
این مهم‌ترین بخشه! باید زمان‌های مشخصی در روز (مثلاً اول صبح یا قبل تعطیل شدن) داشته باشی که بری سراغ یادداشت‌هات. توی این مرحله‌ست که تصمیم می‌گیری فلان ایده رو کی انجام بدی یا براش تو تقویمت وقت رزرو کنی.

۴️⃣ اجرا (Engage):
حالا که همه چیز مرتبه و براش وقت گذاشتی، با تمرکز کامل برو سراغ انجام دادنش.

💡 چند تا نکته طلایی از ویدیو:

* اراده و انگیزه همیشگی نیست؛ سیستم داشته باش تا حتی روزایی که بی‌حالی هم کارات پیش بره.

* ابزار مهم نیست (Notion باشه یا کاغذ)، مهم اینه که به این چرخه پایبند باشی.

* سختیِ یاد گرفتن این عادت جدید، خیلی کمتر از استرسِ عقب موندن از کارهاست.
اگه می‌خوای ذهنت آزاد بشه و بازدهی‌ت بره بالا، این ۴ مرحله رو از همین امروز تست کن!

#بهره_وری #تکنولوژی #برنامه_ریزی #گوگل #رشد_فردی

لینک ویدیو برای دیدن جزئیات بیشتر:

https://youtu.be/oO9GLC2iKy8?si=Ew1sRj3H7qNNVm_w

🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🎉3👏21
معرفی FunctionGemma: کوچولوی نابغه گوگل برای برنامه‌نویس‌ها!

بچه‌ها سلام! خبر دارید که گوگل از یه مدل هوش مصنوعی جدید و خیلی خاص به اسم FunctionGemma رونمایی کرده؟

اگر یادتون باشه، گوگل قبلاً مدل Gemma 3 270M رو معرفی کرده بود که به خاطر اندازه خیلی کوچیکش حسابی سر و صدا کرد. اما جامعه برنامه‌نویس‌ها دنبال یه قابلیت مهم بودن: Tool Calling یا همون توانایی فراخوانی ابزارها و توابع. حالا گوگل با معرفی FunctionGemma دقیقاً همین نیاز رو برطرف کرده.

حالا این مدل اصلاً به چه دردی می‌خوره؟

این مدل طراحی شده تا زبان عامیانه ما رو بفهمه و اون رو به دستورات برنامه‌نویسی (API calls) تبدیل کنه. ویژگی‌های اصلیش ایناست:

سرعت خیره‌کننده: چون مدل خیلی سبک و بهینه‌ای هست، با سرعت خیلی بالا حتی روی گوشی‌های موبایل و سخت‌افزارهای معمولی اجرا میشه.

امنیت و حریم خصوصی: همه پردازش‌ها می‌تونه کاملاً روی خود دستگاه (On-device) انجام بشه؛ یعنی لازم نیست دیتای کاربر به ابری یا سروری فرستاده بشه.

تخصص بالا: شما می‌تونید این مدل رو برای کارهای خاص خودتون «Fine-tune» یا شخصی‌سازی کنید. مثلاً توی دموهای ویدیو دیدیم که با یه دستور صوتی ساده مثل "چراغ قوه رو روشن کن" یا "ناهار فردا رو توی تقویم ثبت کن"، مدل دقیقاً می‌فهمه باید کدوم تابع رو توی گوشی اجرا کنه.

چند تا مثال جذاب از کاربردش:
* توی بازی‌ها: می‌تونید به بازی بگید "توی ردیف اول گل آفتابگردان بکار و بهشون آب بده" و مدل خودش مختصات رو پیدا می‌کنه و دستور کاشت و آبیاری رو به موتور بازی می‌فرسته!

* اپلیکیشن‌های موبایل: تبدیل فرمان‌های صوتی یا متنی به کارهای واقعی درون برنامه بدون کمترین معطلی.

از کجا شروع کنیم؟ 🛠
این مدل الان روی پلتفرم‌های معروفی مثل Hugging Face و Kaggle در دسترسه و با اکثر ابزارهای دنیای Open Source مثل Ollama هم کاملاً سازگاره.

اگر برنامه‌نویس هستید یا به دنیای هوش مصنوعی علاقه دارید، پیشنهاد می‌کنم حتماً یه نگاهی بهش بندازید. گوگل حتی یه «کتاب آشپزی» یا همون Cookbook منتشر کرده که قدم به قدم یادتون میده چطور ازش استفاده کنید.

ویدیو کامل رو هم می‌تونید از اینجا ببینید:
🔗 https://youtu.be/-Tgc_9uYJLI

#هوش_مصنوعی #گوگل #برنامه_نویسی #تکنولوژی #Gemma #AI

🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
6👏2🔥1
update-docker-images.ps1
6 KB
🐳 با یک کلیک، داکر خود را نونوار کنید!

آپدیت نگه داشتن ایمیج‌ها همیشه دردسر بوده؛ یا یادت می‌رود، یا محیط ترمینال هنگام دانلود خیلی خشک و بی‌روح است. اما این اسکریپت PowerShell که براتون آماده کردم، ماجرا را کلاً عوض می‌کند.

💎 قابلیت‌های جذاب این اسکریپت:

* تشخیص هوشمند: فقط ایمیج‌های معتبر را لیست می‌کند و موارد اضافی (<none>) را نادیده می‌گیرد.

* داشبورد زنده (Live UI): وضعیت CPU و سرعت دیسک شما را حین آپدیت نشان می‌دهد.

* محاسبه دقیق: زمان باقی‌مانده (ETA) و سرعت دانلود هر ایمیج را به شما می‌گوید.

* گزارش نهایی شیک: در پایان کار، یک جدول تمیز از ایمیج‌های آپدیت شده، حجم مصرفی و زمان صرف شده به شما تحویل می‌دهد.

---

### 🛠 چطور از آن استفاده کنیم؟

۱. متن اسکریپت را کپی و در یک فایل با نام update-docker.ps1 ذخیره کنید.
۲. ترمینال (PowerShell) را باز کنید.
۳. دستور زیر را اجرا کنید:
.\update-docker.ps1

خداحافظ ایمیج‌های قدیمی، سلام به سرعت و امنیت! ⚡️

---

#Docker #DevOps #PowerShell #Automation #Programming #داکر #برنامه_نویسی #دوآپس #اتوماسیون

🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥3👍1👏1
بازگشت مقتدرانه گوگل با Gemini!

زمانی که ChatGPT معرفی شد، بسیاری فکر می‌کردند دوران سلطه گوگل بر اینترنت به پایان رسیده است. اما آمارهای جدید سال ۲۰۲۵ نشان می‌دهد که «غول جستجو» نه تنها نمرده، بلکه با مدل Gemini در حال بازپس‌گیری قلمرو خود است.

📊 تحلیل آمار خیره‌کننده رشد:
طبق گزارش‌های اخیر، سهم بازار جمینای در سال جاری میلادی ۳ برابر شده است. اما این عدد در واقعیت به چه معناست؟

1️⃣ انفجار ترافیک: بازدیدهای مستقیم از پلتفرم Gemini به رقم باورنکردنی ۸۹۴ میلیون در ماه رسیده است.

2️⃣ رشد کاربران فعال: حالا بیش از ۴۵۰ میلیون کاربر فعال ماهانه از خدمات جمینای استفاده می‌کنند.

3️⃣ سهم بازار: گوگل موفق شده سهم خود را به ۱۳.۵٪ برساند؛ جهشی که لرزه بر اندام OpenAI و Microsoft انداخته است.

💡 چرا ورق به نفع گوگل برگشت؟ (جزئیات استراتژیک)

🔹 یکپارچگی بی‌نظیر (The Ecosystem Power):
گوگل جمینای را در تمام سوراخ‌سمبه‌های زندگی دیجیتال ما تزریق کرده است! از دکمه Gemini در اندروید گرفته تا تحلیل مستقیم فایل‌ها در Google Docs و Drive. کاربر دیگر نیازی به جابه‌جایی بین اپلیکیشن‌ها ندارد.

🔹 سرعت و هوش مدل‌های جدید:
معرفی مدل‌های سری Flash (مثل Gemini 1.5 Flash) بازی را عوض کرد. این مدل‌ها به شدت سریع و ارزان هستند و برای کارهای روزمره، از ChatGPT-4o عملکرد روان‌تری نشان می‌دهند.

🔹 قابلیت‌های چندوجهی (Multimodality):
جمینای برخلاف بسیاری از رقبا، از پایه برای درک همزمان ویدیو، صوت و متن طراحی شده. این یعنی شما می‌توانید یک ویدیوی ۱ ساعته یوتیوب را به او بدهید و در عرض چند ثانیه، جزئی‌ترین نکاتش را بپرسید.

🔹 رفع اشتباهات گذشته:
گوگل با درس گرفتن از گاف‌های اولیه (مثل ماجرای تولید تصاویر تاریخی)، حالا روی دقت داده‌ها و ارائه لینک‌های مستقیم منبع تمرکز کرده که اعتماد کاربران بیزنسی را جلب کرده است.

🏁 نتیجه‌گیری:
جنگ هوش مصنوعی وارد فاز جدیدی شده است. اگر OpenAI "نوآور" بود، گوگل نشان داد که "پادشاه مقیاس‌پذیری" است. با این نرخ رشد، سال ۲۰۲۶ می‌تواند سالی باشد که جمینای شانه به شانه ChatGPT حرکت کند.

🤔 نظر شما چیست؟
آیا شما هم از ChatGPT به سمت Gemini کوچ کرده‌اید یا هنوز وفادار مانده‌اید؟ در کامنت‌ها بگویید چرا!

https://www.perplexity.ai/page/google-s-gemini-triples-market-S26usozfTj2sgx5g_NiX1A


#هوش_مصنوعی #گوگل #تکنولوژی #جمینای #بیزنس #AI #Gemini #Google #ChatGPT

🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥2
گزیده برترین‌های .NET در سال ۲۰۲۵؛ نقشه راه توسعه‌دهندگان حرفه‌ای

دنیای دات‌نت در سال ۲۰۲۵ با سرعت خیره‌کننده‌ای حرکت کرد. مایکروسافت لیست مقالات برتر سال را منتشر کرده که هر کدام نقطه عطفی در مسیر حرفه‌ای ما هستند. در ادامه، این تحولات کلیدی را مرور می‌کنیم:

🔹 پایداری و قدرت با معرفی .NET 10 LTS

نسخه دهم دات‌نت به عنوان یک نسخه با پشتیبانی بلندمدت (LTS) منتشر شد تا خیال سازمان‌ها را از بابت امنیت و پایداری راحت کند. این نسخه تمرکز ویژه‌ای بر بهبودهای Runtime و قابلیت‌های جدید زبان C# 14 دارد که توسعه اپلیکیشن‌های پیچیده را ساده‌تر از همیشه می‌کند.

🔗 مطالعه جزئیات .NET 10

🔹 اوج‌گیری پرفورمنس در لایه‌های زیرساختی

بهینه‌سازی بازدهی در سال ۲۰۲۵ به تکامل رسید. مقالات فنی امسال نشان دادند که چطور با استفاده از ویژگی‌های جدیدی مثل Dynamic PGO و بهینه‌سازی‌های لایه JIT، سرعت اجرای کدها بدون نیاز به تغییر در منطق بیزینس، جهش چشمگیری داشته است.

🔗 بررسی بهبودهای Performance

🔹 یکپارچگی عمیق با دنیای هوش مصنوعی (AI)

توسعه هوشمند حالا بخش جدایی‌ناپذیری از اکوسیستم دات‌نت است. با معرفی کتابخانه‌های جدید و ابزارهای توسعه مدل‌های محلی، مایکروسافت راه را برای ساخت اپلیکیشن‌هایی که از "عامل‌های هوشمند" (AI Agents) استفاده می‌کنند، هموار کرده است.

🔹 تحول در تجربه توسعه با فرمت‌های مدرن

ساده‌سازی فرآیند کدنویسی یکی از اولویت‌های اصلی امسال بود. معرفی فرمت جدید و متنی برای فایل‌های Solution (فایلهای .slnx) و همچنین قابلیت‌های جدید در CLI دات‌نت، باعث شده تا مدیریت پروژه‌های بزرگ بسیار سریع‌تر و لذت‌بخش‌تر شود.

🔹 توسعه ابری مدرن با پلتفرم .NET Aspire

مدیریت میکروسرویس‌ها و سیستم‌های توزیع‌شده با دات‌نت اسپایر وارد عصر جدیدی شده است. این ابزار حالا به استاندارد طلایی برای ارکستراسیون، مانیتورینگ و لاگینگ اپلیکیشن‌های Cloud-Native تبدیل شده و فاصله بین توسعه و استقرار را از بین برده است.


🔗 مشاهده لیست کامل و پست‌های منتخب:

Top .NET Blog Posts of 2025

#برنامه_نویسی #دات_نت #سی_شارپ #تکنولوژی #هوش_مصنوعی #میکروسرویس

🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3👍1👏1
Forwarded from Learning With M
سلام رفقا،

نه چیزی برای گفتن هست، نه کتابی برای مرور کردن و نه درسی برای یاد گرفتن.

تنها چیزی که میشه روش تمرکز کرد توانایی های خودمون بدون اینترنت و AI هست، مثل ۲۳ سال پیش که من شروع کردم.فقط هند بوک و تلاش بسیار.

این پیام هم نمیدونم ارسال میشه یا نه، براتون فقط سلامتی آرزو می کنم.
10👍7
🛠 نجات توسعه‌دهنده‌ها در شرایط «نت ملی»؛ تجربیات عملی ما برای زنده نگه داشتن چرخه تولید

توی این چند وقت که دسترسی‌ها محدود شد و اینترنت به حالت داخلی (Intranet) رفت، ما هم مثل خیلی از تیم‌های دیگه با چالش‌های جدی روبرو شدیم. اما به جای متوقف شدن، سعی کردیم با ابزارهای جایگزین و تغییر استراتژی، جریان کار رو حفظ کنیم.

خواستم تجربیات واقعی و سولوشن‌هایی که تو این مدت پیاده‌سازی کردیم رو باهاتون به اشتراک بذارم تا شاید گره‌ای از کار شما هم باز کنه:

1️⃣ عبور از تحریم و محدودیت پکیج‌ها (Frontend & Backend)
برای پروژه‌هایی مثل Next.js که وابستگی زیادی به پکیج‌ها دارن، اولین حرکت ما استفاده از Mirror Serverهای داخلی بود.

🔹 پیشنهاد: سرویس Runflare تقریباً اکثر ابزارها رو Mirror کرده، سرورهاش داخلیه و سرعتش عالیه.
🔗 https://runflare.com/mirrors/

🔥 خبر ویژه: همون روز اول با تیم فنی ران‌فلر صحبت کردم و دمشون گرم، خیلی سریع درخواست رو پیگیری کردن و Nuget رو هم به لیست سرویس‌هاشون اضافه کردن. الان دیگه دات‌نتی‌ها هم می‌تونن راحت پکیج‌ها رو دریافت کنن.

2️⃣ مدیریت داکر ایمیج‌ها (Docker Images)

برای پول (Pull) کردن ایمیج‌ها، پلتفرم docker.ir گزینه کارراه‌اندازی هست.

⚠️ نکته حیاتی برای دات‌نتی‌ها:
از اونجایی که ایمیج‌های دات‌نت روی Docker Hub نیستن و روی رجیستری مایکروسافت (MCR) قرار دارن، حتماً ایمیج‌های SDK و ASP Core رو:
۱. یا روی سیستم لوکال داشته باشید.
۲. یا (روش اصولی‌تر) روی رجیستری داخلی خودتون Push کنید تا در صورت قطعی، بیلدها فیل نشن.

3️⃣ خداحافظی با وابستگی به کش لوکال (The Nexus Solution)
اوایل کار متکی به کشِ لوکال سیستم‌ها (فولدر .nuget) بودیم، اما این روش ریسک بالایی داشت.

راهکار پایدار: ما Nexus رو بالا آوردیم. با این کار تمام پکیج‌های فرانت و بک‌‌اند یک‌بار در نکسوس کش میشن و اگه اینترنت کلاً قطع بشه، تیم فنی بدون هیچ توقفی به کارش ادامه میده.

4️⃣ ابزارهای مدیریت سورس، CI/CD و ارتباطات
برای اینکه تیم ریموت و پایپ‌لاین‌ها از کار نیفتن، از سرویس‌های داخلی و Self-Hosted استفاده کردیم:
* گیت و رانر: سرویس Hamgit (محصول هم‌روش) هم مخازن رو میزبانی می‌کنه و هم Runner برای پایپ‌لاین‌ها میده.
* جلسات آنلاین: جایگزین Google Meet، از Jitsi استفاده کردیم (هم توی بازارچه هم‌روش هست، هم می‌تونید روی سرور خودتون بالا بیارید).
* چت سازمانی: ما خودمون Mattermost رو روی سرور شخصی بالا آوردیم که عالیه. اگر دنبال سرویس آماده‌اید، Rocket.Chat در بازارچه ابری هم‌روش موجوده.

🔗 یک گزینه کمکی دیگر:
سرویس چابکان هم Mirrorهای خوبی ارائه میده که داشتن لینککش به عنوان پلن B ضرری نداره:
🔗 https://iran.chabokan.net/#services

💡 هدفم از این پست فقط انتقال تجربه و کمک به کامیونیتی بود. امیدوارم به کارتون بیاد. هر جا سوالی بود یا کمکی از دستم برمیومد، حتماً بگید.

🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥👨‍💻

#DevOps #DotNet #Network #Programming #Intranet #ExperienceSharing #SoftwareEngineering
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4👏4
🚨 تغییر مهم در MassTransit: لایسنس تجاری از نسخه ۹.۰.۰

اگر در پروژه‌های دات‌نتی از کتابخانه MassTransit استفاده می‌کنید، مراقب آپدیت‌های جدید باشید. از نسخه 9.0.0 به بعد، این کتابخانه مدل لایسنس خود را به Commercial تغییر داده است.

خلاصه وضعیت جدید:
🔹 نسخه‌های ۸ و قدیمی‌تر: همچنان رایگان و Open Source (Apache 2.0) باقی می‌مانند.
🔹 نسخه ۹ و بالاتر: برای شرکت‌هایی با درآمد بالای ۱ میلیون دلار در سال پولی است.
🔹 استارتاپ‌ها و توسعه‌دهندگان مستقل: اگر درآمد سالانه زیر ۱ میلیون دلار باشد، همچنان می‌توانید با تخفیف ۱۰۰ درصدی (رایگان) استفاده کنید.

---

🛠 راهکار فنی: جلوگیری از آپدیت خودکار به نسخه پولی

برای اینکه ابزارهایی مثل NuGet یا Dependabot به صورت خودکار پروژه شما را به نسخه ۹ (پولی) ارتقا ندهند، باید ورژن را در فایل .csproj قفل کنید. استفاده از براکت `[]` به معنای اجبار روی یک نسخه دقیق است:

<PackageReference Include="MassTransit" Version="[8.5.7]" />


چرا این کار مهم است؟

* نوشتن Version="8.5.7" به NuGet اجازه می‌دهد نسخه‌های بالاتر (مثل 9.0.1) را هم نصب کند.
* اما Version="[8.5.7]" یعنی فقط و فقط همین نسخه نصب شود و جلوی ارتقای ناخواسته به نسخه پولی را می‌گیرد.

اگر پروژه‌ی بزرگی دارید که فعلاً بودجه خرید لایسنس ندارد، حتماً این تغییر را در پکیج‌های خود اعمال کنید.

🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥👨‍💻

#DotNet #MassTransit #CSharp #Programming_Tips #Microservices
Please open Telegram to view this post
VIEW IN TELEGRAM
4👏3👍2🔥1
🔥 نکته حیاتی در Hangfire: جنگ با ساعت و تایم‌زون‌ها! 🌍

اگر تا حالا براتون پیش اومده که جابی رو برای ساعت ۸ صبح تنظیم کردید ولی ساعت ۱۱:۳۰ اجرا شده، این پست برای شماست!

⚠️ ماجرا چیه؟
هنگ‌فایر (Hangfire) به صورت پیش‌فرض (Default) همه جاب‌های تکرارشونده (Recurring Jobs) رو بر مبنای ساعت UTC اجرا می‌کنه. یعنی اگر تنظیمات تایم‌زون رو بهش ندید، باید اختلاف ساعت ایران با گرینویچ رو دستی حساب کنید که اصلا جالب نیست.

حالا اگر بخوایم بگیم "به وقت ایران اجرا شو"، با یه چالش جدید روبرو می‌شیم:

🔸 ویندوز می‌گه: "Iran Standard Time"

🔸 لینوکس/داکر می‌گه: "Asia/Tehran"
اگر این تفاوت هندل نشه، روی سرور لینوکسی یا کانتینر داکر به خطای TimeZoneNotFoundException می‌خورید! 🤯

راه حل نهایی (Cross-Platform):
با این تیکه کد، هم مشکل UTC رو حل کنید و هم کدی بنویسید که روی ویندوز، لینوکس و مک بدون تغییر کار کنه:
using System.Runtime.InteropServices;

// 1. تشخیص خودکار شناسه تایم‌زون بر اساس سیستم‌عامل
// Windows -> "Iran Standard Time"
// Linux/Docker -> "Asia/Tehran"
var tehranId = RuntimeInformation.IsOSPlatform(OSPlatform.Windows)
? "Iran Standard Time"
: "Asia/Tehran";

// 2. تنظیم ساعت به وقت ایران
RecurringJob.AddOrUpdate(
type.FullName,
() => job.ExecuteAsync(),
attribute.CronExpression,
new RecurringJobOptions
{
// خداحافظ UTC، سلام تهران! 👋
TimeZone = TimeZoneInfo.FindSystemTimeZoneById(tehranId)
}
);

💡 با این روش، دیگه نگران جلو/عقب کشیدن ساعت‌ها یا تفاوت محیط لوکال و سرور نباشید.

🔗 بحث مرتبط در کامیونیتی هنگ‌فایر:
https://discuss.hangfire.io/t/need-local-time-instead-of-utc/279/7


🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥

#CSharp #DotNet #Hangfire #Docker #Backend #TimeZone #Tips
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍7🔥3
🔴 انقلاب جدید در گیت‌هاب: ادغام مستقیم Claude و Codex برای کدنویسی خودکار!

گیت‌هاب (GitHub) در یک حرکت بزرگ برای رقابت با ابزارهایی مثل Cursor، رسماً اعلام کرد که ایجنت‌های هوش مصنوعی Claude (از شرکت Anthropic) و Codex را مستقیماً به پلتفرم خود اضافه کرده است.

💡 چه اتفاقی افتاده؟

تا پیش از این، کوپایلت (Copilot) بیشتر متکی به مدل‌های GPT بود، اما حالا توسعه‌دهندگان می‌توانند از قدرت مدل‌های Claude 3.7 Sonnet و OpenAI Codex به عنوان «ایجنت» استفاده کنند.

این یعنی هوش مصنوعی دیگر فقط "پیشنهاد" نمی‌دهد، بلکه می‌تواند:

🔹 فایل‌ها را ویرایش کند

🔹 دستورات ترمینال را اجرا کند

🔹 باگ‌ها را به صورت خودکار رفع نماید

🔥 ویژگی‌های کلیدی این آپدیت:

⭐️ آزادی در انتخاب مدل: اگر طرفدار منطقِ Claude هستید یا سرعتِ Codex، حالا حق انتخاب دارید.

⭐️ درک عمیق‌تر از پروژه: این ایجنت‌ها می‌توانند کانتکست (Context) کامل پروژه شما را بفهمند و تغییرات پیچیده را اعمال کنند.

⭐️ جریان کاری روان: بدون نیاز به سوییچ کردن بین پنجره‌های مختلف، همه کارها داخل محیط گیت‌هاب انجام می‌شود.

🤔 چرا این مهم است؟

این تغییر نشان می‌دهد که گیت‌هاب نمی‌خواهد میدان را به IDEهای مبتنی بر هوش مصنوعی (مثل Cursor یا Windsurf) ببازد و قصد دارد همه چیز را در خانه خود نگه دارد.

📱لینک ویدیو :

https://youtu.be/GuTQDXKwdJQ?si=znwN0dljFmrEF615

#GitHub #AI #Claude #Copilot #Programming #TechNews

#گیت_هاب #هوش_مصنوعی #برنامه_نویسی #تکنولوژی #خبر


🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👏21🔥1
🎆 کوپایلت رو دیگه فقط تو VS Code حبس نکنید!

گیت‌هاب با معرفی GitHub Copilot SDK، بازی رو کلاً عوض کرد. حالا دیگه کوپایلت فقط یک افزونه تکمیل کد نیست؛ بلکه می‌تونید مغز متفکر اون رو بردارید و مستقیم توی اپلیکیشن‌های خودتون بذارید!

این یعنی چی؟ یعنی شما می‌تونید ابزارها و Agentهایی بسازید که دقیقاً با نیازهای شما و تیمتون هماهنگ باشن.
چرا این SDK یه انقلابه؟ 👇

هوش مصنوعی اختصاصی: اپلیکیشن‌هایی بسازید که به دیتای شما (مثل ریپوزیتوری‌ها یا لاگ‌ها) دسترسی دارن و بر اساس اون‌ها تصمیم می‌گیرن.

جریان‌های کاری ایجنتیک (Agentic Workflows): امکان ساخت ایجنت‌هایی که می‌تونن چندین مرحله رو طی کنن، ابزارهای مختلف رو صدا بزنن (Tool Calling) و کار رو تموم کنن.

یک مثال واقعی: توی دمو، اپلیکیشنی به اسم "Flight School" ساخته شده که پروفایل گیت‌هاب شما رو تحلیل می‌کنه و دقیقاً بر اساس مهارت‌ها و پروژه‌هاتون، بهتون تمرین کدنویسی میده و حتی جواب‌هاتون رو صحیح می‌کنه!

فراتر از چت: دیگه فقط با متن سر و کار ندارید؛ می‌تونید با دسکتاپ تعامل کنید، فایل بسازید یا کارهای پیچیده رو خودکار انجام بدید.

💡 خلاصه: قدرت مدل‌های زبانی گیت‌هاب + دیتای اختصاصی شما = بی‌نهایت امکان جدید.
همین الان ویدیو رو ببین و اولین ایده ساخت ایجنتت رو استارت بزن! 👨‍💻👩‍💻

📱 مشاهده دمو:

https://youtu.be/ct_Ymw9RexM?si=SQgan8rBElWHns-g

#GitHubCopilot #AI #DevTools #Programming #ArtificialIntelligence


🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥3👍1👏1
👩‍💻 هنوز داری با کوئری‌های سنگین دیتابیس رو زیر بار میبری؟

وقتی صحبت از پرفورمنس در PostgreSQL میشه، خیلی‌ها سریع میرن سراغ ایندکس‌گذاری. اما گاهی مشکل ایندکس نیست؛ مشکل اینه که داری یه محاسبات سنگین رو بارها و بارها تکرار می‌کنی!

اینجاست که Materialized View (MatView) وارد بازی میشه. برخلاف View معمولی که فقط یه "پنجره" به دیتاست، MatView نتیجه رو واقعاً روی دیسک ذخیره (Cache) می‌کنه.
اما سوال اصلی اینه: کی باید ازش استفاده کنیم و کی فرار کنیم؟ 🤔

کجا معجزه می‌کنه؟ (Use Cases)
* داشبورد‌های مدیریتی: مدیرها معمولاً آمار لحظه‌ای نمی‌خوان؛ آمار ۵ دقیقه پیش هم راضی‌شون می‌کنه.

* کوئری‌های تحلیلی سنگین: وقتی چند تا Join و Aggregation وحشتناک داری که هر بار اجراش چند ثانیه طول میکشه.

* آرشیو دیتا: وقتی دیتای قدیمی تغییر نمی‌کنه و فقط برای گزارش‌گیری لازمش داری.

کجا نباید سمتش بری؟ (Red Flags)
* دیتای ۱۰۰٪ ریل‌تایم: اگه کاربر باید تغییر رو در میلی‌ثانیه ببینه، MatView گزینه غلطیه (چون تا Refresh نشه، دیتا قدیمیه).

* نرخ تغییرات بالا: اگه دیتای اصلی مدام در حال آپدیته، هزینه Refresh کردن MatView ممکنه بیشتر از سودش بشه.

💡 نکته حرفه‌ای (Pro Tip):

موقع آپدیت کردن ویو، دیتابیس ممکنه قفل بشه! برای اینکه سرویس نخوابه، حتماً از دستور زیر استفاده کن تا همزمان با خوندن، بتونی آپدیتش کنی:
REFRESH MATERIALIZED VIEW CONCURRENTLY

👇 همین الان چک کن:

یه نگاه به لیست Slow Queryهای پروژه‌ت بنداز. اگه کوئری تکراری و سنگین داری، شاید وقتشه "متریالایزش" کنی!

🔗 https://stormatics.tech/blogs/postgresql-materialized-views-when-caching-your-query-results-makes-sense

#PostgreSQL #Database #Performance #Backend #SQL

🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1🔥1👏1
👩‍💻 پستگرس رو ۲.۵ برابر سریع‌تر کن!

تصور کن مغز متفکر دیتابیست (Parser) رو بدی دست هوش مصنوعی و خروجی بگیری که از نسخه اصلی هم سریع‌تر و بهینه‌تر باشه. دقیقاً همین اتفاق افتاده!

تیم Multigres با یک حرکت مهندسی جذاب و کمک گرفتن از Claude Code، تونستن پارسر PostgreSQL رو بازنویسی کنن و به نتایج شگفت‌انگیزی برسن. این فقط یک آپدیت ساده نیست؛ قدرت‌نمایی ترکیب مهندسی نرم‌افزار با AI در لایه‌های عمیق زیرساختیه.

نکات کلیدی این شاهکار فنی: 👇

افزایش سرعت چشمگیر: دستیابی به سرعت ۲.۵ برابری در پردازش کوئری‌ها نسبت به پارسر استاندارد.

مهندسی با طعم AI: استفاده از هوش مصنوعی برای درک و بهینه‌سازی پیچیدگی‌های سطح پایین (Low-level).

کارایی بالاتر: کاهش سربار سیستم و مدیریت بهتر منابع هنگام اجرای کوئری‌های سنگین.

این یعنی هوش مصنوعی دیگه فقط برای تولید متن و عکس نیست؛ داره وارد قلب تپنده سیستم‌ها میشه!


🔗
https://multigres.com/blog/ai-parser-engineering

#PostgreSQL #Database #AI #TechNews #برنامه_نویسی

🎺برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامه‌نویسی، به کانال ما بپیوندید!

📚💻 @dotnetcode 🖥
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3