نظرات مطالب
React 16x - قسمت 8 - ترکیب کامپوننت‌ها - بخش 2 - مدیریت state
نمیدونم درست متوجه شدم یا خیر یکی از مواردی که باعث میشه ما به سمت کامپوننت‌ها بریم استفاده چندباره از یک کامپوننت هست.
اگر من به فرض یک کامپوننت نمایش پرداختی‌ها را داشته باشم و از بین آن‌ها بخواهم تعداد پرداخت‌های موفق را در بالای صفحه نشان بدم باید طبق روال جاری اطلاعات و رویدادهای ازسمت والد مدیریت بشوند؛ در این حالت برای استفاده مجدد از این کامپوننت در جای دیگر باید مجددا کدهای تکراری و رویدادها را برای والد دیگری تکرار کنم. درصورتی که اگر کامپوننت پرداخت بتواند تمام عملیات مربوط به خود را کنترل کند دیگر نیازی به کدنویسی مجدد در سمت والد دیگر نمیباشد.

حتی با این وجود هم ایجاد یک روالی مثل ارسال رویدادها از APPبه Counters و از Counters به Counter هم طولانی است.
نظرات مطالب
احراز هویت و اعتبارسنجی کاربران در برنامه‌های Angular - قسمت چهارم - به روز رسانی خودکار توکن‌ها
در هنگام فراخوانی متد refreshToken اگر درخواست به هر علتی با شکست مواجه شود در نهایت متد scheduleRefreshToken فراخوانی میشود. 
...
.post(`${this.appConfig.apiEndpoint}/${this.appConfig.refreshTokenPath}`, model, { headers: headers })
      .finally(() => {
        this.scheduleRefreshToken();
      })
...

مثلا در صورت مواجه با خطای 401 مجددا متد scheduleRefreshToken  فرخوانی شده و چون از سمت سرور مقداری ارسال نمیشود در متد  scheduleRefreshToken  در خط:
...
const initialDelay = Math.max(1, expiresAtUtc - nowUtc); //return 1
...

همواره مقدار 1 برگردانده میشود و این چرخه مدام تکرار میشود!
نظرات مطالب
مروری بر سازنده‌ها - سازنده‌های ایستا (static)
یک مثال دیگر متداول آن، استفاده‌ی از آن در EF Code first است:
public class ProjectsContext : DbContext 
{
  //the static constructor runs a single time with the first instance of a class 
   static ProjectsContext() 
   {
     Database.SetInitializer(new CreateDatabaseIfNotExists<ProjectsContext>); 
   } 
}
در اینجا تنظیمات مهاجرت‌ها در داخل یک سازنده‌ی استاتیک قرار گرفته‌است. به این ترتیب این تنظیم در اولین باری که قرار است اولین وهله‌ی این کلاس ساخته شود، انجام خواهد شد و دیگر تکرار نمی‌شود.
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 19 - بومی سازی
با سلام؛ با تنظیم Culture و CultureUI با مقدار fa-IR ، به شکل خودکار خصوصیت Calendar اونها هم به PersianCalendar تنظیم بشه. راه حلش چی هست؟ البته تا قبل از این با استفاده از یه کلاس کمکی ^ و تنظیمات کالچر با آن کلاس در کلاس سراسری امکان پذیر بود ولی تو .Net Core ظاهرا قضیه فرق می‌کنه. راه حلی پیدا کردم که بشه با همون کلاس کمکی به هدف رسید ولی تو هر View باید تکرار بشه:
@{
CultureInfo.CurrentCulture =
                CultureInfo.CurrentUICulture = PersianDateExtensionMethods.GetPersianCulture();
}
چون بیرون از View عملا کار نمی‌کنه و ظاهرا کالچر به GregorianCalendar ریست میشه. راه حل استاندارد چی هست؟ ممنون
نظرات مطالب
#Defensive Code in C - قسمت سوم
ایمن سازی کدها قبول؛
متد نهایی دو وظیفه رو انجام میدهد. یکی اعتبار سنجی داده‌ها و دومی محاسبه هدف نهایی در صورت ممکن.
یعنی باید تمام متدها بصورت درونی داده‌ها را خودشون اعتبار سنجی کنند؟
آیا اصل SRP رو نقض نکردیم؟
آیا اینچنین کد نوشتن‌ها باعث تکرار کد نمیشوند؟
نوشتن آزمون واحد برای متدهای چند مسولیتی به چه صورت خواهد بود؟
در پروژه واقعی با تعداد متدهای زیاد و لایه‌های متعدد به چه صورت باید رفتار کرد؟
نکته ای که قابل تأمل هست اینه که متد ما دو عدد از نوع رشته ای می‌گیرد و خروجی عددی تولید میکند. شاید با رفع این مشکل بشه کد تمیزتر و ایمن‌تری نوشت. 
نظرات مطالب
#Defensive Code in C - قسمت سوم
- دریافتی از کاربر به کمک textbox، یک رشته هست.
- تمام فریم ورک‌های درست و حسابی مثل EF یک چنین بررسی‌هایی رو در تمام متدهاشون دارند. برای مثال به سورس EF مراجعه کنید. یک کلاس Check دارند که همه‌جا از آن استفاده شده (البته اگر فکر می‌کنید throw new ArgumentNullException  یعنی تکرار کد).
- یک شیء مسئول اعتبار خودش هم هست و نباید بتوان آن‌را در حالت غیرمعتبر وهله سازی کرد. این مساله ناقض SRP نیست. SRP در مورد دلایل تغییر یک کلاس صحبت می‌کند. آیا کلاسی که بررسی می‌کند ورودی‌های دریافتی آن معتبر هستند یا خیر، چندین دلیل برای تغییر دارد؟ خیر.
نظرات مطالب
کامپایل پویای کد در دات نت
اوایل کارم با سی شارپ بود ، یک پروژه توی codeproject قرار گرفته بود که یک برنامه برای ساخت slideshow با تمامی امکانات لازم ساخته بود که خروجیش هم exe بود
وارد کردن و ترتیب تصاویر و موسیقی و تکرار و حرکت خودکار یا با کلیک ماوس تصاویر و تنظیمات دیگه
ذخیره کار به صورت پروژه و بازیابی اون به صورت serialization
و همینطور کد خروجی exe
نحوه کدنویسی شکیل و ساخت یافتش به قدری کامل و شیوا بود که باعث شد بیش از پیش به این زبان هم علاقه مند بشم و هم به برنامه نویسی
خدا طرف رو خیر بده ، یه زندگی رو با این کدش دگرگون کرد
نظرات مطالب
اجرای وظایف زمان بندی شده با Quartz.NET - قسمت اول

