برگزاری همایش ثبت شده Microsoft Build 2018 در ایران
در تاریخ 31 خرداد ماه 1397 شرکت نیک آموز همایش Microsoft Build 2018 را در ایران با موفقیت برگزار نمود. این همایش برای 400 نفر متخصص در حوزه برنامه نویسی و بانک اطلاعاتی برگزار گردید.
در این همایش سخنرانان بنامی حضور داشتند که به نوبه خود دارای تخصص و تسلط بسیار بالایی در حوزه کاری خودشان هستند.
دست آورد همایش Microsoft Build 2018
در این همایش متخصصین بسیار زیادی شرکت کردند که با مطالب به روز در حوزههای مختلف برنامهنویسی، بانک اطلاعاتی و هوش تجاری آشنا شدند.
بخش اول

در این بخش همایش مهندس علیرضا ارومند دو موضوع بسیار جذاب را با هم بررسی کردیم. ابتدا در مورد دسترسی به دیتا و راهکارهای انجام این موضوع توسط مایکروسافت و سایر شرکتها صحبت کردیم و دیدیم طی ۱۰ سال گذشته تلاشهای تیم مایکروسافت در زمینه توسعه ابزارهای مناسب چگونه منجر به تولید کتابخانهها و ابزارهای قدرتمند در حوزه دسترسی به دادهها شده که بی شک بهترین آنها EF Core است. یک ORM قدرتمند، سریع و انعطاف پذیر. اما این ORM هم طی ۲ سال گذشته تغییرات و بهبودهای فراوانی داشته که در ادامه این مطالب را بررسی کردیم.
یکی از کارهایی که به عنوان یک برنامه نویس با آن سر و کار داریم ساخت پایگاه داده و تامین اطلاعات اولیه آن میباشد. تا قبل از نسخه جدید این کار به سختی انجام میشد و معمولا سختی کار باعث عدم انجام آن میشد. اما در نسخه جدید تعیین دادههای اولیه به راحتی و با انجام تنظیمات ساده در زمان به روز رسانی ساختار پایگاه داده انجام میشود.
یکی دیگر از موضوعات مهم اضافه شده به EF Core امکان تعیین تابعی جهت تغییر نوع داده هنگام ذخیره سازی و بازیابی است. در بسیاری از مواقع نوع دادهای که قصد داریم در پایگاه داده ذخیره کنیم با نوع دادهای که توسط DB Engine پشتیبانی میشود متفاوت است. تا قبل از این نسخه جدید EF Core برای این مواقع هیچ راهکار مناسب و مشخصی وجود نداشت اما در نسخه جدید به راحتی هنگام انجام تنظیمات برنامه میتوانیم توابعی را معرفی کنیم که قبل از ذخیره سازی اطلاعات بر روی آنها اعمال می شود و نوع دادهها را به نوع ورودی ما تغییر میدهد و یا برعکس نوع داده واکشی شده از پایگاه داده را تغییر میدهد و به نوع مناسب در زبان برنامه نویسی تبدیل میکند.
تغییر بعدی که در این نسخه اتفاق افتاده امکان استفاده از Lazy Loading بود. این امکان در نسخههای قبلی EF وجود داشت اما در زمان عرضه EF Core از دسترس خارج شده بود که با درخواست بسیاری از کاربران این امکان از نسخه ۲.۱ در EF Core اضافه شد و با انجام تنظیمات اولیه در Context و تعریف خواص کلاس ها به صورت Virtual میتوان این امکان را به صورت Proxy در سیستم فعال نمود.
آخرین امکانی که در EF Core با هم بررسی کردیم تغییر در روال ترجمه کوئریهای EF به کوئری های قابل فهم توسط SQL Server بود که مهم ترین آن انجام عملیات Group By در پایگاه است که میتواند عملکرد سیستم را مقدار قابل ملاحظه ای افزایش دهد.
بعد از پایان صحبت در مورد دسترسی به داده ها نوبت به یادگیری ماشین رسید. این روزها حرفاهای زیادی در مورد یادگیری ماشین و هوش مصنوعی به گوش میرسد. شرکتهای بزرگی مثل مایکروسافت و رقبایش تلاشهای بسیار زیادی برای موفقیت در این راه انجام داده اند. اما چگونه به عنوان یک برنامه نویسی میتوانیم دانش خود را در این زمینه گسترش دهیم بدون اینکه یک دانشمند در زمینه Data باشیم؟ در این قسمت در مورد ابزارها و روشهایی که میتوانیم برنامه هایی هوشمند داشته باشیم صحبت کردیم و دیدیم مایکروسافت به عنوان یکی از پیشروهای عرصه دیجیتال چهارچوب ها و ابزارهای مختلف و کاملی در این زمینه ارائه کرده و نیازی نداریم برای یادگیری ماشین تکنولوژی جدید را یاد بگیریم یا کار جدیدی انجام دهیم فقط کافی است دانش خود در مورد یادگیری ماشین را افزایش دهیم و از ابزارهای موجود به شکل بهینه استفاده کنیم. در ادامه کی مثال کوچک از یادگیری ماشین را با هم بررسی کردیم.
بخش دوم
همانطور که اطلاع دارید مایکروسافت SQL Server 2017 را با ویژگیهای جدید و عالی ارائه داده است. ما در این همایش برخی از ویژگیهای مربوط به SQL Server 2017 را خدمت شرکت کنندگان ارائه دادیم که در ادامه با آنها آشنا خواهید شد.
1- معرفی خلاصهای از ویژگیهای SQL Server 2017
در طی این بخش ما با مهمترین ویژگیهای SQL Server 2017 آشنا شدیم در واقع این ویژگیها دلایلی بود که باعث میشد که ما بدانیم که چرا باید از SQL Server 2017 در مجموعه خودمان استفاده کنیم.
2- معرفی برخی ویژگیهای جدید SQL Server 2017 برای برنامهنویسان
در ارائه مربوط به این بخش چند ویژگی جذاب از SQL Server 2017 برای برنامهنویسان معرفی شد که از نمونههای آن میتوان به موارد زیر اشاره کرد.
1) معرفی ویژگی Identity Cache
2) معرفی Graph Tableها
3) آشنایی با In-Memory OLTP و تغییرات آن برای Developerها

