آموزش C# و .Net
1.55K subscribers
427 photos
325 videos
19 files
2.79K links
تعرفه تبلیغات :
https://t.me/+w-o6dHW5O31jMWNk

آیدی ادمین:
@ma_limbs
Download Telegram
‏استفاده از Hardware Intrinsics در C# می‌تونه سرعت اجرای بعضی از محاسبات رو به شکل چشمگیری بالا ببره. 🚀

‏این قابلیت به شما اجازه می‌ده تا مستقیماً از دستورالعمل‌های پردازنده (مثل SIMD) استفاده کنید. 💻

‏توی بنچمارک‌ها، دیده‌ شده که این روش تا چند برابر سریع‌تر از کد C# معمول عمل می‌کنه.

https://t.me/csharp7
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین‌ و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
💡 نکته #MySQL

🟣 موضوع : ‏کار با انواع JOIN در MySQL به صورت عملی
📖 سرفصل : ‏سینتکس RIGHT JOIN با کلمه‌کلیدی ON

‏سلام! اگه میخوای از RIGHT JOIN توی MySQL استفاده کنی، یادت باشه که بعدش باید حتماً کلمه کلیدی ON رو بیاری و شرطت رو بنویسی. مثل این: RIGHT JOIN table2 ON table1.id = table2.table1_id 😉

‏اگه توی RIGHT JOIN یه جدول سمت راستت هست و یه جدول سمت چپت، همه ردیف‌های جدول سمت راست (right table) رو نشون میده، حتی اگه توی جدول سمت چپ (left table) هیچ تطابقی نداشته باشه! 🤯

‏وقتی از RIGHT JOIN استفاده میکنی، ترتیب جداول خیلی مهمه! جدول سمت راستت (right table) مهمه و اطلاعاتش کامل میاد. 🔄

‏می‌خوای بفهمی RIGHT JOIN چه‌جوری کار میکنه؟ یه دایره بکش، بعدش یه فلش از جدول سمت راست به سمت چپ بکش! اینجوری تجسمش آسون‌تره. 🎯

‏اگه داری چند تا جدول رو JOIN میکنی، و میخوای از RIGHT JOIN استفاده کنی، حواست باشه که ترتیب جداول رو درست تنظیم کنی! 🤓

‏یه راه خوب برای تست RIGHT JOIN اینه که یه جدول کوچیک بسازی، بعدش با یه جدول بزرگتر JOIN ش کنی. اینطوری نتیجه‌اش رو راحت‌تر می‌بینی. 🧪

‏تو شرط ON توی RIGHT JOIN، حتماً از فیلدهایی استفاده کن که توی جداولت مشترک هستن و به هم ربط دارن (مثل کلیدهای خارجی). 🔗

‏اگه توی RIGHT JOIN شرط ON رو یادت بره، MySQL بهت ارور میده! پس حواست باشه! ⚠️

‏برای اینکه بفهمی نتیجه RIGHT JOIN چطوریه، میتونی بعدش از دستور ORDER BY استفاده کنی و اطلاعات رو مرتب کنی. 👌

‏RIGHT JOIN یه ابزار خیلی قویه! فقط کافیه یه کم تمرین کنی تا قلقش دستت بیاد! 🔥💡


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
‏خبر خوب برای C#‎ کارها! 🎉

‏ویژگی Interceptors رسماً Stable شد. این قابلیت به شما اجازه می‌ده تا فراخوانی یک متد رو در زمان کامپایل، به متد دیگه‌ای Redirect کنید. 🔄

‏به زبان ساده، قبل از اجرا شدن کد، کامپایلر می‌تونه تصمیم بگیره که یک تیکه از کدتون، به جای اصلیش، یه جای دیگه اجرا بشه. این یعنی انعطاف‌پذیری بیشتر و امکانات جدید برای AOP و تست‌زنی. 🧪

