DotNetZoom
2.96K subscribers
342 photos
18 videos
36 files
606 links
DotNetZoom
💎 Everything about .NET

ارتباط با مدیر و تبلیغات آگهی استخدام:
@mjebrahimi

لینک گروه ASPNET Core:
https://t.iss.one/+ufG25x7lVFgyYTNk
Download Telegram
مقایسه ای کامل و بی نقص در مورد پرفرمنس انواع IoC Container های دات نت

https://github.com/danielpalme/IocPerformance

لینک زیر هم منبعی برای مقایسه محبوبیت IoC Container هاست
https://dotnet.libhunt.com/categories/1810-ioc

منبع : @one_programmer
@IranAspMvc
#زنگ_تفریح
پروسه تولید نرم افزار 😂😂

۱- برنامه نویس کدهایی رو تولید میکنه که فکر میکنه کدها عاری از هر نوع خطا و باگی است .

۲- محصول تست میشه و ۲۰ تا باگ پیدا میشه .

۳- برنامه نویس ۱۰ تا از اون خطاها رو حل میکنه و برای بخش تست نرم افزار هم توضیح میده که اون ۱۰ تای دیگه واقعا باگ نیستند .

۴- بخش تست در هنگام تست محصول ۵ تا باگ دوباره از اون ۱۰ تایی که حل شده بود پیدا میکنه و علاوه بر اون ۱۵ تا باگ جدید دیگه
۵- مرحله ۳و۴ سه بار تکرار میشه .

۶-بخش فروش به برنامه نویس ها و تسترها فشار میاره که زودباشید نرم افزار رو ارایه کنید و این گونه میشه نرم افزار به دست کاربر میرسه .

7-کاربر 137 تا باگ جدید پیدا میکنه .

8-برنامه نویس های اصلی تولید این محصول باهاشون تسویه میشه و همشون از کار برکنار میشند .

9-تیم برنامه نویسی جدید تقریبا تمام اون 137 تا باگ رو رفع میکنند اما باعث به وجود اومدن 456 تا باگ جدید میشند.

10-شرکت مجبور میشه از یه شرکت دیگه برنامه نویس قرض کنه تا این 738 تا باگ رو رفع بکنند .

11-برنامه نویس خبره که از اون یکی شرکت اومده این کدها رو قبول نداره و میگه باید از اول بنویسه .

12-برنامه نویس کدهایی رو تولید میکنه که فکر میکنه کدها عاری از هر نوع خطا و باگی است .

و این جریان ادامه دارد…😂😂😂
@IranAspMvc
#زنگ_تفریح
انکدر جالب کد های جاواسکریپت JSFuck

https://www.jsfuck.com/

طرز کارش به این صورته که فقط از 6 کاراکتر
"[]()!+"

برای رمزنگاری کد ها استفاده میکنه
و کد انکریپت شده روی هر مرورگری و یا nodejs هم قابل اجراست

منبع : @ProgrammingTip
@IranAspMvc
Forwarded from یادداشت های یه برنامه نویس (Mohsen Rajabi)
@one_programmer
خبر خوبی که دیروز منتشر شد این بود که NET Core 2.0 منتشر شد
از 13 هزار api تو نسخه 1.1 به 30 هزار api تو نسخه 2.0 رسیده.
از لحاظ performance هم از نسخه 1.1 بهتر عمل کرده
https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-core-2-0/
در کنار متشر شدن این نسخه، پروژه های دیگه هم مثل
Entity Framework .net core 2.0
.Net Standard 2.0
Visual Studio 15.3
هم منتشر شدن.
@one_programmer
ابزاری قدرتمند و رایگان جهت مانیتورینگ، ردیابی درخواست ها، خطا یابی و... وبسایت های .Net و Java
https://bit.ly/2w4NaWY

1- ثبت استثنا های رخ داده با جزئیات کامل
2- ثبت کوئری های اجرا شده بر روی دیتابیس
3- ارائه پیشنهاد در جهت رفع ایرادات و افزایش پرفرمنس
4- ردیابی عملیات انجام شده در یک درخواست وبسایت

وبسایت
https://stackify.com/prefix/

دمو :
https://demo.prefix.io/

@IranAspMvc
@programming_tips


