DotNet | دات نت
1.15K subscribers
668 photos
230 videos
485 files
713 links
تو این روزا بهتره که همیشه علم خودمون رو بالا ببریم و بتونیم با سریع ترین راه ممکن خودمونو بروز نگه داریم.
- سعی کنیم از کمترین امکانات بیشترین بهره رو ببریم
منتظرت هستیم😉
دنیا رو جای بهتری برای یادگیری کنیم 🌹
#course #book


🆔 @dotnetcode
Download Telegram
چرا جستجوی من همه‌چیز رو پیدا نمی‌کنه؟ راز Synonyms!

تاحالا شده دنبال "موبایل" بگردی، ولی محصولاتی که اسمشون "گوشی" هست رو از دست بدی؟ یا دنبال "کتونی" باشی و نتایج "کفش ورزشی" رو نبینی؟

اینجاست که Synonyms یا مترادف‌ها وارد بازی میشن و جستجو رو نجات میدن!

---

مترادف‌ها (Synonyms) چی هستن؟

خیلی ساده! ما به موتور جستجو (مثلاً الاستیک‌سرچ) یک لیست از کلمات هم‌معنی رو میدیم و میگیم: "رفیق! این کلمه‌ها همشون یه معنی میدن. حواست باشه!"

اینطوری یک گروه از کلمات رو با هم رفیق می‌کنیم!

چند مثال کاربردی:

🔗 گروه اول:
موبایل, گوشی, تلفن همراه

🔗 گروه دوم:
لپ تاپ, نوت بوک, لب تاب (حتی املای اشتباه!)

🔗 گروه سوم:
ماشین, خودرو, اتومبیل

🔗 گروه چهارم:
هوش مصنوعی, AI (برای کلمات اختصاری)

---

جادوش چطوری کار می‌کنه؟

وقتی کاربر کلمه‌ی "گوشی" رو جستجو می‌کنه، الاستیک‌سرچ به‌طور خودکار دنبال "موبایل" و "تلفن همراه" هم می‌گرده. انگار که کاربر همه‌ی این کلمات رو با هم جستجو کرده باشه!

---

نتیجه نهایی:

استفاده از مترادف‌ها باعث میشه جستجوی ما هیچ نتیجه‌ی مرتبطی رو از دست نده. مهم نیست کاربر از چه کلمه‌ای استفاده می‌کنه، همیشه به بهترین و کامل‌ترین جواب می‌رسه. این یعنی کاربر راضی‌تر و جستجوی هوشمندتر!

لینک منبع :
https://www.elastic.co/docs/solutions/search/full-text/search-with-synonyms

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13👏3🔥1
Forwarded from TondTech (مسعود بیگی)
#استخدام .net Developer
اگه .net Developer با حداقل 3-4 سال تجربه ی کاری هستید، و دوست دارین تجربه جدید به دست بیارین، بیاین بیشتر گپ بزنیم در موردش.
یه پوزیشن توی Rasmio.com باز کردیم.
مشاهده آگهی و ارسال رزومه در جاب ویژن
2👍2🔥1
دوره MCP مایکروسافت | زیرنویس فارسی


یوتیوب
https://youtu.be/Vr1vMyyIdzM?si=TEuNuXjEJhuE4fQG

آپارات (نیم بها)
https://www.aparat.com/v/azkvpjg

@DevTwitter | <Hamed Heydarian/>
👍5🔥32🥰1🎉1🤩1
Media is too big
VIEW IN TELEGRAM
ویدیوی جادی در مورد تازه کار بودن و نگرانی از دیر شروع کردن

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥72👍2👏1
می‌خوام یه پلی‌لیست یوتیوب رو بهتون معرفی کنم که خودم به شخصه خیلی باهاش حال کردم و کلی ازش یاد گرفتم.

​پلی‌لیست «هکاتون دیوان» 📽️
​اصلاً یه پکیج کامله! از کارآفرینی و مدیریت محصول بگیرید تا مباحث داغی مثل LLM و GenAI و ابزارهای نابی مثل n8n.

​اما بخش جذابش کجاست؟ 🤔
اینه که تمام این آموزش‌ها توسط ایرانی‌های متخصص و باتجربه‌ای ارائه شده که دارن در سطح اول جهان کار می‌کنن. دمشون گرم واقعاً!

​خلاصه که، چه اول راه دنیای دیجیتال و استارتاپ هستید و چه می‌خواید آپدیت بمونید، این ویدئوها شدیداً توصیه میشه. براتون کلی آورده داره.

