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
#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
👉 https://pro.boombotix.com/

برنده طراحی ظاهری از سایت AWWWards.com
سایتی با طراحی بسیار زیبا ، حرفه ای و مدرن
پیشنهاد میکنم ببینین

@IranAspMvc
AWWWards.com

وبسایتی برای رای گیری و انتخاب بهترین وبسایت های روز دنیا از لحاظ Design
برنده هاش واقعا طراحی فوق العاده ای دارند. واسه ایده گرفتن عالیه

@IranAspMvc
Visual Studio Code Version 1.0 Released
https://code.visualstudio.com/images/2016_04_14_header.png

2M installs. This free and open-source text editor runs on any platform and is optimized for building and debugging modern web and cloud applications.

https://code.visualstudio.com/blogs/2016/04/14/vscode-1.0

@IranAspMvc
#CORS, #CrossOrigin, #AspMvc, #WebApi
https://goo.gl/kqnK6l
بررسی مفهوم Cross-Origin Resource Sharing یا CORS

مثلا فرض کنید وب سرویسی نوشته اید که بر اساس Request (درخواست) وارده، اطلاعاتی را در پاسخ بر میگرداند.
حال در سایت خودتان(مثلا site1.com) از این وب سرویس استفاده میکنید و اشکالی هم ندارد. مشکل آنجاست که سایت رقیب (مثلا site2.com) نیز میتواند بدون اجازه وبسرویس شما را در سایت خود استفاده کند.

اینجاست که CORS به کمک ما می آید.
این یک قرارداد پذیرفته شده از طرف کنسرسیوم جهانی وب (W3C) می باشد که امکان استفاده از منابع سایتتان را فقط در مرز های دامین خودتان فراهم میکند. یعنی سایت های دیگر نمیتوانند منابع شما(ادرس های سایت شما- تصاویر و فایل های استاتیک و...) را در سایت خود استفاده کنند. زیرا دامین انها با دامین سایت شما متفاوت است.

در این حالت اگر درخواستی از طرف یک دامین دیگر به وبسرویس مان زده شود. وب سرویس کارش را به درستی انجام میدهد و Response (پاسخ مربوطه) را به مرورگر باز میگرداند. ولی مرورگر خطا می دهد و (Response - پاسخ برگشتی) را به شخص نشان نمیدهد.
پس این خطا صرفا در سمت مرورگر اتفاق میافتد و نه در سمت سرور ما (وب سرویس ما)

و اما چگونه جلوی درخواست های وارده از دامین های دیگر را بگیریم؟!
عملا سایت ما نمیفهمد که Request وارده از طرف دامین خودمان(site1.com) است یا دامین های دیگر، ولی میتواند مشخص کند که منابع من باید فقط در دامین خودم (site1.com) مورد استفاده قرار گیرد و نه در دامین های دیگر

چگونه؟
اگر Header یک Response (پاسخ برگشتی) از سمت سرور شامل مقدار زیر باشد
Access-Control-Allow-Origin: https://www.site1.com
یعنی این پاسخ فقط میتواند در دامین site1.com مورد استفاده قرار گیرد و در غیر این صورت یعنی از طرف دامین غیر مجازی درخواست شده. پس مرورگر جلوی آنرا خواهد گرفت و خروجی را نمایش نمیدهد.
ولی اگر header یک response شامل مقدار زیر باشد
Access-Control-Allow-Origin: *
یعنی این پاسخ در همه دامین ها مجاز بوده و میتواند نمایش داده شود (حتی اگر دامین شخص بنده نباشد)

و اما قوانین دیگری را نیز توسط CORS میتواند برای مرورگر ها مشخص کرد. از جمله:
چه نوع درخواست هایی مجاز است ؟ get یا post و یا ...
چه مقادیری در header درخواست مجاز است؟
و.... که لیست کامل به همراه اطلاعات بیشتر را میتوانید در آدرس زیر مشاهده کنید
https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

ا WebApi به صورت پیشفرض امکان استفاده از Api ها از طرف دامین های دیگر را نمیدهد و این موضوع میتواند بعضی مواقع برای خودمان نیز دردسر ساز شود.
و اما برای رفع این مشکل باید سرویس دهنده(وب سرویس) توی response ایی که به مرورگر میفرستد
مقداری را داخل header هایش قرار دهد که مشخص میکند " ای مرورگر گیر نده، اشکالی نداره از دامین های دیگه به من درخواست بزنن"
برای اعمال این موضوع در سطح یک Action یا همان Api میتوانیم کد زیر را در بدنه تابع بنویسیم.
Response.AppendHeader("Access-Control-Allow-Origin", "*");
و یا برای اعمال این موضوع در سطح Controller (که در نتیجه روی تمام اکشن های داخل آن نیز اعمال میشود) باید به صورت زیر عمل کنیم.
[EnableCors(origins: "https://example.com", headers: "*", methods: "*")]
public class TestController : ApiController
{
}
و یا برای اعمال در سطح کل سیستم (تمام Controller ها و Action ها) باید در کلاس Configuration داخل متد Register کد زیر را وارد کنیم.
public static void Register(HttpConfiguration config)
{
config.EnableCors();
}
و یا میتوانید در فایل Web.Config تگ های زیر را وارد کنید
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type"/>
</customHeaders>
</httpProtocol>
</system.webServer>


