#Resharper #Utiltiy #Jetbrains
امکانات و ویژگیهای ابزار JetBrains Resharper :
- توسعه و بهینهکردن قابلیت تکمیل خودکار در ویژوال استودیو
- تجزیه و تحلیل کیفیت کدها و مرتبکردن، تمیزکردن و بهینهنمودن آنها
- راهاندازی و آزمایش کدها و خطایابی و رفع عیب خودکار و پیشرفتهی آنها
- بهینهسازی Referenceها و حذف موارد اضافی آنها
- اعلام نیاز Reference های لازم و افزودن به پروژه
- تبدیل حلقه های foreach یا for به عبارات Linq
- بیلد خودکار پروژه و گرفتن Error ها و Exception ها در لحظه
- مسیریابی و جستجوی پیشرفته و دقیق فایل ها
- مطابقت کامل با استانداردهای روز برنامهنویسی
- وجود انواع قالبها و امکان سفارشیسازی، پیکربندی و بهاشتراکگذاشتن آنها
- دارای ابزارهای ویرایش XAML
- و ...
لینک دانلود آخرین نسخه
https://bit.ly/1FYNZTo
امکانات و ویژگیهای ابزار JetBrains Resharper :
- توسعه و بهینهکردن قابلیت تکمیل خودکار در ویژوال استودیو
- تجزیه و تحلیل کیفیت کدها و مرتبکردن، تمیزکردن و بهینهنمودن آنها
- راهاندازی و آزمایش کدها و خطایابی و رفع عیب خودکار و پیشرفتهی آنها
- بهینهسازی Referenceها و حذف موارد اضافی آنها
- اعلام نیاز Reference های لازم و افزودن به پروژه
- تبدیل حلقه های foreach یا for به عبارات Linq
- بیلد خودکار پروژه و گرفتن Error ها و Exception ها در لحظه
- مسیریابی و جستجوی پیشرفته و دقیق فایل ها
- مطابقت کامل با استانداردهای روز برنامهنویسی
- وجود انواع قالبها و امکان سفارشیسازی، پیکربندی و بهاشتراکگذاشتن آنها
- دارای ابزارهای ویرایش XAML
- و ...
لینک دانلود آخرین نسخه
https://bit.ly/1FYNZTo
#SEO #URL #Route #AspMvc
SEO (and user) Friendly URL in AspNet MVC
https://goo.gl/z4kBxb
https://goo.gl/Eb6ZJ2
https://goo.gl/4W7nXk
https://goo.gl/qua1Tj
SEO (and user) Friendly URL in AspNet MVC
https://goo.gl/z4kBxb
https://goo.gl/Eb6ZJ2
https://goo.gl/4W7nXk
https://goo.gl/qua1Tj
Stack Overflow
Asp.net MVC SEO Friendly URL
I want to implement a SEO friendly URL for my ASP.NET MVC website.
Currently i have a URL like:
https://www.domain.com/product?id=productid
but now i want to rewrite my URL like:
https://www.doma...
Currently i have a URL like:
https://www.domain.com/product?id=productid
but now i want to rewrite my URL like:
https://www.doma...
#API #DetectBrowser #UserAgent
سایتی برای تشخیص نوع و ورژن مرورگر و سیستم عامل کلاینت از طریق API
https://www.useragentstring.com/pages/api.php
سایتی برای تشخیص نوع و ورژن مرورگر و سیستم عامل کلاینت از طریق API
https://www.useragentstring.com/pages/api.php
Useragentstring
UserAgentString.com - API
Understand what information is contained in a user agent string. Get an analysis of your or any other user agent string. Find lists of user agent strings from browsers, crawlers, spiders, bots, validators and others..
#DetectMobile #DetectBrowser #UserAgent
سایتی برای تشخیص موبایل بودن یا نبودن کلاینت و هدایت به ادرس صحیح
https://detectmobilebrowsers.com/
سایتی برای تشخیص موبایل بودن یا نبودن کلاینت و هدایت به ادرس صحیح
https://detectmobilebrowsers.com/
Detectmobilebrowsers
Detect Mobile Browsers - Open source mobile phone detection
Open source scripts to detect mobile browsers and phones using Apache, JavaScript, PHP, ASP, ColdFusion, C#, .NET, Python, JSP and Rails.
#Performance #Analyse #PageSpeed #YSlow
سایتی برای سنجش performance و سرعت لود سایت به همراه پیشنهاد هایی برای بهبود سایت
gtmetrix.com
سایتی برای سنجش performance و سرعت لود سایت به همراه پیشنهاد هایی برای بهبود سایت
gtmetrix.com
#SEO #MetaTag
لیست تمامی متاتگ های مورد نیاز برای SEO :
============== مقاله / اخبار ==============
<title>عنوان صفحه ، حداکثر 60 تا 70 کارکتر باشد</title>
<meta name="description" content="شرح صفحه ، حداکثر 150 کارکتر باشد" />
<!— Schema.org markup for Google+ —>
<meta itemprop="name" content="نام یا عنوان صفحه">
<meta itemprop="description" content="شرح صفحه">
<meta itemprop="image" content="نشانی اینترنتی عکسی که در پیشنمایش نشان داده میشود">
<!— Twitter Card data —>
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="کپی رایت نام سایت">
<meta name="twitter:title" content="نام یا عنوان صفحه">
<meta name="twitter:description" content="شرح صفحه">
<meta name="twitter:creator" content="نویسنده">
<!— Picture size at least 280x150px —>عکس پیشنمایش با ابعاد حداقل
<meta name="twitter:image:src" content="نشانی اینترنتی عکس مطلب">
<!— Open Graph data —>
<meta property="og:title" content="عنوان صفحه" />
<meta property="og:type" content="article" />
<meta property="og:url" content="نشانی سایت" />
<meta property="og:image" content="نشانی عکس مطلب" />
<meta property="og:description" content="شرح مطلب" />
<meta property="og:site_name" content="نام سایت" />
<meta property="article:published_time" content="تاریخ انتشار" />
<meta property="article:modified_time" content="تاریخ بروزرسانی" />
<meta property="article:section" content="نام بخش محتوی متن مقاله" />
<meta property="article:tag" content="نام تگ محتوی متن مقاله" />
<meta property="fb:admins" content="شناسه عددی کاربری شما در فیسبوک" />
============== محصولات ==============
<title>عنوان صفحه</title>
<meta name="description" content="شرح صفحه" />
<!— Schema.org markup for Google+ —>
<meta itemprop="name" content="عنوان صفحه">
<meta itemprop="description" content="Tشرح صفحه">
<meta itemprop="image" content="نشانی عکس محصول یا کالا">
<!— Twitter Card data —>
<meta name="twitter:card" content="product">
<meta name="twitter:site" content="کپی رایت سایت">
<meta name="twitter:title" content="عنوان صفحه">
<meta name="twitter:description" content="شرح محصول یا کالا">
<meta name="twitter:creator" content="نویسنده">
<meta name="twitter:image" content="نشانی عکس محصول یا کالا">
<meta name="twitter:data1" content="قیمت محصول یا کالا">
<meta name="twitter:label1" content="Price">
<meta name="twitter:data2" content="رنگ کالا یا محصحول">
<meta name="twitter:label2" content="Color">
<!— Open Graph data —>
<meta property="og:title" content="عنوان صفحه" />
<meta property="og:type" content="article" />
<meta property="og:url" content="نشانی سایت" />
<meta property="og:image" content="عکس محصول یا کالا" />
<meta property="og:description" content="شرح مصحول" />
<meta property="og:site_name" content="نام سایت" />
<meta property="og:price:amount" content="قیمت محصول یا کالا" />
<meta property="og:price:currency" content="واحد ارزی قیمت" />
لیست تمامی متاتگ های مورد نیاز برای SEO :
============== مقاله / اخبار ==============
<title>عنوان صفحه ، حداکثر 60 تا 70 کارکتر باشد</title>
<meta name="description" content="شرح صفحه ، حداکثر 150 کارکتر باشد" />
<!— Schema.org markup for Google+ —>
<meta itemprop="name" content="نام یا عنوان صفحه">
<meta itemprop="description" content="شرح صفحه">
<meta itemprop="image" content="نشانی اینترنتی عکسی که در پیشنمایش نشان داده میشود">
<!— Twitter Card data —>
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="کپی رایت نام سایت">
<meta name="twitter:title" content="نام یا عنوان صفحه">
<meta name="twitter:description" content="شرح صفحه">
<meta name="twitter:creator" content="نویسنده">
<!— Picture size at least 280x150px —>عکس پیشنمایش با ابعاد حداقل
<meta name="twitter:image:src" content="نشانی اینترنتی عکس مطلب">
<!— Open Graph data —>
<meta property="og:title" content="عنوان صفحه" />
<meta property="og:type" content="article" />
<meta property="og:url" content="نشانی سایت" />
<meta property="og:image" content="نشانی عکس مطلب" />
<meta property="og:description" content="شرح مطلب" />
<meta property="og:site_name" content="نام سایت" />
<meta property="article:published_time" content="تاریخ انتشار" />
<meta property="article:modified_time" content="تاریخ بروزرسانی" />
<meta property="article:section" content="نام بخش محتوی متن مقاله" />
<meta property="article:tag" content="نام تگ محتوی متن مقاله" />
<meta property="fb:admins" content="شناسه عددی کاربری شما در فیسبوک" />
============== محصولات ==============
<title>عنوان صفحه</title>
<meta name="description" content="شرح صفحه" />
<!— Schema.org markup for Google+ —>
<meta itemprop="name" content="عنوان صفحه">
<meta itemprop="description" content="Tشرح صفحه">
<meta itemprop="image" content="نشانی عکس محصول یا کالا">
<!— Twitter Card data —>
<meta name="twitter:card" content="product">
<meta name="twitter:site" content="کپی رایت سایت">
<meta name="twitter:title" content="عنوان صفحه">
<meta name="twitter:description" content="شرح محصول یا کالا">
<meta name="twitter:creator" content="نویسنده">
<meta name="twitter:image" content="نشانی عکس محصول یا کالا">
<meta name="twitter:data1" content="قیمت محصول یا کالا">
<meta name="twitter:label1" content="Price">
<meta name="twitter:data2" content="رنگ کالا یا محصحول">
<meta name="twitter:label2" content="Color">
<!— Open Graph data —>
<meta property="og:title" content="عنوان صفحه" />
<meta property="og:type" content="article" />
<meta property="og:url" content="نشانی سایت" />
<meta property="og:image" content="عکس محصول یا کالا" />
<meta property="og:description" content="شرح مصحول" />
<meta property="og:site_name" content="نام سایت" />
<meta property="og:price:amount" content="قیمت محصول یا کالا" />
<meta property="og:price:currency" content="واحد ارزی قیمت" />
#Utility #ExtensionMethod
یک کلاس utiltiy به زبان سی شارپ که چندین متد کاربردی و مفید داره
از جمله :
Email سنجش صحت
Url سنجش صحت
Mobile سنجش صحت
Date - Time - DateTime سنجش صحت تاریخ و زمان
تاریخ شمسی
کدملی
سنجش پیچیدگی پسورد
سنجش پسوند فایل های تصویری
سنجش نوع عددی byte - int - decimal
نمایش تاریخ در انواع مختلف شمسی و ...
هش کردن به روش MD5
رمزنگاری و رمزگشایی
تبدیل اعداد انگلیسی به فارسی و بلعکس
تبدیل "ی" و "ک" عربی به فارسی
تبدیل عدد به متن فارسی
و...
یک کلاس utiltiy به زبان سی شارپ که چندین متد کاربردی و مفید داره
از جمله :
Email سنجش صحت
Url سنجش صحت
Mobile سنجش صحت
Date - Time - DateTime سنجش صحت تاریخ و زمان
تاریخ شمسی
کدملی
سنجش پیچیدگی پسورد
سنجش پسوند فایل های تصویری
سنجش نوع عددی byte - int - decimal
نمایش تاریخ در انواع مختلف شمسی و ...
هش کردن به روش MD5
رمزنگاری و رمزگشایی
تبدیل اعداد انگلیسی به فارسی و بلعکس
تبدیل "ی" و "ک" عربی به فارسی
تبدیل عدد به متن فارسی
و...
#Yeke #ModelBinder #EntityFramework
مشکل ی و ک فارسی و عربی در یک دیتابیس اس کیوال سرور
https://bit.ly/1dx7jL3
یکسان سازی "ی" و "ک" دریافتی در حین استفاده از Entity framework
https://bit.ly/1FOlkym
یکدست کردن "ی" و "ک" در ASP.NET MVC با پیادهسازی یک Model Binder
https://bit.ly/1J4MS3A
مشکل ی و ک فارسی و عربی در یک دیتابیس اس کیوال سرور
https://bit.ly/1dx7jL3
یکسان سازی "ی" و "ک" دریافتی در حین استفاده از Entity framework
https://bit.ly/1FOlkym
یکدست کردن "ی" و "ک" در ASP.NET MVC با پیادهسازی یک Model Binder
https://bit.ly/1J4MS3A
Forwarded from طراحی و توسعه وب
https://nikamooz.com/binary-data/
پادکست مربوط به ذخیره سازی فایل های باینری حجیم در دیتابیس ✅ البته با استفاده از امکانات filestream و filetable در sql server
از دست ندین... کتاب مرجع filestream و filetable رو هم آپلود میکنم خدمت دوستان عزیز 😊
پادکست مربوط به ذخیره سازی فایل های باینری حجیم در دیتابیس ✅ البته با استفاده از امکانات filestream و filetable در sql server
از دست ندین... کتاب مرجع filestream و filetable رو هم آپلود میکنم خدمت دوستان عزیز 😊
نیک آموز
رادیو نیک آموز: ذخیره داده های باینری در Database
همیشه یکی از بزرگترین چالش های برنامه نویسان نحوه ذخیره داده های باینری در بانک های اطلاعاتی بود، در این پادکست صوتی داده های باینری را بررسی خواهیم کرد.
Forwarded from طراحی و توسعه وب
آیا شما هم در هنگام شروع به کار با زبان جاوااسکریپت به عنوان یک زبان شی گرا ولی بدون وجود کلاس ها دچار سردرگمی شدید؟! آیا مباحث مربوط به شی گرایی در جاوااسکریپت برایتان نا ملموس هست؟
در این مقاله به یکی دیگر از امکانات جدید ES 6 که مربوط میشود به کلاس ها خواهیم پرداخت :https://www.dotnettips.info/post/2300/%da%a9%d9%84%d8%a7%d8%b3%e2%80%8c%d9%87%d8%a7-%d8%af%d8%b1-es-6
در این مقاله به یکی دیگر از امکانات جدید ES 6 که مربوط میشود به کلاس ها خواهیم پرداخت :https://www.dotnettips.info/post/2300/%da%a9%d9%84%d8%a7%d8%b3%e2%80%8c%d9%87%d8%a7-%d8%af%d8%b1-es-6
#Concurrency, #EntityFramework
حل مسائل همزمانی در EF
در حالت کلی دو روش برای حل مسائل همزمانی وجود دارد:
1. Pessimistic Concurrency (Locking)
2. Optimistic Concurrency
در روش اول از database lock استفاده میشود. مثلا برای خواندن یک رکورد از دیتابیس بسته به نیازتان درخواست دسترسی update یا read-only میدهید، که در این صورت اجازه ی lock کردن توسط سایر کاربران برای آن رکورد را میگیرید. اما این روش معایب زیادی دارد و برنامه نویسی را پیچیده میکند و به منابع مدیریتی قوی دیتابیس احتیاج دارد و EF هم به صورت توکار آن را پشتیبانی نمیکند.
اما روش دوم به این معناست که اجازه ی دسترسی همزمان به کاربران را میدهد، ولی اگر این اتفاق بیفتد، عکس العمل مناسب را نشان خواهید داد. مثلا فرض کنید کاربر الف صفحه ی ویرایش را باز میکند و فیلد مورد نظرش را تغییر میدهد، حال قبل از اینکه تغییراتش را ذخیره کند، کاربر ب هم همان صفحه را باز میکند، در ادامه کاربر الف کارش تمام میشود و دکمه ی سیو را میزند و تغییرات در دیتابیس مینشیند، اما به محض ثبت تغییرات از طرف کاربر ب با exception مواجه میشود که این صفحه قبلا ویرایش شده است، در این حالت میشود تعیین کرد که اصلا اجازه ذخیره سازی نداد و یا اینکه با تایید خود کاربر، تغییرات جدید روی قبلی بنشیند و یا اینکه با یک سری روش های پیچیده فهمید کدام فیلدها را کاربر الف ویرایش کرده و اگر مشترک نبود، اجازه ی ذخیره بدهد. اما چیزی که مهم است این است که ما میتوانیم این نوع conflict را با استفاده از EF هندل کنیم، یعنی EF یک اکسپشن از نوع OptimisticConcurrencyException را throw میکند که بعد از آن ما میتوانیم تصمیمان را بگیریم چکار کنیم. برای این منظور هم باید یک سری تنظیمات را روی دیتابیس و مدلمان انجام دهیم، مانند اضافه کردن ستونی از نوع rowversion که هر زمان آپدیت صورت بگیرد، این مقدار به روزرسانی میشود.
تنظیمات دقیق EF را میتوانید از بخش ConcurrencyCheck و Timestamp از لینک زیر مطالعه نمایید:
https://www.dotnettips.info/Post/833/EF-Code-First-3
حل مسائل همزمانی در EF
در حالت کلی دو روش برای حل مسائل همزمانی وجود دارد:
1. Pessimistic Concurrency (Locking)
2. Optimistic Concurrency
در روش اول از database lock استفاده میشود. مثلا برای خواندن یک رکورد از دیتابیس بسته به نیازتان درخواست دسترسی update یا read-only میدهید، که در این صورت اجازه ی lock کردن توسط سایر کاربران برای آن رکورد را میگیرید. اما این روش معایب زیادی دارد و برنامه نویسی را پیچیده میکند و به منابع مدیریتی قوی دیتابیس احتیاج دارد و EF هم به صورت توکار آن را پشتیبانی نمیکند.
اما روش دوم به این معناست که اجازه ی دسترسی همزمان به کاربران را میدهد، ولی اگر این اتفاق بیفتد، عکس العمل مناسب را نشان خواهید داد. مثلا فرض کنید کاربر الف صفحه ی ویرایش را باز میکند و فیلد مورد نظرش را تغییر میدهد، حال قبل از اینکه تغییراتش را ذخیره کند، کاربر ب هم همان صفحه را باز میکند، در ادامه کاربر الف کارش تمام میشود و دکمه ی سیو را میزند و تغییرات در دیتابیس مینشیند، اما به محض ثبت تغییرات از طرف کاربر ب با exception مواجه میشود که این صفحه قبلا ویرایش شده است، در این حالت میشود تعیین کرد که اصلا اجازه ذخیره سازی نداد و یا اینکه با تایید خود کاربر، تغییرات جدید روی قبلی بنشیند و یا اینکه با یک سری روش های پیچیده فهمید کدام فیلدها را کاربر الف ویرایش کرده و اگر مشترک نبود، اجازه ی ذخیره بدهد. اما چیزی که مهم است این است که ما میتوانیم این نوع conflict را با استفاده از EF هندل کنیم، یعنی EF یک اکسپشن از نوع OptimisticConcurrencyException را throw میکند که بعد از آن ما میتوانیم تصمیمان را بگیریم چکار کنیم. برای این منظور هم باید یک سری تنظیمات را روی دیتابیس و مدلمان انجام دهیم، مانند اضافه کردن ستونی از نوع rowversion که هر زمان آپدیت صورت بگیرد، این مقدار به روزرسانی میشود.
تنظیمات دقیق EF را میتوانید از بخش ConcurrencyCheck و Timestamp از لینک زیر مطالعه نمایید:
https://www.dotnettips.info/Post/833/EF-Code-First-3