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
#AspNetMvc , #AspNetCore , #NetCore , #EFCore

ا .NET Core 1.1 Preview 1 منتشر شد.

دانلود .NET Core 1.1 برای پلتفرم های مختلف:
https://github.com/dotnet/core/blob/master/release-notes/preview-download.md

همچنین ASP .NET Core 1.1 Preview 1 و Entity Framework Core 1.1 Preview 1 نیز منتشر شدند:
https://blogs.msdn.microsoft.com/webdev/2016/10/25/announcing-asp-net-core-1-1-preview-1/

https://blogs.msdn.microsoft.com/dotnet/2016/10/25/announcing-entity-framework-core-1-1-preview-1/

⭐️ قابل ذکر است که این نسخه، "Go Live" و پایدار نیست و هنوز برای استفاده در محصول واقعی توصیه نمی شود.

@IranAspMvc
#DotNet , #Validation , #FluentValidation

کتابخانه ی FluentValidation برای ساخت قوانین اعتبار سنجی در .NET :

https://github.com/JeremySkinner/fluentvalidation

⭐️ این کتابخانه، قابلیت ادغام و یکپارچه شدن با ASP .NET MVC 5 و WebApi را نیز دارد و با فعال کردن این قابلیت، MVC میتواند از FluentValidation برای اعتبار سنجی اشیاء ارسال شده به اکشن های کنترلر استفاده نماید.

آموزش FluentValidation
https://www.dotnettips.info/post/1099/
https://www.dotnettips.info/post/1100/

استفاده از FluentValidation در ASP NET MVC
https://www.dotnettips.info/post/1102/

