چهارگانه ی ACID
دیتابیس های رابطه ای مانند SQL Server معمولا بر مبنای ACID کار میکنند. دیتابیس هایی که از این قوانین پیروی نمیکنند سرعت بیشتری دارند و سیال تر هستند اما اعتماد پذیری به داده های آنها کاهش پیدا میکند. بسیاری از دیتابیس های NoSQL از ACID صرف نظر میکنند.
بر مبنای اصل Atomicity داده ها باید از قانون همه یا هیچ پیروی کنند. یعنی یا تمام فیلدها درون جدول ذخیره میشود یا هیچکدام ذخیره نمیشود. دیتابیس باید در همه حال (قطع شدن اینترنت ، برق ، خطای سیستم) این وضعیت را حفظ کند.
بر مبنای Consistency دیتابیس بعد از هر تراکنش از یک حالت معتبر به یک حالت معتبر جدید برود. مواردی مانند نوع فیلدها ، محدودیت های اعمال شده بر آن و رابطه ی بین جداول همیشه باید رعایت شود.
بر مبنای Isolation هر تراکنش برای خود یکتا هست و به ذخیره شدن و یا نشدن سایر تراکنش ها مربوط نیست. اگر تعداد زیادی تراکنش در دیتابیس همزمان اعمال شود هیچکدام نباید روی دیگری اثر گذار باشد.
بر مبنای Durability اطلاعات هر تراکنش بعد از آنکه در دیتابیس اعمال شد باید ذخیره شود. اطلاعات نباید در اثر قطعی برق یا خطای سیستم از بین برود. در واقع هروقت دیتابیس نتیجه ی تراکنش را بر میگرداند برنامه نویس میداند اطلاعات جایی در دیسک ذخیره شده است و در آینده ی دور هم قابل دسترسی می باشد.
دیتابیس های رابطه ای مانند SQL Server معمولا بر مبنای ACID کار میکنند. دیتابیس هایی که از این قوانین پیروی نمیکنند سرعت بیشتری دارند و سیال تر هستند اما اعتماد پذیری به داده های آنها کاهش پیدا میکند. بسیاری از دیتابیس های NoSQL از ACID صرف نظر میکنند.
بر مبنای اصل Atomicity داده ها باید از قانون همه یا هیچ پیروی کنند. یعنی یا تمام فیلدها درون جدول ذخیره میشود یا هیچکدام ذخیره نمیشود. دیتابیس باید در همه حال (قطع شدن اینترنت ، برق ، خطای سیستم) این وضعیت را حفظ کند.
بر مبنای Consistency دیتابیس بعد از هر تراکنش از یک حالت معتبر به یک حالت معتبر جدید برود. مواردی مانند نوع فیلدها ، محدودیت های اعمال شده بر آن و رابطه ی بین جداول همیشه باید رعایت شود.
بر مبنای Isolation هر تراکنش برای خود یکتا هست و به ذخیره شدن و یا نشدن سایر تراکنش ها مربوط نیست. اگر تعداد زیادی تراکنش در دیتابیس همزمان اعمال شود هیچکدام نباید روی دیگری اثر گذار باشد.
بر مبنای Durability اطلاعات هر تراکنش بعد از آنکه در دیتابیس اعمال شد باید ذخیره شود. اطلاعات نباید در اثر قطعی برق یا خطای سیستم از بین برود. در واقع هروقت دیتابیس نتیجه ی تراکنش را بر میگرداند برنامه نویس میداند اطلاعات جایی در دیسک ذخیره شده است و در آینده ی دور هم قابل دسترسی می باشد.
تعریف Global Filter در ASP Core
گاهی نیاز داریم یک فیلتر در همه ی اکشنهای سایت اجرا شود. مثلا اگر اکشنی برای Redirect کاربر به صفحه ی عدم دسترسی نیاز داریم یا می خواهیم خطاهای ایجاد شده را در دیتابیس لوگ کنیم می توانیم از Global Action Filters در ASP Core استفاده کنیم. در این آموزش نحوه تنظیم Global Filter در محیط ASP Core MVC نمایش داده میشود.
آپارات :
https://www.aparat.com/v/X4HzU
گاهی نیاز داریم یک فیلتر در همه ی اکشنهای سایت اجرا شود. مثلا اگر اکشنی برای Redirect کاربر به صفحه ی عدم دسترسی نیاز داریم یا می خواهیم خطاهای ایجاد شده را در دیتابیس لوگ کنیم می توانیم از Global Action Filters در ASP Core استفاده کنیم. در این آموزش نحوه تنظیم Global Filter در محیط ASP Core MVC نمایش داده میشود.
آپارات :
https://www.aparat.com/v/X4HzU
بیلد 2018
ساتیا نادلا صحبتهایش را با محور حفظ حریم شخصی آغاز کرد. ضمن اینکه از GDPR استقبال کرد گفت همه ی خدمات مایکروسافت تا ماه دیگر آماده است این قوانین را پیاده کند. همچنین قرار است قابلیت پیاده سازی GDPR در فریم ورکها هم پیاده شود. (در ASP Core قبلا اضافه شده است)
نادلا همچنین درباره توسعه ی خدمات ابری Azure صحبت کرد.
به زودی قرار است Azure IOT به صورت سورس باز در اختیار برنامه نویسان قرار بگیرد تا گامی مهم به سمت اینترنت اشیا توسط مایکروسافت برداشته شود.
کینکت جدید با قابلیت های بیشتر و سنسورهای قویتر به زودی عرضه میشود.
ترکیب هوش مصنوعی با Azure و قابلیت اجرای محلی درون دستگاههایی مانند دوربین های مدار بسته و پهپادها نیز از دیگر امکاناتی است که مایکروسافت از امروز عرضه آنها رو شروع میکند.
مایکروسات 365 که ترکیبی یکپارچه از Skype و Cortana و هوش مصنوعی است می تواند بسیاری از نیازهای تجاری شرکتها را برطرف کند.
قابلیت برنامه نویسی بات برای همه ی سرویس ها در نظر گرفته شده است.
نادلا در پایان گفت همه ی خدمات مایکروسات برای شرکتهایی که در زمینه ی معلولان فعالیت می کنند به شکل ویژه عرضه میشود و این شرکت می خواهد سهم بزرگی در توسعه ی این نوع فن آوری ها داشته باشد.
ساتیا نادلا صحبتهایش را با محور حفظ حریم شخصی آغاز کرد. ضمن اینکه از GDPR استقبال کرد گفت همه ی خدمات مایکروسافت تا ماه دیگر آماده است این قوانین را پیاده کند. همچنین قرار است قابلیت پیاده سازی GDPR در فریم ورکها هم پیاده شود. (در ASP Core قبلا اضافه شده است)
نادلا همچنین درباره توسعه ی خدمات ابری Azure صحبت کرد.
به زودی قرار است Azure IOT به صورت سورس باز در اختیار برنامه نویسان قرار بگیرد تا گامی مهم به سمت اینترنت اشیا توسط مایکروسافت برداشته شود.
کینکت جدید با قابلیت های بیشتر و سنسورهای قویتر به زودی عرضه میشود.
ترکیب هوش مصنوعی با Azure و قابلیت اجرای محلی درون دستگاههایی مانند دوربین های مدار بسته و پهپادها نیز از دیگر امکاناتی است که مایکروسافت از امروز عرضه آنها رو شروع میکند.
مایکروسات 365 که ترکیبی یکپارچه از Skype و Cortana و هوش مصنوعی است می تواند بسیاری از نیازهای تجاری شرکتها را برطرف کند.
قابلیت برنامه نویسی بات برای همه ی سرویس ها در نظر گرفته شده است.
نادلا در پایان گفت همه ی خدمات مایکروسات برای شرکتهایی که در زمینه ی معلولان فعالیت می کنند به شکل ویژه عرضه میشود و این شرکت می خواهد سهم بزرگی در توسعه ی این نوع فن آوری ها داشته باشد.
آشنایی با Live Share
با این تکنولوژی دو برنامه نویس می توانند کدهای یک پروژه را به صورت مشترک تغییر دهند. در حالی که فایل های اصلی پروژه فقط روی یکی از دو سیستم قرار دارد.
وقتی می خواهید یک کد را با شخص دیگر به اشتراک بگذارید کافی است با افزونه LiveShare یک لینک بسازید و آن را برای شخص دیگر بفرستید.
نفر دیگر می تواند روی سیستمش به صورت زنده کد شما را ویرایش و اجرا کند بدون آنکه پروژه را دانلود کرده باشد. او می تواند کد را دیباگ کند و همچنین درون کد از Intellisense استفاده کند. نیاز به نصب پکیج ها و رفنس ها ندارد و شما می توانید محل قرار گیری او را ببینید. هچنین او میتواند روی یک فایل دیگر پروژه کار کند در حالی که شما روی قسمت مربوط به خود کار می کنید.
همچنین طرف دیگر می تواند برنامه را روی سرور محلی شما در سیستم خودش اجرا کند و تست های برنامه ی شما را اجرا کند.
با این تکنولوژی دو برنامه نویس می توانند کدهای یک پروژه را به صورت مشترک تغییر دهند. در حالی که فایل های اصلی پروژه فقط روی یکی از دو سیستم قرار دارد.
وقتی می خواهید یک کد را با شخص دیگر به اشتراک بگذارید کافی است با افزونه LiveShare یک لینک بسازید و آن را برای شخص دیگر بفرستید.
نفر دیگر می تواند روی سیستمش به صورت زنده کد شما را ویرایش و اجرا کند بدون آنکه پروژه را دانلود کرده باشد. او می تواند کد را دیباگ کند و همچنین درون کد از Intellisense استفاده کند. نیاز به نصب پکیج ها و رفنس ها ندارد و شما می توانید محل قرار گیری او را ببینید. هچنین او میتواند روی یک فایل دیگر پروژه کار کند در حالی که شما روی قسمت مربوط به خود کار می کنید.
همچنین طرف دیگر می تواند برنامه را روی سرور محلی شما در سیستم خودش اجرا کند و تست های برنامه ی شما را اجرا کند.
همکاری آمازون و مایکروسافت
دو منشی هوش مصنوعی Cortana و Alexa از این پس می توانند با هم صحبت کنند. کسانی که از هر دو محصول استفاده می کنند می توانند از اطلاعاتی که درون هر دو منشی ذخیره شده به صورت مشترک استفاده کنند.
این موضوع قدم بزرگی برای هر دو شرکت محسوب میشود و نشان میدهد مایکروسافت بجای جنگیدن با رقبا تلاش می کند در مسیر جدید حرکت کند.
دو منشی هوش مصنوعی Cortana و Alexa از این پس می توانند با هم صحبت کنند. کسانی که از هر دو محصول استفاده می کنند می توانند از اطلاعاتی که درون هر دو منشی ذخیره شده به صورت مشترک استفاده کنند.
این موضوع قدم بزرگی برای هر دو شرکت محسوب میشود و نشان میدهد مایکروسافت بجای جنگیدن با رقبا تلاش می کند در مسیر جدید حرکت کند.
آشنایی با InelliCode
معمولا وقتی در یک پروژه برنامه نویسی می کنید باید به دنبال تابع مورد نظر بگردید. لیست توابع که با ctrl+space باز میشود همیشه بر اساس نام مرتب شده است. اما Intellicode از این پس آنها را بر اساس کاربری مرتب میکند و هنگام تایپ کردن بر اساس پروژه ی جاری کد را تکمیل میکند.
در هر جای پروژه که باشید Intellicode مسیر بعدی را پیش بینی می کند و متغیری که بیشترین هماهنگی را با کد جاری دارد پیشنهاد میدهد. مثلا اگر باید تاریخ و ساعت را به یک تابع وارد کنید خودش به دنبال متغیرهای تاریخ و ساعت کد جاری میگردد و آنها را انتخاب میکند.
از دیگر امکانات این افزونه تولید هوشمند و خودکار فایل editConfig است. این فایل در همه ی ویرایشگرهای کد به عنوان استانداردی برای اعمال قوانین کد نویسی استفاده میشود و تا قبل از این باید دستی تولید میکردید.
همچنین این افزونه می تواند از روی تاریخچه ی تغییرات کد درون git یا TFS تشخصیص دهد که کدام قسمتهای کد باید تغییر کند یا ممکن است عامل بوجود آمدن باگ باشد.
چطور کار میکند ؟
مایکروسافت برای ایجاد این ابزار بیش از 2 هزار پروژه ی سورس باز در github را توسط Machine Learning پردازش کرده و یک سیستم هوش مصنوعی بوجود آورده که به شما کمک میکند کمتر تایپ کنید و باگها را سریعتر پیدا کنید.
برای کسب اطلاعات بیشتر می توانید به آدرس زیر مراجعه کنید :
https://blogs.msdn.microsoft.com/visualstudio/2018/05/07/introducing-visual-studio-intellicode/
برای دانلود افزونه می توانید به آدرس زیر بروید :
https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.VSIntelliCode
این افزونه کاملا رایگان است و روی همه ی نسخه های VS2017 کار میکند.
معمولا وقتی در یک پروژه برنامه نویسی می کنید باید به دنبال تابع مورد نظر بگردید. لیست توابع که با ctrl+space باز میشود همیشه بر اساس نام مرتب شده است. اما Intellicode از این پس آنها را بر اساس کاربری مرتب میکند و هنگام تایپ کردن بر اساس پروژه ی جاری کد را تکمیل میکند.
در هر جای پروژه که باشید Intellicode مسیر بعدی را پیش بینی می کند و متغیری که بیشترین هماهنگی را با کد جاری دارد پیشنهاد میدهد. مثلا اگر باید تاریخ و ساعت را به یک تابع وارد کنید خودش به دنبال متغیرهای تاریخ و ساعت کد جاری میگردد و آنها را انتخاب میکند.
از دیگر امکانات این افزونه تولید هوشمند و خودکار فایل editConfig است. این فایل در همه ی ویرایشگرهای کد به عنوان استانداردی برای اعمال قوانین کد نویسی استفاده میشود و تا قبل از این باید دستی تولید میکردید.
همچنین این افزونه می تواند از روی تاریخچه ی تغییرات کد درون git یا TFS تشخصیص دهد که کدام قسمتهای کد باید تغییر کند یا ممکن است عامل بوجود آمدن باگ باشد.
چطور کار میکند ؟
مایکروسافت برای ایجاد این ابزار بیش از 2 هزار پروژه ی سورس باز در github را توسط Machine Learning پردازش کرده و یک سیستم هوش مصنوعی بوجود آورده که به شما کمک میکند کمتر تایپ کنید و باگها را سریعتر پیدا کنید.
برای کسب اطلاعات بیشتر می توانید به آدرس زیر مراجعه کنید :
https://blogs.msdn.microsoft.com/visualstudio/2018/05/07/introducing-visual-studio-intellicode/
برای دانلود افزونه می توانید به آدرس زیر بروید :
https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.VSIntelliCode
این افزونه کاملا رایگان است و روی همه ی نسخه های VS2017 کار میکند.
Microsoft
Introducing Visual Studio IntelliCode
The official source of product insight from the Visual Studio Engineering Team