در بار اول اجرای برنامههای Blazor WASM، کار دریافت و کش شدن اسمبلیهای NET Runtime. و برنامه انجام میشوند:
در این بین ... اتفاقی رخ نمیدهد و کاربر از پیشرفت عملیات آگاه نمیشود. در این مطلب قصد داریم این وضعیت را بهبود دهیم. افزودن یک progress-bar به صفحهی آغازین برنامههای Blazor WASM
Blazor امکان دسترسی به چرخهی حیات ابتدایی آنرا نیز میسر کردهاست. برای اینکار ابتدا باید به آن گفت که دریافت خود ...
معمولا معماریهای ارائه شد،ه بر اساس جداسازی لایههای نرمافزار میباشد. برای مثال در معماری Hexagonal که آنرا به Port & Adaptor هم میشناسیم، نرمافزار، با استفاده از لایههای Domain، Application، Infra و ... تفکیک میشوند. منطق تجاری در Domain پیاده سازی میشود و رابطهای مربوط به کار با دیتا تعریف میشوند. در لایهی Application، Portها و Adaptorهای مورد نیاز برای استفاده، پیادهسازی میشوند. در لایهی Infra، رابطهای تعریف شده در ...
همانطور که در قسمت اول این سری نیز عنوان شد، انجام عملیات Reflection عموما به همراه سربار محاسبهی هربارهی اطلاعات مورد نیاز آن است و اکنون میتوان یک چنین محاسباتی را توسط Source generators، در زمان کامپایل برنامه، تامین و جزئی از خروجی نهایی کامپل شدهی آن کرد تا کارآیی برنامه به شدت افزایش یابد. یک نمونه مثال آن، استفاده از ویژگی Display بر روی عناصر یک enum است تا بتوان توضیحات بیشتری را جهت نمایش در UI، ارائه داد: using System ...
یک مثال: پیاده سازی INotifyPropertyChanged توسط Source Generators
هدف از اینترفیس INotifyPropertyChanged که به همراه یک رخداد است: public interface INotifyPropertyChanged
{
event PropertyChangedEventHandler PropertyChanged;
}
مطلع سازی استفاده کنندهی از یک شیء، از تغییرات رخدادهی در مقادیر خواص آن است که نمونهی آن، در برنامههای WPF، جهت به روز رسانی UI، ز ...
Source Generators که به همراه C# 9.0 ارائه شدند، یک فناوری نوین meta-programming است و به عنوان جزئی از پروسهی استاندارد کامپایل برنامه، ظاهر میشود. هدف اصلی از ارائهی Source Generators، تولید کدهای تکراری مورد استفادهی در برنامهها است. برای مثال بجای انجام کارهای تکراری مانند پیاده سازی متدهای GetHashCode، ToString و یا حتی یک AutoMapper و یا Serializer، برای تمام کلاسهای برنامه، Source Generators میتوانند آنها را به صورت خودکار پ ...
در این مطلب قصد داریم کتابخانهای با قابلیت استفادهی مجدد را جهت بکارگیری « PersianDatePicker یک DatePicker شمسی به زبان JavaScript که از تاریخ سرور استفاده میکند » ارائه دهیم. نکات ارائه شدهی در آنرا میتوان جهت تبدیل و استفادهی از تمام DatePickerهای مشابه نیز بکاربرد.
نیازهای یک ورودی تاریخ سازگار با EditForm
- باید قابلیت استفادهی مجدد را داشته باشد. یعنی باید به صورت یک کامپوننت مجز ...
پلتفرم Bit یک پروژه تماما Open Source در GitHub میباشد که هدف آن تسهیل توسعه نرم افزار با کیفیت و پرفرمنس بالا بر بستر ASP.NET Core و زبان #C است که با آن بتوان فقط با یکبار کدنویسی و با کمک استانداردهای وب همچون HTML / CSS و Web Assembly ، خروجیهایی چون Android / iOS / Windows را با دسترسی کامل به امکانات سیستمعامل به همراه برنامههای تحت وب SPA و PWA (با یا بدون Pre-Rendering) گرفت. پلتفرم Bit تا به اینجا از دو قسمت Bit Blazor Compo ...
در سالهای اخیر، معماری میکروسرویس، یکی از محبوبترین روشها برای طراحی نرمافزار بودهاست. جهت بهبود کارآیی، رفع خطا، درک عملکرد سیستم در محیط عملیاتی و نمایش چگونگی فراخوانی سرویسها توسط یکدیگر میتوانیم از ابزارهای distributed tracing استفاده کنیم. ابزارهای متنوعی برای این منظور وجود دارند، اما بطور کلی همه با روش مشابهی کار میکنند. اطلاعات مربوط به فعالیتهایی مثل فراخوانی سرویس و مراجعه به دیتابیس که درون میکروسرویس رخ میدهد، د ...
دیت پیکرهای گوناگونی توسط افراد مختلف نوشته شدهاند که هر یک مشکلات خاص خود را دارند. در این مطلب به چگونگی استفاده از یکی از سازگارترین دیت پیکرهای جاوا اسکریپتی که توسط آقای امیرمسعود ایرانی نوشته شده است در Blazor خواهیم پرداخت. مهمترین ویژگی این دیت پیکر امکان ورود تاریخ به صورت دستی توسط کاربر است. فرمتهای قابل قبول برای ورود تاریخ عبارتند از: ۹۰۰۸۱۴ ۱۴۰۸۹۰ ۱۳۹۰۰۸۱۴ ۱۴/۸/۹۰ ۹۰/۸/۱۴ ۱۴/۸/۱۳۹۰ ۱۳ ...
در این مقاله یک بارکد را به همراه یک متن در پایین آن، مشابه تصویر زیر ایجاد میکنیم. سورس کامل این مطلب در این آدرس قرار دارد. جهت تست بارکد از این آدرس استفاده کنید. - طول عکس خروجی نهایی 250 پیکسل است. - فونت متن 10 پیکسل هست و عرض هر خط 17 پیکسل. - حداکثر تعداد خطِ نمایش متن، 3 خط است و اگر متن برای نمایش، به 3 خط بیشتر نیاز داشت، اضافهی متن را به صورت 3 نقطه نمایش میدهیم (مثل عکس بالا). - عرض بارکد 50 پیکسل ...