اشتراک‌ها
تسکولو!

مدیریت پروژه‌ها

تسکولو یکراه حل کاملبرای شروع و مدیریت پروژه‌هاست. به سادگی پروژه، لیست کاری و کار ایجاد و آن‌ها را مدیریت کنید. با اعضای تیم خود لحظه به لحظه در ارتباط باشید و زمان کاری خود را ثبت کنید.

مدیریت تیم

به اعضای تیم خود نقش‌ها و دسترسی‌های مناسب بدهید تا محیط کاری خود را مرتب و کارآمد نگاه دارید و کارایی تیم خود را با قابلیتگفتگوی بی‌درنگبالا ببرید.

سطوح دسترسی

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


تسکولو!
نظرات مطالب
Blazor 5x - قسمت 34 - توزیع برنامه‌های Blazor بر روی IIS
یک نکته: استفاده از base href و url‌های برنامه
اگر قرار است base href را مقدار دهی کنید، در کدهای برنامه هیچ مسیری را با / شروع نکنید. شروع با / به معنای پردازش از ریشه‌ی سایت خواهد بود و نه از زیر پوشه‌ی برنامه. برای مثال اگر قرار است برنامه در مسیر http://site/app ارائه شود، اگر url ای را با / شروع کردید، به http://site اشاره می‌کند و نه http://site/app. این مورد حتی برای urlهای api‌ها هم باید رعایت شود و آن‌ها هم نباید با مثلا api/ شروع شوند که به ریشه‌ی سایت اشاره می‌کند. این مورد را باید به عنوان یک best practice، در حین توسعه‌ی برنامه‌های blazor رعایت کرد.
نظرات مطالب
شروع به کار با EF Core 1.0 - قسمت 7 - بررسی رابطه‌ی One-to-Many
1- خیر. حالت استاندارد است.
2- این مشکلی نیست؛ به همین صورت است. به این مورد روش تعریف کلید خارجی در EF گفته می‌شود. روابط را به همین نحو طراحی می‌کنند و ذکر آن‌ها دلیل بر وجود مشکلی نیست.
3- اساسا ProjectTo طراحی شده تا Lazy loading را لغو کند. اطلاعات بیشتر.
4- بله. Lazy loading بیجا مشکل ساز است و می‌تواند مشکل n+1 select را تولید کند. ضمنا در EF-Core تا Lazy loading را فعال نکنید، اساسا وجود خارجی ندارد و عملکرد پیش‌فرض EF Core با EF 6x یکی نیست.
+ مواردی مانند «آشنایی با SplitQuery در EF Core 5x» را هم مدنظر داشته باشید.
نظرات مطالب
React 16x - قسمت 28 - احراز هویت و اعتبارسنجی کاربران - بخش 3 - فراخوانی منابع محافظت شده و مخفی کردن عناصر صفحه
نکته‌ی مهم: نیاز به دائمی کردن کلیدهای رمزنگاری سمت سرور

اگر برنامه‌ی سمت سرور ما که توکن‌ها را اعتبارسنجی می‌کند، ری‌استارت شود، چون قسمتی از کلیدهای رمزگشایی اطلاعات آن با اینکار مجددا تولید خواهند شد، حتی با فرض لاگین بودن شخص در سمت کلاینت، توکن‌های فعلی او برگشت خواهند خورد و از مرحله‌ی تعیین اعتبار رد نمی‌شوند. در این حالت کاربر خطای 401 را دریافت می‌کند. بنابراین پیاده سازی مطلب «غیرمعتبر شدن کوکی‌های برنامه‌های ASP.NET Core هاست شده‌ی در IIS پس از ری‌استارت آن» را فراموش نکنید.

