#دانستنی
✅ آیا میدانستید در 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
✅ آیا میدانستید در 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
منابع تحقیقات بالا 👆
https://net-informations.com/faq/general/dictionary-list.htm
https://net-informations.com/faq/general/dictionary.htm
https://www.dotnetcurry.com/csharp/1362/hashset-csharp-with-examples
https://www.c-sharpcorner.com/blogs/benchmarking-list-vs-dictionary-vs-hashset-vs-sortedset
https://blog.bodurov.com/Performance-SortedList-SortedDictionary-Dictionary-Hashtable/
https://theburningmonk.com/2011/03/hashset-vs-list-vs-dictionary/
https://net-informations.com/faq/general/dictionary-list.htm
https://net-informations.com/faq/general/dictionary.htm
https://www.dotnetcurry.com/csharp/1362/hashset-csharp-with-examples
https://www.c-sharpcorner.com/blogs/benchmarking-list-vs-dictionary-vs-hashset-vs-sortedset
https://blog.bodurov.com/Performance-SortedList-SortedDictionary-Dictionary-Hashtable/
https://theburningmonk.com/2011/03/hashset-vs-list-vs-dictionary/
Net-Informations
C# Dictionary Versus List Lookup Time
The Dictionary is based on a hash table, that means it uses a hash lookup, which is a rather efficient algorithm to look up things, on the other hand, a list you have to go element by element until it finds the result from beginning to the result each time
#دانستنی #نکات_آموزشی #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
✅ نتیجه گیری تحقیقات در مورد انواع شمارشی در دات نت که در مجموع، رعایت آنها باعث افزایش سرعت و مصرف کمتر حافظه در برنامه شما می شود
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
روز جهانی برنامه نویس مبارک 🌹🌸🌺🎉
@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
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
Visualstudio
TypeScript Hero - Visual Studio Marketplace
Extension for Visual Studio Code - Additional toolings for typescript
.Net Core C# vs PHP7 #مقایسه
اینو بفرستین واسه php کارا 😝😝😝
https://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=csharpcore&lang2=php
@IranAspMvc
اینو بفرستین واسه php کارا 😝😝😝
https://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=csharpcore&lang2=php
@IranAspMvc
سیمرغ بلورین بهترین #کپی_کار محتوا (نگیم دزد محتوا)
تعلق میگیره بهههه
دوست عزیزمون @yaserFashami
که حتی با تذکر هم راضی به ذکر منبع نشدند
اینم کانالشون که متاسفانه ما تنها قربانی اون نیستیم و از خیلی کانال های دیگه هم کپی کاری میکنه
@yaserFashamiChannel
به نظرم بهتره مالکیت معنوی رو از خودمون شروع کنیم
مخصوصا ما برنامه نویسا که از کپی شدن محصولاتمون همیشه گله میکنیم
تعلق میگیره بهههه
دوست عزیزمون @yaserFashami
که حتی با تذکر هم راضی به ذکر منبع نشدند
اینم کانالشون که متاسفانه ما تنها قربانی اون نیستیم و از خیلی کانال های دیگه هم کپی کاری میکنه
@yaserFashamiChannel
به نظرم بهتره مالکیت معنوی رو از خودمون شروع کنیم
مخصوصا ما برنامه نویسا که از کپی شدن محصولاتمون همیشه گله میکنیم
#news
زبان برنامه نویسی کریستال که به تازگی توسعه داده شده
و ادعا میکنه در عین سادگی سینتکس (مثل Ruby)، سرعت C رو داره !
https://crystal-lang.org/
مخزن سورس
https://github.com/crystal-lang/crystal
@IranAspMvc
زبان برنامه نویسی کریستال که به تازگی توسعه داده شده
و ادعا میکنه در عین سادگی سینتکس (مثل Ruby)، سرعت C رو داره !
https://crystal-lang.org/
مخزن سورس
https://github.com/crystal-lang/crystal
@IranAspMvc
The Crystal Programming Language
Crystal is a general-purpose, object-oriented programming language. With syntax inspired by Ruby, it’s a compiled language with static type-checking. Types are resolved by an advanced type inference algorithm.
دانلود کتاب Little ASP.NET Core 2.0 Book به صورت PDF
لینک دانلود
https://goo.gl/YCqH34
سایت اصلی
https://www.recaffeinate.co/book/
منبع: @one_programmer
@IranAspMvc
لینک دانلود
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
@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
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
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
چندی پیش سی شارپ 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
آنالیز کد های سی شارپ، که داخل گیتاب قرار دارند
آمار های جالبی در اومده، برای مثال چه مقدار از 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
Performance is a Feature!
Analysing C# code on GitHub with BigQuery
Just over a year ago Google made all the open source code on GitHub available for querying within BigQuery and as if that wasn’t enough you can run a terabyte of queries each month for free!
قابلیت های جدید سی شارپ 7.2
https://www.c-sharpcorner.com/article/c-sharp-7-2-new-features-with-visual-studio-2017/
@IranAspMvc
https://www.c-sharpcorner.com/article/c-sharp-7-2-new-features-with-visual-studio-2017/
@IranAspMvc
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
قابلیت های جدید
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
Microsoft
Announcing EF 6.2 beta 1
A first-hand look from the .NET engineering teams
و باز هم SQL Server در صدر
با توجه به گزارش سایت گارتنر SQL Server برای سومین بار پیاپی درحوزه ODBMS (مدیریت بانک های اطلاعاتی) از رقبای خود مانند Oracel پیشی گرفت
https://goo.gl/o2Twd2
@IranAspMvc
با توجه به گزارش سایت گارتنر SQL Server برای سومین بار پیاپی درحوزه ODBMS (مدیریت بانک های اطلاعاتی) از رقبای خود مانند Oracel پیشی گرفت
https://goo.gl/o2Twd2
@IranAspMvc
اضافه شدن قالب .NET Standard به قالب های پیش فرض پروژه های Xamarin.Forms
- همانطور که می دانیم، .NET Standard، شامل مجموعه ی عظیمی از API هایی است که در پلتفرم های مختلف دات نتی مانند Full .NET Framework ، Xamarin و .NET Core پیاده سازی شده اند و در نتیجه امکان اشتراک گذاری بخش زیادی از کد در بین پلتفرم های مختلف وجود دارد. همچنین در ویرایش 2.3.5 xamarin forms به بعد، این قابلیت برای توسعه دهندگان زامارین نیز فراهم شد که از دات نت استاندارد در پروژه های xamarin forms خود استفاده نمایند. خبر خوب اینکه تیم زامارین جهت فراگیری بیشتر و سهولت استفاده، این قابلیت را به عنوان گزینه ای در زمان ایجاد پروژه برای توسعه دهندگان xamarin forms فراهم کرده است که بتوانند استراتژی اشتراک گذاری کد را از نوع دات نت استاندارد انتخاب نمایند. این امکان در حال حاضر در Visual Studio 2017 version 15.5 Preview 3 قرار داده شده است. تیم زامارین همچنین Portable Class Library را از گزینه های پیش فرض در زمان ایجاد پروژه حذف کرده است، ولی میتوان آن را به عنوان class library اضافه نمود.
- از دیگر بهبود های صورت گرفته در این نسخه، قابلیت PackageReference است که روشی برای مدیریت بهتر پکیج های نیوگت به صورت مستقیم و در فایل .csproj می باشد. در این روش فقط به پکیج هایی که به طور مستقیم در پروژه استفاده می شوند ارجاع داده می شود و برای جلوگیری از پیچیدگی و مدیریت راحت تر، خبری از وابستگی های سطوح بعدی نیست.
لینک زیر به شرح کامل ویژگی های فوق پرداخته است:
https://blog.xamarin.com/net-standard-comes-xamarin-forms-project-templates/
@IranAspMvc
- همانطور که می دانیم، .NET Standard، شامل مجموعه ی عظیمی از API هایی است که در پلتفرم های مختلف دات نتی مانند Full .NET Framework ، Xamarin و .NET Core پیاده سازی شده اند و در نتیجه امکان اشتراک گذاری بخش زیادی از کد در بین پلتفرم های مختلف وجود دارد. همچنین در ویرایش 2.3.5 xamarin forms به بعد، این قابلیت برای توسعه دهندگان زامارین نیز فراهم شد که از دات نت استاندارد در پروژه های xamarin forms خود استفاده نمایند. خبر خوب اینکه تیم زامارین جهت فراگیری بیشتر و سهولت استفاده، این قابلیت را به عنوان گزینه ای در زمان ایجاد پروژه برای توسعه دهندگان xamarin forms فراهم کرده است که بتوانند استراتژی اشتراک گذاری کد را از نوع دات نت استاندارد انتخاب نمایند. این امکان در حال حاضر در Visual Studio 2017 version 15.5 Preview 3 قرار داده شده است. تیم زامارین همچنین Portable Class Library را از گزینه های پیش فرض در زمان ایجاد پروژه حذف کرده است، ولی میتوان آن را به عنوان class library اضافه نمود.
- از دیگر بهبود های صورت گرفته در این نسخه، قابلیت PackageReference است که روشی برای مدیریت بهتر پکیج های نیوگت به صورت مستقیم و در فایل .csproj می باشد. در این روش فقط به پکیج هایی که به طور مستقیم در پروژه استفاده می شوند ارجاع داده می شود و برای جلوگیری از پیچیدگی و مدیریت راحت تر، خبری از وابستگی های سطوح بعدی نیست.
لینک زیر به شرح کامل ویژگی های فوق پرداخته است:
https://blog.xamarin.com/net-standard-comes-xamarin-forms-project-templates/
@IranAspMvc
Xamarin Blog
An open source mobile framework for building modern mobile apps with .NET.