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


🆔 @dotnetcode
Download Telegram
#سری_معرفی_وسایت_های_برتر

معرفی 10 سایت های برتر - سری اول
در مورد
#C و NET Core. و ASP.NET Core

🔶 اگه
مشتاق به یادگیری و مطالعه هستین این میتونه بهترین پست برای شما باشه. توی این سری پست ها هربار 10 وبسایت که از نظر سطح علمی و کیفیت محتوا، بروز و متنوع بودن بهترین هستند رو معرفی میکنم👌
اینا در واقع منابعی هستند که خودم معمولا دنبالشون میکنم

🔷 یادتون نره واسه دوستانتون هم بفرستید✌️
1️⃣ https://exceptionnotfound.net/
2️⃣ https://www.talkingdotnet.com/
3️⃣ https://code-maze.com/
4️⃣ https://laurentkempe.com/
5️⃣ https://anthonygiretti.com/
6️⃣ https://michaelscodingspot.com/
7️⃣ https://www.meziantou.net/
8️⃣ https://mattwarren.org/
9️⃣ https://weblog.west-wind.com/
🔟 https://codewithshadman.com/
#سری_معرفی_وسایت_های_برتر

معرفی 10 سایت های برتر (سری دوم)
در مورد
#C و NET Core. و ASP.NET Core

🔶 اگه
مشتاق به یادگیری و مطالعه هستین این میتونه بهترین پست برای شما باشه. توی این سری پست ها هربار 10 وبسایت که از نظر سطح علمی و کیفیت محتوا، بروز و متنوع بودن بهترین هستند رو معرفی میکنم👌
اینا در واقع منابعی هستند که خودم معمولا دنبالشون میکنم

🔷 یادتون نره واسه رفقاتون بفرستید✌️
1️⃣ https://ardalis.com/blog
2️⃣ https://andrewlock.net/
3️⃣ https://www.stevejgordon.co.uk/
4️⃣ https://rehansaeed.com/
5️⃣ https://davepaquette.com/
6️⃣ https://ayende.com/blog/
7️⃣ https://www.carlrippon.com/
8️⃣ https://hamidmosalla.com/
9️⃣ https://khalidabuhakmeh.com/
🔟 https://www.strathweb.com/
_________________
تست کد های #C به صورت آنلاین

توی پست قبلی در مورد C# Interactive توضیح داده بودم الان میخوام روش آنلاینش رو بررسی کنیم.
واسه اینکار سایت های زیادی هست که امکان Syntax Highlighter و Run کردن کد رو بهتون میدن. با این ابزار ها میتونین کد سی شارپ تون رو انلاین و راحت تست کنین و یا کدتون رو با بقیه به اشتراک بگذارین

🔸اول از همه بهترینشون و با اختلاف فاحش، سایت SharpLab هست. امکانات فوق العاده ای داره، Intellisense خیلی قوی ایی داره که در نوع خودش واقعا بی نظیره، امکان Decompile کردن کد خروجی به IL و #C و حتی Jit Assembly رو بهتون میده. UX خوب و روون ایی داره و خیلی سریع، در لحظه کد رو اجرا میکنه.
https://sharplab.io/

🔹این سایت برای ویرایشگرش اش از پلاگین جاوااسکریپتی CodeMirror استفاده میکنه که یک Code Editor و Syntax Highlighter قوی هست و از تموم زبان ها پشتیبانی میکنه
مثلا اگه خواستین قابلیت اسکریپت نویسی و اجرای کد داینامیک رو برای پروژه تون اضافه کنین میتونین از این پلاگین استفاده کنین
https://github.com/codemirror/CodeMirror
[Demo] https://codemirror.net/

🔸 این سایت برای اجرای کد ها از Roslyn و برای Decompile کردنشون از ILSpy استاده میکنه که قوی ترین برنامه Decompiler دات نت هست و ابزار های حرفه دیگه از از جمله dnSpy از رو همین ساخته شدن

🔹سازنده این سایت اومده کل پکیج Code Editor سی شارپیش رو که بر روی CodeMirror و Roslyn ساخته شده رو به صورت سورس پاز تو گیتهاب گذاشته
بدین صورت مثلا میتونین یه ویرایشگر کامل سی شارپی به همراه Autocomplete واسه اسکریپت نویسی داینامیک به پروژه تون اضافه کنین
https://github.com/ashmind/mirrorsharp

