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
Forwarded from طراحی و توسعه وب
https://www.dotnettips.info/post/2457/api-versioning

در این مقاله با روش‌های مختلف ورژن بندی API آشنا خواهید شد.
سه روش اصلی زیر را میتوان برای این منظور در نظر گرفت:
‌‏ URI-based versioning
‌‏ Header-based versioning
‌‏ Media type-based versioning

نویسنده: غلامرضا ربال

مخزن کدها: https://github.com/rabbal/ApiVersioningStrategies

#API #WebAPI
@Webly
NodeJs Tools for Visual Studio
#NodeJs , #VisualStadio, #Tools
https://blog.systemsltd.com/sites/default/files/node.js_.jpg

توسعه NodeJs با قوی ترین IDE دنیا یعنی VisualStadio
نود جی اس کار های عزیز میتونن با استفاده از Extention زیر، پروژه های خودشون رو در ویژوال استادیو توسعه بدن و از قابلیت های بی نظیر این IDE استفاده کنند

1- انواع Template های آماده برای NodeJs
2- قابلیت IntelliSense و AutoComplete در NodeJs
3- یکپارچگی با npm و مدیریت پکیچ های node
4- امکان Debugging و خطا یابی پیشرفته
5- آنالیز و Profiling پرفرمنس و مدت زمان اجرای کد ها
6- امکان نوشتن و اجرای Unit Testing توسط انواع فریمورک های تست
7- هماهنگی و پشتیبانی کامل از TypeScript و build آن
8- مدیریت کد ها از طریق Git/TFS Soruce Control
9- یکپارچگی با سیستم های Cloud و Deploy آسان
10- پشتیبانی و هماهنگی کامل از Task Runner های Gulp و Grunt

اطلاعات بیشتر :
https://www.visualstudio.com/features/node-js-vs

برای استفاده از اون کافیه که اولا ویژوال استادیو رو نصب داشته باشین
دوما ابزار NodeJs Tools For VS (NTVS) رو متناسب با ورژن ویژوال استادیوتون دانلود و نصب کنید

لینک دانلود :
Node.js Tools 1.2 RC for Visual Studio 2015
https://visualstudiogallery.msdn.microsoft.com/68faf8ac-b953-42f5-a908-55555deccf7a
Node.js Tools 1.1 for Visual Studio 2013
https://visualstudiogallery.msdn.microsoft.com/b0da18c5-24da-4fe2-9fe4-8c5525971f48
Node.js Tools 1.1 for Visual Studio 2012
https://visualstudiogallery.msdn.microsoft.com/8c0b0c19-cd35-4287-80f2-eb6b84597509

لینک پروژه در Github :
https://github.com/Microsoft/nodejstools
آموزش استفاده از NTVS :
https://github.com/Microsoft/nodejstools/wiki
https://channel9.msdn.com/events/Visual-Studio/Connect-event-2015/801

@IranAspMvc
Converter.cs
10.4 KB
#Utility, #Class

کلاس بالا دارای امکانات زیر است

سریالایز و دیسریالایز کردن اشیا به 3 روش
تبدیل انواع زیر به یکدیگر
Image <> Byte[] <> Base64String
Object <> Byte[] <> Base64String

@IranAspMvc
فایل PDF آموزش EntityFramework 7 (Core) l

https://readthedocs.com/projects/aspnet-ef/downloads/pdf/latest/

@IranAspMvc
#جالب

کاراکتر محترک برنامه نویس با Css3 (مناسب برای صفحات در حال ساخت)

https://codepen.io/WithAnEs/pen/Fxzei

@IranAspMvc
#SPA, #Angular
https://goo.gl/YUtihj
نسل بعدی SPA Framework ها؛ #Aurelia

چندیست که فریمورک جدیدی به نام Aurelia در بین برنامه نویسان وب سر و صدایی به پا کرده و خود را "نسل بعدی" SPA Framework ها می خواند.
ا Aurelia فریمورک جدید جاواسکریپتی برای ساخت برنامه های SPA (Single Page Application) هست که ساختار آن بسیار شبیه به AngularJs 2 می باشد
جالب اینجاست که این فریمورک توسط Rob Eisenberg، یکی از توسعه دهندگان سابق AngularJs 2 که به عنوان یک Framework Developer با تجربه شناخته می شود، ساخته شده است
از مزایای این فریمورک می توان نام برد :
1- پشتیبانی از ES6
2- یک پارچگی کامل با TypeScript
3- سینتکس آسان تر و ساده تر نسبت به آنگولار
4- بدون وابستگی به کتابخانه های خارجی مثل jQuery (ولی قابل استفاده همراه با jQuery سازگار با دیگر کتابخانه های third-party)
5- قابلیت ماژولار و Pluggable بودن بالا

