مروری بر بیلد 2018
بیش از 50 درصد جلسات امسال درباره ی Azure و قابلیت های آن بود.
هوش مصنوعی هم بخش مهمی از جلسات امسال را در بر گرفت. معرفی قابلیت های سرویس ابری هوش مصنوعی مایکروسافت به نام Cognitive Services در کنار بررسی فریم ورک ML NET تماشاگران بسیاری را به کنفرانس کشاند.
چند جلسه ی کامل به موضوع Fluent Design اختصاص داده شد. این سیستم طراحی جدید مایکروسافت در رقابت با Material Design گوگل معرفی شده است.
تکنولوژی Microsoft Graph و MS 365 که در زمینه ی یکپارچه سازی اطلاعات و امور تجاری است بخش بزرگی از کنفرانس امسال بود و مدیر عامل مایکروسافت هم آنها را به عنوان اهداف اصلی توسعه معرفی کرد.
بخشی از کنفرانس به Blockchain اختصاص داده شده بود. پیش بینی میشود سرمایه گذاری در این زمینه در 5 سال آینده 10 برابر شود.
در برنامه نوسی وب نکته ی جالب توجه کم رنگ بودن Blazor بود. این فریم ورک به صورت حاشیه ای معرفی شد در حالی که همه انتظار داشتند یک جلسه ی اخصاصی داشته باشد. معلوم است که مایکروسافت هنوز تصمیم نگرفته آیا قصد توسعه ی آن را دارد یا نه.
در بسیاری از دموهای امسال از Vue.js استفاده شد. این فریم ورک حداقل در بین برنامه نویسان مایکروسافت طرفداران زیادی دارد.
بیش از 50 درصد جلسات امسال درباره ی Azure و قابلیت های آن بود.
هوش مصنوعی هم بخش مهمی از جلسات امسال را در بر گرفت. معرفی قابلیت های سرویس ابری هوش مصنوعی مایکروسافت به نام Cognitive Services در کنار بررسی فریم ورک ML NET تماشاگران بسیاری را به کنفرانس کشاند.
چند جلسه ی کامل به موضوع Fluent Design اختصاص داده شد. این سیستم طراحی جدید مایکروسافت در رقابت با Material Design گوگل معرفی شده است.
تکنولوژی Microsoft Graph و MS 365 که در زمینه ی یکپارچه سازی اطلاعات و امور تجاری است بخش بزرگی از کنفرانس امسال بود و مدیر عامل مایکروسافت هم آنها را به عنوان اهداف اصلی توسعه معرفی کرد.
بخشی از کنفرانس به Blockchain اختصاص داده شده بود. پیش بینی میشود سرمایه گذاری در این زمینه در 5 سال آینده 10 برابر شود.
در برنامه نوسی وب نکته ی جالب توجه کم رنگ بودن Blazor بود. این فریم ورک به صورت حاشیه ای معرفی شد در حالی که همه انتظار داشتند یک جلسه ی اخصاصی داشته باشد. معلوم است که مایکروسافت هنوز تصمیم نگرفته آیا قصد توسعه ی آن را دارد یا نه.
در بسیاری از دموهای امسال از Vue.js استفاده شد. این فریم ورک حداقل در بین برنامه نویسان مایکروسافت طرفداران زیادی دارد.
سر فصلهای دوره ی آموزشی
ASP Core 2.1 - MVC
HTTP Protocol
Kestrel
Startup
Middlewares
Static Files
Loggign
Views
Razor Engine
Razor pages
Tag Helpers
View Components
Partial Views
Controllers
Routing
Uploading files
Actions
Action Filters
Models
Identity
Entityframe work
Code First
Dependency Injection
ASP Core 2.1 - MVC
HTTP Protocol
Kestrel
Startup
Middlewares
Static Files
Loggign
Views
Razor Engine
Razor pages
Tag Helpers
View Components
Partial Views
Controllers
Routing
Uploading files
Actions
Action Filters
Models
Identity
Entityframe work
Code First
Dependency Injection
آنچه باید درباره ی Core 3.0 بدانید :
این نسخه تا پایان سال جاری میلادی عرضه میشود.
این نسخه از WPF و WinForm پشتیبانی میکند. اما در این حالت فقط روی ویندوز اجرا میشود.
نیاز به نصب دات نت روی سیستم کاربر وجود ندارد و می توان با کپی فولدر آن را در هرجایی اجرا کرد.
می توان پروژه را به یک فایل تکی اجرایی exe تبدیل کرد که مستقل از هر فریم ورکی کار کند. (مانند برنامه های پرتابل)
امکان استفاده از کنترل های UWP درون ویندوز فرم وجود دارد.
سرعت اجرای برنامه های WinForm در Core بیشتر است و آزمایشها اولیه تا دوبرابر بهبود را نشان میدهد.
این نسخه تا پایان سال جاری میلادی عرضه میشود.
این نسخه از WPF و WinForm پشتیبانی میکند. اما در این حالت فقط روی ویندوز اجرا میشود.
نیاز به نصب دات نت روی سیستم کاربر وجود ندارد و می توان با کپی فولدر آن را در هرجایی اجرا کرد.
می توان پروژه را به یک فایل تکی اجرایی exe تبدیل کرد که مستقل از هر فریم ورکی کار کند. (مانند برنامه های پرتابل)
امکان استفاده از کنترل های UWP درون ویندوز فرم وجود دارد.
سرعت اجرای برنامه های WinForm در Core بیشتر است و آزمایشها اولیه تا دوبرابر بهبود را نشان میدهد.
فرق POST و PUT
یک متدی وقتی Safe است که اجرای آن در وضعیت سرور تغییر ایجاد نکند. اصولا متدهای "فقط خواندنی" مانند GET به عنوان Safe شناخته میشوند. (مگر اینکه برنامه نویس به اشتباه روی متد GET تغییراتی در وضعیت سرور اعمال کند!)
یک متد وقتی Idempotent هست که وقتی چند بار پشت سر هم فراخوانی شد نتیجه ی یکسان در سرور بدست آید. متد POST اینگونه نیست. چرا که وقتی یک رکورد را از این طریق به سرور میفرستید در دیتابیس ردیف جدید ایجاد میشود. اگر صد بار اجرا شود صد ردیف جدید خواهید داشت.
اگر با متد PUT رکوردی به سرور ارسال شود طبق استاندارد باید بررسی کنید که آیا رکورد مشابهی در دیتابیس وجود دارد یا خیر و اگر بود باید آن را تغییر دهید (و رکورد جدید در دیتابیس اضافه نکنید) و اگر نبود مجاز هستید که مانند POST ردیف جدید ایجاد کنید. حالا اگر دوباره همان رکورد به سرور ارسال شود وضعیت دیتابیس تغییر نمیکند. پست PUT باید نسبت به اجرای چندباره خنثی عمل کند.
البته اینها فقط استاندارد است و پیاده سازی مکانیزم به عهده ی برنامه نویس می باشد.
یک متدی وقتی Safe است که اجرای آن در وضعیت سرور تغییر ایجاد نکند. اصولا متدهای "فقط خواندنی" مانند GET به عنوان Safe شناخته میشوند. (مگر اینکه برنامه نویس به اشتباه روی متد GET تغییراتی در وضعیت سرور اعمال کند!)
یک متد وقتی Idempotent هست که وقتی چند بار پشت سر هم فراخوانی شد نتیجه ی یکسان در سرور بدست آید. متد POST اینگونه نیست. چرا که وقتی یک رکورد را از این طریق به سرور میفرستید در دیتابیس ردیف جدید ایجاد میشود. اگر صد بار اجرا شود صد ردیف جدید خواهید داشت.
اگر با متد PUT رکوردی به سرور ارسال شود طبق استاندارد باید بررسی کنید که آیا رکورد مشابهی در دیتابیس وجود دارد یا خیر و اگر بود باید آن را تغییر دهید (و رکورد جدید در دیتابیس اضافه نکنید) و اگر نبود مجاز هستید که مانند POST ردیف جدید ایجاد کنید. حالا اگر دوباره همان رکورد به سرور ارسال شود وضعیت دیتابیس تغییر نمیکند. پست PUT باید نسبت به اجرای چندباره خنثی عمل کند.
البته اینها فقط استاندارد است و پیاده سازی مکانیزم به عهده ی برنامه نویس می باشد.
نسخه ی Beta 3 از Flutter SDK عرضه شد.
فریم ورک Flutter برای طراحی رابط کاربری آیفون و اندروید استفاده میشود و در این هفته نسخه ی بتای سوم آن منتشر شد.
گوگل در این نسخه از زبان برنامه نویسی Dart 2 استفاده میکند. این زبان همان جاوا اسکریپت است با قابلیت های بیشتر (چیزی شبیه TypeScript) .
چند سالی میشد که گوگل کار روی این زبان را متوقف کرده بود اما حالا با جلب شدن توجه ها به سمت TypeScript تلاش میکند در این بازار سهمی داشته باشد.
گوگل اعلام کرد با نرم افزار VS Code به عنوان "شهروند درجه ی اول" برخورد میکند و همه ی آپدیت های Flutter را علاوه بر Android Studio در در VS Code هم قرار میدهد.
افزونه ی زبان دارت برای VS Code بیش از 250 هزاربار دانلود شده و هنوز یک هفته نشده آمار دانلود افزونه ی FLutter هم از 11 هزارتا عبور کرده است.
فریم ورک Flutter از یک کد برای تولید رابط کاربری اندروید و آیفون روی GPU استفاده میکند و خروجی آن به صورت ARM محلی است.
فریم ورک Flutter برای طراحی رابط کاربری آیفون و اندروید استفاده میشود و در این هفته نسخه ی بتای سوم آن منتشر شد.
گوگل در این نسخه از زبان برنامه نویسی Dart 2 استفاده میکند. این زبان همان جاوا اسکریپت است با قابلیت های بیشتر (چیزی شبیه TypeScript) .
چند سالی میشد که گوگل کار روی این زبان را متوقف کرده بود اما حالا با جلب شدن توجه ها به سمت TypeScript تلاش میکند در این بازار سهمی داشته باشد.
گوگل اعلام کرد با نرم افزار VS Code به عنوان "شهروند درجه ی اول" برخورد میکند و همه ی آپدیت های Flutter را علاوه بر Android Studio در در VS Code هم قرار میدهد.
افزونه ی زبان دارت برای VS Code بیش از 250 هزاربار دانلود شده و هنوز یک هفته نشده آمار دانلود افزونه ی FLutter هم از 11 هزارتا عبور کرده است.
فریم ورک Flutter از یک کد برای تولید رابط کاربری اندروید و آیفون روی GPU استفاده میکند و خروجی آن به صورت ARM محلی است.
نسخه ی جدید EF Core 2.1 هنوز در حالت RC است اما تا چند هفته ی دیگر نسخه نهایی آن عرضه میشود. در این پست نگاهی می اندازیم به موارد جدیدی که به آن اضافه شده است.
http://codehaks.com/blog/35
http://codehaks.com/blog/35