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
#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
دانلود کتاب Little ASP.NET Core 2.0 Book به صورت PDF

لینک دانلود
https://goo.gl/YCqH34

سایت اصلی
https://www.recaffeinate.co/book/

منبع: @one_programmer
@IranAspMvc
Forwarded from عکس نگار
15 جواب که معمولا از برنامه نویسا میشنوید!
@IranAspMvc

1- ولی رو کامپیوتر من کار میکنه!
2- ولی دیروز واسه من کار کرد
3- اصلا چرا میخوای اینکار رو بکنی که برنامه خطا بده؟!
4- احتمالا سیستمت ویروسیه
5- احتمالا یکی کد منو تغییر داده!
6- کار میکنه ولی تست نشده
7- من که نمیتونم همه چیز رو تست کنم!
8- علتش این نیست
9- شما احتمالا نسخه اشتباه رو استفاده میکنی
10- من این ماژول رو دست بهش زدم تو این هفته!
11- احتمالا داده ی اشتباه وارد کردی
12- عجیبه؛ مگه میشه؟!
13- تا حالا سابقه نداشته!
14- چه چیز اشتباهی تایپ کردی تا برنامه رو خراب کنی؟!
15- احتمالا مشکل از سخت افزارتونه

@IranAspMvc
#مقایسه C# .NET Core vs Python 3

https://goo.gl/91BmC8
قبلا دیدیم که c# .net core از java9 و php7 سریع تر بود
حال میبینیم که از پایتون هم سریع تر است
منبع : debian.org
@IranAspMvc
#مقایسه C# .NET Core با زبان های دیگر
vs JavaScript
https://goo.gl/dzESYP
vs Ruby
https://goo.gl/No8Dz8
vs jRuby
https://goo.gl/6xg8dF
vs Perl
https://goo.gl/rCMsyW
vs Lua
https://goo.gl/UHte4g
vs Erlang
https://goo.gl/cB4y6A
vs Pascal
https://goo.gl/msAVin

و جالب اینکه در C# .NET Core در بعضی موارد از زبان های سریع Swift و Go نیز سریع تر بوده است
vs Swift
https://goo.gl/F3txPq
vs Go
https://goo.gl/CDJuiA

شاید مقایسه بعضی از این زبان ها (functional language) با زبان شی گرای سی شارپ (oop language) صحیح نباشد
ولی به هر حال چون debian.org مقایسه کرده بود، اینجا آوردم

@IranAspMvc
Forwarded from عکس نگار
معرفی قابلیت های جدید C# 7.1

چندی پیش سی شارپ 7.1 همراه با نسخه 3 ویژوال استادیو 2017 منتشر شد
و 4 قابلیت زیر را به زبان محبوب و قدرتمند سی شارپ افزود
1- async main
2- target-typed default literals
3- tuple name inference
4- generic support for pattern-matching

@IranAspMvc

معرفی C# 7.1
https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7-1

هر آنچه که درباره سی شارپ 7.1 باید بدانید (انگلیسی)
https://www.danielcrabtree.com/blog/329/c-sharp-7-1-everything-you-need-to-know

فعالسازی C# 7.1 (آموزش های فارسی)
https://www.dotnettips.info/post/2751
قابلیت async Main
https://www.dotnettips.info/post/2752
قابلیت default Literals
https://www.dotnettips.info/post/2753
قابلیت Tuple Name Inference
https://www.dotnettips.info/post/2754

@IranAspMvc
Forwarded from یادداشت های یه برنامه نویس (Mohsen Rajabi)
@one_programmer

آنالیز کد های سی شارپ، که داخل گیتاب قرار دارند
آمار های جالبی در اومده، برای مثال چه مقدار از tab یا space استفاده شده ؟
یه مقدار از کلمات async و await استفاده شده ؟
پیشنهاد میکنم حتما ببینید

Analysing C# code on GitHub with BigQuery
https://mattwarren.org/2017/10/12/Analysing-C-code-on-GitHub-with-BigQuery/#tabs-or-spaces

@one_programmer
Entity Framework 6.2 Released

قابلیت های جدید
1-Reduce start up time by loading finished code first models from a persistent cache
2-Fluent API to define indexes
3-Add DbFunctions.Like() to enable writing LINQ queries that translate to LIKE in SQL
And many others...

معرفی
https://blogs.msdn.microsoft.com/dotnet/2017/05/23/announcing-ef-6-2-beta-1/

@IranAspMvc
و باز هم SQL Server در صدر

با توجه به گزارش سایت گارتنر SQL Server برای سومین بار پیاپی درحوزه ODBMS (مدیریت بانک های اطلاعاتی) از رقبای خود مانند Oracel پیشی گرفت

https://goo.gl/o2Twd2

@IranAspMvc