💡 نکته #SQL
🟣 موضوع : کلید خارجی (FOREIGN KEY)
✨ نکته :
برای کلیدهای خارجیت اسمهای با معنی بذار. مثلاً fkorderscustomer_id خیلی بهتر از اسمهای عجیب غریب خودکاره. دیباگ کردن رو راحت میکنه. 💡
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : کلید خارجی (FOREIGN KEY)
✨ نکته :
برای کلیدهای خارجیت اسمهای با معنی بذار. مثلاً fkorderscustomer_id خیلی بهتر از اسمهای عجیب غریب خودکاره. دیباگ کردن رو راحت میکنه. 💡
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
💡 نکته #MySQL
🟣 موضوع : کار با انواع JOIN در MySQL به صورت عملی
📖 سرفصل : چه زمانی از JOIN و چه زمانی از Subquery استفاده کنیم؟
✨ برای ترکیب کردن دادهها از چند جدول؟ 🤝 غالباً JOIN بهترین دوستته! اما اگه میخوای یه شرط رو بر اساس نتیجه یه پرسوجو دیگه بررسی کنی، Subquery میتونه نجاتت بده. 🚀
✨ تو دنیای MySQL، وقتی با حجم زیادی از داده سر و کار داری، JOINها معمولاً "سریعتر" عمل میکنن. مثل یه ماشین اسپرت میمونن برای اتصال جدولها! 🏎️💨
✨ Subqueryها گاهی وقتا میتونن یه کم "لوس" باشن و اگه درست استفاده نشن، سرعتت رو بگیرن. همیشه حواست به بهینهسازیشون باشه! 🐌🐢
✨ اگه داری چند تا جدول رو به هم وصل میکنی و میخوای کدت خوانا باشه، JOINها مثل یه نقشه راه واضح عمل میکنن. 🗺️✨ کد بقیه هم ازت تشکر میکنن!
✨ Subqueryها مثل یه فیلتر هوشمند عمل میکنن. اگه میخوای بر اساس یه منطق پیچیده و موقت دادههات رو فیلتر کنی، اونها واقعاً کارآمدن. 🕵️♀️💡
✨ وقتی نیاز داری از هر دو جدول اطلاعات جمعآوری کنی (مثلاً جمع یه ستون یا تعداد رکوردها)، JOIN بهت کمک میکنه همه چیز رو یه جا ببینی و محاسبه کنی. 📊➕
✨ میخوای بدونی یه چیزی توی یه جدول دیگه "وجود داره" یا "وجود نداره"؟ Subquery با EXISTS یا NOT EXISTS مثل یه کارآگاه حرفهای عمل میکنه! 🧐✅
✨ اگه فقط میخوای یه "مقدار خاص" رو از یه پرسوجو دیگه بگیری و تو شرطت استفاده کنی (مثلاً WHERE ID = (SELECT MAX(ID) FROM...))، Subquery خیلی جمعوجور و کاربردیه. 🎯
✨ برای عیبیابی (debugging)، معمولاً JOINها رو میتونی مرحله به مرحله راحتتر بررسی کنی و ببینی چه دادههایی از کجا میان. 🐞🛠️
✨ اگه دیدی یه Subquery داره کند عمل میکنه و اعصابخردکنه، یه لحظه صبر کن! 🤔 اغلب اوقات میتونی اون رو به یه JOIN تبدیل کنی و شاهد افزایش سرعت باشی. امتحانش ضرر نداره! ⚡️
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : کار با انواع JOIN در MySQL به صورت عملی
📖 سرفصل : چه زمانی از JOIN و چه زمانی از Subquery استفاده کنیم؟
✨ برای ترکیب کردن دادهها از چند جدول؟ 🤝 غالباً JOIN بهترین دوستته! اما اگه میخوای یه شرط رو بر اساس نتیجه یه پرسوجو دیگه بررسی کنی، Subquery میتونه نجاتت بده. 🚀
✨ تو دنیای MySQL، وقتی با حجم زیادی از داده سر و کار داری، JOINها معمولاً "سریعتر" عمل میکنن. مثل یه ماشین اسپرت میمونن برای اتصال جدولها! 🏎️💨
✨ Subqueryها گاهی وقتا میتونن یه کم "لوس" باشن و اگه درست استفاده نشن، سرعتت رو بگیرن. همیشه حواست به بهینهسازیشون باشه! 🐌🐢
✨ اگه داری چند تا جدول رو به هم وصل میکنی و میخوای کدت خوانا باشه، JOINها مثل یه نقشه راه واضح عمل میکنن. 🗺️✨ کد بقیه هم ازت تشکر میکنن!
✨ Subqueryها مثل یه فیلتر هوشمند عمل میکنن. اگه میخوای بر اساس یه منطق پیچیده و موقت دادههات رو فیلتر کنی، اونها واقعاً کارآمدن. 🕵️♀️💡
✨ وقتی نیاز داری از هر دو جدول اطلاعات جمعآوری کنی (مثلاً جمع یه ستون یا تعداد رکوردها)، JOIN بهت کمک میکنه همه چیز رو یه جا ببینی و محاسبه کنی. 📊➕
✨ میخوای بدونی یه چیزی توی یه جدول دیگه "وجود داره" یا "وجود نداره"؟ Subquery با EXISTS یا NOT EXISTS مثل یه کارآگاه حرفهای عمل میکنه! 🧐✅
✨ اگه فقط میخوای یه "مقدار خاص" رو از یه پرسوجو دیگه بگیری و تو شرطت استفاده کنی (مثلاً WHERE ID = (SELECT MAX(ID) FROM...))، Subquery خیلی جمعوجور و کاربردیه. 🎯
✨ برای عیبیابی (debugging)، معمولاً JOINها رو میتونی مرحله به مرحله راحتتر بررسی کنی و ببینی چه دادههایی از کجا میان. 🐞🛠️
✨ اگه دیدی یه Subquery داره کند عمل میکنه و اعصابخردکنه، یه لحظه صبر کن! 🤔 اغلب اوقات میتونی اون رو به یه JOIN تبدیل کنی و شاهد افزایش سرعت باشی. امتحانش ضرر نداره! ⚡️
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...
عضو لیست جامع شوید:
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...
عضو لیست جامع شوید:
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
Telegram
برنامه نویسی
You’ve been invited to add the folder “برنامه نویسی”, which includes 55 chats.
در محیطهای ناهمگام C#، مدیریت استثناها نیازمند رویکردی متفاوت است. استثناهایی که در اجرای کدهای ناهمگام رخ میدهند، مستقیماً به جریان اصلی برنامه بازنمیگردند و ممکن است نادیده گرفته شوند.
برای مدیریت صحیح استثناها در عملیات ناهمگام، استفاده از
در صورتی که چندین
همچنین، در استفاده از
این اطمینان حاصل میکند که رفتار خطا در کد ناهمگام شبیه به کد همگام باشد و مدیریت آن سادهتر شود. ⚙️
https://t.me/csharp7
برای مدیریت صحیح استثناها در عملیات ناهمگام، استفاده از
await برای اجرای Task ها حیاتی است. هنگامی که یک Task که با استثنا تکمیل شده است را await میکنید، استثنای اصلی دوباره پرتاب میشود و میتوانید آن را با یک بلوک try-catch معمولی مدیریت کنید.async Task ProcessDataAsync()
{
try
{
await Task.Run(() =>
{
throw new InvalidOperationException("خطا در عملیات ناهمگام!");
});
}
catch (InvalidOperationException ex)
{
Console.WriteLine($"خطا مدیریت شد: {ex.Message}");
}
}
در صورتی که چندین
Task ناهمگام را به صورت موازی اجرا میکنید (مثلاً با استفاده از Task.WhenAll)، اگر هر یک از این Task ها با استثنا تکمیل شوند، Task.WhenAll تکمیل نخواهد شد و استثنای اولین Task که با خطا مواجه شده، پرتاب میشود. برای جمعآوری و مدیریت تمامی استثناها، میتوانید از AggregateException استفاده کنید.async Task ProcessMultipleTasksAsync()
{
Task task1 = Task.Run(() => throw new Exception("خطا در تسک ۱"));
Task task2 = Task.Run(() => throw new Exception("خطا در تسک ۲"));
try
{
await Task.WhenAll(task1, task2);
}
catch (AggregateException ae)
{
foreach (var ex in ae.InnerExceptions)
{
Console.WriteLine($"خطا جمعآوری شده: {ex.Message}");
}
}
}
همچنین، در استفاده از
ContinueWith با TaskContinuationOptions.OnlyOnFaulted، میتوانید استثناها را رهگیری کنید، اما این روش کمی پیچیدهتر است و استفاده مستقیم از await در اکثر سناریوها توصیه میشود. 💡این اطمینان حاصل میکند که رفتار خطا در کد ناهمگام شبیه به کد همگام باشد و مدیریت آن سادهتر شود. ⚙️
https://t.me/csharp7
Telegram
آموزش C# و .Net
تعرفه تبلیغات :
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
`ConfigureAwait(false)` در C# برای جلوگیری از Deadlock در برنامههای Async/Await استفاده میشود. ⚠️
وقتی یک Task منتظر اتمام یک عملیات است، بطور پیشفرض سعی میکند بعد از اتمام عملیات، به Context قبلی (مثلاً UI thread) برگردد. 🔄
اگر این Context در دسترس نباشد (مثلاً به دلیل قفل شدن)، برنامه دچار Deadlock میشود. استفاده از `ConfigureAwait(false)` باعث میشود Task به Context قبلی برنگردد و از Deadlock جلوگیری شود. ✅
https://t.me/csharp7
وقتی یک Task منتظر اتمام یک عملیات است، بطور پیشفرض سعی میکند بعد از اتمام عملیات، به Context قبلی (مثلاً UI thread) برگردد. 🔄
اگر این Context در دسترس نباشد (مثلاً به دلیل قفل شدن)، برنامه دچار Deadlock میشود. استفاده از `ConfigureAwait(false)` باعث میشود Task به Context قبلی برنگردد و از Deadlock جلوگیری شود. ✅
https://t.me/csharp7
در C#، میتوانید استثناهای سفارشی خود را با ارثبری از کلاس
برای ایجاد یک کلاس استثنای سفارشی، کافی است یک کلاس جدید تعریف کرده و آن را از
به عنوان مثال، برای ایجاد استثنایی که نشاندهنده خطای ورود نامعتبر است، میتوانید کلاس زیر را بنویسید:
https://t.me/csharp7
Exception طراحی کنید. این کار به شما امکان میدهد تا انواع خاصی از خطاها را در برنامهی خود مدیریت کنید و اطلاعات مرتبط با آنها را به صورت ساختاریافتهتری ثبت کنید.برای ایجاد یک کلاس استثنای سفارشی، کافی است یک کلاس جدید تعریف کرده و آن را از
System.Exception ارثبری کنید. معمولاً بهتر است سازندههایی را که در کلاس Exception وجود دارند، بازنویسی (override) کنید تا امکان ارسال پیام و خطای داخلی فراهم شود.به عنوان مثال، برای ایجاد استثنایی که نشاندهنده خطای ورود نامعتبر است، میتوانید کلاس زیر را بنویسید:
public class InvalidInputException : Exception
{
public InvalidInputException() : base() { }
public InvalidInputException(string message) : base(message) { }
public InvalidInputException(string message, Exception innerException) : base(message, innerException) { }
}
https://t.me/csharp7
🔵 با عضویت در لیست تلگرامی جامع آموزش زبان زیر عضو بی نظیرترین و کامل ترین مجموعه آموزش زبان انگلیسی تلگرامی شوید:
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
🟢 پادکست، کوییز، گرامر، آیلتس، تافل، ویدیو، آموزش زبان به کودکان، اصطلاحات انگلیسی، زبان کنکور و ... :
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
https://t.me/addlist/hK74E7joz0ZiOGY0
Telegram
زبان
You’ve been invited to add the folder “زبان”, which includes 50 chats.
💡 نکته #MySQL
🟣 موضوع : کار با انواع JOIN در MySQL به صورت عملی
📖 سرفصل : استفاده از COUNT با JOIN
✨ نکته 1: حواست باشه! وقتی با JOIN دادهها رو به هم وصل میکنی و بعد COUNT میگیری، ممکنه تعداد ردیفهات الکی زیاد بشن. 🤔 برای شمردن آیتمهای یکتا، حتماً از COUNT(DISTINCT ...) استفاده کن! 💡
✨ نکته 2: اگه میخوای فقط آیتمهای منحصر به فرد یه جدول رو بشمری ولی نیاز به اطلاعات جدول دیگه هم داری، COUNT(DISTINCT yourmaintable.id) رفیقته! ✨ اینجوری از شمردن تکراریها جلوگیری میکنی.
✨ نکته 3: عملکرد (Performance) رو دست کم نگیر! 🚀 JOIN و COUNT روی جدولهای بزرگ میتونه سرعت رو بیاره پایین. حتماً مطمئن شو که ایندکسهات (Indexes) درست و حسابی تنظیم شدن!
✨ نکته 4: فرق LEFT JOIN و INNER JOIN برای شمردن خیلی مهمه! اگه میخوای حتی اونایی که تو جدول دوم هیچ تطابقی ندارن هم تو شمردنت باشن، LEFT JOIN رو انتخاب کن. 🤝
✨ نکته 5: گاهی اوقات، استفاده از یک سابکوئری (Subquery) یا CTE برای شمردن پیشفرض، میتونه کوئری رو واضحتر و حتی سریعتر کنه. 🧠 پیچیده کردن JOIN و COUNT همیشه بهترین راه نیست!
✨ نکته 6: برای شمردن گروهبندی شده (مثلاً تعداد سفارش برای هر مشتری)، GROUP BY رو فراموش نکن! 🏷️ این دستور کلید اصلی برای گرفتن آمار از دستههای مختلفه.
✨ نکته 7: COUNT() و COUNT(columnname) فرق دارن. COUNT() همه ردیفها رو میشماره، حتی اونایی که توشون NULL هستن (بعد از JOIN و WHERE). ولی COUNT(columnname) فقط ردیفهای غیر-NULL رو میشماره. حواست باشه کدوم رو استفاده میکنی! 🧐
✨ نکته 8: یه مثال کاربردی: برای شمردن تعداد سفارشهای هر مشتری، میتونی اینطوری بنویسی: SELECT c.name, COUNT(o.orderid) FROM customers c LEFT JOIN orders o ON c.id = o.customerid GROUP BY c.id; خیلی مفیده! 🛒
✨ نکته 9: الکی JOIN نکن! 🙅♀️ اگه فقط نیاز به یه شمارش ساده از یه جدول داری و اطلاعات جدول دیگه برات مهم نیست، بیجهت جدولها رو به هم وصل نکن. کوئریهات رو سبک و کارآمد نگه دار! 🔥
✨ نکته 10: همیشه اول با دادههای کم و نمونه (Small Data) تست کن! 🧪 اینجوری میفهمی که JOIN و COUNT چطوری رفتار میکنن قبل از اینکه روی دادههای اصلی (Production) اجراش کنی. امنیت و دقت حرف اوله! ✅
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : کار با انواع JOIN در MySQL به صورت عملی
📖 سرفصل : استفاده از COUNT با JOIN
✨ نکته 1: حواست باشه! وقتی با JOIN دادهها رو به هم وصل میکنی و بعد COUNT میگیری، ممکنه تعداد ردیفهات الکی زیاد بشن. 🤔 برای شمردن آیتمهای یکتا، حتماً از COUNT(DISTINCT ...) استفاده کن! 💡
✨ نکته 2: اگه میخوای فقط آیتمهای منحصر به فرد یه جدول رو بشمری ولی نیاز به اطلاعات جدول دیگه هم داری، COUNT(DISTINCT yourmaintable.id) رفیقته! ✨ اینجوری از شمردن تکراریها جلوگیری میکنی.
✨ نکته 3: عملکرد (Performance) رو دست کم نگیر! 🚀 JOIN و COUNT روی جدولهای بزرگ میتونه سرعت رو بیاره پایین. حتماً مطمئن شو که ایندکسهات (Indexes) درست و حسابی تنظیم شدن!
✨ نکته 4: فرق LEFT JOIN و INNER JOIN برای شمردن خیلی مهمه! اگه میخوای حتی اونایی که تو جدول دوم هیچ تطابقی ندارن هم تو شمردنت باشن، LEFT JOIN رو انتخاب کن. 🤝
✨ نکته 5: گاهی اوقات، استفاده از یک سابکوئری (Subquery) یا CTE برای شمردن پیشفرض، میتونه کوئری رو واضحتر و حتی سریعتر کنه. 🧠 پیچیده کردن JOIN و COUNT همیشه بهترین راه نیست!
✨ نکته 6: برای شمردن گروهبندی شده (مثلاً تعداد سفارش برای هر مشتری)، GROUP BY رو فراموش نکن! 🏷️ این دستور کلید اصلی برای گرفتن آمار از دستههای مختلفه.
✨ نکته 7: COUNT() و COUNT(columnname) فرق دارن. COUNT() همه ردیفها رو میشماره، حتی اونایی که توشون NULL هستن (بعد از JOIN و WHERE). ولی COUNT(columnname) فقط ردیفهای غیر-NULL رو میشماره. حواست باشه کدوم رو استفاده میکنی! 🧐
✨ نکته 8: یه مثال کاربردی: برای شمردن تعداد سفارشهای هر مشتری، میتونی اینطوری بنویسی: SELECT c.name, COUNT(o.orderid) FROM customers c LEFT JOIN orders o ON c.id = o.customerid GROUP BY c.id; خیلی مفیده! 🛒
✨ نکته 9: الکی JOIN نکن! 🙅♀️ اگه فقط نیاز به یه شمارش ساده از یه جدول داری و اطلاعات جدول دیگه برات مهم نیست، بیجهت جدولها رو به هم وصل نکن. کوئریهات رو سبک و کارآمد نگه دار! 🔥
✨ نکته 10: همیشه اول با دادههای کم و نمونه (Small Data) تست کن! 🧪 اینجوری میفهمی که JOIN و COUNT چطوری رفتار میکنن قبل از اینکه روی دادههای اصلی (Production) اجراش کنی. امنیت و دقت حرف اوله! ✅
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
This media is not supported in your browser
VIEW IN TELEGRAM
🔵 C# Beginners Tutorial - 60 - File Class pt 1
🟢 کیفیت : متوسط
🔴 توجه کنید با تنظیمات خود تلگرام می توانید حجم و کیفیت ویدیو را بر اساس سرعت اینترنت خود تنظیم نمایید.
🟣 C# Beginners Tutorials Playlist
🟢 زبان آموزش: انگلیسی
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟢 کیفیت : متوسط
🔴 توجه کنید با تنظیمات خود تلگرام می توانید حجم و کیفیت ویدیو را بر اساس سرعت اینترنت خود تنظیم نمایید.
🟣 C# Beginners Tutorials Playlist
🟢 زبان آموزش: انگلیسی
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
برای اطمینان از سازگاری مسیرهای فایل در زبان C# بین سیستمعاملهای مختلف (مانند ویندوز که از
به جای نوشتن مستقیم
از
این ثابت به طور خودکار کاراکتر جداکننده دایرکتوری مناسب برای سیستمعامل فعلی را برمیگرداند. 📂💻
به عنوان مثال، اگر در ویندوز باشید،
https://t.me/csharp7
\ و لینوکس/macOS که از / استفاده میکنند)، بهتر است از ثابت Path.DirectorySeparatorChar استفاده کنید. این کار باعث میشود کد شما بدون نیاز به تغییر، روی پلتفرمهای گوناگون به درستی کار کند.به جای نوشتن مستقیم
/ یا \:string path = "MyFolder" + "/" + "MyFile.txt";
از
Path.DirectorySeparatorChar استفاده کنید:using System.IO;
// ...
string path = "MyFolder" + Path.DirectorySeparatorChar + "MyFile.txt";
این ثابت به طور خودکار کاراکتر جداکننده دایرکتوری مناسب برای سیستمعامل فعلی را برمیگرداند. 📂💻
به عنوان مثال، اگر در ویندوز باشید،
Path.DirectorySeparatorChar برابر با \ خواهد بود و اگر در لینوکس باشید، برابر با /. این رویکرد، خوانایی و قابلیت نگهداری کد شما را افزایش میدهد. 🚀https://t.me/csharp7
Telegram
آموزش C# و .Net
تعرفه تبلیغات :
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
🔵 دوست داری برنامه نویس حرفه ای بشی یا مهارت های کامپیوتری خودت رو افزایش بدی؟ با عضویت در لیست تلگرامی زیر در بی نظیر ترین کانال های برنامه نویسی ما عضو شوید:
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...
عضو لیست جامع شوید:
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...
عضو لیست جامع شوید:
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
Telegram
برنامه نویسی
You’ve been invited to add the folder “برنامه نویسی”, which includes 55 chats.
C# حالا از intrinsicهای سختافزاری برای vectorized کردن کد پشتیبانی میکنه! 🚀
یعنی چی؟ یعنی محاسبات روی دادههای برداری (مثل تصاویر یا صدا) با سرعت خیلی بیشتری انجام میشه. مثلاً میتونید چند تا عدد اعشاری رو همزمان با یه دستورالعمل پردازش کنید. 🧮
این قابلیت با استفاده از System.Numerics.Vectors در دسترس هست و عملکرد برنامههایی که محاسبات سنگین دارن رو به شکل چشمگیری بهبود میده. 🎯
https://t.me/csharp7
یعنی چی؟ یعنی محاسبات روی دادههای برداری (مثل تصاویر یا صدا) با سرعت خیلی بیشتری انجام میشه. مثلاً میتونید چند تا عدد اعشاری رو همزمان با یه دستورالعمل پردازش کنید. 🧮
این قابلیت با استفاده از System.Numerics.Vectors در دسترس هست و عملکرد برنامههایی که محاسبات سنگین دارن رو به شکل چشمگیری بهبود میده. 🎯
https://t.me/csharp7
Telegram
آموزش C# و .Net
تعرفه تبلیغات :
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
در #C، اینترفیس `IAsyncDisposable` برای آزادسازی غیرهمزمان منابع استفاده میشه. ⏳
با ترکیب `using` و `await` میتونید کد خواناتری داشته باشید:
```csharp
await using (var resource = new MyAsyncResource())
{
// ...
}
```
این روش، معادل فراخوانی `DisposeAsync()` در پایان بلوک `using` به شکل غیرهمزمانه. ✅
https://t.me/csharp7
با ترکیب `using` و `await` میتونید کد خواناتری داشته باشید:
```csharp
await using (var resource = new MyAsyncResource())
{
// ...
}
```
این روش، معادل فراخوانی `DisposeAsync()` در پایان بلوک `using` به شکل غیرهمزمانه. ✅
https://t.me/csharp7
برای تبدیل انواع دادههای عددی در C# به رشته، چند روش وجود دارد. سادهترین راه استفاده از متد
روش دیگر استفاده از عملگر الحاق رشته (
برای کنترل بیشتر بر فرمت رشته، میتوان از
https://t.me/csharp7
ToString() است.int number = 123;
string numberAsString = number.ToString(); // "123"
double pi = 3.14159;
string piAsString = pi.ToString(); // "3.14159"
روش دیگر استفاده از عملگر الحاق رشته (
+) است. اگر یکی از عملوندها رشته باشد، عملوند دیگر نیز به رشته تبدیل میشود.int count = 5;
string message = "تعداد آیتمها: " + count; // "تعداد آیتمها: 5"
برای کنترل بیشتر بر فرمت رشته، میتوان از
string.Format() یا string interpolation ($) استفاده کرد. این روشها امکان تعیین دقت اعداد اعشاری، نمایش ارقام هزارگان و غیره را فراهم میکنند.double price = 1234.567;
string formattedPrice = string.Format("قیمت: {0:C}", price); // مثال: "قیمت: 1,234.57 ﷼" (بسته به تنظیمات محلی)
int year = 2023;
string interpolatedString = $"سال جاری: {year}"; // "سال جاری: 2023"
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
🟢 پایتون، هوش مصنوعی، یادگیری ماشین، سی ++، سی شارپ، دات نت، نود جی اس، جاوا اسکریپت، شبکه، علم داده، پایگاه داده، sql، nosql ، مهارت های ICDL، سیستم عامل، لینوکس، فتوشاپ، گرافیک، اندروید، جاوا، ساخت اپلیکیشن موبایل، ری اکت، جی کوئری، php و laravel، دروس رشته کامپیوتر، کنکور کامپیوتر و ...
عضو لیست جامع شوید:
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
https://t.me/addlist/_UjG99eD_E4zYzhk
Telegram
برنامه نویسی
You’ve been invited to add the folder “برنامه نویسی”, which includes 55 chats.
یکی از مزایای کلیدی استفاده از الگوی MVVM در توسعه برنامههای WPF، افزایش قابلیت تستپذیری و نگهداری کد است.
در الگوی MVVM، منطق کسبوکار (ViewModel) از رابط کاربری (View) جدا میشود. این جداسازی به شما امکان میدهد تا ViewModel را به صورت مستقل از View تست کنید. این کار باعث میشود که تستهای واحد (Unit Tests) شما قابل اعتمادتر باشند و بتوانید به سرعت مشکلات احتمالی را شناسایی و رفع کنید.
علاوه بر این، نگهداری کدی که از MVVM پیروی میکند، آسانتر است. زیرا تغییرات در رابط کاربری (View) تأثیر کمتری بر منطق برنامه (ViewModel) دارد و بالعکس. این امر به خصوص در پروژههای بزرگ که نیاز به بهروزرسانی و توسعه مداوم دارند، بسیار ارزشمند است. 💻✨
https://t.me/csharp7
در الگوی MVVM، منطق کسبوکار (ViewModel) از رابط کاربری (View) جدا میشود. این جداسازی به شما امکان میدهد تا ViewModel را به صورت مستقل از View تست کنید. این کار باعث میشود که تستهای واحد (Unit Tests) شما قابل اعتمادتر باشند و بتوانید به سرعت مشکلات احتمالی را شناسایی و رفع کنید.
علاوه بر این، نگهداری کدی که از MVVM پیروی میکند، آسانتر است. زیرا تغییرات در رابط کاربری (View) تأثیر کمتری بر منطق برنامه (ViewModel) دارد و بالعکس. این امر به خصوص در پروژههای بزرگ که نیاز به بهروزرسانی و توسعه مداوم دارند، بسیار ارزشمند است. 💻✨
// مثال سادهای از ViewModel که قابل تست است
public class MyViewModel
{
public string Greeting { get; private set; } = "Hello";
public void SetGreeting(string name)
{
Greeting = $"Hello, {name}!";
}
}
https://t.me/csharp7
در WinForms، برای مدیریت رویدادها و جلوگیری از پیچیدگی کد، استفاده از الگوهای طراحی رایج است. یکی از این الگوها، Observer Pattern (الگوی ناظر) است که در آن یک شیء (Subject) لیستی از وابستهها (Observers) را نگهداری میکند و هنگام تغییر وضعیت خود، همه وابستهها را مطلع میسازد.
برای مثال، یک دکمه (Subject) میتواند رویداد کلیک خود را به چندین کنترل دیگر (Observers) اطلاع دهد تا هر کدام به نحوی به این رویداد واکنش نشان دهند. این کار باعث جداسازی منطق و افزایش قابلیت نگهداری کد میشود.
به طور کلی، درک و بهکارگیری این الگوها در توسعه برنامههای دسکتاپ با WinForms، به خصوص در پروژههای بزرگتر، بسیار مفید است. 🚀💡
https://t.me/csharp7
برای مثال، یک دکمه (Subject) میتواند رویداد کلیک خود را به چندین کنترل دیگر (Observers) اطلاع دهد تا هر کدام به نحوی به این رویداد واکنش نشان دهند. این کار باعث جداسازی منطق و افزایش قابلیت نگهداری کد میشود.
به طور کلی، درک و بهکارگیری این الگوها در توسعه برنامههای دسکتاپ با WinForms، به خصوص در پروژههای بزرگتر، بسیار مفید است. 🚀💡
https://t.me/csharp7
💡 نکته #NoSQL
🟣 موضوع : Cache Aside Pattern
✨ نکته :
بهترین موقع برای استفاده از Cache Aside Pattern وقتیه که اطلاعاتت زیاد خونده میشن ولی کم تغییر می کنن! 🔥💡✨
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
🟣 موضوع : Cache Aside Pattern
✨ نکته :
بهترین موقع برای استفاده از Cache Aside Pattern وقتیه که اطلاعاتت زیاد خونده میشن ولی کم تغییر می کنن! 🔥💡✨
ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
لطفا ما رو به دیگران هم معرفی کنید...
آدرس کانال اصلی :
https://t.me/Tu_24
آدرس وبسایت:
https://Tutorial24.ir
Telegram
آموزش کامپیوتر و برنامه نویسی tu24
* برنامه نویسی
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
* علوم کامپیوتر
* ریاضیات مورد نیاز علوم کامپیوتر
* هوش مصنوعی
* علوم داده
* داده کاوی
* بیگ دیتا
* پیشنهادات، تبلیغات و تبادل و ... : @ma_limbs
* تعرفه تبلیغات:
https://t.me/+w-o6dHW5O31jMWNk
در C#، کلاس
با پرتاب (throw) یک شیء
برای مثال، اگر در حال کار با یک فایل هستید و فایل مورد نظر پیدا نشود، ممکن است یک
استفاده صحیح از
https://t.me/csharp7
Exception پایه، ابزار اصلی برای مدیریت و انتشار خطاها در برنامه است. هر خطایی که در زمان اجرای برنامه رخ میدهد، نمونهای از یک کلاس مشتق شده از Exception است.با پرتاب (throw) یک شیء
Exception، شما به برنامه اطلاع میدهید که اتفاق غیرمنتظرهای رخ داده و اجرای عادی باید متوقف شود. این امکان را به بخشهای دیگر برنامه میدهد تا این خطا را دریافت و مدیریت کنند.برای مثال، اگر در حال کار با یک فایل هستید و فایل مورد نظر پیدا نشود، ممکن است یک
FileNotFoundException پرتاب شود. این پرتاب خطا به برنامه اجازه میدهد تا این شرایط خاص را شناسایی کرده و اقدامات لازم مانند نمایش پیام خطا به کاربر یا تلاش برای یافتن فایل در مسیر دیگر را انجام دهد.try
{
// کدی که ممکن است خطا رخ دهد
string content = System.IO.File.ReadAllText("nonexistent.txt");
}
catch (System.IO.FileNotFoundException ex)
{
// مدیریت خطای پیدا نشدن فایل
Console.WriteLine($"خطا: فایل مورد نظر یافت نشد. جزئیات: {ex.Message}");
}
catch (Exception ex) // گرفتن هر نوع خطای دیگری
{
// مدیریت خطاهای عمومیتر
Console.WriteLine($"یک خطای غیرمنتظره رخ داد: {ex.Message}");
}
استفاده صحیح از
try-catch بلاکها و پرتاب استثناها، خوانایی کد را بهبود بخشیده و مدیریت خطا را در برنامههای بزرگتر تسهیل میکند. 💥💡https://t.me/csharp7
Telegram
آموزش C# و .Net
تعرفه تبلیغات :
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
یکی از نکات مهم در برنامهنویسی ناهمگام C#، استفاده از
تأثیر اصلی
به طور خلاصه، استفاده از
https://t.me/csharp7
ConfigureAwait(false) است. این متد در انتهای فراخوانی متدهای async و await به کار میرود و به کامپایلر میگوید که نیازی به بازگشت به زمینه (context) اصلی پس از اتمام عملیات ناهمگام نیست.تأثیر اصلی
ConfigureAwait(false) بر مدیریت استثناها در سناریوهای خاصی خود را نشان میدهد. هنگامی که این متد استفاده میشود، اگر استثنایی در طول اجرای عملیات ناهمگام رخ دهد، آن استثنا به صورت مستقیم به فراخوانیکننده بازگردانده میشود و نیازی به مدیریت آن در زمینه اصلی نیست. این امر میتواند به سادهسازی مدیریت خطا و جلوگیری از بروز مشکلاتی مانند Deadlock در برنامههایی که از SynchronizationContext استفاده میکنند، کمک کند.به طور خلاصه، استفاده از
ConfigureAwait(false) نه تنها عملکرد برنامه را بهبود میبخشد، بلکه میتواند در مدیریت شفافتر و کارآمدتر استثناها نیز نقش داشته باشد. 🚀💡public async Task<string> GetDataAsync()
{
// فرض کنید این متد یک عملیات I/O طولانی را انجام میدهد
var result = await SomeLongRunningOperationAsync().ConfigureAwait(false);
return result;
}
https://t.me/csharp7
Telegram
آموزش C# و .Net
تعرفه تبلیغات :
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
https://t.me/+w-o6dHW5O31jMWNk
آیدی ادمین:
@ma_limbs
Forwarded from محتوای برنامه نویسی کانال توتوریال tu
🔵 اپلیکیشن اندرویدی آموزش کامل 4000 لغت ضروری انگلیسی
📘 به مهمترین واژگان زبان انگلیسی مسلط شو، درست همونهایی که واقعاً استفاده میشن!
اگر میخوای دایره لغاتت رو اصولی، ماندگار و کاربردی تقویت کنی، این دوره دقیقاً برای تو ساخته شده 👇
🎧 در این اپلیکیشن تمام لغات کتاب معروف 4000 Essential English Words به صورت فلش کارت های آموزشی آموزش داده میشن؛
طوری که معنی، کاربرد و مثالها کاملاً تو ذهنت میمونه ✅
✨ ویژگیهای دوره:
🔹 آموزش قدمبهقدم تمام لغات کتاب
🔹 توضیح فارسی روان و قابل فهم
🔹 ایدهآل برای یادگیری در مسیر، خانه یا محل کار
🚀 با 4000 لغت ضروری، پایه زبانت رو حرفهای بساز!
📩 برای دانلود رایگان اپلیکیشن همین حالا از طریق مایکت یا کافه بازار اقدام کن:
👈 لینک دانلود از کافه بازار
👈 لینک دانلود از مایکت
📘 به مهمترین واژگان زبان انگلیسی مسلط شو، درست همونهایی که واقعاً استفاده میشن!
اگر میخوای دایره لغاتت رو اصولی، ماندگار و کاربردی تقویت کنی، این دوره دقیقاً برای تو ساخته شده 👇
🎧 در این اپلیکیشن تمام لغات کتاب معروف 4000 Essential English Words به صورت فلش کارت های آموزشی آموزش داده میشن؛
طوری که معنی، کاربرد و مثالها کاملاً تو ذهنت میمونه ✅
✨ ویژگیهای دوره:
🔹 آموزش قدمبهقدم تمام لغات کتاب
🔹 توضیح فارسی روان و قابل فهم
🔹 ایدهآل برای یادگیری در مسیر، خانه یا محل کار
🚀 با 4000 لغت ضروری، پایه زبانت رو حرفهای بساز!
📩 برای دانلود رایگان اپلیکیشن همین حالا از طریق مایکت یا کافه بازار اقدام کن:
👈 لینک دانلود از کافه بازار
👈 لینک دانلود از مایکت
بازار
دانلود برنامه آموزش ۴۰۰۰ لغت ضروری انگلیسی اندروید | بازار
۴۰۰۰ واژه ضروری انگلیسی را با فلش کارت های ساده، آزمون ها و مرور هوشمند یاد بگیرید و دایره واژگان خود را سریع تر گسترش دهید.