​لینکشو می‌ذارم، حتماً یه سر بزنید:

https://youtube.com/playlist?list=PLEu69v6v4-HOWsnhKXvPQKtPLoUWAFU5-&si=AislEtq3isx19fR4

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3🔥2👏1
قسمت شماره ۱: خداحافظی با کدهای تکراری در C# 14!

سلام به همه برنامه‌نویس‌های خفن دات‌نتی! 👋

خبرهای داغ داریم! 🔥 .NET 10 و C# 14 با یه سری ویژگی‌های فوق‌العاده از راه رسیدن که کدنویسی رو خیلی شیرین‌تر می‌کنه. بیاید چندتا از باحال‌ترین‌هاش رو با هم ببینیم:

۱. اپراتور `??=` (انتساب شرطی Null)

یادتونه چقدر if می‌نوشتیم تا چک کنیم یه متغیر null هست یا نه و بعد بهش مقدار بدیم؟ خب، اون دوران تموم شد!

// ----------------
// قبلاً اینجوری بود:
// ----------------
List<string> myStrings = null;
if (myStrings == null)
{
myStrings = new List<string>();
}

// ----------------
// حالا در C# 14:
// ----------------
List<string> myStrings = null;
myStrings ??= new List<string>(); // به همین راحتی!
// اگه null بود، یکی جدید بساز.


۲. کلمه‌ی کلیدی `field` (خداحافظی با Backing Fields!)

یکی از بهترین امکانات جدید! دیگه لازم نیست برای یه Property ساده، یه فیلد private جدا تعریف کنیم. خود C# این کار رو با کلمه field برامون انجام میده:

// ----------------
// قبلاً برای ولیدیشن:
// ----------------
private string _name;
public string Name
{
get => _name;
set
{
if (string.IsNullOrWhiteSpace(value))
throw new ArgumentException("Name cannot be empty");
_name = value;
}
}

// ----------------
// حالا در C# 14:
// ----------------
public string Name
{
get => field; // 'field' همون backing field مخفی ماست
set
{
if (string.IsNullOrWhiteSpace(value))
throw new ArgumentException("Name cannot be empty");
field = value; // مستقیم بهش مقدار می‌دیم 🤯
}
}


۳. اپلیکیشن‌های تک‌فایلی (File-Based Apps)

برای یه تست ساده یا یه اسکریپت کوچیک دیگه نیازی به ساختن پروژه (.csproj) و سلوشن (.sln) نیست! فقط یه فایل .cs بسازید و اجراش کنید:

// یه فایل بساز به اسم Program.cs
Console.WriteLine("سلام دنیا، بدون پروژه!");

// توی ترمینال اجرا کن:
// dotnet run Program.cs

قسمت شماره ۲: .NET 10 برای وب‌کارهای حرفه‌ای!

خب، برگشتیم با قسمت دوم معرفی .NET 10! 💻 این بار می‌خوایم ببینیم تو دنیای وب (ASP.NET)، دیتابیس (EF Core) و بلیزور (Blazor) چه خبره.

۱. ولیدیشن اتوماتیک در Minimal APIs (ASP.NET Core)

قبلاً اعتبارسنجی (Validation) تو Minimal API ها یه کم دردسر داشت. حالا خیلی شیک و اتوماتیک شده. فقط کافیه مدل‌هاتون Data Annotation داشته باشن:
// فقط کافیه این سرویس رو اضافه کنی:
builder.Services.AddValidation();

// و تمام!
app.MapPost("/users", (CreateUserRequest user) =>
{
// اگه 'user' معتبر نباشه (مثلاً ایمیل خالی باشه)
// .NET خودکار خطای 400 Bad Request برمی‌گردونه.
// اصلاً به این خط کد نمی‌رسه!
return Results.Ok(user);
});

// مدل ما:
public class CreateUserRequest
{
[Required]
[EmailAddress]
public string Email { get; set; }

[MinLength(6)]
public string Password { get; set; }
}


۲. آپدیت ستون‌های JSON در EF Core

کار کردن با ستون‌های JSON تو EF Core 10 خیلی قوی‌تر شده. مثلاً حالا می‌تونیم یه تیکه از JSON رو مستقیم آپدیت کنیم، بدون اینکه کل آبجکت رو از دیتابیس بخونیم و برگردونیم!