3- بررسی یک Case Study برای کار با In-Memory OLTP
ما در این جلسه یک Case Study خوب برای کار با In-Memory OLTP معرفی کردیم. این پروژه جزء پروژههایی که بوده که من اجرای آن را با یک تیم بسیار خوب توانستم در یکی از شرکتهای حوزه پرداخت آن را انجام دهم.

4- معرفی Machine Learning
ما در این ارائه با مفهوم یادگیری ماشین و ویژگیهای ارائه شده به ازای آن آشنا شدیم. توجه داشته باشید که مایکروسافت رویکرد جدید در SQL Server برای یادگیری ماشین و مفاهیم مربوط به آن ارائه داده که هم در SQL Server و هم در .NET وجود دارد.
5- اجرای SQL Server 2017 در بستر Linux و Docker
همانطور که اطلاع دارید SQL Server 2017 امکان اجرا در بستر لینوکس و داکر را دارد. ما در این جلسه در خصوص این موضوع و اجرای SQL Server در بستر لینوکس صحبت کردیم و دموی در این خصوص برای دانشجویان ارائه دادیم.

6- بررسی تغییرات Always-ON
پیادهسازی High Availability در SQL Server یکی از مباحثی است که برای DBAها همیشه جذاب میباشد. در SQL Server ما ویژگی به نام Always-ON داریم که با استفاده از آن میتوانیم HA را پیادهسازی کنیم. ما در این بخش Always-ON و برخی از ویژگیهای آن در SQL Server را برای شرکت کنندگان ارائه دادیم. همچنین در انتهای ایان بخش نحوه راهاندازی یک سرور گزارشگیری با استفاده از Always-On در SQL Server را برای دانشجویان شرح دادیم.
7- بررسی تغییرات مربوط به حوزه Performance & Tuning
در SQL Server 2017 تغییراتی در حوزه Performance & Tuning ارائه شده که این تغییرات عبارتند از:
1) Adaptive Query Processing
2) Automatic Database Tuning
3) Resume Online Index Rebuild
ما در این این بخش به ازای هر کدام از مباحث ارائه شده یک دمو کاربردی ارائه دادیم.
بخش سوم
در این بخش آقای مهندس سیاوش گلچوبیان به معرفی یک پروژه هوش تجاری در صنعت خودرو پرداختند. هدف از معرفی این پروژه آشنایی شرکت کنندگان با مسیر اجرای یک پروژه BI به روش مایکروسافتی بود. قسمتهای معرفی شده در این پروژه به شرح زیر میباشد.
1- معرفی Data Warehouse
2- بررسی ETL و چالشهای مربوط به آن
3- بررسی پایگاه داده تحلیلی
4- بررسی داشبوردهای مدیریتی
پس از بررسی پروژه تعاریف مربوط به هوش، Platform مدیریت داده جهت تحلیل به شرکت کنندگان در همایش معرفی شد. در این Platform شما میتوانید دادهها را از منابع اطلاعاتی مختلفی استخراج و پس از پاکسازی آن در انباره داده یا Data Warehouse قرار دهید و پس از آن بانک اطلاعاتی تحلیلی یا OLAP را ایجاد نموده و شروع به استخراج گزارشهای تحلیلی از روی آن نمایید.
یکی از جنبههای جالبی که در این همایش مورد توجه شرکت کنندگان قرار گرفت Visualization و ایجاد داشبوردهای مدیریتی با استفاده از ابزارهای مانند Mobile Report Publisher و Power BI میباشد. ما در این همایش این ابزارها را برای شرکتکنندگان معرفی کرده و نمونهای از پروژههای اجرا شده با استفاده از این ابزارها را دمو کردیم.




