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


🆔 @dotnetcode
Download Telegram
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
20👍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
11👍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
7🔥4👏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
14👏2🔥1
Forwarded from ʜᴜꜱꜱᴇɪɴ ʙᴇʏɢɪ
قسمت سوم :

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

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

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

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

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

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

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

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

https://www.youtube.com/watch?v=bl7vHnOgEg0

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥3
از اضطراب تا اطمینان: پارادوکسِ ملالت

در دنیای مهندسی نرم‌افزار، جایی که پیچیدگی ذات سیستم است و تغییر تنها ثابتِ آن، «ترس» همواره در سایه کدها کمین کرده است. ترس از شکستن کدهای قدیمی هنگام افزودن قابلیت‌های جدید، ترس از باگ‌های پنهان در لایه‌های زیرین، و ترس از آن لحظه‌ی هولناکِ "Deploy" که نمی‌دانیم سیستم تاب می‌آورد یا خیر.

کنت بک در این جمله، مرز باریک میان یک «کدنویس» و یک «مهندس نرم‌افزار» را ترسیم می‌کند. او معیار کافی بودن تست‌ها را نه در درصد پوشش کد (Code Coverage)، بلکه در آرامش روان توسعه‌دهنده جستجو می‌کند.

۱. ترس به عنوان سیگنال:
وقتی کدی می‌نویسید و هنوز اضطراب دارید، این ترس یک سیگنال فنی است. به این معناست که سیستم شما هنوز پیش‌بینی‌ناپذیر است. شما هنوز تمام سناریوهای مرزی را رام نکرده‌اید. این ترسِ سازنده، سوختِ نوشتن تست‌های بیشتر است.

۲. استحاله به ملالت (Boredom):
چرا «ملالت» یا «کسالت»؟ در اینجا کنت بک واژه‌ی Boredom را به عنوان یک فضیلت ستایش می‌کند. هیجان در عملیات مهندسی، معمولاً نشانه خوبی نیست؛ هیجان یعنی غیرقابل پیش‌بینی بودن، یعنی خطر.
وقتی تست‌های شما آنقدر کامل، دقیق و جامع هستند که اجرای آن‌ها هیچ شگفتی‌ای برایتان ندارد و نتیجه‌ی سبز شدنشان از پیش برایتان مسجل است، شما به آن «ملالت مقدس» رسیده‌اید.

نتیجه‌گیری:
تست‌نویسی فقط برای یافتن باگ نیست؛ ابزاری است برای خریدنِ اعتماد به نفس. جمله‌ی کنت بک به ما یادآوری می‌کند که هدف نهایی TDD، تبدیل کردن فرآیند توسعه نرم‌افزار از یک ماجراجویی پرخطر و استرس‌زا، به یک روتینِ قابل پیش‌بینی، امن و حتی «خسته‌کننده» است.
زمانی که انتشارِ کد جدید برایتان به اندازه نوشیدن یک لیوان آب معمولی و بی‌هیجان شد، آنگاه می‌توانید ادعا کنید که معماری سیستم‌تان بالغ شده است.

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
6👏2🔥1
انقلاب گوگل در طراحی رابط کاربری: معرفی Generative UI

گوگل در مقاله تحقیقاتی جدیدش توضیح داده که چطور با استفاده از مدل Gemini 3 Pro، فرآیند ساخت رابط‌های کاربری را کاملاً خودکار کرده است. این سیستم دیگر فقط یک چت‌بات متنی نیست؛ بلکه یک پایپ‌لاین مهندسی کامل است که مثل یک برنامه‌نویس Front-End عمل می‌کند.

معماری این سیستم روی سه ستون اصلی بنا شده است:

1️⃣ فراتر از مدل زبانی (Tools & Integration)
مدل زبانی در این سیستم تنها نیست و به ابزارهای قدرتمندی دسترسی دارد. اتصال به جستجوی وب، تولید تصویر (Image Gen) و دیتابیس‌ها باعث می‌شود خروجی نهایی صرفاً یک متن نباشد، بلکه محتوایی زنده و متصل به دنیای واقعی باشد.

2️⃣ مغز متفکر سیستم (System Instructions)
کیفیت خروجی وابسته به دستورالعمل‌های دقیقی است که به مدل داده می‌شود. قوانین مربوط به ساختار HTML/CSS، محدودیت‌های دیزاین سیستم و نحوه تعامل کامپوننت‌ها در این مرحله به مدل تزریق می‌شود تا کد استاندارد تولید کند.

3️⃣ تضمین کیفیت نهایی (Post-Processing)
خروجی خام مدل هرگز مستقیماً به کاربر نمایش داده نمی‌شود. لایه پردازش نهایی وظیفه دارد کدها را بررسی کند، تگ‌های اشتباه را اصلاح کند و جلوی مشکلات امنیتی را بگیرد تا نتیجه در مرورگر بدون نقص اجرا شود.

