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

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

لینک گروه ASPNET Core:
https://t.iss.one/+ufG25x7lVFgyYTNk
Download Telegram
#Bootstrap, #Popover, #Plugin

نمایش Ajax ای یک Partial View در Popover بوت استرپ 3

https://goo.gl/vPS6qo

#IranAspMvc
#SEO

یک سایت خوب برای آنالیز سایت شما از لحاظ SEO

https://seolisa.ir/

@IranAspMvc
#EntityFramework #Performance #SpeedUp
راه های افزایش سرعت و پرفرمنس Entity Framework
—------------------------------
این باعث میشه که ChangeTracker غیر فعال بشه و برای مواقع Select نمایشی به درد میخوره.
db.Configuration.AutoDetectChangesEnabled = false;
—------------------------------
این درستور هم اخر کوئری هاتون میتونین بنویسید. کار همین بالایی رو انجام میده
db.Users.Select(p => p).AsNoTracking();
—------------------------------
این درستور Validation اعتبارسنجی توکار EF رو غیر فعال میکنه. زمانی از این استفاده کنین که از صحت اطلاعاتتون مطمئن هستید.
db.Configuration.ValidateOnSaveEnabled = false;
—------------------------------
استفاه از Skip و Take جهت صفحه بندی هم باید حواستون باشه
—------------------------------
دونستن فرق بین IQueryable و IEnumerable و اینکه چگونه ازشون استفاده کنیم هم خیلی مهمه (نکته : تمامی فیلتر های where رو قبل از .ToList انجام بدید)
https://www.dotnettips.info/Post/473
—------------------------------
فقط فیلد هایی که نیاز دارین رو توی Select بیارین نه همه فیلد ها
db.Users.Select(p => new { p.Id, p.Username, p.Fullname });
—------------------------------
از چندین dbContext استفاده نکنیم. از الگوی One Context Per Request استفاده کنیم.
—------------------------------
استفاده به جا از Eager loading و Lazy loading هم خیلی مهمه
https://www.dotnettips.info/post/840
—------------------------------
در تراکنش های بالا هر از چندگاهی Context مون رو Dispose کنیم و یا Context جدید ایجاد کنیم. به دلیل ذخیره شدن تمام تراکنش ها در حافظه در تراکنش های بالا با مشکل کمبود حافظه و کندی سرعت مواجه میشوید
—------------------------------
برای افزودن تعداد رکور بالا به صورت همزمان بهتره از BulkInsert استفاده کنین
چندین پلاگین برای اینکار وجود داره. از جمله :
EntityFramework.BulkInsert
EntityFramework.Extended
EntityFramework.Utilities
که بهترین اون ها EntityFramework.BulkInsert هست
https://goo.gl/hXxLvI
—------------------------------

منابع :
https://goo.gl/QW2CBW
https://goo.gl/1ACSwA
https://goo.gl/15ArJO

@IranAspMvc
#MaterialDesign, #جالب

نمونه صفحه 404 با طراحی متریال Material

https://codepen.io/rennan/pen/ACBKu

@IranAspMvc
#XSS, #Security
مقابله با حملات XSS در AspNet (یک بار برای همیشه)
https://www.acunetix.com/wp-content/uploads/2013/08/Diagram-Describing-Blind-XSS-Attack.gif

حملات XSS که مخفف Cross Site Scripting هست به معنی تزریق اسکریپت غیر مجاز توسط هکر توی صفحه ای که توسط دیگران دیده میشه
حالا این حمله کی اتفاق می افته؟ مثلا وقتی هکر بتونه توی قسمت ثبت نظرات مقداری کد جاواسکریپتی یا ... تزریق کنه که مثلا کار این کد کرش کردن صفحه یا دزدین کوکی های کاربر هست.
حالا هر کاربری که بیاد و نظرات روببینه، کد های تزریق شده توسط هکر روی مرورگر اون کاربر اجرا میشه و به ... میره
خود AspNet به صورت پیشفرض جلوی هرگونه تزریق رو توی input های صفحه میگیره.
ولی از طرفی وقتی یک text editor مثل ckeditor یا tiny mce میگذاریم توی صفحه برای ارسال نظر، واسه اینکه امکان ارسال تگ های html باشه باید خاصیت AllowHtml روبه Property مورد نظر بدین یا خاصیت ValidateInput اون Action رو برابر false قرار بدین
در این صورت در ارسال تگ های html و script از سمت کاربر به سرور هیچ محدودیتی اعمال نمیشه.
خب بعضی جا ها خوبه مثلا موقع ثبت نظر باید بتونه تگ های html وارد بشه ولی فقط بعضی از تگها مثل <b> ، <i> ، <br/> و .. (ولی تگ هایی مثل style - script و یا iframe نباید مجاز باشه)
برای حل این مشکل ماکرسافت کتابخانه سورس بازی رو ارائه کرده که در آدرس زیر می بینید
https://wpl.codeplex.com/
با استفاده از این library میتونین تگ های html و script ها رو حذف کنین. و یا یک سری تگ ها رو مجاز و بقیه تگ ها رو غیر مجاز اعلام کنین.
و برای اینکه خیال خودتون رو از این حمله راحت کنین بهتره این آموزش رو هم مطالعه کنین
https://goo.gl/bI7K17