https://t.me/csharp7
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین‌ و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
💡 نکته #SQL

🟣 موضوع : ‏استفاده از ALIAS برای جدول‌ها و ستون‌ها

نکته :

‏وقتی چند تا جدول رو JOIN می‌کنی، اسم ستون‌ها رو هم با ALIAS خوشگل کن. مثلا c.first_name AS CustomerName . اینجوری نتیجه کوئری خیلی خوانا میشه.


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
‏در C#، دستورات break و continue ابزارهای قدرتمندی برای کنترل جریان اجرای حلقه‌ها هستند.

‏دستور break بلافاصله اجرای حلقه را متوقف کرده و کنترل را به دستور بعد از حلقه منتقل می‌کند. این دستور زمانی مفید است که شرط خاصی برای خروج زودهنگام از حلقه وجود داشته باشد.

‏دستور continue اجرای تکرار فعلی حلقه را متوقف کرده و به ابتدای حلقه برای تکرار بعدی می‌رود. این دستور زمانی کاربرد دارد که بخواهیم از اجرای بخشی از کد در یک تکرار خاص صرف نظر کنیم.

‏مثال:

for (int i = 0; i < 10; i++)
{
if (i == 5)
{
‏ break; // حلقه در اینجا متوقف می‌شود
}
if (i % 2 == 0)
{
‏ continue; // اگر عدد زوج بود، از چاپ آن صرف نظر کن
}
Console.WriteLine(i);
}


‏در این مثال، حلقه تا زمانی که i برابر با 5 شود اجرا می‌شود و سپس با break متوقف می‌گردد. اعداد زوج نیز با continue چاپ نمی‌شوند. 🚀💡

https://t.me/csharp7
‏الگوریتم‌ها رو تو پایتون پیاده‌سازی کنیم؟ 🤔

‏یه عالمه الگوریتم خفن داریم که می‌تونیم با پایتون کدشون بزنیم! از مرتب‌سازی حبابی 🫧 بگیر تا جستجوی دودویی 🔎.

‏اینطوری هم منطق الگوریتم‌ها رو بهتر می‌فهمیم، هم مهارت برنامه‌نویسی‌مون تقویت میشه 💪.

‏تو پست‌های بعدی چندتا الگوریتم ساده رو با هم پیاده‌سازی می‌کنیم. با ما همراه باشید! 😉

https://t.me/python7ir
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین‌ و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
🔵 کوییز T-SQL - مبانی SELECT #پایگاه_داده #sql_server #t_sql

🟣 سوال: تفاوت بین اپراتور = و != در T-SQL چیست؟

🟢 پاسخ: اپراتور = برای مقایسه تساوی و اپراتور != برای مقایسه نابرابری استفاده می‌شود. مثال: SELECT * FROM Employees WHERE Department = 'HR'; و SELECT * FROM Employees WHERE Department != 'HR';
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
‏کامپایل کد C# در زمان اجرا ⚙️ با DynamicCodeCompilation، قابلیتی برای حذف (suppress) فایل‌های DLL تولید شده وجود دارد. این کار برای جلوگیری از بهم ریختگی پوشه‌ها و حفظ امنیت بیشتر در محیط‌های حساس کاربرد دارد.

‏به این صورت:
```csharp
var compilation = CSharpCompilation.Create(...).WithOptions(new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary, emitDebugInformation: false, deterministic: true, concurrentBuild: false, optimizationLevel: OptimizationLevel.Release, DynamicCodeCompilation = false));
```

‏با `DynamicCodeCompilation = false` دیگر DLL تولید نمی‌شود. 👌

https://t.me/csharp7
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین‌ و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
This media is not supported in your browser
VIEW IN TELEGRAM
🔵 MySQL UNIONS are easy

🟢 کیفیت : متوسط

🔴 توجه کنید با تنظیمات خود تلگرام می توانید حجم و کیفیت ویدیو را بر اساس سرعت اینترنت خود تنظیم نمایید.

