پشتیبانی از Visual studio بر روی Mac متوقف شد
حدود 2 روز پیش مایکروسافت اعلام کرد که پشتیبانی از ویژوال استودیو برای مک، تا سال آینده، همین موقع متوقف خواهد شد.(
طبق گفته مایکروسافت آپدیت های جدید دیگه منتشر نمیشه ولی همچنان به رفع باگ و مشکلات امنیتی تا سال اینده ادامه میدن.
تیم مایکروسافت همچنین پیشنهاد کرده توسعه دهندگانی که روی مک هستن، بجای ویژوال، از vs code و افزونه جدیدی که چند مدت پیش تحت عنوان C# Dev Kit منتشر شده بود استفاده کنن، یا ویژوال رو داخل ویندوز از طریق ماشین مجازی یا cloud استفاده کنن.
-خودم پیشنهاد میکنم از Rider استفاده کنید اگه منابع مورد نیازش رو دارید.
مایکروسافت دلیل این "بازنشستگی" رو، تمرکز روی بهینه سازی و optimize کردن ویژوال اعلام کرده.
#vs
👤 QWxp
💎 Channel: @DevelopixCSharp
حدود 2 روز پیش مایکروسافت اعلام کرد که پشتیبانی از ویژوال استودیو برای مک، تا سال آینده، همین موقع متوقف خواهد شد.(
31 August)طبق گفته مایکروسافت آپدیت های جدید دیگه منتشر نمیشه ولی همچنان به رفع باگ و مشکلات امنیتی تا سال اینده ادامه میدن.
تیم مایکروسافت همچنین پیشنهاد کرده توسعه دهندگانی که روی مک هستن، بجای ویژوال، از vs code و افزونه جدیدی که چند مدت پیش تحت عنوان C# Dev Kit منتشر شده بود استفاده کنن، یا ویژوال رو داخل ویندوز از طریق ماشین مجازی یا cloud استفاده کنن.
-خودم پیشنهاد میکنم از Rider استفاده کنید اگه منابع مورد نیازش رو دارید.
مایکروسافت دلیل این "بازنشستگی" رو، تمرکز روی بهینه سازی و optimize کردن ویژوال اعلام کرده.
#vs
👤 QWxp
💎 Channel: @DevelopixCSharp
🔥10👍5❤1
Forwarded from Developix Support
This media is not supported in your browser
VIEW IN TELEGRAM
دایناسورها در حال خرید در تهران 🤯
⚡️هیچوقت فکرشو میکردی که همچین تصویری رو ببینی؟
⚡️از آینده به تو سلام 😁
💠این تصویر با استفاده از یک ابزار جدید در تلگرام ساخته شده که هر متنی بهش بدی رو تبدیل به عکس میکنه!
همینالان بهش پبام بده تا عکسش رو برات بفرسته😇
فقط کافیه بزنی رو آیدی زیر و شروع کنی 😉👇🏻
@aiolearn_artbot
🌀هوشمصنوعی با پیشرفت فوقالعادش داره همه دنیار رو فرا میگیره 😉🤯
⚡️هیچوقت فکرشو میکردی که همچین تصویری رو ببینی؟
⚡️از آینده به تو سلام 😁
💠این تصویر با استفاده از یک ابزار جدید در تلگرام ساخته شده که هر متنی بهش بدی رو تبدیل به عکس میکنه!
همینالان بهش پبام بده تا عکسش رو برات بفرسته😇
فقط کافیه بزنی رو آیدی زیر و شروع کنی 😉👇🏻
@aiolearn_artbot
🌀هوشمصنوعی با پیشرفت فوقالعادش داره همه دنیار رو فرا میگیره 😉🤯
👍2👎2
🌀 کامپوننت تقویم فارسی برای استفاده در MAUI 🌀
🔗 لینک این کامپوننت در گیتهاب
#معرفی_ابزار
👤 MHReza
💎 Channel: @DevelopixCSharp
🔗 لینک این کامپوننت در گیتهاب
#معرفی_ابزار
👤 MHReza
💎 Channel: @DevelopixCSharp
👍13
اولین نسخه RC برای داتنت 8 منتشر شد.
تیم داتنت هم بجز System.Text.Json هیچ دغدغه دیگه ای نداره خداروشکر و به طور وحشیانه ای فیچر اضافه میکنن بهش
لینک معرفی
دانلود
مقایسه پرفورمنس (خیلی خلاصه نوشته)
👤 QWxp
💎 Channel: @DevelopixCSharp
تیم داتنت هم بجز System.Text.Json هیچ دغدغه دیگه ای نداره خداروشکر و به طور وحشیانه ای فیچر اضافه میکنن بهش
لینک معرفی
دانلود
مقایسه پرفورمنس (خیلی خلاصه نوشته)
👤 QWxp
💎 Channel: @DevelopixCSharp
👍6
🌀 معرفی switch expression 🌀
🔸 توی نسخه سیشارپ هشت این switch expression ها معرفی شدن که باعث میشه دستورات سوییچ خودمون رو خواناتر بکنیم. بریم یه مثال ببینیم از قبل و بعد از استفاده از این switch expression ها.
🔹 توی این مثال از حالت عادیمون استفاده میکنیم.
#Tips
👤 MHReza
💎 Channel: @DevelopixCSharp
🔸 توی نسخه سیشارپ هشت این switch expression ها معرفی شدن که باعث میشه دستورات سوییچ خودمون رو خواناتر بکنیم. بریم یه مثال ببینیم از قبل و بعد از استفاده از این switch expression ها.
🔹 توی این مثال از حالت عادیمون استفاده میکنیم.
int number = 1;🔸حالا بریم با switch expression بازنویسیش کنیم.
string result = "";
switch (number)
{
case 1:
result = "One";
break;
case 2:
result = "Two";
break;
case 3:
default:
result = "Default case";
break;
}
int number = 1;🔹 میبینید که چقد کدمون رو کوتاهتر و خواناتر کرده.
string result = number switch
{
1 => "One",
2 => "Two",
_ => "Default case"
};
#Tips
👤 MHReza
💎 Channel: @DevelopixCSharp
👍19❤5🔥2
معرفی کتابخانه RazorSlices
این کتابخانه یک
برای شروع:
1.کتابخانه را نصب کنید
1.پشتیبانی از
#asp #razor
👤 QWxp
💎 Channel: @DevelopixCSharp
این کتابخانه یک
template سبک و سریع برای asp.net core minimal api ساخته شده، بدون نیاز به استفاده از MVC، بهینه شده برای رندر کردن HTML در Razor یا Blazor.برای شروع:
1.کتابخانه را نصب کنید
$ dotnet add package RazorSlices
2.یک دایرکتوری به نام Slices توی پروژتون ایجاد کنید، و داخل اون یک فایل به نام ViewImports.cshtml_ با این محتوا ایجاد کنید:@inherits RazorSliceHttpResult3. یک
@using System.Globalization;
@using Microsoft.AspNetCore.Razor;
@using Microsoft.AspNetCore.Http.HttpResults;
@tagHelperPrefix disable_tagHelpers:
@removeTagHelper *, Microsoft.AspNetCore.Mvc.Razor
cshtml.* دیگه داخل دایرکتوری Slices ایجاد کنید :@inherits RazorSliceHttpResult<DateTime>4.حالا به راحتی داخل
<p>
Hello from Razor Slices! The time is @Model
</p>
minimal api اتون صفحات HTML رو رندر کنید:app.MapGet("/hello", () => Results.Extensions.RazorSlice("/Slices/Hello.cshtml", DateTime.Now));
🧷درحال حاضر موارد زیر در این کتابخانه پشتیبانی نمیشند:1.پشتیبانی از
AOT
2.پشتیبانی از Hot Reload
3.پشتیبانی از Layout ها و Section ها#asp #razor
👤 QWxp
💎 Channel: @DevelopixCSharp
👍9
توصیه میکنم این پلیلیست رو در یوتیوب حتماً دنبال کنید.
مطالب خوبی در مورد EF Core منتشر میکنه.
🔗 لینک
👤 MHReza
💎 Channel: @DevelopixCSharp
مطالب خوبی در مورد EF Core منتشر میکنه.
🔗 لینک
👤 MHReza
💎 Channel: @DevelopixCSharp
👍10
احتمالا شده که خواستید یه کدی رو تست کنید، ولی نمیخواید به خاطرش به پروژه ایجاد بکنید. ابزار
این ابزار بهتون کمک میکنه کدتون رو توی محیط کامند لاین تست کنید. برای نصبش میتونید دستور
رو داخل ترمینالتون وارد کنید.
با وارد کردن دستور
اگه بخواید پکیجی رو هم نصب کنید با این دستور میتونید اون رو نصب کنید، برای مثال دستور زیر رو ببینید:
با این دستور پکیج Newtonsoft.Json براتون نصب میشه
برای اطلاعات بیشتر در مورد این ابزار میتونید به صفحه گیتهابش مراجعه کنید و بیشتر در موردش مطالعه کنید.
👤 MHReza
💎 Channel: @DevelopixCSharp
CSharpRepl اینجا بدردتون میخوره.این ابزار بهتون کمک میکنه کدتون رو توی محیط کامند لاین تست کنید. برای نصبش میتونید دستور
dotnet tool install -g csharprepl
رو داخل ترمینالتون وارد کنید.
با وارد کردن دستور
csharprepl وارد محیط کامند لاین میشید و میتونید هر کدی رو بنویسید.اگه بخواید پکیجی رو هم نصب کنید با این دستور میتونید اون رو نصب کنید، برای مثال دستور زیر رو ببینید:
#r "nuget: Newtonsoft.Json"
با این دستور پکیج Newtonsoft.Json براتون نصب میشه
برای اطلاعات بیشتر در مورد این ابزار میتونید به صفحه گیتهابش مراجعه کنید و بیشتر در موردش مطالعه کنید.
👤 MHReza
💎 Channel: @DevelopixCSharp
👍12🔥3❤1
بهزودی داتنت 8 منتشر میشه 🎉 با کلی قابلیت های جدید ( که بیشترشون قرار نیست به دردمون بخوره👌).
توی چند روز آینده قراره کنفرانس های متعددی توسط مایکروسافت در این رابطه برگذار بشه.
اولیش فردا هست، میتونید توی یوتوب از این لینک تماشا کنید.
👤 QWxp
💎 Channel: @DevelopixCSharp
توی چند روز آینده قراره کنفرانس های متعددی توسط مایکروسافت در این رابطه برگذار بشه.
اولیش فردا هست، میتونید توی یوتوب از این لینک تماشا کنید.
👤 QWxp
💎 Channel: @DevelopixCSharp
👍12❤3
دات نت 8 به طور رسمی منتشر شد
لینک دانلود:
https://dotnet.microsoft.com/en-us/download/dotnet/8.0
👤 QWxp
💎 Channel: @DevelopixCSharp
لینک دانلود:
https://dotnet.microsoft.com/en-us/download/dotnet/8.0
👤 QWxp
💎 Channel: @DevelopixCSharp
👍8❤2🔥1
لایو دوم مربوط به انتشار دات نت که امشب ساعت هشت هست رو میتونید از لینک زیر تماشا کنید
https://www.youtube.com/watch?v=vU-iZcxbDUk
👤 QWxp
💎 Channel: @DevelopixCSharp
https://www.youtube.com/watch?v=vU-iZcxbDUk
👤 QWxp
💎 Channel: @DevelopixCSharp
👍4❤1
احتمالا شده که موقع کار با Minimal API ها نیاز شده که یه سرویسی رو اینجکت کنید و ازش استفاده کنید.
با اتریبیوت
👤 MHReza
💎 Channel: @DevelopixCSharp
با اتریبیوت
[FromServices] مانند کد بالا میتونید اون سرویس رو از DI container بگیرید و داخل کدتون استفاده کنید.👤 MHReza
💎 Channel: @DevelopixCSharp
❤3👍3🔥2
توی Minimal API ها بعضی وقتها پارامترهاتون زیاد میشه و خوانایی کدتون رو پایینتر میاره، میتونید مثل عکس بالا اونها رو توی یک رکورد تعریف کنید و با اتریبیوت
👤 MHReza
💎 Channel: @DevelopixCSharp
[AsParameters] از اون استفاده کنید. 👤 MHReza
💎 Channel: @DevelopixCSharp
👍14❤2🔥2
Forwarded from | Codilo |
🍉 یلدای امسال رو کُدیلویی بگذرونید!
🍓 تا پایان روز جمعه با دعوت دو کاربر جدید به کدیلو، فایل های کدیلو رو رایگان دریافت کنید
🥝 یلدای خوبی داشته باشید (:
💎 @Codilo
🍓 تا پایان روز جمعه با دعوت دو کاربر جدید به کدیلو، فایل های کدیلو رو رایگان دریافت کنید
🥝 یلدای خوبی داشته باشید (:
💎 @Codilo
👍4
نسخه جدید ویژوال استودیو منتشر شده
میتونید از لینک زیر تغییراتش رو مطالعه کنید
https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-9-now-available/
👤 MHReza
💎 Channel: @DevelopixCSharp
میتونید از لینک زیر تغییراتش رو مطالعه کنید
https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-9-now-available/
👤 MHReza
💎 Channel: @DevelopixCSharp
Microsoft News
Visual Studio 2022 17.9 Now Available
Discover Visual Studio 2022 17.9, the current version with AI Git messages, C++/ .NET upgrades. Download the latest tools for innovation.
👍4❤1
Forwarded from Developix Support
🔴 شتابان هاست 🔴
🔰 تخفیف ویژه 12 درصدی برای
خرید انواع🔹هاست🔹سرور
در شتابان هاست به مناسبت فرا رسیدن عید نوروز 🥳:
✅ https://shetabanhost.com/
🌟 کد تخفیف اختصاصی:
🔗 https://shetabanhost.com/
🌐 پشتیبانی ۲۴ ساعته شتابان هاست👇👇
☎️ 024-91311031
💎 Channel: @shetabanhostcom
🔰 تخفیف ویژه 12 درصدی برای
خرید انواع🔹هاست🔹سرور
در شتابان هاست به مناسبت فرا رسیدن عید نوروز 🥳:
✅ https://shetabanhost.com/
🌟 کد تخفیف اختصاصی:
shetabanhost
🔗 https://shetabanhost.com/
🌐 پشتیبانی ۲۴ ساعته شتابان هاست👇👇
☎️ 024-91311031
💎 Channel: @shetabanhostcom
❤31👍24🔥13
This media is not supported in your browser
VIEW IN TELEGRAM
#VisualStudio #Debug #Tip
🏕 تا الان خیلی شده که بخوام یک حلقه رو دیباگ کنم و برای رسیدن به اون سناریو مورد نظر، لازم باشه دائما continue بزنم تا برسم به اون نقطه. ولی خب با این قابلیت Visual Studio میتونید بهراحتی برای دیباگ کردن condition و action قرار بدید و طبعا کارتون خیلی راحتتر میشه.
👤 Mahdiyar
💎 Channel: @DevelopixCSharp
👤 Mahdiyar
💎 Channel: @DevelopixCSharp
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍3🔥2
Forwarded from TakShow | تک شو
This media is not supported in your browser
VIEW IN TELEGRAM
دوره آموزشی DesignPattern in C#
برپایه دو کتاب مرجع انگلیسی
وضعیت دوره: درحال برگزاری
سطح دوره: مقدماتی تا پیشرفته
مشاهده دوره :https://tak-show.ir/ShowCourse/2
ببینید چقدر راحت میتوانید متخصص در حوزه برنامه نویسی شوید😉
با ما تک شو:)
#وب سایت آموزشی تک شو
برپایه دو کتاب مرجع انگلیسی
وضعیت دوره: درحال برگزاری
سطح دوره: مقدماتی تا پیشرفته
مشاهده دوره :https://tak-show.ir/ShowCourse/2
ببینید چقدر راحت میتوانید متخصص در حوزه برنامه نویسی شوید😉
با ما تک شو:)
#وب سایت آموزشی تک شو
❤1👍1
اصل Dependency Inversion Principle (DIP) در سیشارپ و داتنت
اصل Dependency Inversion Principle (DIP) یکی از اصول مهم در طراحی نرمافزار است که در چارچوب SOLID قرار دارد. این اصل میگوید ماژولهای سطح بالا نباید به ماژولهای سطح پایین وابسته باشند، بلکه هر دو باید به یک رابط (آبستراکشن) وابسته باشند. این اصل باعث میشود کد انعطافپذیرتر باشد و راحتتر بشود آن را تست کرد.
مثال بدون استفاده از اینترفیس
در این مثال، یک سرویس ثبتنام کاربر و ارسال پیام رو بدون استفاده از اینترفیس درست میکنیم که وابستگی مستقیم به کلاسهای پیادهسازی دارد:
در اینجا کلاس
استفاده از اینترفیس و تزریق وابستگی
حالا با استفاده از اینترفیس و تزریق وابستگی، سرویس ثبتنام کاربر و ارسال پیام رو درست میکنیم:
در این پیادهسازی، کلاس
#تزریق_وابستگی
🔖 #CSharp, #سی_شارپ
👤 Morteza Nazari
💎 Channel: @DevelopixCSharp
اصل Dependency Inversion Principle (DIP) یکی از اصول مهم در طراحی نرمافزار است که در چارچوب SOLID قرار دارد. این اصل میگوید ماژولهای سطح بالا نباید به ماژولهای سطح پایین وابسته باشند، بلکه هر دو باید به یک رابط (آبستراکشن) وابسته باشند. این اصل باعث میشود کد انعطافپذیرتر باشد و راحتتر بشود آن را تست کرد.
مثال بدون استفاده از اینترفیس
در این مثال، یک سرویس ثبتنام کاربر و ارسال پیام رو بدون استفاده از اینترفیس درست میکنیم که وابستگی مستقیم به کلاسهای پیادهسازی دارد:
// Email sender class
public class EmailSender
{
public void SendEmail(string message)
{
// Logic to send email
Console.WriteLine($"Sending Email: {message}");
}
}
// User registration service class
public class UserRegistrationService
{
private readonly EmailSender _emailSender;
public UserRegistrationService()
{
_emailSender = new EmailSender();
}
public void RegisterUser(string username)
{
// Logic to register user
Console.WriteLine($"User {username} registered.");
// Sending welcome message
_emailSender.SendEmail("Welcome to our service!");
}
}
// Using the service
class Program
{
static void Main(string[] args)
{
UserRegistrationService registrationService = new UserRegistrationService();
registrationService.RegisterUser("JohnDoe");
}
}
در اینجا کلاس
UserRegistrationService بهطور مستقیم به کلاس EmailSender وابسته است و هر تغییری در کلاس EmailSender میتواند باعث تغییرات زیادی در کد شود که نگهداری و تست آن را سخت میکند.استفاده از اینترفیس و تزریق وابستگی
حالا با استفاده از اینترفیس و تزریق وابستگی، سرویس ثبتنام کاربر و ارسال پیام رو درست میکنیم:
// Message sender interface
public interface IMessageSender
{
void SendMessage(string message);
}
// Implementation of the interface for email sending
public class EmailSender : IMessageSender
{
public void SendMessage(string message)
{
// Logic to send email
Console.WriteLine($"Sending Email: {message}");
}
}
// User registration service with dependency injection
public class UserRegistrationService
{
private readonly IMessageSender _messageSender;
public UserRegistrationService(IMessageSender messageSender)
{
_messageSender = messageSender;
}
public void RegisterUser(string username)
{
// Logic to register user
Console.WriteLine($"User {username} registered.");
// Sending welcome message
_messageSender.SendMessage("Welcome to our service!");
}
}
// Using the service
class Program
{
static void Main(string[] args)
{
IMessageSender messageSender = new EmailSender();
UserRegistrationService registrationService = new UserRegistrationService(messageSender);
registrationService.RegisterUser("JohnDoe");
}
}
در این پیادهسازی، کلاس
UserRegistrationService بهجای اینکه به یک کلاس خاص وابسته باشد، به یک اینترفیس بهنام IMessageSender وابسته است. این کار باعث میشود کد انعطافپذیرتر باشد و راحتتر بتوانیم تغییرات را اعمال کنیم بدون اینکه نیاز به تغییرات زیادی در کد باشد. بهاینترتیب هم تستپذیری کد بهتر و هم نگهداری آن راحتتر میشود.#تزریق_وابستگی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3