نظرات مطالب
امن سازی برنامه‌های ASP.NET Core توسط IdentityServer 4x - قسمت چهاردهم- آماده شدن برای انتشار برنامه
برای درک این سیستم از قسمت آخر آن شروع نکنید. در قسمت‌های قبل در مورد مفهوم یک سیستم تامین هویت مرکزی، مفهوم کلاینت‌ها و دسترسی دادن به آن‌ها در یک IDP (نه دسترسی دادن به کاربران)، امکان محدود کردن دسترسی کاربران به قسمت‌های مختلف برنامه‌ها و یا Web APIها توسط User Claims آن‌ها و ... مفصل بحث شده‌است.
برای مثال زمانیکه برنامه‌ای (کلاینتی) به IDP گوگل معرفی می‌شود، آیا تمام کاربران گوگل به آن دسترسی پیدا می‌کنند؟ بله. تمام آن‌ها بدون استثناء.
اما آیا تمام آن‌ها می‌توانند با قسمت‌های مختلف برنامه‌ی ما کار کنند؟ خیر. نحوه‌ی مدیریت دسترسی‌های این کاربران، در قسمت‌های قبلی بحث شده‌اند.
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 17 - بررسی فریم ورک Logging
یک نکته‌ی تکمیلی: اگر تنظیمات Logging در فایل applicationsettings.json قید نشوند، برنامه به شدت کند خواهد شد
عموما در فایل applicationsettings.json یک چنین تنظیمی وجود دارد:
{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  }
}
اگر در حین ارائه‌ی نهایی برنامه این فایل یا این تنظیم را فراموش کنید، سطح لاگ پیش‌فرض برنامه به Information تنظیم می‌شود. در این حالت کوچکترین رخ‌دادی نیز در برنامه لاگ خواهد شد و این مساله به شدت کارآیی برنامه را کاهش می‌دهد (تا حدود 40 برابر!). بنابراین ارائه‌ی پیش‌فرض فوق را فراموش نکنید.
نظرات مطالب
VS Code برای توسعه دهندگان ASP.NET Core - قسمت اول - نصب و راه اندازی
- اگر از VS 2017 به روز رسانی نشده استفاده کنید، چون این افزونه از MSBuild آن به صورت پیش‌فرض استفاده می‌کند (یعنی اگر VS 2017 را بر روی سیستم تشخیص دهد، مطلقا از MSBuild به همراه نصاب خودش استفاده نمی‌کند)، مشکلات زیادی را شاهد خواهید بود. یا باید کلا VS 2017 را حذف کنید تا از MSBuild توکار خودش استفاده کند، یا اگر نیاز به VS 2017 دارید، در نصاب آن، گزینه‌ی «NET Core Build Tools" workload."» را انتخاب کنید، تا حداقل این یک مورد را به روز رسانی کند که شامل MSBuild جدید هم هست.
- همچنین نصب آخرین نگارش Dev Pack دات نت و  SDK مخصوص NET Core. را هم فراموش نکنید (هر دو با هم).
نظرات مطالب
شروع به کار با EF Core 1.0 - قسمت 14 - لایه بندی و تزریق وابستگی‌ها
در ویژوال استودیو بر روی این قسمت break point گذاشتید و مقدار آن‌را بررسی کردید؟ اگر بله، بله. این مورد اشاره‌گری هست به کل یک جدول. کار دیباگر و visualizer آن، اجرای این قسمت از کد است (یعنی یک ToList را در اینجا بر روی آن اجرا می‌کند تا بتوانید مقدار آن‌را مشاهده کنید). یعنی بارگذاری کل جدول مرتبط با آن. اما اگر این قطعه کد را وادار به اجرای زود هنگام نکنید، یک DbSet بیشتر نیست که در کل زنجیره‌ی LINQ تعریف شده، به صورت یک عبارت تفسیر خواهد شد و نه اینکه به اینجا رسید، اجرا می‌شود.
نظرات مطالب
اعتبارسنجی مبتنی بر 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» نمایش داده می‌شود.
نظرات مطالب
معرفی Xamarin و مزیت‌های استفاده از آن
با عرض سلام خدمت شما
در مورد استفاده از کتابخانه‌های بومی در مقاله گفته شد که به راحتی شما قادر خواهید بود که کتابخانه‌های Java و Objective-C را به برنامه خود Bind کنید.در مورد حجم اپلیکیشن هم در مقالات بعدی مفصل بحث خواهد شد.
در حال حاضر با افزایش حجم حافظه موبایل‌ها حجم اپلیکیشن خیلی مد نظر نخواهد بود و بیشترین چیزی که میتواند باعث متمایز بودن یک فریم ورک شود، Performance و راحتی کار با فریم ورک در حین دسترسی کامل به آن میباشد.
حداقل حجم نرم افزارهای Android و IOS حدود 3 مگ میباشد و بیش از 2.5 مگ آن مربوط به .Net میباشد به همین خاطر اینطور قلمداد نکنید که با پیچیده‌تر شدن اپلیکیشن حجم برنامه به صورت تصاعدی بالا خواهد رفت. در صورتی که چنین نخواهد بود