مبانی TypeScript؛ تنظیمات کامپایلر
برای کامپایل کدهای TypeScript به جاوا اسکریپت، علاوه بر پارامترهای کامپایلر، از تنظیمات فایل مخصوصی به نام tsconfig.json نیز استفاده میشود که این موارد را در قسمت جاری بررسی خواهیم کرد. نحوهی اعمال...
View Articleمبانی TypeScript؛ جنریکها
بخش عمدهای از مهندسی نرم افزار، مربوط به ساخت کامپوننتهایی است که نه تنها به خوبی و مستحکم توسعه داده شدهاند، بلکه قابلیت استفاده دوباره را نیز دارند.کامپوننتهایی که قادر هستند بر روی دادههای فعلی...
View Articleمبانی TypeScript؛ پیمایشگرها
همانطور که پیشتر در این مطلبنیز توضیح داده شد symbol یک primitive data type مانند number و string است. حین کار کردن با سمبلها باید این نکات را در نظر بگیرید:منحصربفرد و immutable (غیرقابل تغییر)...
View Articleمبانی TypeScript؛ Decorators
Decorators یا تزئین کنندهها و ReflectDecorators، یکی از پیشنهادهای نگارش بعدی جاوا اسکریپت هستند (ECMAScript 2016) که هم اکنون قابلیت استفادهی از آنها در TypeScript وجود دارد. جهت افزودن قابلیتهای...
View Articleمبانی TypeScript؛ Mixins
یکی از راههای محبوب دیگر برای ساخت کلاسها با استفاده از اجزایی با قابلیت استفاده مجدد، ساخت آنها با ترکیب partial classهای ساده، میباشد. mixins در زبانهای برنامه نویسی مانند ++C و Lisp، کلاسهایی...
View Articleالگوی مشاهدهگر Observer Pattern
الگوی مشاهدهگر یکی از محبوبترین و معروفترین الگوهای برنامه نویسی است که پیاده سازی آن در بسیاری از زبانها رواج یافته است. برای نمونه پیاده سازی این الگو را میتوانید در بسیاری از کتابخانهها (به خصوص...
View Articleمبانی TypeScript؛ تنظیمات TypeScript در ویژوال استودیو
تا اینجا «نحوهی نصب و راه اندازی TypeScript را در VSCode» به همراه «تنظیمات کامپایلر TypeScript» و «دریافت فایلهای d.ts. را توسط بستههای NodeJS» بررسی کردیم. در ادامه قصد داریم این تنظیمات را به...
View Articleپیاده سازی یک سیستم دسترسی Role Based در Web API و AngularJs - بخش اول
در این مجموعه مقالات قصد دارم یک روش را برای پیاده سازی سیستم Role Based سفارشی شده، به صورت پروژه محور، در اختیار شما دوستان قرار دهم. این مجموعه مقالات در هر دو بخش سرور و کلاینت، در قالب یک پروژهی...
View Articleرمزنگاری یک بانک اطلاعاتی SQLite
ممکن است برای شما هم پیش آمده باشد که بخواهید در برنامهتان از دیتابیس SQLite استفاده کنید و دسترسی به آن از طریق برنامههای SQLite Browser امکان پذیر نباشد؛ به زبان ساده، امنیت آن را تامین کنید....
View Articleپیاده سازی یک سیستم دسترسی Role Based در Web API و AngularJs - بخش دوم
در بخش پیشینمروری اجمالی را بر روی یک سیستم مبتنی بر نقش کاربر داشتیم. در این بخش تصمیم داریم تا به جزئیات بیشتری در مورد سیستم دسترسی ارائه شده بپردازیم.همانطور که گفتیم ما به دو صورت قادر هستیم تا...
View Articleالگوی سردر Facade Pattern
یکی از الگوهای ساختاری Gang Of Four، استفاده از الگوی Facade است که پیچیدگیهای یک سیستم را مخفی میسازد و با ارائه یک پیاده سازی سادهتر، استفاده از آن و تست آن را راحتتر میسازد. این الگو یک کلاس یا...
View Articleالگوی نماینده (پروکسی) Proxy Pattern
همه کاربران کامپیوتر در ایران به خوبی با کلمه پروکسی آشنا هستند. پروکسی به معنی نماینده یا واسط است و پروکسی واسطی است بین ما و شیء اصلی. پروکسی در شبکه به این معنی است که سیستم شما به یک سیستم واسط...
View Articleالگوی وضعیت State Pattern
الگوی وضعیت، یکی از الگوهای رفتاری Gang Of Four است و بسیار شبیه به الگوی Strategy میباشد؛ ولی با کپسوله سازی بیشتر. در الگوی استراتژی تغییر وضعیت از بیرون کلاس اعمال مید ولی در الگوی وضعیت، بر اساس...
View Articleالگوی بازدیدکننده Visitor Pattern
این الگو یکی دیگر از الگوهای رفتاری است که به قاعده OCP یا Open Closed Principle کمک بسیاری میکند. این الگو برای زمانی مناسب است که ما سعی بر این داریم تا یک سری الگوریتمهای متفاوت را بر روی یک سری...
View Articleالگوی شیء نال Null Object Pattern
این الگو شاید به نظر ساده برسد، ولی در بعضی موارد میتواند در سطوح بالاتر، کدهای تمیزتر و خلوتتری را در اختیار شما بگذارد. در مورد این الگو، در کتاب توسعه چابکعمو باب نیز آمده است. بسیاری ممکن است...
View Articleآموزش Linq - بخش ششم: عملگرهای پرس و جو قسمت چهارم
عملگرهای تولید Generation Operator عملگرهای تولید، برای ما توالی ایجاد میکنند و تفاوتهای عمدهای با سایر عملگرهای پرس و جو دارند که در بخش زیر به آنها اشاره میکنیم: 1- هیچ توالی ورودی را دریافت...
View Articleتاثیر تعداد فونتهای نصب شده در سیستم بر روی سرعت بارگذاری اولیه برنامهها
مدتی بود که سرعت آغاز ویژوال استودیو و همچنین تمام برنامههای دات نتی موجود، به نحو عجیبی کاهش پیدا کرده بودند. آغاز ویژوال استودیو گاهی تا 3 دقیقه هم طول میکشید. تا اینکه آغاز یک برنامه سادهی دات...
View Articleتبدیل زیرنویسهای خاص پلورالسایت به فرمت SRT - قسمت دوم
قسمت اول این مطلب را در اینجامیتوانید مطالعه کنید. از سه سال قبل تا به این تاریخ، فرمت زیرنویسهای این سایت به صورت JSON تغییر پیدا کردهاست و یک چنین ساختار جدیدی را دارد:{...
View Articleبازنویسی رویدادها در jQuery
فرض کنید میخواهید برای تمام دکمههای حذف، در کل پروژه، قبل از انجام عمل اصلی، یک confirm را به کاربر نشان دهید تا اگر کاربر بر روی کلید تایید، کلیک نمود، عمل مورد نظر انجام شود. برای چنین کاری در یک...
View Articleالگوی استخر اشیاء Object Pool Pattern
الگوی استخر اشیاء، جزو الگوهای تکوینی است و کار آن جلوگیری از ایجاد اشیاء تکراری و محافظت از به هدر رفتن حافظه است. نحوه کار این الگو بدین شکل است که وقتی کاربر درخواست نمونهای از یک شیء را میدهد،...
View Article