باگتو – Telegram
باگتو
1.85K subscribers
183 photos
54 videos
4 files
274 links
به دنیای آموزش‌های حرفه‌ای برنامه‌نویسی با سی‌شارپ و دات نت خوش آمدید!
در این کانال می‌توانید به دوره‌های آموزشی رایگان و تخصصی در زمینه دات نت و سی شارپ دسترسی پیدا کنید.

دوره جدید:

https://bugeto.net/page/takhfif-dorehaye-jadid-bugeto


@Bugetoadmin
Download Telegram
Media is too big
VIEW IN TELEGRAM
🖥جنریک ها به ما کمک می‌کنند تا بتوانیم کلاس‌ها و یا methodهایی را ایجاد کنیم که هنگام تعریف آن‌ها، تایپشان برایمان مهم نباشد و بتوانیم یک تایپ عمومی برایشان تعریف کنیم و کسی که می‌خواهد از این کلاس یا متدها استفاده کند تایپ آن را خودش مشخص می‌کند.

https://bugeto.net/courses/csharp-stars
👍1
📕📚دیلیگیت (delegate) چیست؟ و در سی شارپ چه کاربردی دارد؟



دیلیگیت (delegate)ها، يكي ديگر از انواع مرجعي زبان C#‌‎ هستند كه با استفاده از آنها مي‌توانيد مرجعي به یک متد داشته باشيد، بدين معنا كه delegate ها، آدرس متدي خاص را در خود نگه می‌دارند. درصورتی‌که قبلاً با زبانC برنامه‌نويسي كرده‌ايد، حتماً با اين مفهوم آشنايي داريد. در زبان C اين مفهوم با اشاره‌گرها (pointer) بيان مي‌شود.Delegateها در واقع همانند اشاره‌گرها در زبان سی شارپ هستند و ما با استفاده از Delegateها می‌توانیم به متدهای اشاره کنیم که ورودی و خروجی یکسانی داشته باشند.
دیلیگیت (delegate)ها،نوعي است شبيه به متد و همانند آن نيز رفتار مي‌كند. در حقيقت delegate انتزاعي (Abstraction) از يك متد است. در برنامه‌نويسي ممكن است به شرايطي برخورد كرده باشيد كه در آنها مي‌خواهيد عمل خاصي را انجام دهيد اما دقيقاً نمي‌دانيد كه بايد چه متد يا شي‌ اي را براي انجام آن عمل خاص مورداستفاده قرار دهيد. در برنامه‌هاي تحت ويندوز این مورد بیشتر با آن روبه، روبه می‌شویم.
براي مثال تصور كنيد در برنامه‌ شما، دكمه‌اي قرار دارد كه پس از فشار دادن اين دكمه توسط كاربر شيءاي يا متدي بايد فراخواني شود تا عمل موردنظر شما بر روي آن انجام گيرد. مي‌توان به‌جای اتصال اين دكمه به شيء يا متد خاص، آن را به يك delegate مرتبط نمود و سپس آن delegate را به متد يا شيء خاصي در هنگام اجراي برنامه متصل نمود.
سی شارپ یک زبان ساده ، مدرن و شی گرا است که به توسعه دهندگان انعطاف پذیری و ویژگی هایی را برای ساخت نرم افزار می دهد که نه تنها در دنیای امروز کاربرد دارد بلکه در آینده، بسیار پرکاربردتر می شود.برای اینکه یاد بگیرید با سی شارپ چه برنامه هایی رو میتوانید بنویسد به مقاله چه برنامه هایی با سی شارپ می توانیم بنویسیم ؟را مطالعه کنید.

فرض کنید ما در برنامه خود تعدادی متد داریم که نام‌های متفاوت دارند اما ورودی و خروجی یکسانی دارند و ما در برنامه خود می‌خواهیم بنا به هر دلیلی هر زمانی یکی از این متدها را اجرا کنیم. یا ممکن است یک آرایه داشته باشیم که هزاران متد در خود جای‌داده باشد و بسته به شرایط موجود یکی از متدها را اجرا کنیم. در این شرایط ما نمی‌توانیم وارد سورس کد شویم و نام این متد را بنویسیم و انتظار اجرا داشته باشیم. در این شرایط ما از اشاره‌گرها استفاده می‌کنیم که بتواند این متدهای موردنظر را برای ما اجرا کنند.

معرفی Func و Action

شاید در زبان C# با Func و Action روبرو شده باشید و یا از این دو استفاده کرده باشید و یا سورس کدهایی را از جای دیگر گرفته باشید و داخل برنامه copy paste کرده باشید ولی نمی‌دانید چه کاربردی دارند.