جهت اطلاعات بیشتر میتوانید به سایت enable-cors.org مراجعه کنید و یا مثال مختص Asp.Net آن را در آدرس زیر ببینید
https://enable-cors.org/server_aspnet.html
*مثال و آموزش رسمی سایت Asp.Net
https://goo.gl/E5y6pa
*این هم یک روش جالب دیگه که با استفاده از Action Filter ها انجام داده
https://goo.gl/qqXb0y
*اینم جالب کار کرده
https://goo.gl/QWbCT6

@IranAspMvc
Forwarded from Software Philosophy
پلتفرم Xamarin بالاخره Open Source شد. این پلتفرم به عنوان یکی از بهترین پلتفرم‌های توسعه نرم‌افزارهای موبایل به صورت Cross Platform شناخته می‌شود. یکی از مهمترین مشکلاتی که این پلتفرم داشت، قیمت بالای آن یعنی حدود ۲۰۰۰ دلار به ازای هر برنامه‌نویس=پلتفرم بود. یعنی اگر شما می‌خواستید با یک برنامه نویس برنامه‌ای برای سه پلتفرم Android, iOS, Win تولید کنید باید ۶۰۰۰ دلار بابت این پلتفرم خرج می‌کردید. خبری که مدتی پیش منتشر شد این بود که مایکروسافت این شرکت را خریده و آن را رایگان کرده است! خبر جدید این است که نه تنها رایگان شده‌است بلکه از این به بعد این پروژه Open Source نیز شده‌است. از طریق لینک زیر می‌توایند جزئیات بیشتری در این مورد بخوانید.

https://open.xamarin.com/

#مهران_داودی
لینکدین:
https://ir.linkedin.com/in/mehrandvd

کانال تلگرام:
@SoftwarePhilisophy



___
#ErrorHandling, #ErrorLogging, #AspMvc
6 روش مدیریت و ثبت خطا Exception ها در AspNet Mvc 5
https://goo.gl/KjldOv

همونطور که میدونین چرخه یک Request وارده در Asp به صورت زیر است
ابتدا وارد IIS میشود
سپس وارد فریمورک Asp.Net میشود
و در آخر وارد مکانیزم Mvc میشود
لینک زیر 6 روش مدیریت و ثبت خطا Exception ها رو در هر کدوم از مراحل بالا آموزش داده و مثال زده
https://dusted.codes/demystifying-aspnet-mvc-5-error-pages-and-error-logging

1- HandleErrorAttribute
2- Controller.OnException Method
3- Application_Error event
4- customErrors element in web.config
5- httpErrors element in web.config
6- Custom HttpModule

بهتره که مفهوم و طرز کار رو از لینک بالا یاد بگیرید ولی برای مدیریت خطا ها از ابزاری به نام Elmah استفاده کنین که یکی از بهترین و قویترین Error Logger های مخصوص Asp.Net هست و انشالا در آینده یه پست مفصل در موردش توی کانال خواهیم گذاشت

باتشکر از دوست خوبمون @daeeMehran به خاطر اشتراک این مطلب مفیدشون
@IranAspMvc

در تصویر زیر چرخه ی مدیریت خطا ها رو در Asp.Net مشاهده میکنید
#vCard, #Material

طراحی زیبای کارت ویزیت تحت وب به صورت Material

https://codepen.io/ariona/full/JYGzBB/

@IranAspMvc
#Regex, #Mobile
بهترین و کاملترین Regular Expression برای اعتبارسنجی شماره موبایل در ایران

https://gist.github.com/AliMD/6439187
پشتیبانی از موارد زیر
912 123 4567
912 1234 567
912-123-4567
912 (123) 4567
9 1 2 1 2 3 4 5 6 7
9 -1 (2 12))3 45-6 7
and all with +98 or 0
+989121234567
09121234567
9121234567
or even persian numbers +۹۸ (۹۱۵) ۸۰ ۸۰ ۸۸۸
and only detect true iranian operator numbers 091x 092x 093x 094x

برای تست آنلاین اون هم میتونین به لینک زیر مراجعه کنین
https://www.regexpal.com/?fam=94782

@IranAspMvc