🔰تنها ایرادی که سایت sharplab.io داره اینه که که امکان اضافه کردن Nuget Package به کد هاتون رو نداره
واسه همین یه سایت دیگه به نام NET Fiddle. هست (که البته به خوبی اون نیست ولی بعضی امکانات اضافه تر مثل همین nuget package داره)
https://dotnetfiddle.net/
اضافه شدن قابلیت Decompile کد های #C به VSCode

قابلیت Decompilation به افزونه مخصوص سی شارپ (OmniSharp) در VSCode اضافه شد. این امکان به واسطه کتابخانه قدرتمند ILSpy انجام شده

🔰برای فعال سازی اون کافیه

1️⃣ افزونه OmniSharp بروزرسانی بشه (با باز شدن VSCode خودش چک میکنه اگه ورژن جدید داشته باشه Update میکنه - بعدشم باید یه بار باز و بسته کنین VSCode رو)

2️⃣ سپس روی یه کلاسی که سورسش رو ندارین راست کلیک کنین و گزینه "Go to Definition" رو انتخاب کنین (بار اول یه سوال میپرسه که گزینه Yes رو انتخاب کنین)

3️⃣ و تامام، لذت ببرین

🔻در صورتی که براتون کار نکرد از بروز بودن OmniSharp و VSCode مطمئن بشین و شایدم لازم باشه این قابلیت رو دستی فعال کنین
____________________
DotNet | دات نت
Photo
مایکروسافت از انتشار رسمی فریم‌ورک Blazor WebAssembly خبر می‌دهد؛ Blazor WebAssembly قرار است در نقش جایگزین سیلورلایت ظاهر شود.

براساس اعلام پیشین، مایکروسافت قصد دارد در تاریخ ۱۲ اکتبر ۲۰۲۱ (۲۰ مهر ۱۴۰۰) به‌صورت رسمی به‌پشتیبانی از سیلورلایت (Microsoft Silverlight) پایان دهد. گرچه سیلورلایت هنوز هم تحت پشتیبانی مایکروسافت قرار دارد، اما روند توسعه‌ی فعال این ابزار چند سال است که متوقف شده. در حال حاضر سیلورلایت تنها روی مرورگر اینترنت اکسپلورر ۱۱ پشتیبانی می‌شود.

سیلورلایت به توسعه‌دهندگان امکان می‌دهد برای ساخت اپلیکیشن‌های دسکتاپ و وب اقدام کنند. مایکروسافت به توسعه‌دهندگان اپلیکیشن‌های دسکتاپ سیلورلایت پیشنهاد می‌کند به استفاده از APIهای UWP یا WPF در دات‌نت کُر (NET Core.) بپردازند. ازطرفی اهالی ردموند از توسعه‌دهندگان اپلیکیشن‌های تحت وب سیلورلایت می‌خواهند از فریم‌ورکی جدید با نام Blazor WebAssembly بهره بگیرند. در نظر داشته باشید که Blazor WebAssembly نسخه‌ی پیش‌نمایش نیست و به‌مرحله‌ی نهایی رسیده. درواقع امروزه می‌توان ازطریق Blazor WebAssembly به خلق اپلیکیشن‌های تحت وب پرداخت.