🟣 MySQL tutorial for beginners 🐬

🟢 زبان آموزش: انگلیسی

🟣 دوره MySQL برای مبتدیان


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین‌ و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
‏Kestrel یک وب سرور متن‌باز و کراس پلتفرم است که به طور پیش‌فرض در ASP.NET Core استفاده می‌شود. این وب سرور برای میزبانی برنامه‌های ASP.NET Core در محیط‌های مختلف، از جمله توسعه محلی و استقرار در تولید، طراحی شده است.

‏Kestrel به دلیل سبک بودن، سرعت بالا و انعطاف‌پذیری، انتخاب مناسبی برای اجرای برنامه‌های ASP.NET Core است. این وب سرور می‌تواند مستقیماً برنامه‌های شما را اجرا کند یا به عنوان یک پروکسی معکوس (Reverse Proxy) در پشت یک وب سرور دیگر مانند IIS یا Nginx عمل کند.

‏هنگام توسعه یک برنامه ASP.NET Core، Kestrel به طور خودکار راه‌اندازی می‌شود و برنامه شما را روی یک پورت مشخص (معمولاً 5000 یا 5001) در دسترس قرار می‌دهد. این امکان توسعه سریع و تست برنامه‌ها را بدون نیاز به پیکربندی پیچیده فراهم می‌کند. 🚀

‏برای پیکربندی Kestrel، می‌توانید از فایل Program.cs یا Startup.cs (در نسخه‌های قدیمی‌تر ASP.NET Core) استفاده کنید. به عنوان مثال، برای تنظیم پورت‌های گوش دادن:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

‏// تنظیم پورت‌های گوش دادن
app.Run("http://localhost:8080");


‏همچنین می‌توانید Kestrel را برای گوش دادن به چندین آدرس و پورت به طور همزمان پیکربندی کنید:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.Run(new[] { "http://localhost:5000", "https://localhost:5001" });


‏Kestrel همچنین از ویژگی‌هایی مانند HTTPS، HTTP/2 و مدیریت اتصالات پشتیبانی می‌کند که به بهبود عملکرد و امنیت برنامه‌های وب کمک می‌کند. 🌐⚡️

https://t.me/csharp7
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:

🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...

عضو لیست جامع شوید:

https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
‏کلاس‌های انتزاعی (Abstract Classes) در C# امکان تعریف متدهایی بدون بدنه را فراهم می‌کنند که باید توسط کلاس‌های مشتق شده پیاده‌سازی شوند. این ویژگی به ایجاد ساختارهای سلسله مراتبی قوی و اجبار به پیاده‌سازی متدهای کلیدی کمک می‌کند.

‏نکته مهم این است که شما نمی‌توانید مستقیماً از یک کلاس انتزاعی نمونه‌سازی (instantiate) کنید. هدف کلاس انتزاعی، ارائه یک الگوی کلی است که توسط کلاس‌های ملموس‌تر (Concrete Classes) به ارث برده و تکمیل شود.

‏همچنین، هر کلاسی که از یک کلاس انتزاعی ارث می‌برد، ملزم به پیاده‌سازی تمام متدهای انتزاعی تعریف شده در کلاس والد است، مگر اینکه خود آن کلاس نیز انتزاعی باشد. این الزام، اطمینان از وجود متدهای حیاتی را در تمام مشتقات فراهم می‌آورد.

‏// مثال کلاس انتزاعی
abstract class Shape
{
‏ public abstract void Draw(); // متد انتزاعی بدون بدنه
}

‏// کلاس مشتق شده که باید متد انتزاعی را پیاده‌سازی کند
class Circle : Shape
{
public override void Draw()
{
Console.WriteLine("Drawing a circle.");
}
}

‏// تلاش برای نمونه‌سازی از کلاس انتزاعی خطا می‌دهد
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:

🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...

عضو لیست جامع شوید:

