update-docker-images.ps1
6 KB
🐳 با یک کلیک، داکر خود را نونوار کنید!
آپدیت نگه داشتن ایمیجها همیشه دردسر بوده؛ یا یادت میرود، یا محیط ترمینال هنگام دانلود خیلی خشک و بیروح است. اما این اسکریپت PowerShell که براتون آماده کردم، ماجرا را کلاً عوض میکند.
💎 قابلیتهای جذاب این اسکریپت:
* تشخیص هوشمند: فقط ایمیجهای معتبر را لیست میکند و موارد اضافی (
* داشبورد زنده (Live UI): وضعیت CPU و سرعت دیسک شما را حین آپدیت نشان میدهد.
* محاسبه دقیق: زمان باقیمانده (ETA) و سرعت دانلود هر ایمیج را به شما میگوید.
* گزارش نهایی شیک: در پایان کار، یک جدول تمیز از ایمیجهای آپدیت شده، حجم مصرفی و زمان صرف شده به شما تحویل میدهد.
---
### 🛠 چطور از آن استفاده کنیم؟
۱. متن اسکریپت را کپی و در یک فایل با نام
۲. ترمینال (PowerShell) را باز کنید.
۳. دستور زیر را اجرا کنید:
خداحافظ ایمیجهای قدیمی، سلام به سرعت و امنیت! ⚡️
---
#Docker #DevOps #PowerShell #Automation #Programming #داکر #برنامه_نویسی #دوآپس #اتوماسیون
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
آپدیت نگه داشتن ایمیجها همیشه دردسر بوده؛ یا یادت میرود، یا محیط ترمینال هنگام دانلود خیلی خشک و بیروح است. اما این اسکریپت PowerShell که براتون آماده کردم، ماجرا را کلاً عوض میکند.
💎 قابلیتهای جذاب این اسکریپت:
* تشخیص هوشمند: فقط ایمیجهای معتبر را لیست میکند و موارد اضافی (
<none>) را نادیده میگیرد.* داشبورد زنده (Live UI): وضعیت CPU و سرعت دیسک شما را حین آپدیت نشان میدهد.
* محاسبه دقیق: زمان باقیمانده (ETA) و سرعت دانلود هر ایمیج را به شما میگوید.
* گزارش نهایی شیک: در پایان کار، یک جدول تمیز از ایمیجهای آپدیت شده، حجم مصرفی و زمان صرف شده به شما تحویل میدهد.
---
### 🛠 چطور از آن استفاده کنیم؟
۱. متن اسکریپت را کپی و در یک فایل با نام
update-docker.ps1 ذخیره کنید.۲. ترمینال (PowerShell) را باز کنید.
۳. دستور زیر را اجرا کنید:
.\update-docker.ps1خداحافظ ایمیجهای قدیمی، سلام به سرعت و امنیت! ⚡️
---
#Docker #DevOps #PowerShell #Automation #Programming #داکر #برنامه_نویسی #دوآپس #اتوماسیون
📚💻 @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🖥 👨💻
زمانی که 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
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
Perplexity AI
Google's Gemini triples market share as ChatGPT's lead shrinks
Google's Gemini AI has more than tripled its share of generative AI web traffic over the past year, surging from 5.4% to 18.2%, while OpenAI's ChatGPT has...
👍7❤4🔥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🖥 👨💻
دنیای داتنت در سال ۲۰۲۵ با سرعت خیرهکنندهای حرکت کرد. مایکروسافت لیست مقالات برتر سال را منتشر کرده که هر کدام نقطه عطفی در مسیر حرفهای ما هستند. در ادامه، این تحولات کلیدی را مرور میکنیم:
🔹 پایداری و قدرت با معرفی .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
#برنامه_نویسی #دات_نت #سی_شارپ #تکنولوژی #هوش_مصنوعی #میکروسرویس
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥3👍1👏1
Forwarded from Learning With M
سلام رفقا،
نه چیزی برای گفتن هست، نه کتابی برای مرور کردن و نه درسی برای یاد گرفتن.
تنها چیزی که میشه روش تمرکز کرد توانایی های خودمون بدون اینترنت و AI هست، مثل ۲۳ سال پیش که من شروع کردم.فقط هند بوک و تلاش بسیار.
این پیام هم نمیدونم ارسال میشه یا نه، براتون فقط سلامتی آرزو می کنم.
نه چیزی برای گفتن هست، نه کتابی برای مرور کردن و نه درسی برای یاد گرفتن.
تنها چیزی که میشه روش تمرکز کرد توانایی های خودمون بدون اینترنت و 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
توی این چند وقت که دسترسیها محدود شد و اینترنت به حالت داخلی (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
💡 هدفم از این پست فقط انتقال تجربه و کمک به کامیونیتی بود. امیدوارم به کارتون بیاد. هر جا سوالی بود یا کمکی از دستم برمیومد، حتماً بگید.
📚💻 @dotnetcode
#DevOps #DotNet #Network #Programming #Intranet #ExperienceSharing #SoftwareEngineering
Please open Telegram to view this post
VIEW IN TELEGRAM
رانفلر | سکوی ابری - سرویس ابری - هاست ابری
Runflare Mirror - رانفلر | سکوی ابری - سرویس ابری - هاست ابری
Runflare Mirror در رانفلر برخی از مخزن ها و کتابخانه های مورد نیاز برنامه نویسان را به صورت mirror آماده ساخته ایم تا مشکل اختلال های اینترنت و محدودیت های زیر ساخت کشور در ارتباط با اینترنت بین الملل برای کاربران ما برطرف شود. از این لحظه شما می توانید با…
❤9👍4👏4
🚨 تغییر مهم در MassTransit: لایسنس تجاری از نسخه ۹.۰.۰
اگر در پروژههای داتنتی از کتابخانه MassTransit استفاده میکنید، مراقب آپدیتهای جدید باشید. از نسخه 9.0.0 به بعد، این کتابخانه مدل لایسنس خود را به Commercial تغییر داده است.
خلاصه وضعیت جدید:
🔹 نسخههای ۸ و قدیمیتر: همچنان رایگان و Open Source (Apache 2.0) باقی میمانند.
🔹 نسخه ۹ و بالاتر: برای شرکتهایی با درآمد بالای ۱ میلیون دلار در سال پولی است.
🔹 استارتاپها و توسعهدهندگان مستقل: اگر درآمد سالانه زیر ۱ میلیون دلار باشد، همچنان میتوانید با تخفیف ۱۰۰ درصدی (رایگان) استفاده کنید.
---
🛠 راهکار فنی: جلوگیری از آپدیت خودکار به نسخه پولی
برای اینکه ابزارهایی مثل NuGet یا Dependabot به صورت خودکار پروژه شما را به نسخه ۹ (پولی) ارتقا ندهند، باید ورژن را در فایل
چرا این کار مهم است؟
* نوشتن
* اما
اگر پروژهی بزرگی دارید که فعلاً بودجه خرید لایسنس ندارد، حتماً این تغییر را در پکیجهای خود اعمال کنید.
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥 👨💻
#DotNet #MassTransit #CSharp #Programming_Tips #Microservices
اگر در پروژههای داتنتی از کتابخانه 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]" یعنی فقط و فقط همین نسخه نصب شود و جلوی ارتقای ناخواسته به نسخه پولی را میگیرد.اگر پروژهی بزرگی دارید که فعلاً بودجه خرید لایسنس ندارد، حتماً این تغییر را در پکیجهای خود اعمال کنید.
📚💻 @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 رو حل کنید و هم کدی بنویسید که روی ویندوز، لینوکس و مک بدون تغییر کار کنه:
💡 با این روش، دیگه نگران جلو/عقب کشیدن ساعتها یا تفاوت محیط لوکال و سرور نباشید.
🔗 بحث مرتبط در کامیونیتی هنگفایر:
https://discuss.hangfire.io/t/need-local-time-instead-of-utc/279/7
🎺 برای یادگیری بیشتر و دریافت مطالب مفید در زمینه .NET و برنامهنویسی، به کانال ما بپیوندید!
📚💻 @dotnetcode🖥
#CSharp #DotNet #Hangfire #Docker #Backend #TimeZone #Tips
اگر تا حالا براتون پیش اومده که جابی رو برای ساعت ۸ صبح تنظیم کردید ولی ساعت ۱۱:۳۰ اجرا شده، این پست برای شماست!
⚠️ ماجرا چیه؟
هنگفایر (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
📚💻 @dotnetcode
#CSharp #DotNet #Hangfire #Docker #Backend #TimeZone #Tips
Please open Telegram to view this post
VIEW IN TELEGRAM
Hangfire Discussion
Need local time instead of UTC
I need to schedule recurring jobs based on local time, for example 02:00 CET (which is UTC+1 normally and UTC+2 during daylight savings time aka “summer time”). I know this introduces some problems when switching to/from summer to winter time (there is an…
❤10👍7🔥3
گیتهاب (GitHub) در یک حرکت بزرگ برای رقابت با ابزارهایی مثل Cursor، رسماً اعلام کرد که ایجنتهای هوش مصنوعی Claude (از شرکت Anthropic) و Codex را مستقیماً به پلتفرم خود اضافه کرده است.
تا پیش از این، کوپایلت (Copilot) بیشتر متکی به مدلهای GPT بود، اما حالا توسعهدهندگان میتوانند از قدرت مدلهای Claude 3.7 Sonnet و OpenAI Codex به عنوان «ایجنت» استفاده کنند.
این یعنی هوش مصنوعی دیگر فقط "پیشنهاد" نمیدهد، بلکه میتواند:
🔹 فایلها را ویرایش کند
🔹 دستورات ترمینال را اجرا کند
🔹 باگها را به صورت خودکار رفع نماید
این تغییر نشان میدهد که گیتهاب نمیخواهد میدان را به IDEهای مبتنی بر هوش مصنوعی (مثل Cursor یا Windsurf) ببازد و قصد دارد همه چیز را در خانه خود نگه دارد.
https://youtu.be/GuTQDXKwdJQ?si=znwN0dljFmrEF615
#GitHub #AI #Claude #Copilot #Programming #TechNews
#گیت_هاب #هوش_مصنوعی #برنامه_نویسی #تکنولوژی #خبر
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👏2❤1🔥1
گیتهاب با معرفی GitHub Copilot SDK، بازی رو کلاً عوض کرد. حالا دیگه کوپایلت فقط یک افزونه تکمیل کد نیست؛ بلکه میتونید مغز متفکر اون رو بردارید و مستقیم توی اپلیکیشنهای خودتون بذارید!
این یعنی چی؟ یعنی شما میتونید ابزارها و Agentهایی بسازید که دقیقاً با نیازهای شما و تیمتون هماهنگ باشن.
چرا این SDK یه انقلابه؟ 👇
✅ هوش مصنوعی اختصاصی: اپلیکیشنهایی بسازید که به دیتای شما (مثل ریپوزیتوریها یا لاگها) دسترسی دارن و بر اساس اونها تصمیم میگیرن.
✅ جریانهای کاری ایجنتیک (Agentic Workflows): امکان ساخت ایجنتهایی که میتونن چندین مرحله رو طی کنن، ابزارهای مختلف رو صدا بزنن (Tool Calling) و کار رو تموم کنن.
✅ یک مثال واقعی: توی دمو، اپلیکیشنی به اسم "Flight School" ساخته شده که پروفایل گیتهاب شما رو تحلیل میکنه و دقیقاً بر اساس مهارتها و پروژههاتون، بهتون تمرین کدنویسی میده و حتی جوابهاتون رو صحیح میکنه!
✅ فراتر از چت: دیگه فقط با متن سر و کار ندارید؛ میتونید با دسکتاپ تعامل کنید، فایل بسازید یا کارهای پیچیده رو خودکار انجام بدید.
همین الان ویدیو رو ببین و اولین ایده ساخت ایجنتت رو استارت بزن! 👨💻👩💻
https://youtu.be/ct_Ymw9RexM?si=SQgan8rBElWHns-g
#GitHubCopilot #AI #DevTools #Programming #ArtificialIntelligence
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
GitHub Copilot SDK demo: Creating "Flight School"
Chris Reddington demonstrates "Flight School," a custom Next.js application built to personalize his learning journey using the GitHub Copilot SDK. See how he leverages agentic workflows to generate daily coding challenges based on his GitHub profile, evaluate…
❤7🔥3👍1👏1
وقتی صحبت از پرفورمنس در PostgreSQL میشه، خیلیها سریع میرن سراغ ایندکسگذاری. اما گاهی مشکل ایندکس نیست؛ مشکل اینه که داری یه محاسبات سنگین رو بارها و بارها تکرار میکنی!
اینجاست که Materialized View (MatView) وارد بازی میشه. برخلاف View معمولی که فقط یه "پنجره" به دیتاست، MatView نتیجه رو واقعاً روی دیسک ذخیره (Cache) میکنه.
اما سوال اصلی اینه: کی باید ازش استفاده کنیم و کی فرار کنیم؟
* داشبوردهای مدیریتی: مدیرها معمولاً آمار لحظهای نمیخوان؛ آمار ۵ دقیقه پیش هم راضیشون میکنه.
* کوئریهای تحلیلی سنگین: وقتی چند تا Join و Aggregation وحشتناک داری که هر بار اجراش چند ثانیه طول میکشه.
* آرشیو دیتا: وقتی دیتای قدیمی تغییر نمیکنه و فقط برای گزارشگیری لازمش داری.
* دیتای ۱۰۰٪ ریلتایم: اگه کاربر باید تغییر رو در میلیثانیه ببینه، MatView گزینه غلطیه (چون تا Refresh نشه، دیتا قدیمیه).
* نرخ تغییرات بالا: اگه دیتای اصلی مدام در حال آپدیته، هزینه Refresh کردن MatView ممکنه بیشتر از سودش بشه.
موقع آپدیت کردن ویو، دیتابیس ممکنه قفل بشه! برای اینکه سرویس نخوابه، حتماً از دستور زیر استفاده کن تا همزمان با خوندن، بتونی آپدیتش کنی:
REFRESH MATERIALIZED VIEW CONCURRENTLY
👇 همین الان چک کن:
یه نگاه به لیست Slow Queryهای پروژهت بنداز. اگه کوئری تکراری و سنگین داری، شاید وقتشه "متریالایزش" کنی!
#PostgreSQL #Database #Performance #Backend #SQL
📚💻 @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 #برنامه_نویسی
📚💻 @dotnetcode
Please open Telegram to view this post
VIEW IN TELEGRAM
Multigres
A 2.5x faster Postgres parser with Claude Code | Multigres
Same engineer. Same complexity. A year last time, eight weeks this time. This isn't a story about AI writing code. It's a story about the system, expertise, and discipline that made AI actually useful.
❤3👍3