اشتراک‌ها
بیلد جدید ویندوز 10 با شماره 17134.590 منتشر شد + فهرست تغییرات + لینک دانلود

برخی از تغییرات:

  • رفع نواقص و مشکلات مرتبط با نرم‌افزار مرورگر مایکروسافت اج
  • رفع مشکل اجرای اپلیکیشن‌های دارای سطح دسترسی به پایگاه داده Microsoft Jet از طریق قالب فرمتی Access 97
  • رفع مشکل عدم تنظیم صحیح مقادیر LmCompatibilityLevel بر روی برخی از رایانه‌های شخصی مختلف
  • افزودن قابلیت پیش پشتیبانی از بستر (HTTP Strict Transport Security (HSTS در نرم‌افزارهای مرورگر مایکروسافت اج و نسخه یازدهم اینترنت اکسپلورر
بسته تجمعی همین بیلد با شماره دیگر اینجا...

بیلد جدید ویندوز 10 با شماره 17134.590 منتشر شد + فهرست تغییرات + لینک دانلود
اشتراک‌ها
ساخت یک 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
اشتراک‌ها
Continuous Integration چیست ؟

ادغام مستمر یا ادغام مداوم (Continuous Integration) فرایندی است که در آن توسعه دهندگان می‌توانند به طور مستمر کارهای خود را با هم یکپارچه کنند، هر بار که توسعه دهنده ای کدی را به سورس کنترل اضافه می‌کند، توسط یک بیلد اتوماتیک عدم تاثیر منفی تغییرات کدها در پروژه‌ها بررسی میشود. با اجرای این فرآیند که شامل کامپایل و بیلد کردن پروژه‌ها و اجرای تست‌های واحد (unit test) است، مشکلات یکپارچه سازی به شدت کم می‌شود و تیم‌ها را قادر می‌سازد تا ... 

Continuous Integration چیست ؟
اشتراک‌ها
حل مشکلات Json در یک استاندارد جدید به نام Hjson

همانطور که می‌دانید در چند سال اخیر استفاده از فرمت json برای فایل‌های کانفیگ بسیار رایج شده است. در این مورد یک توییت جالب همه را به چالش کشید: «خواهش می‌کنم از json برای کانفیگ فایل‌ها استفاده نکنید، تو json نمی‌شه کامنت نوشت و بدون کامنت مدیریت کانفیگ‌ها خیلی سخته». این نکته برای من خیلی جالب بود. به نظر می‌رسد فرمت json برای فایل‌هال کانفیگ چالش‌هایی دارد.

لینک زیر یک فرمت جدید رو که اسمش Human Json یا Hjson هست را معرفی کرده که نه تنها مشکل کامنت را ندارد، بلکه خیلی مشکلات دیگر که هنوز به آن فکر نشده بود را هم ندارد! جالبه که کتابخانه‌هایی هم برای این استاندارد نوشته شده که استفاده از اون رو در بیشتر زبان‌های محبوب مانند Java, C#, JavaScript, Mono, Ruby, Python, Noder.js, PHP, Go و زبانهای دیگر ساده می‌کند. 

حل مشکلات Json در یک استاندارد جدید به نام Hjson
اشتراک‌ها
"به خودمان اهمیت بدهیم"

کسانی که در حوزه توسعه نرم افزار کار می‌کنند عموما از سبک زندگی مناسبی برخوردار نیستند. فشار کاری زیاد، انتظارات بالای سایرین از ما، رقابت شدید، نیاز به یادگیری مداوم و به روز ماندن، ساعت‌ها خیره شدن به مانیتور و فعالیت فیزیکی بسیار پایین، عدم تعامل موثر با سایرین و ... از ویژگی‌های "حرفه" ماست. این‌ها در کنار مشکلات جدی‌تر زندگی مانند مسائل مالی، رابطه و دغدغه‌های زندگی بسیار سنگین‌تر هم خواهند شد.
اسکات هنسلمن در وبلاگ اش راهکار هایی را که خودش برای حل این مسائل به کار بسته را به اشتراک گذاشته است.
 

"به خودمان اهمیت بدهیم"
نظرات مطالب
Blazor 5x - قسمت 24 - تهیه API مخصوص Blazor WASM - بخش 1 - ایجاد تنظیمات ابتدایی
یک نکته‌ی تکمیلی: تولید URLهای strongly typed در برنامه‌های Blazor WASM 

یکی از مشکلات کار با برنامه‌های Blazor WASM، نیاز به کار با آدرس‌های رشته‌ای مانند زیر است که تحت کنترل کامپایلر نبوده و همچنین با تغییر مسیریابی‌های برنامه، به‌هم خواهند ریخت:
var secretUrl = "api/WeatherForecast/_secretUrl";
کتابخانه‌ی « ApiUrlsGenerator »، این مشکل را برطرف کرده و به صورت خودکار بر اساس Action Methods موجود، نمونه‌ی strongly typed آن‌ها را تولید می‌کند:
 var secretUrl = ApiUrls.WeatherForecast.HttpGet.SecretUrl;
نظرات مطالب
مفاهیم پایه سیستم های کنترل نسخه؛ قسمت اول : گیت
در روزهای اخیر مشکلات متعددی برای خود و دوستانم مشاهده کردم که در حین کار با مخزن گیتهاب با خطای زیر مواجه میشدند:
OpenSSL SSL_connect: Connection was reset in connection to github.com:443

جهت رفع این موضوع کامند زیر در cmd بزنید:
git config --global http.sslBackend schannel
در صورتی که همچنان موضوع ادامه داشت برای هر پروژه وارد دایرکتوری مخفی گیت در مسیر ریشه پروژه شده و فایل config را باز کرده و در انتهای آن عبارات زیر را اضافه کنید:
[http]
        sslBackend = schannel

نظرات مطالب
ارسال ایمیل در ASP.NET Core
- خطای «The host name did not match the name given in the server's SSL certificate»، به معنای دستکاری شدن مجوز دریافتی از میل سرور راه دور، در بین راه هست و یا یکی از این 5 مورد که به معنای به روز نبودن سیستم عامل سرور هست یا مشکلات شبکه داخلی.
- راه حل‌هایی مانند کدهای زیر هم برای عدم بررسی مجوزهای دریافتی وجود دارد (که به معنای لغو بررسی‌های امنیتی است):
using (var client = new SmtpClient ()) {
    client.ServerCertificateValidationCallback = (s,c,h,e) => true;
    client.CheckCertificateRevocation = false;
    // ...
}
نظرات مطالب
روش اتصال دومین‌های ir. به یک DNS Server
با در نظر گرفتن طرح ابر ایران یا یا بهتر بگم همون اینترنت ملی سابق امکان اختلال در سرویس‌های خارجی وجود داره شما که همه چیز رو منتقل کردید به داخل شاید بهتر باشه از سرویس DNS داخلی استفاده کنید تا از مشکلات DNS احتمالی در آینده هم در امان باشیم. مشابه همین سرویس رو ابرآروان هم به صورت رایگان ارائه میده
در مورد قیمت‌های IR هم جالبه بدونید اگر از سایت‌های هاستینگ داخلی خرید کنید هزینه یکسال 5900 تومان و برای پنج سال 14600 تومان محاسبه می‌کنند. 
نظرات مطالب
غنی سازی کامپایلر C# 9.0 با افزونه‌ها

فرض کنید نمی‌خواهید فایل‌های migration حاصل از ابزارهای EF-Core را وارد پروسه‌ی آنالیز افزونه‌ها کنید؛ چون این فایل‌ها به صورت خودکار تولید می‌شوند و اصلاح آن‌ها، یا کیفیت آن‌ها، مشکل ما نیست. برای این منظور، فقط کافی است داخل پوشه‌ی migrations، یک فایل اختصاصی editorconfig. را با محتوای زیر قرار داد:
[*.cs]
generated_code = true
به این ترتیب تمام فایل‌های cs قرارگرفته‌ی در این پوشه، به عنوان «کدهای به صورت خودکار تولید شده» علامتگذاری شده و دیگر مشکلات کیفیتی آن‌ها وارد پروسه‌ی آنالیز و build برنامه نمی‌شوند.