// فرض کنید یه ستون JSON به اسم 'Profile' داریم
await db.Users
.Where(u => u.Id == 123)
.ExecuteUpdateAsync(s => s
// مستقیم آدرس توی پروفایل رو آپدیت کن
.SetProperty(u => u.Profile["Address"]["City"], "Tehran")
);
// این یعنی پرفورمنس بالاتر! 🔥


۳. هات ریلود (Hot Reload) برای Blazor WebAssembly

اینم خبری که همه‌ی بچه‌های Blazor منتظرش بودن! 🥳 از .NET 10 به بعد، Hot Reload برای Blazor WebAssembly (Wasm) هم به خوبی کار می‌کنه.

یعنی هم کد C# و هم فایل‌های Razor. رو تغییر می‌دید، سیو می‌کنید و *بدون رفرش کردن مرورگر*، تغییرات رو تو صفحه می‌بینید. این یعنی سرعت توسعه فوق‌العاده! ⚡️

-----

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍7🔥1
DotNet | دات نت
قسمت شماره ۱: خداحافظی با کدهای تکراری در C# 14! سلام به همه برنامه‌نویس‌های خفن دات‌نتی! 👋 خبرهای داغ داریم! 🔥 .NET 10 و C# 14 با یه سری ویژگی‌های فوق‌العاده از راه رسیدن که کدنویسی رو خیلی شیرین‌تر می‌کنه. بیاید چندتا از باحال‌ترین‌هاش رو با هم ببینیم:…
قسمت ۱ :Extension Members

این یکی از بزرگترین تغییرات C# 14 هست! یادتونه با Extension Methods می‌تونستیم به کلاس‌های دیگه (حتی کلاس‌هایی که سورس‌شون رو نداشتیم) رفتار (متد) اضافه کنیم؟

حالا با Extension Members می‌تونیم بهشون حالت (State) هم اضافه کنیم! یعنی می‌تونیم به کلاسی که مال ما نیست، Property، Field و حتی Event اضافه کنیم.

مثال: فرض کنید یه کلاس User از یه پکیج NuGet دارید و نمی‌تونید تغییرش بدید.
// این کلاس در یک لایبرری دیگه است:
public class User
{
public string FirstName { get; set; }
public string LastName { get; set; }
}

حالا می‌خوایم یه Property به اسم DisplayName بهش اضافه کنیم که اسم کامل رو برگردونه:
// جادوی C# 14 با کلمه کلیدی 'extension'
public extension class UserExtension for User
{
// یه Property جدید به کلاس User اضافه کردیم!
public string DisplayName
{
// 'this' به همون نمونه 'User' اشاره داره
get => $"{this.FirstName} {this.LastName}";
}

// حتی می‌تونیم فیلد هم اضافه کنیم!
private bool _hasBeenWelcomed = false;

public void Welcome()
{
if (!_hasBeenWelcomed)
{
Console.WriteLine($"خوش اومدی، {this.DisplayName}!");
_hasBeenWelcomed = true;
}
}
}

نحوه استفاده‌اش دقیقاً مثل یه Property عادیه:
var user = new User { FirstName = "سارا", LastName = "رضائی" };

// مستقیم به Property الحاقی دسترسی داریم:
Console.WriteLine(user.DisplayName); // خروجی: سارا محمدی

user.Welcome(); // خروجی: خوش اومدی، سارا محمدی!
user.Welcome(); // (بار دوم چیزی چاپ نمی‌کنه)

قسمت ۲ : خداحافظی با پیچیدگی LeftJoin

اگه با Entity Framework Core کار کرده باشید، می‌دونید که پیاده‌سازی یه LEFT JOIN ساده (یعنی «همه کاربرها رو بیار، و اگه کتابی داشتن، کتاب‌هاشون رو هم بیار») چقدر می‌تونست پیچیده باشه. معمولاً باید از GroupJoin و SelectMany و DefaultIfEmpty استفاده می‌کردیم که خیلی خوانا نبود.

خبر خوب: در EF Core 10، متدهای LeftJoin و RightJoin مستقیماً اضافه شدن!

مثال: می‌خوایم لیست همه «نویسنده‌ها» و «عنوان کتاب‌هاشون» رو بگیریم، حتی اگه نویسنده‌ای هیچ کتابی نداشته باشه.
// ----------------
// روش قدیمی در EF Core 8:
// ----------------
var oldWay = db.Authors
.GroupJoin(db.Books,
author => author.Id,
book => book.AuthorId,
(author, books) => new { Author = author, Books = books })
.SelectMany(
temp => temp.Books.DefaultIfEmpty(),
(temp, book) => new
{
AuthorName = temp.Author.Name,
BookTitle = book == null ? "(بدون کتاب)" : book.Title
});