نظرات بالاتر رو خوندید یکبار؟ خلاصه‌اش اینه جهت تکرار:

«ترد اجرایی یک وظیفه‌ی پس زمینه با ترد اجرایی یک درخواست وب یکی نیست. بنابراین نمی‌تونید به اشیاء رابط کاربری در تردی دیگر دسترسی داشته باشید. در برنامه‌های دسکتاپ اگر این‌کار را انجام بدید، برنامه آنی کرش می‌کنه. در وب هم فرقی نمی‌کنه؛ اصول یکی هست.»

اگر dbContext مثلا در سطح فرم ایجاد شده، اون فرم زمانیکه وظیفه‌ی شما قراره اجرا بشه، از بین رفته. وجود خارجی نداره. کار «پس زمینه» به همین معنا هست. dbContext رو داخل وظیفه باید وهله سازی کنید.

نظرات مطالب
سایت‌های مهمی که از ASP.NET MVC استفاده می‌کنند
- خوب، اصلاحش کنید و به ASP.NET نگارش فعلی ویکی‌پدیا، MVC را هم اضافه کنید. ویکی پدیا به همین نحو مدیریت می‌شود.
- ماخذ این گفته، اسکات گاتری هست (دقیقه 52 این ویدیو). اسکات گاتری مدیر اجرایی Microsoft Azure و همچنین خیلی از تیم‌ها منجمله دات نت است. ایشان اخیرا به عنوان جانشین مدیر جدید مایکروسافت در قسمت‌های Cloud و Enterprise منصوب شده.
- این ماخذ اصلی را هم به ویکی‌پدیا اضافه کنید.

برای تکرار؛ روش تشخیص دستی
افزونه‌ی server spy مشخص می‌کند که برای ارائه سایت بینگ از IIS در حال استفاده است (یعنی ویندوز و ASP.NET در حالت کلی). افزونه‌ی ViewState Size مشخص می‌کند که در آن ViewState ایی وجود ندارد (یعنی وب فرم نیست).
نظرات مطالب
آموزش (jQuery) جی کوئری 7#
سلام
مثلا در مورد طراحی یک سایت که اطلاعاتی بصورت تکراری پشت سر هم تکرار میشن (مثلا کامنت‌های که برای یک موضوع ارسال میشن) چطور باید باید اطلاعات مثلا مربوط به یک فیلد رو  دستکاری انجام بدیم
برای مثال
@foreach(var item in Model)
{
   <td class="text-right itemfarsi">@item.Farsi</td>
}
چطور میشه مثلا همین تیبل دیتا رو برای هر کامنت باتوجه به متن اون تغییر داد
من با استفاده از کد‌های زیر دستور خودم رو انجام میدم اما در مورد تمام مطالب فقط اطلاعات مربوط به قسمت اول رو برمیگردونه.
    $(document).ready(function () {
        var content = $(".itemfarsi").text();        
        if (content.length >= 50) {
            var mycont = content.substring(0, 50);           
            $(".itemfarsi").html(mycont);
        } else {            
            $(".itemfarsi").html(content);
        }            
    });