نتیجه نهایی چیست؟
کاربر به جای خواندن یک توضیح متنی خشک، یک رابط کاربری (UI) تعاملی، گرافیکی و قابل کلیک تحویل می‌گیرد که دقیقاً برای نیاز او ساخته شده است.

🔗 لینک مقاله کامل:
https://generativeui.github.io/static/pdfs/paper.pdf

#Google #Gemini #GenerativeUI #AI #Frontend

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥1🥰1😱1
👋 سلام بچه‌ها! فرصت شغلی جذاب برای .NET کارها

​تیم ما داره بزرگ‌تر میشه و برای یه پروژه هیجان‌انگیز تو حوزه Airline (که یه پروژه بلندمدت و استخون‌داره)، دنبال ۳ نفر برنامه‎‌نویس Senior یا Mid-Level می‌گردیم.

چرا این پوزیشن جذابه؟
چون سعی کردیم استک فنی رو خیلی مدرن و تمیز نگه داریم. اگه دوست دارید با Aspire، Keycloak و Blazor کار کنید، جای شما پیش ما خالیه.

شرایط کلی:
🔸 تکنولوژی‌ها: C# ،ASP.NET Core
🔸 محل کار: غرب تهران (پونک) - حضوری
🔸 زمان: شنبه تا ۴شنبه
🔸 حقوق: بالاتر از میانگین آگهی‌های این روزها + بیمه تکمیلی

🎯 پروسه مصاحبه: مصاحبه‌ها به صورت ریموت برگزار میشه و سعی کردیم یه گپ فنی چالشی و مفید باشه که حتی اگه همکاری نکردیم، برای هر دو طرف آورده داشته باشه.

​اگر دنبال تغییر فضا هستید یا کسی رو می‌شناسید، خوشحال می‌شم بهم پیام بدید.

@ysmoradi

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
7👏4🔥1
خداحافظی با انتظارهای چندساله، ویژوال استودیو هم سالانه شد!

یه خبر مهم و استراتژیک برای همه دات‌نتی‌ها و کاربرای ویژوال استودیو! مایکروسافت بالاخره تصمیم گرفت مدل انتشار IDE محبوبش رو تغییر بده و یه نظم اساسی بهش ببخشه.

اگه یادتون باشه قبلاً روال کار اینجوری بود که باید ۲ یا ۳ سال صبر می‌کردیم تا یه نسخه ماژور جدید بیاد (مثل پرش از ۲۰۱۹ به ۲۰۲۲). اما طبق داکیومنت‌های جدیدی که برای نسخه ۲۰۲۶ منتشر شده، بازی عوض شده!

👇 توی تصویر پست دقیق نگاه کنید:

1️⃣ ریلیزهای منظم سالانه: از این به بعد قراره مثل ساعت دقیق، هر سال یک نسخه اصلی جدید داشته باشیم. یعنی بلافاصله بعد از ویژوال استودیو ۲۰۲۶، باید منتظر ۲۰۲۷، ۲۰۲۸ و ۲۰۲۹ باشیم. این یعنی ویژگی‌های جدید خیلی سریع‌تر به دستمون می‌رسه و دیگه خبری از "بیگ‌بنگ"های چند ساله نیست. این حرکت دقیقا هم‌راستا با چرخه انتشار سالانه .NET هست.

2️⃣ خیال‌راحت با کانال‌های LTSC: شاید با خودتون بگید «ای بابا! کی حال داره هر سال نسخه عوض کنه و درگیر باگ‌های احتمالی بشه؟»

نگران نباشید! مایکروسافت برای تیم‌های Enterprise و کسایی که دنبال ثباتن، نسخه‌های LTSC (Long-Term Servicing Channel) رو همزمان ارائه میده. این یعنی می‌تونید روی یه نسخه پایدار بمونید که تا ۱۸ ماه ساپورت میشه و فقط پچ‌های امنیتی رو می‌گیره، بدون اینکه محیط توسعه‌تون بهم بریزه.

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

🔗 جزئیات کامل و فنی این تغییرات رو توی لینک رسمی زیر بخونید:
https://learn.microsoft.com/en-us/visualstudio/releases/2026/release-rhythm

#برنامه_نویسی #مایکروسافت #ویژوال_استودیو #دات_نت #تکنولوژی #VisualStudio #DotNet #Microsoft

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥7🎉3
Forwarded from Learning With M
This media is not supported in your browser
VIEW IN TELEGRAM
من با همش موافقم ولی یه مورد ششم هم من اضافه کنم که به نظرم از همه مهم تره.