کاربرد این دو چیست؟

ما با استفاده از کلمه کلیدی Delegate، Delegateهای خود را تعریف می‌کردیم و از آنها استفاده می‌کردیم. در Net. خود شرکت مایکروسافت دو Delegate به‌صورت Generic برای ما ایجاد کرده است که ما می‌توانیم از آنها استفاده کنیم و دیگر نیازی نیست Delegate را تعریف کنیم و از آن استفاده کنیم.Func و Action همان Delegateهایی هستند که مایکروسافت ارائه کرده است و ما می‌توانیم از آنها استفاده کنیم و دیگر نیازی نیست Delegate را خود تعریف کنیم. Delegateها یک خروجی دارند و می‌توانند تعدادی ورودی داشته باشند. زمانی که بخواهیم Delegate را تعریف کنیم از Func و Action استفاده می‌کنیم.اما این دو با هم چه تفاوتی دارند؟

تفاوت Func و Action

اکشنن (Action)نوعی ازdelegateهستند، در واقع actionها در سی شارپ دلیگیت های بدون خروجی هستند، یعنی اگر در برنامه نیاز داشتید دلیگیتی از نوعvoid(بدون خروجی) تعریف کنید، می‌توانید ازactionاستفاده کنیدactionها می‌توانند حداکثر 16 ورودی داشته باشند و همه ورودی‌هایactionنشان‌دهنده ورودی‌های تابع هستند و می‌توانید آن‌ها را به متدهای بدون خروجی متصل کنید. با استفاده از کلمه کلیدیdelegateمی‌توانید یک متد بی‌نام به دلیگیتactionاختصاص دهید.

فانک Funcها همانند actionها هستند با این تفاوت که دارای خروجی هستند. می‌توانید آن‌ها را به متدهای دارای خروجی متصل کنید. می‌توانند حداکثر 16 ورودی داشته باشند و آخرین پارامتر درFuncهمیشه یک پارامتر خروجی است که به‌عنوان نوع بازگشتی در نظر گرفته می‌شود. در این نوع دلیگیت هم مانند دلیگیتactionمی‌توان متد بی‌نام به آن اختصاص داد

اگر Delegate ما خروجی داشته باشد،یعنی درواقع خروجی غیر از Voidداشته باشد از Func استفاده می‌کنیم.

در واقع تفاوت Func و Action فقط در همین است. Func خروجی دارد ولی Action خروجی void دارد.

.
مزایای استفاده ازActionو Func

مزایای استفاده از دلیگیت هایActionو Funcبه شرح زیر است:

🖍 تعریف سریع و آسان یکdelegate
🖍کوتاه‌کردن کدنویسی
👍3
نسخه نهایی .Net 7 ارائه شد.
برای استفاده از دات نت ۷ باید ویژوال استادیو را به نسخه ۱۷.۴ آپدیت کنید.

https://dotnet.microsoft.com/en-us/download/dotnet/7.0
🔺🔺چه تغییراتی در سی شارپ ۱۱ایجاد ‌شده است؟


در این ویدئو تمام تغییراتی که در سی شارپ ۱۱ ایجاد شده است را به شما آموزش میدهیم•




📤📥برای دانلود رایگان این آموزش روی لینک زیر کلیک کنید


https://bugeto.net/page/whats-new-csharp-11-features?utm_source=landingpage&utm_medium=telegram&utm_campaign=cshaarp11
👍1
باگتو pinned a photo
Forwarded from باگتو
📚 دوره ستارگان سی شارپ


⬅️قسمت های جدید ازدوره ستارگان سی شارپ منتشر شد


🌍 https://bugeto.net/courses/programing-csharp/csharp-stars
🔴9 دلیل که باعث میشود ما از Hangfire استفاده کنیم!

📋 متن کامل این مقاله را میتوانید در سایت مطالعه نمایید


🔗لینک مقاله:

https://bugeto.net/blog/9-features-of-hangfire
مزایای معماری میکروسرویس



🔗لینک مطالعه متن کامل مقاله:
https://bugeto.net/blog/advantages-of-microservices-architecture
👎1🔥1
🔥رایگان دانلود کن🔥

اگه دوره ستارگان asp.net core را تهیه نکرده اید شما می توانید ۳ قسمت

1_JSON Columns

2_Mapping

3_Output caching


از فصل جدید دات نت ۷
را بصورت رایگان دانلود کنید و ببیند.


لینک دانلود:
https://bugeto.net/page/dotnet7
👍4👎1
۳ قسمت آپدیت دات نت ۷ رو دانلود کردین؟
Anonymous Poll
21%
بله 😍
82%
نه هنوز😳
👎1
Media is too big
VIEW IN TELEGRAM
آشنایی با gRPC

