اشتراک‌ها
فیگما ابزاری جهت طراحی

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

فیگما ابزاری جهت طراحی
اشتراک‌ها
فریم ورکی برای ساخت وب اپلیکیشن هایی شبیه به IOS و Android

اگر بابت سختگیری‌های آپل امکان تولید اپلیکیشن IOS ندارید می‌تونید از این فریم ورک استفاده کنید و تحت وب اپلیکیشن‌های شبیه به آن درست کنید.

شما از طریق وب به دوربین و QR کد و همچنین مکان یاب دسترسی دارید و به کمک PWA میتونید برنامه تحت وب خودتون به یک آیکن بر روی گوشی تبدیل کنید و حس کار کردن با گوگل کروم و Safari را از کاربر بگیرید و برای برنامه خود صفحه‌ی Splash درست کنید و برای اون Notification ارسال کنید حتی اگر برنامه شما بسته باشد.

حتما مثال‌های فریم ورک را نگاه کنید


حتما درباره‌ی PWA  و امکانات آن تحقیق کنید

فریم ورکی برای ساخت وب اپلیکیشن هایی شبیه به IOS  و Android
اشتراک‌ها
ساخت یک API GraphQL با ASP.NET Core 2

همیشه مشکل هایی با API وجود داشته که توسعه دهندگان را آزار میدهد:

  • وجود endpoint‌های متفاوت
  • نسخه‌های متفاوت هر API
  • درخواست‌های متعدد
  • داده‌های زیاد که نیازی به آن‌ها نداریم
  • مستند سازی هر endpoint و پارامتر‌های آن

برای حل هرکدام از مشکلات بالا در RestAPI راه حل هایی ارائه شده است.
شرکت‌های بزرگ نیز از این قاعده جدا نیستند فیس بوک اما عقب نکشیده است و راه حلی ارائه کرده است به نام graphql این رویکرد یک library یا یک فریم ورک نیست بلکه راه حلی برای ساخت api با ساختاری شبیه به graph است.
Graphql در اصل به جای اینکه api را در قالب endpoint‌های متعدد در نظر بگیرید آن‌ها را در قالب graph در نظر میگیرد. 

                     

مخزن  

ساخت یک API GraphQL با ASP.NET Core 2
اشتراک‌ها
ابزاری فوق العاده برای عمومی سازی پروژهای تحت وب localhost روی اینترنت

یکی از دغدغه‌های مهم هنگام توسعه پروژه‌های تحت وب(مخصوصا در مورد ارائه وب هوک سرویس) در معرض عموم گذاشتن وب اپلیکیشن‌های روی لوکال است، بطوری که از بیرون و از روی اینترنت قابل دسترسی باشند.

یکی از بهترین ابزارها برای اینکار Ngrok است. که به سادگی از طریق آن میتوانید برای وب اپلیکشین تان یک آدرس ثابت بر بستر اینترنت داشته باشید. چیزی شبیه 

https://mn123a5y.ngrok.com/api/messages

که هر درخواستی که به این آدرس(با پشتیبانی از https) ارسال شود به وب اپلیکیشن لوکال شما فوروارد میشود. 

ابزاری فوق العاده برای عمومی سازی پروژهای تحت وب localhost روی اینترنت
اشتراک‌ها
5 دلیل برای اینکه ویندوز8 شکست خورده است
تغییر پلتفرم از Desktop به Tablet و SmartPhoneها تهدید بسیار جدی برای مایکروسافت و اینتل میتونه باشه. از عمده دلایل User Friendly بودن خانواده ویندوز برای عموم کاربران نرم افزارهای متعدد و با کیفیت است که در این زمینه هم مایکروسافت شدیدا عقب مونده(کمی و کیفی). به نطرم شیفت دادن ابزارها و کاربران به پلتفرم جدید توسط مایکروسافت بهتر بود چیزی شبیه اوبونتو باشه نه حرکت رادیکالی مثل این کارها(هنوزم بابت سرنوشت سیلورلایت از مایکروسافت دلخورم!).البته زیاد موافق نویسنده نیستم و قضاوت زودهنگامی برای شکست ویندوز8 هستش و در ثانی برای تمامی دلایلش جواب‌های قانع کننده ای میشه داد با اینهمه به قول معروف Numbers don't lie 
5 دلیل برای اینکه ویندوز8 شکست خورده است
اشتراک‌ها
اطمینان از انجام فرایندی خاص در سایت
سایت Pingdom که در ابتدا برای بررسی وضعیت در دسترس بودن یک سایت به وجود آمده بود، اکنون قابلیتی رو ارائه کرده که با استفاده از اون می‌تونید تعامل کاربر با سایت رو شبیه سازی کنید و از روند صحیح یک فرایند که کاربر در سایت انجام می‌دهد مطمئن شوید.
به عنوان مثال می‌خواهید مطمئن شوید که فرایند "لاگین کاربر در سایت، سپس جستجو برای یک محصول و در نهایت قرار دادن آن آیتم در سبد کاربر" به درستی انجام می‌شود. Transaction Monitor این سایت، این کار را در بازه‌های زمانی مشخصی انجام و گزارشی برای شما ارسال می‌کند. متاسفانه این سرویس رایگان نیست.