// ----------------
// روش جدید و خوانا در EF Core 10:
// ----------------
var newWay = db.Authors
.LeftJoin(db.Books,
author => author.Id, // کلید از جدول چپ (Author)
book => book.AuthorId, // کلید از جدول راست (Book)
(author, book) => new // نتیجه نهایی
{
AuthorName = author.Name,
// اگه کتابی نباشه، 'book' و در نتیجه 'book.Title' نال می‌شه
BookTitle = book.Title
});

این کوئری جدید خیلی تمیزتره و دقیقاً همون چیزی رو می‌نویسید که تو ذهنتونه (و شبیه SQL اصلیه).

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍1🔥1👏1
DotNet | دات نت
قسمت شماره ۱: خداحافظی با کدهای تکراری در C# 14! سلام به همه برنامه‌نویس‌های خفن دات‌نتی! 👋 خبرهای داغ داریم! 🔥 .NET 10 و C# 14 با یه سری ویژگی‌های فوق‌العاده از راه رسیدن که کدنویسی رو خیلی شیرین‌تر می‌کنه. بیاید چندتا از باحال‌ترین‌هاش رو با هم ببینیم:…
قسمت ۳ : پشتیبانی داخلی از (SSE) Server-Sent Events

اغلب وقتی می‌خوایم دیتای زنده از سرور به کلاینت بفرستیم (مثل نوتیفیکیشن، قیمت لحظه‌ای ارز یا وضعیت یه پردازش طولانی)، اولین فکرمون میره سراغ WebSockets.

اما WebSockets یه پروتکل دوطرفه و پیچیده‌ست. خیلی وقت‌ها ما فقط نیاز داریم سرور یک‌طرفه به کلاینت دیتا «پوش» کنه.
اینجا SSE (Server-Sent Events) وارد می‌شه. SSE بر پایه HTTP کار می‌کنه، سبکه و پیاده‌سازیش خیلی ساده‌تره.