@IranAspMvc
This media is not supported in your browser
VIEW IN TELEGRAM
وقتی میام شرکت میبینم یکی داره به کد های من ور میره 😐 😂
@IranAspMvc
Forwarded from iliasoft
This media is not supported in your browser
VIEW IN TELEGRAM
سخت افزارهای جدید Microsoft هم معرفی شدند!.
Gistlyn (Online C# Script Executer - #Playground)
https://goo.gl/yj6TzW

اگه جایی به ویژوال استادیو دسترسی ندارین یا میخواین سریع یه تیکه کد رو تست کنین
میتونین از ابزار Gistlyn.com استفاده کنین
این ابزار یک Playground (محیط بازی) برای C# می باشد که توسط آن می توانید کد های خود را اجرا کرده و خروجی رو مشاهده کنین
در واقع این ابزار در پشت پرده برای اجرای کد های شما از کامپایلر خود دات نت یعنی Roslyn استفاده میکند

این پروژه که از محصولات کمپانی ServiceStack.net می باشد سورس باز بوده و مخزن آن در آدرس زیر قابل دسترس است
https://github.com/ServiceStack/Gistlyn

Description : Gistlyn lets you create, run and share your executable C# Github Gists. Powered by Roslyn C# Scripting, bring a Gist with a main.cs and Gistlyn will run it for you!

گیست لین یه نسخه ویندوزی و یه نسخه کراس پلتفرم هم داده که میتونین از لینک زیر دانلودش کنین و توی سیستم عامل خودتون ازش استفاده کنین
https://gistlyn.com/?collection=74d7b0467a197f678bb4220b2c301ac3

@IranAspMvc
This media is not supported in your browser
VIEW IN TELEGRAM
#زنگ_تفریح
تعارف من و دوستم واسه گرفتن پروژه 😂😂😂
@IranAspMvc
#اطلاعات_عمومی
https://goo.gl/rqVHxG

ا1⃣ Lucene یه سرچ انجین هست که توسط جاوا نوشته شده
ا2⃣ Solr یه سرچ فریمورک هست که بر روی Lucene نوشته شده و از Elastic قدیمی تره
ا3⃣ Elastic Search یه سرچ فریمورک دیگه هست که اونم بر روی Lucene نوشته شده و در جهت بهبود و رفع کم و کاستی های Solr نوشته شده
همشونم با جاوا هستند
مقایسه کامل Solr و Elastic
https://solr-vs-elasticsearch.com/

آموزش Lucene.Net برای استفاده Lucene Search Engine در دات نت
https://www.dotnettips.info/learningpaths/details/18

منابع :
https://en.wikipedia.org/wiki/Apache_Lucene
https://lucene.apache.org/core/

https://en.wikipedia.org/wiki/Apache_Solr
https://lucene.apache.org/solr/

https://en.wikipedia.org/wiki/Elasticsearch
https://www.elastic.co/products/elasticsearch

https://stackoverflow.com/questions/15704644/difference-between-solr-and-lucene
https://stackoverflow.com/questions/10213009/solr-vs-elasticsearch

کانال تخصصی AspMvc
@IranAspMvc
#SEO #UrlRewrite #UrlFirendly #WebForm #درخواستی_کاربر
https://goo.gl/enm9yj

توی وب فرم واسه تغییر url های سایت به url های کاربر پسند یا همون seo friendly که یکی از الزامات SEO نیز هست روش های زیادی وجود داره که اصطلاحا بهش میگن url rewrite

1⃣ روش اول : استفاده از پکیج Microsoft.AspNet.FriendlyUrls
آموزش :
https://goo.gl/614yzi
https://goo.gl/F9Jz0R
مثال :
https://github.com/devcurry/friendly-urls-webforms

2⃣ روش دوم : استفاده از UrlRouting خود Asp که از ورژن 3.5 به بعد به دات نت اضافه شد
https://goo.gl/eK0NMg
مثال :
https://goo.gl/y1skpl

3⃣ روش سوم : استفاده از ماژول UrlRewriteModule در IIS (که ملزم IIS 7 به بالا و نصب بودن این ماژول روی iis هست)
آموزش :
https://goo.gl/Q1gYN1
دانلود ماژول :
https://goo.gl/4hdeQz (x64)
https://goo.gl/XGXXAn (x86)

4⃣ روش های دیگر :
https://www.urlrewriting.net/
https://www.isapirewrite.com/
مقالات دیگر :
https://www.iis.net/learn/extensions/url-rewrite-module

@IranAspMvc
#Learning #Resources #Video
https://goo.gl/oO8h0h

یکی از سوالات و درخواست هایی که به صورت مکرر از طرف توسعه دهندگانِ تازه کار مطرح می شود، درخواستِ معرفی منابع و مراجع مفید برای آغاز یادگیری است.

اگر شما نیز جزو آن دسته از توسعه دهندگانی هستید که به تازگی وارد دنیای شیرین و جذاب برنامه نویسی شده اید و با انرژی و انگیزه ی زیاد و البته هدفی مشخص(!) قصد پیشرفت در این مسیرِ پر پیچ و خم را دارید، بعد از تعیین گرایش و یافتن حوزه ی مورد علاقه ی خود، در قدم اول باید منابع خوب و متناسب با نیاز را شناسایی و نسبت به یادگیری اقدام نمایید.

متاسفانه و یا خوشبختانه ماهیت این حرفه، تعدد تکنولوژی ها و نیز سرعت بالای تغییر و تحولات، این نیاز را حتی برای توسعه دهندگان با تجربه نیز ایجاد کرده است که از هر زمانِ آزاد برای یادگیری و به روز نمودنِ دانش خود استفاده نمایند. بنابراین آگاهی از انواع منابع و مراجعِ خوب و به روز میتواند برای عموم توسعه دهندگان در تمامی سطوح امری ضروری باشد.

اگر یکی از روش های خوب برای یادگیریِ زبان و یا تکنولوژی های جدید را آموزش های آنلاین و ویدئویی بدانیم، در چند سال اخیر خوشبختانه تعداد سایت های ارائه دهنده ی این آموزش ها رو به افزایش است. چند نمونه از معروف ترین و بهترین منابع آنلاین به قرار زیر است:

ا Pluralsight
اغراق نیست اگر این سایت را یکی از بهترین سایت های آموزش آنلاین موجود بدانیم. حضور چهره های معروف و با سابقه همچون جولی لِرمن(اِنتیتی فریم ورک) ، جان پاپا(اَنگیولار) و ... به عنوان مدرسان این سایت از مزیت های عمده ی آن است. هر چند استفاده از آموزش های این سایت رایگان نیست ولی توسعه دهندگان مایکروسافت که عضو برنامه ی Visual Studio Dev Essentials باشند، می توانند به مدت 3 ماه از آموزش های آن به صورت رایگان استفاده کنند.
https://www.pluralsight.com/

ا Lynda
لیندا نیز از منابعی است که دارای آموزش های خوب و به روزی است و به مباحث زیاد و متنوعی پرداخته است. هرچند لیندا را رقیبی برای پلورال سایت می دانند و کیفیت بالای آموزش های آن، تصدیق کننده ی این موضوع است، اما برخی آموزش های آن، به بیان جزئیات کمتری پرداخته و برای درکِ عمیقِ بعضی مباحث، پلورال سایت گزینه ی مناسب تری است.
https://www.lynda.com

ا uDemy
از دیگر منابع بسیار ارزشمند و گسترده در تمامی حوزه ها سایت یودمی است. این سایت نیز از آموزش ها و مدرسان خوبی برخوردار است و طی سال های اخیر طرفداران زیادی در سطوح مختلف از مبتدی تا پیشرفته پیدا کرده است.
https://www.udemy.com/

اCode School
کُد اِسکول را برادر کوچک pluralsight میدانند. هر چند منابع آن نسبت به پلورال سایت بسیار محدود تر است، اما آموزش های خوبی را در حوزه ی تکنولوژی های وب ارائه کرده است.
https://www.codeschool.com/

ا Microsoft Virtual Academy
شاید کمتر توسعه دهنده ای باشد که در حوزه ی دات نت فعالیت کند و با آکادمی مجازی مایکروسافت و آموزش های رایگان و عالی آن آشنا نباشد. ولی خب همان طور که از نام آن پیداست این آموزش ها مختص اکوسیستم مایکروسافت است و منابع آن به نسبت محدودتر هستند.
https://mva.microsoft.com

سایر سایت های آموزش آنلاین:
* Khan Academy
* Udacity
* edX

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

https://rion.io/2016/11/04/hello-world-learning-resources-for-new-and-potential-developers/

@IranAspMvc
#EF , #EntityFramework , #LazyLoading , #EagerLoading

مساله ی Select N+1 چیست و چطور باعث کاهش کارایی ORM می شود؟

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

یکی از مشکلات و خطاهای رایج در استفاده از EF، خطای select n+1 است، که به وفور در کدهای توسعه دهندگانِ ناوارد یافت می شود. به این معنی که شما به جای اجرای یک کوئری، n+1 کوئری را اجرا میکنید و در نتیجه ی آن، n+1 رفت و برگشت به بانک اطلاعاتی خواهید داشت! و این مشکل به دلیل فعال بودن خاصیت lazy loading و اجرای حلقه روی مجموعه ای از داده ها که دارای رابطه ی master-detail هستند، اتفاق می افتد. به عنوان مثال تصور کنید یک کلاس Department داریم و هر دپارتمان هم تعدادی Course دارد:

public class Department

    {

        ....

        public virtual ICollection<Course> Courses { get; set; }

    }


public class Course

    {

        ....

        public virtual Department Department { get; set; }

    }


در این صورت، با اجرای حلقه ی زیر و فعال بودن خاصیت lazy loading مشکل select n+1 به وجود می آید:

using (var context = new SchoolEntities())

{

  foreach (var department in context.Departments)

  {

    foreach (var course in department.Courses)

    {

      Console.WriteLine("{0}: {1}", department.Name, course.Title);

    }

  }

}


بنابراین، در حالتی که با تعداد بالایی داده رو به رو باشیم، استفاده ی نادرست از lazy loading به شدت روی پرفرمنس تاثیر گذار است. راه حل این مشکل استفاده از متد Include برای اعمالِ جوینِ بین جدوال است، تا اطلاعاتِ موجودیت های مرتبط به صورت همزمان و از طریق Eager loading واکشی شوند:

using (var context = new SchoolEntities())

{

  foreach (var department in context.Departments.Include("Courses"))

  {

    foreach (var course in department.Courses)

    {

      Console.WriteLine("{0}: {1}", department.Name, course.Title);

    }

  }

}


در این حالت فقط یک رفت و برگشت به بانک اطلاعاتی خواهیم داشت و EF خودش Join لازم را برای واکشیِ اطلاعاتِ مرتبط، در پشت صحنه انجام می دهد.

اطلاعات بیشتر:
https://www.codeproject.com/Articles/102647/Select-N-Problem-How-to-Decrease-Your-ORM-Perfor

@IranAspMvc
Forwarded from سکان آکادمی
تفسیر آیه ی ویل للمطففین از کتاب الهی در حوزه ی توسعه ی نرم افزار
یکی از چیزهایی که در قرآن مجید به کرات نسبت به آن هشدار داده شده و شدیداً مورد تقبیح قرار گرفته است چیزی است تحت عنوان کم فروشی تا جایی که یک سوره ی کامل به نام «مطففین» به این مبحث اختصاص داده شده است. جالب است وقتی صحبت از کم فروشی به میان می آید، خیلی از افراد به فکر بقالی، قصابی، لبنیات فروشی و سایر مشاغل مشابه می‌افتند که سر و کارشان با ترازو است و مثلاً اگر شما یک کیلو گوشت بخرید اما در عمل وزنی معادل با 980 گرم دریافت کرده باشید، فروشنده مرتکب فعل حرام «کم فروشی» شده است. آنچه در این مقاله قصد داریم مورد بررسی قرار دهیم این است که آیا در دنیای توسعه ی نرم‌افزار و برنامه نویسی نیز می‌توان کم فروشی کرد یا خیر! که در این مقاله قصد داریم با ذکر مثال‌هایی از دنیای واقعی، این قضیه را اثبات کنیم. با سکان آکادمی همراه باشید.

https://ow.ly/BtkK3067Bl7
شاید جالب باشه براتون که بدونین سایت StackExChange و خانواده اون مثل سایت بزرگ StackOverFlow با چه تکنولوژی و سخت افزاری ساخته شده
https://goo.gl/gHy5eQ
@IranAspMvc
زبان برنامه نویسی ترامپ اسکریپت

https://jadi.net/2016/11/trump-script/


انتخاب ترامپ پیامدهای متنوعی داشته، از جمله در دنیای برنامه نویسی. یه آدم خوش ذوق با شعار Make Python Great Again اومده و زبونی درست کرده که *با موهای طلایی ترامپ* هماهنگه. بعد از نصب کافیه فایل رو با پسوند tr ذخیره کنید و با دستور TRUMP اجراش کنین. بعضی از قواعد برنامه نویسی اینها هستن:

- هیچ عدد اعشاری نمی تونین استفاده کنین. فقط اعداد صحیح! آمریکا با هیچ چیز نصفه و نیمه کار نداره
- همه اعداد باید از ۱ میلیون بزرگتر باشن، ترامپ با اعداد کوچیک کار نداره
- هیچ دستور ایمپورتی پشتیبانی نمی شه، همه چیز باید در داخل ساخته بشه
- به جای عبارت های منسوج True و False، از Fact و Lie استفاده میکنیم
- تنها اسامی مشهور آمریکایی بخصوص سیاستمدارها میتونن به عنوان اسامی متغیرها استفاده بشن
- همه برنامه ها باید با عبارت America is great تموم بشن
- ترامپ اسکریپت روی ویندوز اجرا نمی شه چون ترامپ به PC اعتقاد نداره
- ترامپ اسکریپت روی محصولات اپل اجرا نخواهد شد مگر اینکه اول موافقت کنه اطلاعات رایکال های اسلامی رو به ترامپ بده
- حروف بزرگ و کوچیک مهم نیستن
- اگر کامپیوتر در چین باشه، برنامه اجرا نمی شه. قرار نیست چینی ها تکنولوژی های آمریکا رو بدزدن
- در صورتی که از فلگ Wall— استفاده بشه، کامپیوترها داخل مکزیک هم نخواهند تونست ترامپ اسکریپت ها رو اجرا کنن
- با روت اجرا نخواهد شد چون آمریکا برای بزرگ بودن نیاز به کمک کسی نداره. ما فقط به ترامپ نیاز داریم.

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


What are we in this country
Hillary speaks nothing but lies
But look at me I came to this election to make guys
believe again
believe in fact
if, all of us real lies the light; : say "VOTE TRUMP" !
but I know we should be free
else the result will be bad: all the work of George
Washington was for nothing
so this election say "Hello World" say "TRUMP FOR PRESIDENT"!
America is great.

و البته یادتون باشه که ترامپ علاقه چندانی به توضیح مشکلاتش نداره پس اگر مشکلی پیش بیاد، انتظار نداشته باشین بشینه باهاتون حرف بزنه. دیباگ کردن ترامپ اسکریپت خودش یه بازی جالبه!
بزرگترین سوپر گروه تخخصی ASP NET MVC
پرسش و پاسخ
اشتراک گذاری مطالب مفید

https://telegram.me/joinchat/BEv5CT1bY6uZDh2rtrq-og

@IranAspMvc
آموزش تعاملی و عملی #Git

https://try.github.io

@IranAspMvc
https://listjs.com/

Perfect library for adding search, sort, filters and flexibility to tables, lists and various HTML elements. Built to be invisible and work on existing HTML.

@IranAspMvc
This media is not supported in your browser
VIEW IN TELEGRAM
انیمیشن های Loading زیبا توسط CSS3
https://cssload.net/

انیمیشن های Loading زیبا به صورت GIF و APNG
https://preloaders.net/

@IranAspMvc
#Project, #AspMvc
https://goo.gl/0x3lZk

#پروژه بدست آوردن آمار بازدید وب سایت در ASP.NET MVC
امکانات پروژه
- افراد آنلاین
- بازدید امروز
- بازدید کل از زمان راه اندازی پروژه
- بازدید یونیک
- درصد استفاده از مرورگرها
- درصد استفاده از سیستم عامل ها

دمو :
https://ws.csspro.ir/
مخزن :
https://github.com/saeed-m/WebSiteStatistics

@IranAspMvc
از چه تکنولوژی هایی در پروژه ی بعدی خود استفاده کنیم؟؟

هر روز یک فریم ورک جدید، یک تکنولوژی جدید، یک تحول عظیم.... کدام را یاد بگیریم؟ دات نت یا دات نت کور؟ انگیولار یا ری اکت؟ دیزاین پترن ها چطور؟

تصمیم گیری همیشه از سخت ترین کارهاست، مخصوصا وقتی گزینه های موجود و مشابه، سر به فلک می گذارد! اگر برای انتخاب و آغاز یادگیریِ یک تکنولوژی، دلایلِ کافی و روشن وجود نداشته باشد، در نهایت ممکن است با اتلاف زمان و هزینه ی زیاد به نتیجه ی مطلوب منجر نشود و شما را در ادامه ی راه سرد و بی انگیزه و مجبور به انصراف از ادامه ی مسیر نماید. بنابراین بهتر است این انتخاب با دقت بیشتری صورت پذیرد. انتخاب یک تکنولوژی با در نظر گرفتن فاکتورهایی مانند داشتن زمینه ی قبلی در آن تکنولوژی یا تکنولوژی های مشابه، میزان منابع و رفرنس های موجود و در دسترس برای تسهیل در امر یادگیری و کمک گرفتن از آنها در صورت نیاز و ... همه میتواند در این انتخاب موثر باشد. مقاله ی زیر رعایت چند گام را برای رقم زدن یک انتخاب صحیح، توصیه می کند:

https://jonhilton.net/2016/11/24/not-sure-what-to-learn-next/

@IranAspMvc