@IranAspMvc
#SEO, #MetaTag

مثال کامل استفاده از MetaTag های "og" ا (open graph protocol) جهت افزایش SEO سایت

https://github.com/niallkennedy/open-graph-protocol-examples

@IranAspMvc
#EntityFramework, #Repostiry, #UnitOfWork

فایده الگوی Repository (مخزن) جدا سازی لایه ی منطق (Bl) توی پروژه است. یعنی اینکه منطق پروژتون وابسته به ORM یا روش خاصی نیست و توی ریپوسیتوری میتونین اون رو تغییر بدین و توی کل پروژه هم تاثیری نگذاره
فایده الگوی UnitOfWork (واحد کار) جدا سازی Context پروژه است. یعنی ایکه دیگه مثلا حتما الزامی به استفاده از dbContext EF توی پروژه نیست و هروقت خواستین میتونین context رو توی IUnitOfWork عوض کنین و توی پروژه هم تاثیری نگذاره
این که توی پروژه ای که EF استفاده میکنیم، الگوی Repistory یا UnitOfWork رو استفاده بکنیم یا نه. همیشه بین علما اختلاف نظر بوده و هست. و البته بیشتر بر میگرده به نیاز های سیستم تون در آینده...
اینم بگم که عدم استفاده از repostiry و unitofwork در EF (باز هم با توجه به اختلاف نظر علما) اشکالی نداره
اطلاعات بیشتر
https://www.thereformedprogrammer.net/is-the-repository-pattern-useful-with-entity-framework/

@IranAspMvc
#Alert, #Plugin, #jQuery

پلاگین زیبا جهت نمایش پیام

https://craftpip.github.io/jquery-confirm/

@IranAspMvc
#ClockPicker, #TimePicker, #Plugin,

پلاگین زیبا برای انتخاب زمان با تم Bootstrap

https://weareoutman.github.io/clockpicker/

@IranAspMvc
با تمام شدن روز ۲۹ اسفند و شروع نشدن ۱ فرودین
ما الان تو نسخه beta سال ۹۵ قرار داریم
و ساعت ۸ صبح میریم واسه release نهایی 😉
Forwarded from Mohammad Ebrahimi
امیدوارم در سال نو همیشه لبخند بر لبانتون باشه 😊و هیجان موفقیت در دلتون 😃
🌹 سال نو مبارک 🌹
#NodeJs
توسعه اپلیکیشن‌های Node.js در ویژوال استودیو
https://pbs.twimg.com/media/CagZuecUAAAwj3z.png

یک پلت‌فرم جاوا اسکریپتی سمت سرور است که جهت ساخت اپلیکیشن‌های مقیاس‌پذیر تحت شبکه استفاده می شود.
ا Node.js در پشت صحنه از موتور ران‌تایم V8 (موتور پردازش جاواسکریپت مرورگر کروم) استفاده می‌کند
ا Node.js به سرعت معروف است و از کاربرد های آن می توان به توسعه اپلیکیشن های بلادرنگ (Realtime مثلا برای چت) اشاره کرد.
در مقاله زیر مثالی از کار با NodeJs در VisualStadio را خواهید دید.
https://goo.gl/VnjZQg

@IranAspMvc
#Linq, #EntityFramework , #SqlServer
افزونه ای برای LinqPad جهت مشاهده Execution Plan کوئری های Linq
https://www.aboutmycode.com/wp-content/uploads/2016/03/Query-Plan.png

LINQPad.QueryPlanVisualizer
SQL Server query execution plan visualizer for LINQPad.

قابلیت ها:
* View query execution plan
* View missing indexes for query
* Create missing indexes
* Open plan in SQL Server Management Studio or other default app
* Save plan to xml file

https://goo.gl/x9dfEx
https://github.com/Giorgi/LINQPad.QueryPlanVisualizer
https://www.linqpad.net/

@IranAspMvc
#Phalanger, #PhpCompiler, #Php
https://docs.google.com/uc?authuser=0&id=0B0EhCmFhZGlWd0VxNGtTNUU2RUk

اجرای کد های PHP در .Net توسط موش خرمای جهنده ! (Phalanger)
پروژه ی Phalanger (موش خرمای جهنده) - بخوانید فلانجر - پروژه سورس بازی است که امکان Compile و اجرای کد های PHP را در دات نت فراهم میکند.
در نتیجه بزرگترین سودی که به توسعه دهندگان AspNet میرساند، توانایی استفاده همزمان از زبان محبوب و راحت Php در کنار فریمورک قدرتمند .Net می باشد.
بدین صورت علاوه بر هاست کردن کد های Php بر روی IIS میتوانید از کتابخانه های موفق و قدرتمندی که برای Php نوشته شده است، در وبسایت خود استفاده کنید.