در ASP.NET Core 10، پشتیبانی از SSE داخلی شده:
مثال (سمت سرور - C#):

app.MapGet("/live-clock", async (HttpContext context, CancellationToken ct) =>
{
// به مرورگر می‌گیم که این یه استریم SSE هست
await context.Response.WriteSseHeadersAsync(ct);

// یه حلقه که هر ثانیه، زمان سرور رو برای کلاینت می‌فرسته
while (!ct.IsCancellationRequested)
DRAFT:
{
// یه "ایونت" به اسم 'timeUpdate' می‌فرستیم
await context.Response.WriteSseEventAsync(
"timeUpdate", // اسم ایونت
$"ساعت سرور: {DateTime.Now:T}", // دیتا
ct);

await Task.Delay(1000, ct); // ۱ ثانیه صبر کن
}
});

مثال (سمت کلاینت - JavaScript):
// به همین سادگی به سرور وصل می‌شیم
const eventSource = new EventSource("/live-clock");

// به ایونت 'timeUpdate' گوش می‌دیم
eventSource.addEventListener("timeUpdate", (event) => {
console.log(event.data);
// خروجی: "ساعت سرور: 14:30:01"
// خروجی: "ساعت سرور: 14:30:02"
// ...
});


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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👏3
25195_WonderlandVS2026Sizzle_AvailableNow_v1.webm
3.4 MB
🔥 نسخه نهایی ویژوال استودیو ۲۰۲۶ منتشر شد! 🔥

بالاخره نسخه جدید غول برنامه‌نویسی مایکروسافت، Visual Studio 2026، همزمان با .NET Conf 2025 و همراه با .NET 10 به صورت رسمی (GA) منتشر شد!

این نسخه فقط یک آپدیت ساده نیست، بلکه به گفته مایکروسافت، اولین "محیط توسعه هوشمند" (Intelligent Developer Environment) محسوب میشه. تمرکز اصلی روی هوش مصنوعی، عملکرد و مدرن‌سازی بوده.

---

مهم‌ترین تغییرات و ویژگی‌های جدید:

محیط توسعه مبتنی بر هوش مصنوعی (AI-Native):

قسمت Copilot Agents: دیگه فقط یک پیشنهاددهنده کد نیست! Copilot حالا "ایجنت‌های" تخصصی برای C# و C++ داره که می‌تونن وظایف پیچیده‌تر مثل مدرن‌سازی کدهای قدیمی یا نوشتن تست‌های واحد (Unit Test) رو انجام بدن.

دیباگینگ هوشمند: موقع دیباگ کردن، Copilot بهتون میگه که چرا یک متغیر این مقدار رو گرفته یا فلان if چطور ارزیابی شده.

جستجوی هوشمند: قابلیت "Did You Mean" به جستجوی داخل پروژه اضافه شده و منظور شما رو بهتر درک می‌کنه.

عملکرد و پایداری فوق‌العاده:
بیش از ۵۰۰۰ باگ گزارش‌شده توسط کاربران رفع شده.

هنگ کردن‌های رابط کاربری (UI hangs) نسبت به VS 2022 بیش از ۵۰٪ کاهش پیدا کرده و محیط برنامه به شدت روان‌تر شده.

رابط کاربری جدید (Fluent UI):
ظاهر ویژوال استودیو بازطراحی شده و با زبان طراحی جدید مایکروسافت (Fluent UI) هماهنگ شده که مدرن‌تر و تمیزتره.

پشتیبانی کامل از پلتفرم‌های جدید:
پشتیبانی کامل از آخرین نسخه .NET.

بهره‌مندی از تمام قابلیت‌های جدید زبان سی‌شارپ.

پشتیبانی درجه یک از فریمورک جدید مایکروسافت برای ساخت اپلیکیشن‌های Cloud-Native.

پشتیبانی کامل از آخرین استانداردهای C++.

سازگاری اکستنشن‌ها:
خبر خوب! اکثر اکستنشن‌هایی که برای ویژوال استودیو ۲۰۲۲ نوشته شده‌اند، بدون مشکل روی نسخه ۲۰۲۶ هم کار می‌کنند.

---

🔗 لینک دانلود مستقیم از سایت مایکروسافت:
https://visualstudio.microsoft.com/downloads

---

🔑 لایسنس‌های ارائه شده:

Enterprise:
BW43B-4PNFP-V7GB7-36MBD-3PJTH

Professional:
DDBD6-NPCDC-2FH2P-PDP9M-G3F6W

---

#VisualStudio #VS2026 #DotNet10 #CSharp14 #AI #Copilot

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
11👏2🔥1
Forwarded from ʜᴜꜱꜱᴇɪɴ ʙᴇʏɢɪ
قسمت سوم :

🔥 اگه فکر می‌کنی Kibana فقط برای نگاه‌کردن لاگه… این ویدیو نظرت رو عوض می‌کنه!

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

ساخت ایندکس واقعی
سرچ‌های کاربردی با Match و Multi-Match
اولین Aggregation حرفه‌ای
فهم درست Doc, Index و REST API
و کلی نکته‌ای که معمولاً هیچ‌جا گفته نمی‌شه…

اگر حتی یه‌ بار با ElasticSearch کار کردی (یا می‌خوای شروع کنی)، این قسمت جامپ‌استارتته!
👇
https://youtu.be/HSodksRVtKU
3👍1🔥1
مدل Gemini 3 Pro منتشر شده و نتایج اولیه روی بنچمارک‌ها از پیشرفت قابل ملاحظه نسبت به مدل قبلی خبر می‌ده.

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41🤯1
اتحاد غول‌های هوش مصنوعی: مایکروسافت، انویدیا و آنتروپیک برای آینده هوش مصنوعی همکاری می‌کنند

در یک رویداد مهم، مدیران عامل شرکت‌های مایکروسافت، انویدیا و آنتروپیک از یک همکاری استراتژیک چندجانبه برای تسریع نوآوری و گسترش هوش مصنوعی در سطح جهانی خبر دادند. بر اساس این توافق، مدل‌های پیشرفته هوش مصنوعی Claude شرکت آنتروپیک بر روی پلتفرم ابری Azure مایکروسافت در دسترس قرار گرفته و در محصولات خانواده Copilot ادغام خواهند شد.

از سوی دیگر، انویدیا با تأمین پردازنده‌های گرافیکی قدرتمند خود و همکاری فنی برای بهینه‌سازی مدل‌ها، زیرساخت لازم برای رشد آنتروپیک را فراهم می‌کند. این اتحاد با هدف ارائه بهترین زیرساخت‌ها، مدل‌های هوش مصنوعی و برنامه‌های کاربردی به مشتریان، به ویژه در بخش‌های سازمانی و صنعتی، شکل گرفته است تا پذیرش فناوری هوش مصنوعی در سراسر جهان را تسریع بخشد.

https://www.youtube.com/watch?v=bl7vHnOgEg0
👍4🔥32