#bootstrap

🔶🔷تغییر صفحه اول سایت بوت استرپ به ظاهری جدید و اعلام رسمی نسخه 4 بوت استرپ

goo.gl/rJdkro
اگر استخدام مهندسین مکانیک هم مثل مهندسین کامپیوتر می بود...
@IranAspMvc
#Angular #Angular_CLI #AspNet #AspNetMVC

یکپارچه سازی Angular 4 CLI با پروژه های ASP.Net MVC 5 در ویژوال استودیو حرفه ای

پس از بازنویسی نگارش اولیه ی انگیولار، بهبودهای بسیار گسترده ای از جمله افزایش سرعت بارگذاری و اجرای کدها و نیز ساختار بهتر و ساده تر در آن به جود آمد که سبب شد توسعه دهندگان بیشتری به استفاده از این فریم ورک قدرتمند ترغیب شوند. اما این پایان ماجرا نبود و تیم انگیولار با معرفی برنامه ی خط فرمانی Angular CLI ، چند قدم فراتر رفته و کار ایجاد و مدیریت برنامه، کامپایل ماژول ها و کدهای تایپ اسکریپت و فرآیند بیلد و استقرار آن را به این برنامه محول کرد و سبب شد توسعه ی سریعتر و تجربه ی لذت بخش تری را برای توسعه دهندگان انگیولار فراهم آورد.

تنها نکته ی چالش برانگیزِ استفاده از این ابزار قدرتمند برای توسعه دهندگان دات نت این است که به دلیل وابستگی آن به webpack و اینکه به گونه ای طراحی شده که در زمان توسعه به صورت مستقل عمل کند، استفاده از آن در یک پروژه ی ASP.Net MVC و در ویژوال استودیو حرفه ای به شکل معمول و آسانِ خود میسر نیست و نیازمند برپایی تدارکات و تنظیماتی می باشد. البته اگر از پروژه های جدید ASP.NET Core و نیز محیط توسعه ی Visual Studio Code استفاده میکنید، با توجه به وجود NET Core CLI. که چیزی شبیه به خط فرمان Angular-CLI است، سازگاری بیشتری خواهید داشت. اما اگر به دلایل مختلف هنوز مجبور به استفاده از پروژه های قدیمی ASP.Net MVC 5 هم هستید، جای نگرانی نیست و لینک زیر گام به گام مراحلی که باید جهت یکپارچه سازی Angular CLI با پروژه ی ASP.Net MVC 5 خود طی کنید را شرح داده است. در ضمن اگر به دنبال نمونه ی یک پروژه ی واقعی و با ساختار خوب از Angular 4 هستید، پیشنهاد میکنم حتما پروژه ی موجود در این مقاله را دریافت و مطالعه نمایید:

https://www.codeproject.com/Articles/1193423/Integrating-the-Angular-CLI-With-Visual-Studio

@IranAspMvc
پیش نمایشی از قابلیت های سی شارپ 8

https://www.erikheemskerk.nl/c-sharp-7-2-and-8-0-uncertainty-awesomeness/

@IranAspMvc
#دانستی
آیا میدانستید سرعت Add کردن در List سریع تر از HashSet است

آیا میدانستید سرعت کوئری زدن بر روی HashSet سریع تر از کوئری زدن بر روی List است؟

آیا میدانستید سرعت واکشی داده بر اساس [index] به شدت سریع تر از ElementAt(index) است؟

آیا میدانستید سرعت متد Contains در HashSet به شدت سریع تر از Contains در List است؟

آیا میدانستید سرعت متد Find در List سریع تر از متد FirstOrDefault است؟

آیا میدانستید سرعت پروپرتی Count در List از سرعت متد Count() بسیار بیشتر است؟ و در نتیجه آن نوشتن list.Count > 0 سریع تر از list.Any عمل می کند؟

@IranAspMvc
#دانستنی
آیا میدانستید در HashSet و SortedSet نمی توان شی تکراری Add کرد؟

آیا میدانستید در SortedList و SortedSet و SortedDictionary به دلیل مرتب سازی حین افزودن ، کند تر از سایر Collection ها مثل List و Dictionary است؟

