نظرات مطالب
هزینه استفاده از دات نت فریم ورک چقدر است؟
سورس دانت به صورت Shared Source توزیع شده و به عبارت دیگر سورس پشت شیشه است (فقط جهت Reference و از این قبیل). تا آنجا که می‌دانم این مجوز توسط جامعه متن باز پذیرفته شده نیست. متن باز امکان تغییر را نیز می‌دهد. و یا شاید منظور شما از سورس باز، متن باز نبوده!

در مورد قیمت VS یکی از بچه‌ها صحبت خوبی داشت؛ اگر قرار بود ما VS را خریداری کنیم هرسال یا هر چند سال یکبار این کار را می‌کردیم و مایکروسافت با توجه به Optionهای خوبی که برای اینطور خرید کردن دارد (Renew و ...)، می‌توان VS Ultimate که اگر اشتباه نکنم 11 هزار دلار است را با 3 هزار دلار تهیه کنیم. وقتی همه حقوق مولفین رعایت شود مطمئناً 3 هزار دلار برای یک برنامه نویس متوسط به بالا مبلغ بسیار مناسبی خواهد بود. مشترک MSDN بودن هم که شامل سیستم‌عامل‌ها و ... هم خواهد شد.
مطالب
دریافت کتاب از Google books

پیرو مطلب "آیا نمودارهای UML هنوز هم استفاده‌ی صنعتی گسترده‌ای دارند یا خیر؟" در کامنت‌های این مطلب، اکثرا عنوان می‌کردند که از CRC cards استفاده می‌کنند. کتاب معروف CRC cards هم به نام The CRC card book مربوط به سال 1997 است و در کتاب فروشی‌های این دور و اطراف یافت نشد (یا حداقل من نیافتم). اما این کتاب در Google books موجود است.

برنامه رایگان و سورس بازی برای این منظور در CodePlex موجود است که پس از دریافت آدرس کتاب، کل آن‌را از Google books دریافت کرده و یک خروجی pdf و یا تصویری ارائه می‌دهد.



آنچنان سرعت بالایی برای دریافت یک کتاب ندارد اما کار می‌کند (برای دریافت یک کتاب شاید نصف روز معطل شوید).

بازخوردهای پروژه‌ها
بروز رسانی پروژه IrisCms به NET 5.
این پروژه که نزدیک به ۸ سال از عمر آن می‌گذرد به دات نت 5، EF Core 5 و ASP.NET Core 5 بروز رسانی شد.
سعی شده که کار با حداقل تغییرات انجام شود و کتابخانه Lucene.NET، تنها کتابخانه ای است که حذف شده و برای جستجو از امکانات Full Text Search و Semantic Search پایگاه داده SQL Server استفاده شده است.
هم اکنون هم نسخه‌ی بروز شده در وبسایت https://www.ebooksworld.ir  در حال استفاده است. امید است که با این بروزرسانی، بتوان نسخه‌های بهبود یافته را سریع‌تر منتشر کرد.
    
برای دریافت جدید‌ترین تغییرات، به  https://github.com/MehdiSaeedifar/IrisCms  مراجعه کنید.
اشتراک‌ها
ده عادت کوچکی که در بلندمدت مدت اثر مثبت دارد

۱) هفته‌ای سه بار ورزش سنگین (مثل وزنه‌زدن) بکنید.

۲) هر روز برای فردا ۳-۴ اولویت کاری/فکری مشخص کنید.

۳) روزانه ۶۰ دقیقه مطالعه کنید.

۴) روزانه ۳۰ دقیقه بنویسید. 

۵) هر روز ۷-۸ ساعت بخوابید.

۶) هر روز ۳۰ دقیقه پیاده‌روی کنید. 

۷) برنامه روزه گاه-به-گاه (Intermittent) داشته باشید و برای زمان طولانی (مثلا ۱۵-۱۶ ساعت) هیچ چیزی نخورید.

۸) در حال زندگی کنید و تمرین حضور ذهن یا Mindfulness داشته باشید. 

۹) عشق و محبت به دیگران را تمرین و تجربه کنید. 

۱۰) سی‌درصد درآمد‌تان را پس‌انداز کنید.  

ده عادت کوچکی که در بلندمدت مدت اثر مثبت دارد
اشتراک‌ها
Pluralsight شرکت CodeSchool را نیز خرید

این کمپانی پیشتر train signal و tek pub و  digital-tutors  را خریده بود.  

البته سبک فیلم‌ها و بهتر بگم کلاس‌های مجازی code school  خیلی جالب هست و ایران هم فیلتر نمیکنه و خیلی خوشحال شدم که این 2 تا که من خیلی ازشون چیز یاد گرفتم به هم پیوستند.

حتما یک کرس مجازی codeschool  رو پیشنهاد میکنم امتحان کنید و نیم ساعت وقت بزارید جالبه.  https://www.codeschool.com/paths/javascript  

chalkboard of Pluralsight and Code School logos  

با 72 ساعت دسترسی رایگان به اکانت معمولی بدون قابلیت دانلود و فایلها و فقط میشه stream کرد فیلم‌ها رو .