https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
‏در ASP.NET Core برای تزریق وابستگی (Dependency Injection)، دو روش `FromServices` و `FromKeyedServices` وجود دارد.

‏`FromServices` وابستگی را مستقیماً از کانتینر DI می‌گیرد.

‏اما `FromKeyedServices` به شما امکان می‌دهد یک سرویس را بر اساس کلید (Key) خاصی بازیابی کنید. این روش زمانی مفید است که چندین پیاده‌سازی از یک اینترفیس وجود داشته باشد و بخواهید پیاده‌سازی خاصی را انتخاب کنید. 🔑

‏به عبارت دیگر، `FromKeyedServices` کنترل بیشتری بر انتخاب وابستگی ارائه می‌دهد. ⚙️

https://t.me/csharp7
💡 نکته #SQLite

🟣 موضوع : ‏بررسی و مقایسه انواع ذخیره‌سازی داده‌ها در SQLite
📖 سرفصل : ‏رفتار پیش‌فرض SQLite

نکته 1:
‏رفتار پیش‌فرض SQLite اینه که کل دیتابیس رو تو یه فایل تکی ذخیره می‌کنه و به سرور جداگانه نیازی نداره. یه فایل یعنی همه چیز! 📦💾💡

نکته 2:
‏به صورت پیش‌فرض، SQLite از حالت Journal Mode (معمولاً DEFERRED) استفاده می‌کنه. این باعث می‌شه که عملیات نوشتن کندتر باشه، اما داده‌ها ایمن‌تر باشن. 🛡️

نکته 3:
‏وقتی یه عملیات نوشتن (INSERT/UPDATE/DELETE) انجام می‌دی، SQLite به طور پیش‌فرض یه تراکنش (Transaction) جدید ایجاد می‌کنه و بلافاصله COMMIT می‌کنه (Autocommit). 📝

نکته 4:
‏برای امنیت، سطح Synchronous پیش‌فرض روی FULL تنظیم شده. این یعنی دیتابیس همیشه مطمئن می‌شه که اطلاعات قبل از تأیید، روی دیسک ذخیره شدن. 🔒🔥

نکته 5:
‏SQLite از نظر نوع داده‌ها سست عمل می‌کنه! یعنی اگه ستونی رو INTEGER تعریف کنی، باز هم می‌تونی توش یه متن ذخیره کنی. ⚠️

نکته 6:
‏به طور پیش‌فرض، اگه یه جدول بسازی و PRIMARY KEY رو مشخص نکنی، SQLite یه ستون پنهان به اسم rowid برای شناسایی ردیف‌ها اضافه می‌کنه. 🔢

نکته 7:
‏تو حالت عادی، SQLite فقط به یک نویسنده (Writer) تو هر لحظه اجازه می‌ده. اگه چندین برنامه همزمان بخوان بنویسن، بقیه باید صبر کنن. 🚫

نکته 8:
‏اندازه‌ی پیش‌فرض صفحات دیتابیس (Page Size) معمولاً ۴۰۹۶ بایت (۴ کیلوبایت) هست. این اندازه، مبنای ذخیره‌سازی و خواندن اطلاعاته. 📏

نکته 9:
‏وقتی یه فایل دیتابیس رو باز می‌کنی و اون فایل وجود نداره، SQLite به طور پیش‌فرض یه فایل جدید برات می‌سازه. خیلی دوستانه! 🛠️

نکته 10:
‏رفتار پیش‌فرض حافظه‌ی کش (Cache) اینه که به صورت خصوصی (Private) عمل می‌کنه، یعنی هر اتصال دیتابیس، کش مخصوص به خودش رو داره. 🧠😎


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

لطفا ما رو به دیگران هم معرفی کنید...

آدرس کانال اصلی :
https://t.me/Tu_24

آدرس وبسایت:
https://Tutorial24.ir
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین‌ و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:

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

https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0