https://aurelia.io/
مخزن گیتاب :
https://github.com/aurelia/framework
آموزش Aurelia :
https://aurelia.io/hub.html#/doc/persona/developer
https://aurelia.io/hub.html#/doc/api/
دانلود آموزش Aurelia Fundamentals (Pluralsight)
https://goo.gl/CGdovw
دانلود آموزش Building Applications With Aurelia (Pluralsight)
https://goo.gl/1FvupC
بلاگ اخبار :
https://blog.durandal.io/

@IranAspMvc
Forwarded from برنامه نویسی حرفه ای
آشنایی با Design_Pattern
الگوی طراحی Strategy

برای برنامه نویسی حرفه‌ای و اصولی، آشنایی با Design Patternها الزامی است.
در این مطلب ابتدا به تاریخچه و تعریف Design Pattern و سپس به توضیح الگوی strategy پرداخته شده است.

نویسنده: عباس وثوقی

مطالب بیشتر در کانال «برنامه نویسی حرفه‌ای»
@pro_baiat
👇👇👇👇👇
Forwarded from برنامه نویسی حرفه ای
DesignPattern_StrategyPattern.pdf
149.4 KB
تولید #QrCode (بار کد های 2 بعدی) در دات نت
https://goo.gl/UglOnX

لینک دانلود سورس Sample هایی برای تولید QrCode در Asp.Net Webform & MVC 👇
https://telegram.me/IranAspMvc/220

چند نمونه از بهترین کامپوننت های تولید QrCode :

https://zxingnet.codeplex.com/
https://github.com/zxing/zxing
https://goo.gl/ttaYCF
—---------------—
https://github.com/codebude/QRCoder
https://goo.gl/KyHCXa
—---------------—
https://qrcodenet.codeplex.com/
https://freebarcode.codeplex.com/
—---------------—
https://www.codeproject.com/Articles/20574/Open-Source-QRCode-Library

@IranAspMvc
#ErrorLogger, #Elmah
https://elmah.github.io/img/homeshot.png

ثبت خطا های پروژه با Elmah
اگه از Error Logger Elmah توی پروژه هاتون استفاده نمیکنین ؟! که پیشنهاد می کنیم در اسرع وقت برین و خود کشی کنین. وسلام
توسط الماه براحتی میتونین تمام خطا های رخ داده توی سیتمتون رو ثبت کنین و ایمیل گزارشش رو هم برای برنامه نویس یا ادمین سیستم ارسال کنین.

منابع فارسی :
معرفی ELMAH
https://www.dotnettips.info/post/240/
ثبت استثناهای مدیریت شده توسط ELMAH
https://www.dotnettips.info/post/514/
نکاتی در مورد ELMAH
https://www.dotnettips.info/post/964/
اELMAH و حملات XSS
https://www.dotnettips.info/post/1228/
ثبت جزئیات استثناهای Entity framework توسط ELMAH
https://www.dotnettips.info/post/1951/

منابع انگلیسی :
شروع کار با Elmah
https://goo.gl/X268V8
https://goo.gl/YA24AO
https://goo.gl/aPahd1

ارسال ایمیل به هنگام خطا
https://goo.gl/fSC28S
https://goo.gl/2H2H7d
https://goo.gl/CHJ5zq

مباحث پیشرفته
https://goo.gl/5I0nb2
https://goo.gl/xcroKg
https://goo.gl/bDDeIU

@IranAspMvc
DotNetZoom
#ErrorLogger, #Elmah https://elmah.github.io/img/homeshot.png ثبت خطا های پروژه با Elmah اگه از Error Logger Elmah توی پروژه هاتون استفاده نمیکنین ؟! که پیشنهاد می کنیم در اسرع وقت برین و خود کشی کنین. وسلام توسط الماه براحتی میتونین تمام خطا های رخ داده…
#ErrorLogger, #Elmah
https://goo.gl/1YCSsT

ElmahR = ELMAH + SignalR (real time dashboard for error logger)

اگه از Error Logger Elmah توی پروژه هاتون استفاده نمیکنین ؟! که پیشنهاد می کنیم در اسرع وقت برین و خود کشی کنین. وسلام
اما اگه استفاده میکنین، بهتون پیشنهاد میکنم ElmahR رو هم تجربه کنین
پلاگین ElmahR در واقع ترکیب Elmah و SignalR هست که یه داشبورد مدیریتی بهتون میده که وقتی تو سیستم خط رخ بده، در لحظه نوتیفیکیشن اش براتون میاد
و یه آمار کلی به همراه نمودار از خطا های سیستم بهتون میده
و چندین قابلیت دیگه ....

https://bitbucket.org/wasp/elmahr/wiki/Home

https://channel9.msdn.com/Events/aspConf/aspConf/ElmahR-ELMAH-SignalR