اونم اینه که : مدیر ها باید دنبال آدم هایی باشن که رشد می کنن و رشد میدن.
8👍1🔥1🥰1
کالبدشکافی یک مهاجرت بزرگ: چرا ردیت قلب تپنده‌اش را به Go سپرد؟

اخیراً تیم مهندسی Reddit یکی از مهم‌ترین تغییرات زیرساختی چند سال اخیر خود را فاش کرد: بازنویسی سرویس کامنت‌ها (Comment Service) از پایتون به Go.
شاید بپرسید چرا کامنت؟ در ردیت، کامنت‌ها فقط یک لیست ساده متنی نیستند؛ آن‌ها یک ساختار درختی پیچیده و عمیق (Deeply Nested) دارند که پردازش و نمایش آن‌ها در اسکیل میلیونی، یک چالش تمام عیار مهندسی است.


چرا پایتون دیگر پاسخگو نبود؟ (The Bottleneck)


ردیت سال‌هاست که یک "Python Shop" محسوب می‌شود. پایتون برای توسعه سریع عالی است، اما وقتی صحبت از High Throughput و محاسبات سنگین در لحظه می‌شود، کم می‌آورد:
۱. هزینه بالای ساخت آبجکت‌ها: در پایتون، هر نود (Node) در درخت کامنت‌ها یک آبجکت سنگین است. وقتی قرار است هزاران کامنت را برای یک ترد (Thread) لود کنید، سربار حافظه و CPU وحشتناک می‌شود.

۲. قفل مفسر جهانی (GIL): پردازش همزمان درخواست‌ها در پایتون به دلیل GIL محدودیت دارد و نمی‌توان از تمام هسته‌های CPU به صورت واقعی (Parallelism) بهره برد.

۳. تایپ‌دهی پویا: در سیستم‌های بسیار بزرگ، چک کردن تایپ‌ها در زمان اجرا (Runtime) هم سربار دارد و هم ریسک باگ را بالا می‌برد.

چرا Go ناجی سیستم شد؟
تیم ردیت تصمیم گرفت برای این سرویس خاص به سراغ Go برود. نتایج خیره‌کننده بود:

مدیریت همزمانی (Concurrency): با استفاده از Goroutineها، ردیت توانست درخواست‌های واکشی (Fetch) کامنت‌ها را به صورت موازی و بسیار سبک انجام دهد. کاری که در پایتون نیازمند Threadهای سنگین سیستم‌عامل بود، در Go با چند کیلوبایت حافظه انجام شد.

ساختار داده‌ای بهینه: برخلاف پایتون، Go اجازه می‌دهد کنترل دقیقی روی نحوه چیدمان داده‌ها در حافظه داشته باشید (Memory Layout). این یعنی کاهش فشار روی Garbage Collector و افزایش سرعت پردازش.

کاهش تاخیر (Latency): نتیجه نهایی، کاهش چشمگیر زمان پاسخگویی (Response Time) سرویس کامنت بود، حتی در زمان‌هایی که ترافیک پلتفرم به اوج می‌رسد.

درس‌هایی برای طراحی سیستم (System Design):
این حرکت ردیت یک کلاس درس عالی برای معماران نرم‌افزار است:
- معماری چند زبانه (Polyglot): لازم نیست کل پلتفرم با یک زبان نوشته شود. ردیت همچنان برای بیزنس لاجیک‌های لایه بالا از پایتون استفاده می‌کند، اما برای لایه‌های زیرین و پرفشار، Go را وارد کرده است.

- میکروسرویس واقعی: جدا کردن سرویس کامنت، اجازه داد تا فقط "همان بخش" اسکیل شود، بدون اینکه نیاز باشد کل کدبیس تغییر کند.

📊 نتیجه: سرویس جدید با منابع سخت‌افزاری کمتر، ترافیک بیشتری را مدیریت می‌کند و تجربه کاربری (UX) روان‌تری را ارائه می‌دهد.

🔗 مطالعه مقاله فنی کامل در ردیت:
https://www.reddit.com/r/RedditEng/s/2tmpQVQSdv

#Reddit #Golang #SystemDesign #Microservices #Backend #PythonVsGo #HighThroughput

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍115🔥3👏1
Forwarded from TondTech (مسعود بیگی)
بیا تو تیم ما 💪
داریم تیم دیتای رسمیو رو گسترش میدیم ، اگه شکارچی داده ( Crawler ) هستی، بیا با هم کیف کنیم :))
تا دلتون بخواد چالش و کار جدی داریم تو رسمیو تو این بخش
قول میدم حسابی سرگرم و مشغول باشید و هر روز یه چالش جدید داشته باشی توی این پوزیشن😁
2
آینده تست‌نویسی در .NET؛ وقتی هوش مصنوعی خودش را قضاوت می‌کند!