آیا میدانستید Dictionary و HashSet و HashTable و ... برای فهمیدن تکراری بودن یا نبودن یک شی به هنگام افزودن از مقایسه Hash آنها استفاده می کنند؟
و به همین دلیل (مقایسه Hash مقادیر) به هنگام کوئری زدن به شدت سریع عمل میکنند ؟

آیا میدانستید Collection های Generic (مثل List<> و Dictionary<> و ...) از Collection های Non-Generic (مثل Array و ArrayList و Hashtable) به دلیل عدم نیاز به Boxing و Unboxing از سرعت بیشتر و مصرف حافظه کمتری برخوردار هستند؟

آیا میدانستید در میان Collection های معمول، فقط ArrayList و Hashtable هستند که قابلیت thread-safe بودن را دارا هستند (یعنی در آن واحد، دو ترد نمی توانند به آن اضافه یا حذف کنند)
* نکته : بهتر است برای Collection های thread-safe از انواع داخل فضای نامی System.Collections.Concurrent استفاده کنید

آیا میدانستید Hashtable نیز مانند SortedDictionary در حین افزودن مقادیر را مرتب سازی میکند ولی با ترتیب برعکس آن؟ (اولی نزولی - دومی صعودی)

@IranAspMvc
#دانستنی #نکات_آموزشی #Tips
نتیجه گیری تحقیقات در مورد انواع شمارشی در دات نت که در مجموع، رعایت آنها باعث افزایش سرعت و مصرف کمتر حافظه در برنامه شما می شود
https://goo.gl/zsU61V

1⃣ در List حتما از متد Find به جای FirstOrDefault استفاده کنید.

2⃣ در لیست حتما از پروپرتی Count به جای متد Count() استفاده کنید. (زیرا این پروپرتی ready-made است و نیاز به محاسبه مجدد تعداد ندارد)

3⃣ در لیست حتما از list.Count > 0 به جای متد Any() استفاده کنید.

4⃣ در لیست حتما از [index] به جای ElementAt(index) استفاده کنید.

5⃣ حتی المقدور از Collection های Generic (مانند List<> و HashSet<> و ...) به جای Non-Generic (مانند HashTable و ArrayList و ...) استفاده کنید. (زیرا نیاز به boxing/unboxing ندارد)

6⃣ اگر سرعت به هنگام افزودن برایتان مهم است از List استفاده کنید و اگر سرعت در هنگام کوئری زدن برایتان مهم است از HashSet استفاده کنید.

7⃣ حتی المقدور برای مدیریت مشکل همزمانی (thread-safty) از Collection های موجود در فضای نامی System.Collections.Concurrent به جای روش های دیگر (مثل lock(obj) { ... }) استفاده کنید.

8⃣ حتی المقدور در استفاده از Linq to object عملیات Ordering را «قبل» از Where قرار «ندهید»، زیرا کوئری را بشدت کند می کند. (در linq to sql تفاوتی نمیکند)

9⃣ اگر واقعا به Collection های Sorted مثل (SortedList و SortedDictionary) نیاز ندارید، از انواع مشابه و unOrderd آنها استفاده کنید، زیرا کند تر هستند

🔟 و در آخر نکته ای حاصل از تجربیاتم :
فرض کنید در متد A، اطلاعاتی از دیتابیس را واکشی کرده و در قالب نوع List<> به متد B باز می گردانید؛ سپس متد B کوئری و فیلتری بر روی این اطلاعات زده و باز هم نتیجه را در قالب نوع List<> به متد C باز میگرداند؛ به همین ترتیب در 5 متد مختلف، 5 خروجی فیلتر شده از نتیجه متد قبل را در قالب List<> باز میگردانید.
در این صورت حداقل 5 بار متد ToList برای تبدیل کوئری IEnumerable به List<> استفاده شده است.
با توجه به هزینه بر بودن متد ToList از لحاظ سرعت و مصرف حافظه، بهتر است حتی المقدور، خروجی این 5 متد همان IEnumerable باشد و در مرحله آخر و فقط زمانی که الزاما نیاز به List داشتید، متد ToList را بر روی نتایج صدا بزنید.

@IranAspMvc
امروز روز افراد باهوش و زیرکی هست که خودشون میگن برای ادامه زندگی فقط به سه چیز احتیاج دارن: code,coffee,sleep