https://www.codeproject.com/Articles/377394/ElmahR-equals-ELMAH-plus-SignalR-released

@IranAspMvc
#WebStoage, #WebSql, #IndexedDb, #Html5
https://goo.gl/u5J9en

تکنیک های ذخیره سازی اطلاعات در مرورگر کاربر

تا قابل از Html5 اپلیکیشن ها مجبور بودند اطلاعات سمت کاربرشون رو توی Cookie ذخیره کنند
که مشکلات خاص خودش رو داشت :
1- محدودیت در حجم ذخیره سازی
2- محدودیت در تعداد کوکی ها
3- امنیت بسیار پایین
4- فقط text قبول میکنه و نوع های complex type رو قبول نمیکنه که باید serialize اش میکردیم
5- مهمتر از همه اینکه به ازای هر درخواست به سرور ارسال میشد و بر میگشت که این ترافیک سایت رو زیاد میکرد

کنسرسیوم جهانی وب w3c برای رفع این مشکل و ذخیره اطلاعات در سمت مروگر تاکنون 3 تکنیک رو تعریف کرده

ا1⃣ - Web SQL
که همون طور که تو لینک زیر میبینین کمترین پشتیبانی رو توسط مرورگر ها داره
https://caniuse.com/#search=sql-storage
آموزش Web SQL:
https://goo.gl/bsmKrM

ا2⃣ - Indexed Database
که پشتیبانی بهتری توسط مرورگر ها داره ولی کامل نیست
https://caniuse.com/#search=indexeddb
آموزش Indexed Database:
https://goo.gl/NxLMgz
یک پروژه ساده افلاین سازی وبسایت با websql و indexeddb
https://goo.gl/9c3qGj

ا3⃣ - Web Storage
که بیشترین پشتیبانی رو توسط مرورگر ها داره
https://caniuse.com/#search=localStorage
آموزش Web Storage:
منابع فارسی:
https://www.dotnettips.info/post/2136/
https://www.dotnettips.info/post/2137/
این لینک هم چندتا از کتابخانه های کاربردی و مفید در رابطه با webstoage رو معرفی کرده
https://www.dotnettips.info/post/2483/
منابع انگلیسی:
https://www.w3schools.com/html/html5_webstorage.asp
https://goo.gl/TbEv5P
https://goo.gl/63yfgY
اینم 3تا پروژه با Web Storage
https://goo.gl/yfaJcn
https://goo.gl/WYRx2L
https://goo.gl/KyTExK

نکته:
اینم یه دیتابیس سمت مرورگر هست که دیتابیس NoSql با کوئری هایی شبیه MongoDb در اختیار ما میگذاره و با هر 3 (websql - indexeddb - localestorage) سازگاری داره
https://www.forerunnerdb.com/
اینم یک دیتابیس in-memory database برای node.js, browser and cordova هست
https://lokijs.org/

@IranAspMvc
#EntityFramework, #EFCore, #LazyLoading

همان طور که میدانیم در اِنتیتی فریم ورک، سه روش برای لود نمودنِ اطلاعات مربوط به یک اِنتیتی وجود دارد. به طور کلی، بر اساسِ این نیاز که آیا برای دریافتِ اطلاعاتِ بینِ جداول، باید Join صورت پذیرد یا خیر، نوع واکشی را مشخص میکنیم.
برای این منظور سه الگوی مشترک بین ORM ها به قرار زیر است:
- Eager loading
- Explicit loading
- Lazy loading
بسته به نوع نیاز ممکن است هر یک از روش های فوق مورد استفاده قرار گیرند.

در EF Core هم به صورت مشابه، رویه به همین منوال برقرار است، با این تفاوت که فعلا خبری از Lazy loading نیست و باید به طور واضح، اِنتیتی فریمورک را نسبت به لود دیتای مورد نیاز از طریق include آگاه نمود.

var blogs = context.Blogs

    .Include(blog => blog.Posts)

    .ToList();


هم چنین واکشی اطلاعات تا چند سطح از طریق متد ThenInclude باید انجام شود و برخلاف EF6 که واکشی چند سطحی در متد include و به وسیله ارسال پارامتر از نوع استرینگ (Include("Posts.Comments")) صورت میگرفت در نسخه ی کور باید از متد ThenInclude استفاده گردد:

var blogs = context.Blogs

    .Include(blog => blog.Posts)

        .ThenInclude(post => post.Comments)

    .ToList();


فیلم زیر در channel 9 از سری مجموعه های ASP .NET Monsters Episode این قابلیت را به صورت عملی شرح میدهد:
https://channel9.msdn.com/Series/aspnetmonsters/ASPNET-Monsters-Episode-57-Loading-Related-Data-with-Entity-Framework-Core

@IranAspMvc