این ویدئو بخشی از فصل بیست وسوم دوره ستارگانasp.net core می باشد
ما در این فصل gRPC را آموزش داده ایم.

https://bugeto.net/courses/asp-dot-net-core-stars
👍31👎1
🔴🎉  از امروز ۱۳اسفند تا ۲۲ اسفند شما می توانید تمام دوره های سایت باگتو را با تخفیف خریداری کنید


در این تخفیف هدیه هم دریافت خواهید کرد🎁


🎁شما برای خرید هر کدام از پکیج های Vip
و کل دورها یک عدد اسپیکر بلوتوثی قابل حمل تسکو مدل TS 23150 هدیه دریافت خواهید کرد🎁


https://bugeto.net/courses
👍2🔥2👎1
با تهیه دوره های پر فروش باگتو با تخفیف ویژه یک عدد اسپیکر بلوتوثی قابل حمل تسکو مدل TS 23150 هدیه دریافت خواهید کرد🎁

https://bugeto.net/courses/vip-courses-starts
👍3👎1👏1
📌📝چگونه از فروش هم‌زمان یک محصول به چند نفر جلوگیری کنیم؟
 
 
اگر تابه‌حال در پروژه‌ای که کنترل موجودی اهمیت دارد کدنویسی کرده باشید حتماً با مشکل هم‌زمانی خرید مواجه شده‌اید.
فرض کنید یک فروشگاه آنلاین برای فروش موبایل را کدنویسی می‌کنید. در این پروژه کنترل موجودی برای شما از اهمیت بالایی برخوردار است، زیرا نمی‌خواهید اجناسی که دیگر در انبار موجود نیستند را به مشتریان بفروشید.
زمانی که موجودی کالای شما چندین عدد باشد اگر هم‌زمان دو نفر با هم  یک کالا را خرید کنند مشکلی به وجود نمی‌آید. این دو این خرید با موفقیت ثبت می‌شود و دو عدد از موجودی انبار کم می‌شود.
اما اگر فقط تنها یک عدد از یک کالا در انبار موجود دارید و هم‌زمان ده‌ها نفر برای خرید این محصول شما اقدام کنند چه اتفاقی در انتظار شماست؟ فرض کنید همه این خریدها در یک‌لحظه ثبت بشوند.
شما یک محصول در انبار دارید؛ ولی آن را به چند نفر فروخته‌اید؟
حالا محصول را برای کدام یک ارسال می‌کنید؟


📎لینک متن کامل مقاله


https://bugeto.net/blog/concurrency-in-c-sharp
👍6👏2👎1
نحوه استفاده از دستور lock در سی شارپ

در این ویدئو نحوه پیاده سازی lockدر سی شارپ را آموزش می دهیم،


🔗برای دیدن ویدئو ‌روی لینک زیر کلیک کنید

https://bugeto.net/tv/how-to-use-the-lock-command-in-csharp
👏5👎1
باگتو pinned a photo
💬معماری میکروسرویس یک الگوی طراحی نرم‌افزاری است که برای توسعه نرم‌افزارهای توزیع‌شده با استفاده از یک ساختار ماژولار و کوچک‌ترین واحدهای مستقل مانند سرویس‌ها (Microservices) طراحی شده است.


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



بنابراین، برخلاف ادعاهای شایع، معماری میکروسرویس به معنای یک فریم‌ورک کامل برای توسعه نرم‌افزار نیست. به علاوه، معماری میکروسرویس برای همه پروژه‌ها مناسب نیست و برای پیاده‌سازی آن، محیط توسعه، نیازمندی‌های کسب‌وکار، مهارت‌های تیم توسعه و موارد دیگر را باید در نظر گرفت.



معماری میکروسرویس چندین مزیت مهم دارد :

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



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




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



افزایش انعطاف‌پذیری: در معماری میکروسرویس، هر سرویس به صورت مستقل طراحی و پیاده‌سازی می‌شود. این باعث می‌شود که به راحتی بتوان در صورت نیاز، سرویس‌های جدیدی را به سامانه اضافه کرد یا سرویس‌های قدیمی را حذف کرد. این انعطاف‌پذیری به تیم توسعه اجازه می‌دهد تا با تغییرات در محصول و نیازمندی‌های کسب‌وکار، به راحتی پاسخ دهند.




برای آشنایی بیشتر با این معماری دوره رایگان میکروسرویس را از باگتو دانلود کنید.
https://bugeto.net/courses/introduction-microservices
👍6🔥2👎1
تزریق وابستگی (Dependency Injection) یکی از مهمترین مفاهیم در برنامه‌نویسی شی‌گرا است و برای طراحی برنامه‌هایی که Modular و تست پذیری بالا دارند، بسیار مهم است. در ادامه به برخی از دلایل استفاده از تزریق وابستگی اشاره می‌شود:



1️⃣ کاهش وابستگی: با استفاده از تزریق وابستگی، وابستگی‌های ماژول‌ها و کلاس‌های برنامه شما کاهش می‌یابد و از این رو، Modularity بیشتری را به برنامه‌ی شما اضافه می‌شود.



2⃣ افزایش قابلیت تست: با استفاده از تزریق وابستگی، می‌توانید UnitTest های برنامه‌ی خود را به صورت جداگانه از سایر واحدهای برنامه بررسی کنید. این کار مزیت‌هایی از جمله پایداری بیشتر برنامه و تشخیص اشکالات آن را برای شما به ارمغان می‌آورد.



3⃣ کاهش تکرار کد: با استفاده از تزریق وابستگی، می‌توانید کدهای مشابه را در چندین قسمت از برنامه‌ی خود به کار برده و در نتیجه، از تکرار کد کمتری رنج ببرید.



4⃣ افزایش قابلیت نگهداری: با استفاده از تزریق وابستگی، امکان انجام تغییرات در وابستگی‌های برنامه را به راحتی فراهم می‌کند و از این رو، قابلیت نگهداری برنامه را افزایش می‌دهد.
👍10👎1
🌐 پنج راه کار برای افزایش سرعت وب اپلیکیشن های Asp.Net core :



✅️. استفاده از Caching:
استفاده از caching، به صورت موقت اطلاعات را در حافظه نگهداری کرده و هنگام درخواست مجدد، از این اطلاعات استفاده می‌کند که باعث افزایش سرعت برنامه می‌شود. در Asp.Net core می‌توان از ابزارهایی مانند MemoryCache و DistributedCache استفاده کرد.




✅️. استفاده از تکنولوژی‌های Async:
در Asp.Net core می‌توان از تکنولوژی‌های Async استفاده کرد که باعث افزایش سرعت عملکرد برنامه می‌شود. استفاده از Async در مواردی مانند درخواست دیتابیس و خواندن فایل‌ها مفید است.


✅️. استفاده از Middleware ها :
میان افزار ها می‌توانند با بهینه‌سازی عملکرد و نحوه اجرای برنامه، سرعت آن را افزایش دهند. برای مثال، استفاده از Middleware هایی مانند Response Compression Middleware و Caching Middleware می‌تواند باعث افزایش سرعت برنامه شود.



✅️. استفاده از Dependency Injection:
تزریق وابستگی یک الگوی طراحی است که به برنامه‌نویسان اجازه می‌دهد تا به صورت بهینه تر ماژول‌های خود را تنظیم کنند. این الگوی طراحی باعث می‌شود برنامه‌ها بهتر مدیریت شوند و سرعت آن‌ها نیز افزایش یابد.



✅️. بهینه‌سازی کد:
بهینه‌سازی کد باعث بهبود سرعت و کارایی برنامه می‌شود. این کار می‌تواند شامل استفاده از کد بهینه‌تر، استفاده از تابع‌های مفید‌تر، و استفاده از الگوریتم‌های بهینه‌تر باشد.

@bugeto
🔥7👍3👎1
باگتو pinned Deleted message
دوره جدید منتشر شد

در یک روز، تمام تسک های یک هفته را انجام بدهید.

اگر شما هم مثل بسیاری از برنامه نویسان دیگر به دنبال راهکارهایی هستید که بتوانید با سرعت بیشتری برنامه های خود را تولید کنید، دوره آموزشی "برنامه نویسی سریعتر و بهتر با ChatGPT" را از دست ندهید.
این دوره شامل ترفندهایی است که به شما کمک می کند تا با استفاده از ChatGPT به عنوان یک دستیار برای خودتان،  پروژه های خود را با سرعت بیشتری به اتمام برسانید. همچنین در این دوره، با نحوه استفاده از Api های ChatGPT در پروژه های Asp.Net Core آشنا خواهید شد.
هدف از این دوره، آموزش دادن ترفندها و روش هایی برای افزایش سرعت کدنویسی و همچنین بهبود کیفیت کدهای شماست. با استفاده از این دوره، شما می توانید برنامه های با کیفیت بالا و با سرعت بیشتری بنویسید.

💴💵قیمت اصلی دوره:۵۹۰,۰۰۰تومان


🔴قیمت در تخفیف تا ۲۷اسفند

۲۹۰,۰۰۰تومان


https://bugeto.net/courses/faster-programming-with-chatgpt
👍11👎2