اگر در اکوسیستم دات‌نت فعالیت می‌کنید، حتماً می‌دانید که ورود AI به اپلیکیشن‌ها، مدل‌های سنتی تست‌نویسی را به چالش کشیده است. دیگر صرفاً چک کردن یک خروجی ثابت کافی نیست؛ ما با مدل‌های زبانی (LLM) سر و کار داریم که پاسخ‌هایشان متغیر است.
مایکروسافت با معرفی کتابخانه‌های Microsoft.Extensions.AI.Evaluation و ابزارهای جدید در Visual Studio 2026، پازل تست‌نویسی هوشمند را کامل کرده است.

💡 نکات کلیدی ویدیو (AI-Powered Testing in VS):

در ویدیوی جدید کانال دات‌نت، مک‌کنا بارلو (PM تیم ابزارهای دات‌نت) نکات بسیار مهمی را مطرح کرد:
1️⃣ تست‌نویسی خودکار با Copilot: حالا GitHub Copilot می‌تواند برای کل Solution شما به‌صورت یکجا Unit Testهای باکیفیت بنویسد. این یعنی دیگر لازم نیست ساعت‌ها وقت صرف نوشتن کدهای تکراری تست کنید.

2️⃣ ترکیب Code Coverage و AI: ابزار Code Coverage در ویژوال استودیو حالا هوشمندتر شده؛ نقاطی از کد که تست نشده‌اند را شناسایی کرده و مستقیماً به Copilot پیشنهاد می‌دهد تا برای همان بخش‌های پرریسک، تست تولید کند.

3️⃣ گزارش‌های بصری (AI Eval Reporting): با ابزار جدید dotnet aieval می‌توانید گزارش‌های گرافیکی دقیقی در مرورگر ببینید که نشان می‌دهد مدل هوش مصنوعی شما در چه بخش‌هایی (مثلاً در Groundedness یا صحت اطلاعات) ضعف داشته است.

4️⃣ فراتر از Black Box: هدف این ابزارها این است که خروجی AI دیگر یک "جعبه سیاه" نباشد. شما می‌توانید دقیقاً بفهمید چرا یک مدل امتیاز پایینی گرفته و با چه منطقی پاسخ داده است.

🛠 کتابخانه Microsoft.Extensions.AI.Evaluation شامل چیست؟
این پکیج‌ها فرآیند ارزیابی را به چهار لایه تقسیم می‌کنند:
ارزیابی کیفی (Quality): سنجش میزان مرتبط بودن (Relevance) و انسجام (Coherence) پاسخ‌ها.

ارزیابی ایمنی (Safety): شناسایی خودکار محتوای سمی، نفرت‌پراکنی یا کد‌های مخرب تولید شده توسط AI.

ارزیابی مستند بودن (Groundedness): حیاتی‌ترین بخش برای جلوگیری از توهم (Hallucination)؛ چک می‌کند که آیا AI بر اساس دیتای واقعی شما حرف می‌زند یا از خودش داستان می‌سازد!

ارزیابی کلاسیک (NLP): استفاده از معیارهای BLEU و F1 برای سنجش شباهت متنی با پاسخ‌های مرجع.

چرا این موضوع مهم است؟
در دنیای واقعی، ما نمی‌توانیم به خروجی مدل‌های هوش مصنوعی اعتماد صددرصدی داشته باشیم. این کتابخانه‌ها به ما "اعتماد سیستماتیک" می‌دهند. یعنی قبل از اینکه کاربر نهایی با یک پاسخ اشتباه روبرو شود، سیستم تست شما آن را شکار می‌کند.

📌 ویژگی طلایی: تمام این فرآیندها دارای سیستم Caching هستند؛ یعنی اگر یک تست را دوباره اجرا کنید و ورودی تغییری نکرده باشد، هزینه‌ای برای API پرداخت نمی‌کنید و نتیجه بلافاصله نمایش داده می‌شود.

📺 مشاهده ویدیو کامل در یوتیوب:
🔗 https://youtu.be/Bkn78klGhtc?si=c5dBLw1y7ituLTFH
📖 مطالعه مستندات رسمی:
🔗 https://learn.microsoft.com/en-us/dotnet/ai/evaluation/libraries

#dotnet #csharp #VisualStudio2026 #AI #Testing #GitHubCopilot #Programming #SoftwareEngineering #هوش_مصنوعی #برنامه_نویسی

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

📚💻 @dotnetcode 🖥👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
5👏4🔥1
🛡 انقلابی در امنیت کانتینرها: داکر 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
👍4🔥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👏2🎉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
4🔥1👏1