در انتهای این بخش از همایش رتبه Platform هوش تجاری مایکروسافت از نظر گارتنر با سایر رقبای موجود در بازار بررسی شد.
بخش چهارم
در قسمت پایانی همایش نوبت به ASP.NET Core MVC و تغییرات آن رسید. یکی از مهم ترین قسمت هایی که ابتدا در مورد آن صحبت کردیم SignalR بود. قابلیت جذابی که در سال ۲۰۱۳ معرفی شد و توسعه نرم افزارهای real-time را بسیار ساده و جذاب کرد. از زمان ارائه ASP.NET Core تلاشهای زیادی صورت گرفت تا امکان دسترسی به این ابزار جذاب برای برنامه نویسان فراهم شود و بالاخره این تلاش ها در نسخه 2.1 نتیجه داد و حالا برنامه نویسان میتوانند با این ابزار فوق العاده که این روزها سرعت و انعطاف بیشتری نسبت به نسخه قبلی خود پیدا کرده است کار کنند. در ادامه بررسی SignalR یک برنامه چت گروهی ساده را آماده و پیاده سازی کردیم.
اما تغییرات ASP.NET Core به اینجا ختم نمی شود. امکان دیگری که به ASP.NET Core اضافه شده است Razor Class Library است. به جرات میتوان گفت بزرگترین مشکل در لایه UI اشتراک گذاری کدها و قسمت های مختلف برنامه است و معمولا برای اشتراک گذاری باید کل کار کپی میشد و در صورت نیاز به تغییر باید در قسمت های مختلف برنامه این تغییر را به صورت تکراری اعمالی میکردیم. اما Razor Class Library این امکان را برای ما فراهم کرد که کدهای لایه UI را در یک پروژه به صورت مجتمع توسعه داده و در هر جایی که با آنها نیاز داشتیم بدون نیاز به Copy&Past Programming کدها را مجدد استفاده کنیم.
اما مبحث بعدی که در مورد آن صحبت کردیم امنیت در برنامه های تحت وب بود و دیدیم که ASP.NET Core چگونه با انجام چند تغییر کوچک امکان ساخت برنامه های امن را برای ما فراهم کرده است. در پایان نیز چند امکان دیگر مثل HttpClientFactory و APIControllerAttribute و کاربردهای آنها را با هم بررسی کردیم.
همایش مایکروسافت از نگاه دوربین عکاسان













