بررسی برخی تغییرات در Angular 8
تغییر loadChildren در نسخه 8در نسخه 8، استفاده از syntax رشتهای برای loadChildren در lazy loading، منسوخ شدهاست:const routes: Routes = [{ path: 'lazy', // The following string syntax for...
View Articleمروری بر قابلیتهای جدید ES10
از زمان ارائهی نگارش 72 مرورگر chrome، قابلیتهای استفاده از ES10، میسر شدهاست. برای اینکه از شماره نگارش مرورگر خود مطلع شوید، کافیست به منوی Help و سپس بر روی گزینهی About Google Chrome کلیک کنید...
View Articleخروجی گرفتن از برنامههای NET Core 3. بدون وابستگی به فریمورک و در یک فایل Exe
دیشب نسخه 6 پیشنمایش دات نت کور 3، منتشر شد و ویژگیهای بسیار خوبی را ارائه کرد و بهانهای شد تا با برخی از ویژگیها مخصوص خروجی گرفتن از برنامه در دات نت کور 3 آشنا بشویم.PublishSingleFileتوسط این...
View Articleارتباط بین کامپوننتها در Vue.js - قسمت اول ارتباط بین Parent و Child
برنامههای Vue.jsای از چندین کامپوننت برای بخش بندی هر قسمت تشکیل میشوند و این بخش بندی برای مدیریت بهتر تغییرات، خطایابی، نگهداری و استفاده مجدد (reusable) میباشد. فرض کنید تعدادی کامپوننت در برنامه...
View Articleارتباط بین کامپوننتها در Vue.js - قسمت دوم استفاده از Event Bus
در قسمت قبلی، نحوه ارتباط بین کامپوننتهای Parent و Child را مورد بررسی قرار دادیم و اینکه چگونه دادههایشان را به اشتراک میگذارند؛ اما چند موضوع در روش قبلی مورد بحث میباشد:1) مدیریت nested...
View Articleپیاده سازی الگوی طراحی Memento
Memento یک الگوی طراحی مفید و ساده است که برای ذخیره و بازیابی state یک object استفاده میشود. در بعضی از مقالات از آن به عنوان snapshot نیز یاد شده است! اگر با git کار کرده باشید، این مفهوم را...
View Articleمعرفی System.Text.Json در NET Core 3.0.
معروفترین کتابخانهی کار با JSON در دات نت، Json.NETاست که این روزها، جزء جدایی ناپذیر حداقل، تمام برنامههای وب مبتنی بر دات نت میباشد. برای مثال ASP.NET Core 2x/1x و همچنین ASP.NET Web API پیش از...
View Articleارتباط بین کامپوننتها در Vue.js - قسمت سوم استفاده از تزریق وابستگیها
در قسمتهای قبلی( ^ و ^) نحوهی ارتباط بین کامپوننتها در Vue.js بررسی و مزایا و معایب آنها بیان شد. روش دیگری هم برای ارسال اطلاعات از کامپوننتِ Parent به فرزندانش وجود دارد که با استفاده از...
View Articleکاربرد Mixins در Vue.js
وقتی از یک زبان برنامه نویسی شیء گرا مثل سی شارپ استفاده میکنیم، تا جای ممکن سعی خواهیم کرد از نوشتن کدهای تکراری خودداری کنیم (^ , ^) . مثلا یک Super Class داریم که توسط چندین Sub Class مورد استفاده...
View Articleآموزش فریم ورک Vuetify قسمت اول - نصب و بررسی ساختار grid؛ بخش اول
برای طراحی ui برنامههایی که با فریم ورک vue.jsتوسعه داده میشوند، داشتن یک css framework مناسب، جهت زیبا سازی برنامه، یکی از انتخابهای مهم میباشد. در این سری از آموزشها، نحوهی بکارگیری فریم ورک...
View Articleتحلیل و بررسی ده روش آسیب پذیری نرم افزار بر اساس متدولوژی OWASP - قسمت اول...
در این سری از مقالات، ده روش برتر آسیب پذیری نرم افزار بر اساس متدولوژی OWASP مورد بررسی قرار میگیرد. یادگیری این روشها منحصر به زبان برنامه نویسی خاصی نیست و رعایت این نکات برای برنامه نویسانی که قصد...
View Articleآموزش فریم ورک Vuetify قسمت اول - نصب و بررسی ساختار grid؛ بخش دوم
در بخش قبل با نصب فریم ورک vuetifyو بخشی از کامپوننتهای آن آشنا شدیم .Order :بهوسیلهی orderمیتوان ترتیب قرارگیری آیتمهای Grid را مشخص کرد. فرض کنید یک ردیف سه ستون داریم و میخواهیم زمانیکه این...
View Articleبررسی کارآیی کوئریها در SQL Server - قسمت اول - جمع آوری اطلاعات آماری...
بسیاری از شرکتها دارای نقشی مانند «مدیران بانک اطلاعاتی» نیستند؛ اما تعدادی «توسعه دهندهی بانکهای اطلاعاتی» را به همراه دارند که گاهی از اوقات از آنها خواسته میشود تا کارآیی پایین کوئریهای صورت...
View Articleبررسی کارآیی کوئریها در SQL Server - قسمت دوم - جمع آوری اطلاعات آماری...
همانطور که درقسمت قبلنیز بررسی کردیم، Management Studio برای جمع آوری اطلاعات آماری کوئریهای زنده بسیار مفید است؛ اما تهیهی آن دستی است. باید کوئری را اجرا کرد و سپس مراحلی را طی نمود تا به نتایج...
View Articleبررسی کارآیی کوئریها در SQL Server - قسمت سوم - جمع آوری اطلاعات آماری...
Extended events ای که در قسمت قبلبررسی شدند، جهت جمع آوری اطلاعات آماری تک کوئریها مورد استفاده قرار میگیرند؛ اما Dynamic management objects یا به اختصار DMO's، تجمعی عمل میکنند (برای مثال جهت...
View Articleبررسی کارآیی کوئریها در SQL Server - قسمت چهارم - شاخصهای مهم اطلاعات...
تا اینجابا روشهای مختلف جمع آوری اطلاعات آماری مرتبط با کوئریهای اجرا شدهی در SQL Server آشنا شدیم. در این قسمت قصد داریم بررسی کنیم این اطلاعات جمع آوری شده، چه مفاهیمی را در بر دارند و...
View Articleارتباط بین کامپوننت ها در Vue.js - قسمت چهارم کاربرد Vuex - بخش اول
در قسمتهای قبلی (^ ,^ ,^ ) نحوهی ارتباط بین کامپوننتها بررسی شد؛ روش دیگری هم برای به اشتراک گذاری دادهها بین کامپوننتها وجود دارد که با استفاده از کتابخانهای بنام Vuex پیاده سازی میشود. وقتی...
View Articleبررسی کارآیی کوئریها در SQL Server - قسمت پنجم - خواندن Query Plans
برای هر کوئری که به SQL Server ارسال میشود، یک Plan تولید خواهد شد. این عملیات نیز توسط بخش Query Optimizer آغاز میگردد. به آن میتوان همانند فریمورکی که درون SQL Server قرار گرفته و کارش یافتن یک...
View Articleبررسی کارآیی کوئریها در SQL Server - قسمت ششم - بررسی عملگرهای دسترسی به...
پس از آشنایی مقدماتیبا نحوهی خواندن یک Query Plan، اکنون نوبت به بررسی عملگرهایی است که در آن مشاهده میشوند و همچنین تغییرات در کوئریها چگونه بر روی آنها تاثیر گذاشته و آنها را تغییر میدهند و این...
View Articleبررسی کارآیی کوئریها در SQL Server - قسمت هفتم - بررسی عملگر Nested loop...
دراین قسمت قصد داریم عملگر nested loop حاصل از نوشتن جوینها را دقیقتر بررسی کنیم. یک حلقهی تو در تو، از هر ردیف ورودی (دیتاست خارجی) برای یافتن ردیفهایی (دیتاست درونی) که نوع جوین را برآورده...
View Article