دمویی که در لینک زیر وجود داره، گویای همه چیز است:
https://www.pingdom.com/transactionmonitor
اطمینان از انجام فرایندی خاص در سایت
نظرات مطالب
مشکل همزمانی خواندن و به روز رسانی اطلاعات در برنامه‌های وب
شبیه سازی Row level locking در Entity Framework


using (var scope = new TransactionScope(...))
{
    using (var context = new YourContext(...))
    {
        var wallet = 
            context.ExecuteStoreQuery<UserWallet>("SELECT UserId, WalletId, Balance FROM UserWallets WITH (UPDLOCK) WHERE ...");

        // your logic

        scope.Complete();
    }
}

نظرات مطالب
Blazor 5x - قسمت 34 - توزیع برنامه‌های Blazor بر روی IIS
- اسمبلی‌های دات نتی را که هربار به صورت خودکار دریافت می‌کند. یکی از کارهای اسکریپتی که در انتهای فایل index.html درج شده، دقیقا بررسی امضای دیجیتال موارد موجود در کش مرورگر و موارد بر روی سرور هست. بنابراین غیرممکن است که اسمبلی‌های جدید WASM، از کش خوانده شوند.
- تنها مواردی که ممکن است از کش خوانده شوند، فایل‌های استاتیک برنامه هستند که دو رویه‌ی تنظیم هدر کش فایل‌های استاتیک (تنظیمات کش کردن چندسکویی فایل‌های ایستا در ASP.NET Core) و استفاده از روش‌های cache busting را باید مدنظر داشته باشید (مانند قرار دادن یک کوئری استرینگ بیانگر نگارش در انتهای فایل‌های css و js شبیه به asp-file-version) و این مورد در تمام برنامه‌های وب، یکسان است.
نظرات مطالب
کار با Kendo UI DataSource
سورس کامل این سری را برای ASP.NET Core در اینجا KendoUI.Core.Samples می‌توانید مشاهده کنید. برای نمونه، مثال مرتبط با این قسمت، کنترلر 2 و view 2 است. تصویری که ارسال کردید شبیه به کنترلر 3 و view 3 است. مطمئن شوید که view متناظری را درحال استفاده هستید و فیلدهای data source آن درست تعریف شده و همچنین تعریف قسمت ستون‌های گرید، با آن متناظر است. به علاوه به بزرگی و کوچکی ابتدای نام فیلدهای تعریف شده دقت داشته باشید. سمت سرور، نام به صورت Name و در سمت کلاینت (به علت نوع serialization و تنظیمات آن)، باید name تعریف شود.
نظرات مطالب
امن سازی برنامه‌های ASP.NET Core توسط IdentityServer 4x - قسمت هشتم- تعریف سطوح دسترسی پیچیده
در همان مطلب، پروژه‌ی ارسال شده را یکبار اجرا کنید. بعد از لیست «var allUserClaims = ((ClaimsIdentity)User.Identity).Claims» یک خروجی بگیرید. همین خروجی و لیست مسطح claims یک کاربر را اینطرف به Identity server اضافه کنید، کار می‌کند. چرا؟ چون در ساختار درونی سیستم ASP.NET Core Identity، در عمل چیزی به نام Role وجود خارجی ندارد. برای مثال Roleها هم در این سیستم یک User-Claim از نوع ClaimTypes.Role هستند. تمام سیستم Identity بر اساس User Claims کار می‌کند. تمام Roleها و غیره در پشت صحنه ابتدا تبدیل به user claims می‌شوند (یعنی یک لیست ساده و مسطح) و سپس استفاده خواهند شد. بنابراین اگر لیست نهایی (و مسطح) User Claims را در Identity server شبیه سازی کنید، به عملکرد یکسانی خواهید رسید.