روز جهانی برنامه نویس مبارک 🌹🌸🌺🎉
@IranAspMvc
#Angular #Extension #VSCode

6 افزونه ی بسیار مفید و ضروری VSCode برای توسعه دهندگان Angular

با گسترش و فراگیر شدنِ برنامه های مبتنی بر Angular در محیط VSCode، افزونه ها(Extensions) ی متعدد و زیادی جهت سهولت در امر توسعه، تهیه و در دسترس قرار گرفتند. انتخاب و نصب این افزونه ها تا حد زیادی بر حسب سلیقه و نوع نیاز انجام می شود. اما در یک رده بندی کلی و عمومی، شاید بتوان 6 افزونه ی زیر را جزو کاربردی ترین آن ها دانست:

1- افزونه TypeScript Hero
اگر شما نیز به دنبال راهی برای افزودنِ اتوماتیکِ ایمپورت ها در فایل های تایپ اسکریپت هستید و همچنین مرتب سازی یا حذف ایمپورت های استفاده نشده برایتان از اهمیت برخوردار است، این افزونه مناسب برای شماست. البته این تنها بخش کوچکی از امکانات این افزونه مانند قابلیت code completion و ... می باشد:
https://goo.gl/f4t1BC

2- افزونه Angular Language Service
از طریقِ این افزونه، قابلیتِ auto-completion فیلدهای تعریف شده در کامپوننت را در تمپلیت HTML خود خواهید داشت:
https://goo.gl/GerGJH

3- افزونه Bracket Pair Colorizer
همان طور که از نام آن پیداست کار این افزونه، تطبیقِ براکت ها از طریق تمایز رنگ آنهاست:
https://goo.gl/cD3DUa

4- افزونه Move TS
کار این افزونه ی مفید، تغییر مکانِ فایل های تایپ اسکریپت و نیز فولدرهای حاوی آن و به روز رسانی ایمپورت های مرتبط با آن است. این افزونه به خصوص زمانی کاربرد دارد که به دلیل بزرگ شدن یکی از ماژول های موجود در پروژه، مجبور به شکستن آن به ماژول های کوچکتر و در نتیجه، انتقال فایل و فولدر های آن هستید:
https://goo.gl/svH4bs

5- افزونه Material Icon Theme
این افزونه دارای تعداد زیادی آیکون های متریال دیزاین برای VSCode می باشد:
https://goo.gl/HgSDAj

6- افزونه Angular TypeScript Snippets
این افزونه ی مفید تعداد زیادی code snippet آماده برای تولید سریع کدها مانند ایجاد کامپوننت، دایرکتیو، سرویس و ... را فراهم میکند. هر چند بسیاری از این موارد توسط برنامه ی خط فرمانی Angular CLI نیز امکان پذیر است، اما این افزونه شامل مواردِ بسیارِ دیگری از جمله snippet هایی برای تولید کدهای HTML نیز می باشد:
https://goo.gl/QfXzkf

منبع و توضیحاتِ کاملِ موارد فوق را میتوانید از طریق لینک زیر مطالعه نمایید:

https://goo.gl/LovRde

@IranAspMvc
.Net Core C# vs PHP7 #مقایسه
اینو بفرستین واسه php کارا 😝😝😝

https://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=csharpcore&lang2=php

@IranAspMvc
سیمرغ بلورین بهترین #کپی_کار محتوا (نگیم دزد محتوا)

تعلق میگیره بهههه
دوست عزیزمون @yaserFashami
که حتی با تذکر هم راضی به ذکر منبع نشدند

اینم کانالشون که متاسفانه ما تنها قربانی اون نیستیم و از خیلی کانال های دیگه هم کپی کاری میکنه
@yaserFashamiChannel

به نظرم بهتره مالکیت معنوی رو از خودمون شروع کنیم
مخصوصا ما برنامه نویسا که از کپی شدن محصولاتمون همیشه گله میکنیم
#news
زبان برنامه نویسی کریستال که به تازگی توسعه داده شده
و ادعا میکنه در عین سادگی سینتکس (مثل Ruby)، سرعت C رو داره !
https://crystal-lang.org/
مخزن سورس
https://github.com/crystal-lang/crystal

@IranAspMvc