Pluralsight شرکت CodeSchool را نیز خرید
نظرات مطالب
امن سازی برنامه‌های ASP.NET Core توسط IdentityServer 4x - قسمت نهم- مدیریت طول عمر توکن‌ها
«... البته باید درنظر داشت اگر طول عمر این توکن دسترسی را برای مثال به 120 یا 2 دقیقه تنظیم کنید، پس از سپری شدن این 2 دقیقه ... هنوز هم برنامه‌ی کلاینت قادر است به Web API دسترسی داشته باشد. علت آن وجود بازه‌ی 5 دقیقه‌ای است که در طی آن، انجام این عملیات مجاز شمرده می‌شود و برای کلاینت‌هایی درنظر گرفته شده‌است که ساعت سیستم آن‌ها ممکن است اندکی با ساعت سرور IDP تفاوت داشته باشند ...» به این زمان «clock skew» هم گفته می‌شود که با خاصیت JwtValidationClockSkew قابل تنظیم است.
//...
 .AddIdentityServerAuthentication(options =>
        {
            options.JwtValidationClockSkew = TimeSpan.Zero;
نظرات مطالب
اعتبارسنجی مبتنی بر JWT در ASP.NET Core 2.0 بدون استفاده از سیستم Identity
- طول عمر کوکی یا توکن را هیچگاه به بیشتر از یک ماه تنظیم نکنید چون مشکل امنیتی ایجاد می‌کند.
- این خطای «IDX10223: Lifetime validation failed. The token is expired» به این معنا است که توکن واقعا منقضی شده‌است یا به معنای تنظیم نبودن تاریخ و ساعت سمت سرور است. سعی کنید این مورد را با اینترنت هماهنگ کنید.
- همچنین مقدار ClockSkew به معنای حد تحمل این عدم هماهنگی هست (بین ساعت و زمان صادر کننده‌ی تولید توکن و مصرف کننده‌ی آن). در اینجا به صفر تنظیم شده‌است. این‌را هم می‌توانید تا 5 دقیقه درنظر بگیرید.
- خطای «PII is hidden by default» با تنظیم «IdentityModelEventSource.ShowPII = true» نمایش داده می‌شود.
نظرات نظرسنجی‌ها
آیا به یادگیری یا ادامه‌ی استفاده از AngularJS خواهید پرداخت؟
AngularJS فریم ورک خوبیه، ولی مشکلات زیادی داره. اول از همه اینکه در فاز تحقیقاتی هست و بر خلاف ادعا هایی که وجود داره Google در محصولات یا پروژه‌های داخلیش ازش استفاده نمی‌کنه. ثانیا تا اوایل سال 2016 انتشار مهمی (major release) نخواهیم دید و نسخه 2.0 فریم ورک کاملا جدیدی خواهد بود. بنابراین نه تنها backward compatibility نخواهیم داشت بلکه تمام تجربه و دانش فعلی عملا بلا استفاده خواهند بود و باید همه چیز رو از ابتدا یاد گرفت. باید منتظر بود تا نسخه بعدی منشر بشه و اگر اون موقع تیم Angular تونست نسبت به رقبای دیگش حرف اول رو بزنه، می‌تونیم بریم سراغش و فریم ورک‌های دیگه رو کنار بگذاریم.

در نگاه اول شاید برای توسعه دهندگان مبتدی یک سری مباحث گیج کننده باشن و خیلی از قابلیت‌ها هم جادویی و جذاب. اما حقیقت امر این است که code base این فریم ورک مشکلات شگفت آوری داره. چند ساعت وقت گذاشتن روی اینترنت کافی هست تا از تمام جنبه‌ها فریم ورک‌های مطرح رو بررسی کرد و متوجه شد که Angular چقدر مشکلات اساسی داره. بصورت تیتر وار چند مورد رو لیست می‌کنم:
  • Dynamic Scoping, and scope inheritance
  • Two-way data binding with $watchers
  • The $digest cycle
  • No DOM manipulation capabilities
  • Finite Routing, unless you use a 3rd party like ui-router
  • app logic and structure expressed in HTML
  • No server-side rendering (mostly for speed boost and SEO)
  • string-based Dependency Injection
  • Ill-Conceived architecture (obsolete constructor functions etc)
  • Debugging issues
  • Re-defining well established terminology
  • Syntactic Sugar
  • Execution Contexts
  • Unnecessary Complications
  • Incompatible with 3rd party libraries, like jQuery etc.
  • Sparse documentation with literally no real-world examples

و مواردی از این دست. شاید برای پروژه‌های کوچک این فریم ورک مناسب باشه اما قطعا برای پروژه‌های بزرگی که قرار است برای مدتی طولانی توسعه داده بشن و نگهداری بشن اصلا انتخاب درستی نیست. حتی اگر پروژه‌های بزرگی هم با موفقیت توسط این فریم اجرا شده باشه باز هم ماهیت مساله تغییر نمی‌کنه.

در حال حاظر بین فریم ورک‌های دیگه بهترین انتخاب Ember هست که بسیاری از مشکلات ذکر شده رو نداره و ساختار و معماری قوی و خوبی هم داره. Backbone و Durandal هم فریم ورک‌های قوی ای هستند ولی تفاوت‌های نسبتا زیادی با Ember دارن.

حائز اهمیت این که، اپلیکیشن‌های SPA جوان هستند و فعلا همه جای دنیا در حال آزمایش و بررسی این هستند که چطور میشه چنین پروژه هایی رو اجرا کرد و کدام راه بهترین راه هست، بنابراین تا به استاندارد‌های ثابتی برسیم راه طولانی ای در پیش داریم. از طرفی بزودی استاندارد جدید جاوا اسکریپت (ECMA6) منتشر میشه، که با انتشارش فریم ورک هایی مثل Ember و Angular رو کاملا به هم خواهد ریخت. مثلا در نسخه جدید آبجکت‌های Observable خواهیم داشت. بنابراین متدهای Angular و Ember برای تشخیص تغییرات به کلی بلا استفاده خواهند بود و بازنویسی‌های اساسی لازم می‌شود.