قبل از شروع این مقاله بهتر است ابتدا یک خاطرهی کوچک را تعریف کنم. مدتی پیش بود که برای سایت داکیومنتیشن یکی از پروژههای Open-Source سعی داشتم از vuepress که یک static site generator هست استفاده کنم. متاسفانه نسخهی بتایی که استفاده میکردم یک فیچر مورد نیازم را نداشت و مجبور شدم خودم بهآن این فیچر را اضافه کنم. سوروس را گرفتم، فیچر اضافه شد و ماجرا از اینجا شروع میشود ... commit lint : اول اجازه نداد که کامیت را انجام ...
در بخش اول، با کتابخانه Gridify آشنا شدیم و در بخش دوم، متدهای الحاقی آن را بررسی کردیم؛ در این بخش به بررسی GridifyMapper میپردازیم. GridifyMapper : کتابخانه Gridify به صورت خودکار از یک Mapper توکار برای برقراری ارتباط بین نام فیلد (string) وارد شده و پراپرتی که قرار است شرطها بر روی آن اعمال شود، استفاده میکند. به همین جهت اگر در فیلتر خود عبارتی مانند "Name==Ali,Age>32" داشته باشید، در کلاس مقصد به دنبال پراپرتیه ...
در بخش قبل ، به چند نمونه کلی از امکانات کتابخانه Gridify اشاره کردیم. در این مقاله به معرفی کلاسها و متدهای این کتابخانه میپردازیم. GridifyQuery از این کلاس برای اعمال تنظیمات مورد نیاز در متدهای ارائه شده توسط Gridify استفاده میشود. در ادامه به خصیصه (پراپرتی)های این کلاس میپردازیم. Filter : یک پراپرتی از نوع string است که درصورت مقداردهی آن، بر روی لیست خروجی ما عملیات فیلترینگ اعمال میشود. مثال : Filter = ...
Gridify چیست ؟ به طور خلاصه Gridify یک کتابخانه ساده و سریع است که عملیاتهای Filtering , Pagination و Sorting را با استفاده از شرطهای متنی (string based) امکان پذیر میکند. به طور مثال فرض کنید که یک API را برای دریافت لیست کاربران با نام UsersList نوشتهاید. مثال: [HttpGet("[action]")]
public async Task<IActionResult> UsersList()
{
var users = await _dbContext.Users.AsNoTracking().ToListAsync();
...
در بخشهای قبل تا حدودی با کامپایلر Svelte و ساختار فایلهای آن آشنا شدیم. در این بخش با چند مثال قصد دارم امکاناتی را که Svelte در اختیارمان قرار میدهد، شرح دهم. Dynamic attributes : در بخش قبل دیدیم که با استفاده از علامت ( آکولاد {} ) میتوانیم مقادیر موجود در تگ اسکریپت را در html خود رندر کنیم. ولی از این علامت میتوان برای مقدار دهی attributeها هم استفاده کرد. <script>
let src = ' https://svelte.d ...
در بخش اول به معرفی SvelteJs پرداختیم و اولین پروژهی خود را ایجاد کردیم. در ادامه به بررسی جزئیات فایلهای تشکیل شده میپردازیم. قبل از هرچیز پیشنهاد میکنم اگر از vs-code استفاده میکنید Extension Svelte را دانلود و نصب نمایید. پس از ایجاد پروژه، تعدادی فایل توسط Svelte ایجاد میشوند که در ادامه آنها را بررسی خواهیم کرد. rollup.config.js : به طور پیش فرض Svelte از rollup برای ساخت برنامه استفاده میکند که جایگز ...
معرفی : Svelte یک رویکرد جدید برای ایجاد رابط کاربری است که به ما کمک میکند صفحاتی پویا به صورت SPA با کارآیی و کیفیت بالا و همچنین کمترین حجم کد تولید کنیم. تفاوت اصلی svelte با رقبای سنتی خود مانند vue - React - angular این است که Svelte تنها یک فریم ورک نیست، بلکه درواقع یک کامپایلر است که همین موضوع سبب شده توجه زیادی را اخیرا به خود جلب کند. در فریم ورکهای سنتی، تمام عملیات در b ...
یکی از سختترین چالشهای تهیه سرویسهای ویندوز، دیباگ آنها است. برای تست و دیباگ کدها در ویندوز سرویسها، راهکارها و ابزارهای متفاوتی ارائه شدهاند که در این مقاله قصد دارم یکی از آنها را معرفی کنم. برای تست کدها در ویندوز سرویس، اولین راه پیشنهادی همیشه این بوده که سرویس را موقتا به Console Application تبدیل کنیم و با تهیه یک متد در سرویس و فراخوانی آن در متد Main برنامه کنسولی، بتوانیم به دیباگ برنامه بپردازیم. مثال: تغییرات مو ...
سناریویی را در نظر بگیرید که در آن یک برنامهی چت را با استفاده از SignalR نوشتهاید و قصد دارید از آن در یک سایت شلوغ استفاده کنید. در حالت عادی برنامه به خوبی کار میکند؛ تا زمانیکه کسی شروع به ارسال Spam در سیستم چت شما نکرده باشد. برای کنترل ارسال spam، اولین راهی که به ذهن میرسد این است که سمت کلاینت کلید ارسال پیغام را چند ثانیه غیر فعال کنیم تا کاربران نتوانند در عرض به طور مثال 3 ثانیه، تعداد زیادی پیام را ارسال کنند. برای کاربران ...