دیگر قابلیت ها:
افزایش Performance کد های Php به دلیل Compile کردن (https://goo.gl/Qk08B0)
امکان استفاده و اجرای کتابخانه های نوشته شده توسط دات نت در Php
سایت :
https://www.php-compiler.net/
مخزن پروژه :
https://github.com/DEVSENSE/Phalanger
اطلاعات بیشتر :
https://phalanger.codeplex.com/
https://en.wikipedia.org/wiki/Phalanger_(compiler)
https://wiki.php-compiler.net/Phalanger_Wiki

آموزش شروع کار با Phalanger در دات نت
https://www.codeproject.com/Articles/17311/Phalanger-PHP-for-NET-Introduction-for-NET-develop
نمونه استفاده موفق از یک پلاگین Php در AspNet Mvc
https://www.codeproject.com/Tips/1004596/Using-Responsive-File-Manager-in-ASP-NET-MVC

افزونه PHP Tools for Visual Studio
این افزونه ویژوال استادیو را به ویرایشگر قدرتمندی برای زبان محبوب Php تبدیل میکند که در سایت devsense.com میتوانید امکانات و توضیحات کامل آن را ببینید. و از مهمترین امکانات آن میتوان به موارد زیر اشاره کرد.
Syntax Highlighting
AutoComplete & IntelliSense
Shows embedded documentation
Debugging (with Breakpoint)
این افزونه غیر رایگان بوده و در آدرس زیر قابل دسترس است
https://visualstudiogallery.msdn.microsoft.com/6eb51f05-ef01-4513-ac83-4c5f50c95fb5

افزونه Phalanger & Tools for Visual Studio
این افزونه علاوه بر تمامی امکانات افزونه قبلی، امکانات Phalanger را نیز داراست بنابراین، امکان Compile و اجرای کد های Php را در کنار کد های دات نت فراهم میسازد.
این افزونه غیر رایگان بوده و در آدرس زیر قابل دسترس است
https://visualstudiogallery.msdn.microsoft.com/419916fb-ec89-4f18-ba97-75cf66037797

@IranAspMvc
#AspMvc, #Validation
https://www.jqwidgets.com/wp-content/uploads/2012/03/jquery-validation-plugin.png
سفارشی سازی سیستم اعتبار سنجی سمت کلاینت در Asp Mvc

ام وی سی به صورت پیشفرض از پلاگین jquery validation استفاده میکنه به همراه unobtrusive
حال اینکه میشه پیشفرض های اعتبار سنجی پلاگین jquery validation رو تغییر داد و سفارشی سازی کرد.
مثلا فرض کنید از پلاگینی استفاده کرده اید که در هنگام تایپ، فیلد مبلغ را به صورت سه رقتم سه قم با کاما جدا میکند. در این صورت اگر از Range Attribute روی فیلد قیمت استفاده کنید با مشکل اعتبارسنجی روبرو خواهید شد. زیرا بدلیل وجود "،" (کاما) در میان ارقام، آن را به عنوان مقدار معتبری برای فیلد قیمت(عددی) حساب نمیکند.
راه حل:
توی این لینک هم که گفته چطور میتونین پیشفرض اعتبار سنجی عددی رو طوری سفارشی سازی کنین که کاما "," رو در نظر نگیره
https://blog.rebuildall.net/2011/03/02/jquery_validate_and_the_comma_decimal_separator

لینک های زیر مثال های خوبی از سفارشی سازی پیشفرض های jquery validation هست که برای اشنایی خوبه.

اعمال کلاس‌های ویژه اعتبارسنجی Twitter bootstrap به فرم‌های ASP.NET MVC
https://www.dotnettips.info/post/1370/
نمایش خطاهای اعتبارسنجی سمت کاربر ASP.NET MVC به شکل Tooltip به کمک Twitter bootstrap
https://www.dotnettips.info/post/1391/
نمایش خطاهای اعتبارسنجی سمت کاربر ASP.NET MVC به شکل Popover به کمک Twitter bootstrap
https://www.dotnettips.info/post/1394/
سازگارسازی کلاس‌های اعتبارسنجی Twitter Bootstrap 3 با فرم‌های ASP.NET MVC
https://www.dotnettips.info/post/1855/
یکپارچه سازی سیستم اعتبارسنجی ASP.NET MVC با Kendo UI validator
https://www.dotnettips.info/post/1916/

@IranAspMvc
چه زبانی رو انتخاب کنم؟!
آماری نسبتا معتبر در مورد زبان های برنامه نویسی
مقایسه محبوبیتشون-درآمدشون-وکاربردشون(البته این آمارمخصوص خارجه و خیلی برای ایران صدق نمیکنه)
https://goo.gl/ejJ457
@IranAspMvc