فریم‌ورک Blazor توسعه‌دهندگان را قادر می‌سازد برای تولید اپلیکیشن‌های تحت وب به‌جای جاوا اسکریپت از زبان برنامه‌نویسی سی‌شارپ (#C) استفاده کنند. ازطریق این فریم‌ورک همچنین امکان استفاده‌ی دوباره از کد سیلورلایت دات‌نت وجود دارد. افزون بر این موارد، اپلیکیشن‌های ساخته‌شده با فریم‌ورک Blazor از رابط کاربری تحت وب با قابلیت استفاده‌ی مجدد ساخته شده‌اند، خود اجزای رابط کاربری با بهره‌گیری از زبان‌های برنامه‌نویسی سی‌شارپ، HTML و CSS در اپلیکیشن جای داده می‌شوند. با درنظرگرفتن این حقیقت که هر دو کد کلاینت و سرور با استفاده از زبان سی‌شارپ نوشته شده‌اند، امکان به‌اشتراک‌گذاری کدها و کتاب‌خانه‌ها برای توسعه‌دهندگان فراهم می‌شود.
مایکروسافت در بخشی از اطلاعیه‌ی جدید خود می‌گوید: «Blazor را می‌توان یکی از قابلیت‌های ای‌اس‌پی‌دات‌نت (ASP.NET) به‌حساب آورد. ASP.NET فریم‌ورک محبوب توسعه‌ی وب است که قابلیت‌های پلتفرم توسعه‌ی دات‌نت را ازطریق ابزارها و کتاب‌خانه‌هایی جدید به‌منظور ساخت اپلیکیشن‌های تحت وب، گسترش می‌دهد».

براساس اطلاعات رسمی، Blazor نسبت‌به سیلورلایت دارای مزیت‌هایی است که در ادامه به تشریح آن‌ها می‌پردازیم:

Blazor بدون نیاز به پلاگین یا ترانسپایل‌کردن کد از استانداردهای بازِ وب استفاده می‌کند (ترانسپایل یا Transpile به‌اقدام برای تبدیل‌کردن کدِ نوشته‌شده در یک‌ زبان به کدی در زبان دیگر گفته می‌شود).
Blazor در تمامی مرورگرهای مدرن وب کار می‌کند که در بین آن‌ها حتی مرورگرهای موبایلی هم به‌چشم می‌خورند.
اپلیکیشن‌های ساخته‌شده با Blazor می‌توانند به‌لطف بهره‌مندی از ویژگی دات‌نت استاندارد (NET Standard.)، از کتاب‌خانه‌های فعلی دات‌نت هم بهره بگیرند.
کد سی‌شارپ شما می‌تواند به‌سادگی APIها و کتاب‌خانه‌های جاوا اسکریپت را فراخوانی کند. بدین ترتیب شما همچنان می‌توانید به استفاده از اکوسیستم بزرگ کتاب‌خانه‌های جاوا اسکریپت ادامه دهید.
ویژوال استودیو و ویژوال استودیو کد تجربه‌ی توسعه‌ی فوق‌العاده‌ای از Blazor را روی سیستم‌های عامل ویندوز، macOS و لینوکس ارائه می‌دهند.
دات‌نت رایگان است و این موضوع، Blazor را نیز شامل می‌شود. استفاده از Blazor هیچ هزینه‌ای ندارد، حتی برای اهداف تجاری.
محبوب ترین زبانهای برنامه نویسی

برنامه نویس ها ممکن است برای کار روزانه مجبور باشند از یک زبان یا تکنولوژی خاص استفاده کنند اما شبها وقت خود را با زبانی دوست دارند سرگرم می کنند.

در نظر سنجی 2020 سایت Stackoverflow همچنان Rust محبوب ترین زبان برنامه نویسی است که البته دلایل روشنی ندارد.

سال گذشته جایگاه دوم در اختیار پایتون بود که امسال یک پله سقوط کرده است و TypeScript جای آن را گرفته است.

نکته ی جالب TypeScript است که محصولی از مایکروسافت است و برای حل مشکلات استفاده از جاوا اسکریپت ابداع شده است. این زبان به مدیریت Anders Hejlsberg توسعه داده میشود که طراحی زبانهایی مانند Delphi و #C را در کارنامه خود دارد.

در حالی که سی شارپ با دو پله سعود به رده 8م لیست رسیده است جاوا نسبت به سال قبل تغییری نکرده و به نظر میرسد محبوبیت رو به رشدی نداشته باشد.

تاکید گوگل بر جایگزین کردن Kotlin بجای جاوا در توسعه اپ های اندروید می تواند یکی از عوامل کاهش رشد جاوا باشد. همچنین استفاده از جاوا دیگر رایگان نیست و شرکتها جهت استفاده از JDK باید لایسنس خریداری کنند.
شمارش خودکار ارجاع یا ARC روشی است که در زبانهایی مانند Objective-C و Swift برای مدیریت حافظه استفاده میشود.

در این روش پاکسازی حافظه یک شی زمانی انجام میشود که دیگر هیچ رفرنسی به آن داده نشده باشد.

در GC که #C و Java از آن استفاده میکنند پاکسازی حافظه در بازه های زمانی اتفاق می افتد و باعث مکث در برنامه میشود. همچنین هنگامی که حافظه سیستم پر میشود باید GC در بازه های زمانی کوتاهتر اجرا شود.

در ARC رفرنس های داده شده به شی یا گرفته شده از آن شمارش میشود و زمانی که تعداد آنها به صفر میرسد حافظه شی تخلیه میشود. این روش نیاز به الگوریتم ساده تری دارد و جایی که منابع حافظه محدود است (موبایل) کارایی بیشتری دارد.

اما ARC قادر به مدیریت Reference Cycle نیست یعنی زمانی که شی A فقط به شی B وابسته باشد و برعکس تعداد رفرنس ها هیچوقت صفر نمیشود و نیاز به مکانیزم بیرونی برای تشخیص و پاکسازی بوجود می آید در غیر این صورت Memory Leak پیش می آید.

همچنین دفعات زیاد رفرنس دهی یا حذف رفرنس از شی در ARC غیر بهینه عمل میکند. در حالی که در GC تاثیر نمیگذارد.

در iOS از نسخه 5 به بعد از ARC استفاده میشود.
تست کد های #C به صورت آنلاین

توی پست قبلی در مورد C# Interactive توضیح داده بودم الان میخوام روش آنلاینش رو بررسی کنیم.
واسه اینکار سایت های زیادی هست که امکان Syntax Highlighter و Run کردن کد رو بهتون میدن. با این ابزار ها میتونین کد سی شارپ تون رو انلاین و راحت تست کنین و یا کدتون رو با بقیه به اشتراک بگذارین

🔸اول از همه بهترینشون و با اختلاف فاحش، سایت SharpLab هست. امکانات فوق العاده ای داره، Intellisense خیلی قوی ایی داره که در نوع خودش واقعا بی نظیره، امکان Decompile کردن کد خروجی به IL و #C و حتی Jit Assembly رو بهتون میده. UX خوب و روون ایی داره و خیلی سریع، در لحظه کد رو اجرا میکنه.
https://sharplab.io/

🔹این سایت برای ویرایشگرش اش از پلاگین جاوااسکریپتی CodeMirror استفاده میکنه که یک Code Editor و Syntax Highlighter قوی هست و از تموم زبان ها پشتیبانی میکنه
مثلا اگه خواستین قابلیت اسکریپت نویسی و اجرای کد داینامیک رو برای پروژه تون اضافه کنین میتونین از این پلاگین استفاده کنین
https://github.com/codemirror/CodeMirror
[Demo] https://codemirror.net/

🔸 این سایت برای اجرای کد ها از Roslyn و برای Decompile کردنشون از ILSpy استاده میکنه که قوی ترین برنامه Decompiler دات نت هست و ابزار های حرفه دیگه از از جمله dnSpy از رو همین ساخته شدن

🔹سازنده این سایت اومده کل پکیج Code Editor سی شارپیش رو که بر روی CodeMirror و Roslyn ساخته شده رو به صورت سورس پاز تو گیتهاب گذاشته
بدین صورت مثلا میتونین یه ویرایشگر کامل سی شارپی به همراه Autocomplete واسه اسکریپت نویسی داینامیک به پروژه تون اضافه کنین
https://github.com/ashmind/mirrorsharp

🔰تنها ایرادی که سایت sharplab.io داره اینه که که امکان اضافه کردن Nuget Package به کد هاتون رو نداره
واسه همین یه سایت دیگه به نام NET Fiddle. هست (که البته به خوبی اون نیست ولی بعضی امکانات اضافه تر مثل همین nuget package داره)
https://dotnetfiddle.net/
____________________
#سری_معرفی_وسایت_های_برتر

معرفی 10 سایت های برتر (سری سوم)
در مورد
#C و NET Core. و ASP.NET Core

🔶 اگه مشتاق به یادگیری و مطالعه هستین این میتونه بهترین پست برای شما باشه. توی این سری پست ها هربار 10 وبسایت که از نظر سطح علمی و کیفیت محتوا، بروز و متنوع بودن بهترین هستند رو معرفی میکنم👌
اینا در واقع منابعی هستند که خودم معمولا دنبالشون میکنم

🔷 یادتون نره واسه رفقاتون بفرستید✌️
1️⃣ https://fullstackmark.com/
2️⃣ https://www.syncfusion.com/blogs/
3️⃣ https://weblog.west-wind.com/
4️⃣ https://www.blog.jamesmichaelhickey.com/
5️⃣ https://logcorner.com/
6️⃣ https://cmatskas.com/
7️⃣ http://www.tugberkugurlu.com/
8️⃣ https://dotnetcoretutorials.com/
9️⃣ https://damienbod.com/
🔟 https://chrissainty.com/
_____________
معرفی Design Pattern ها به همراه مثال در زبان های مختلف

یکی از بهترین سایت هایی که میشه به عنوان مرجع برای #DesignPattern ها بهش نگاه کرد سایت زیر هست.

این سایت خیلی روون و ساده الگو های برنامه نویسی رو توضیح داده، براشون مثال زده و توی زبان های مختلفی از جمله #C و JavaScript و Java و Python و ... پیاده سازیشون کرده

https://refactoring.guru/design-patterns/catalog

🔰2تا ریپوی زیر هم پیاده سازی ایی از این دیزاین پترن ها در سی شارپ هست
1️⃣ https://github.com/exceptionnotfound/DesignPatterns
2️⃣ https://github.com/HamidMosalla/CSharpDesignPatterns
_____________________