جلسه اول دوره Modern Data Layer در روز 4 آبان در حالی که بازی دربی در حال بزگزاری بود و خیابونها خلوت، برگزار شد. مثل همه جلسات اول، دقایق ابتدایی کلاس به آشنایی با دوستان حاضر در دوره گذشت. بعد از آشنایی مختصر نوبت به معرفی دوره رسید.
1-داده چیست؟
ابتدا بررسی کردیم که داده چیست و اصلا چرا اطلاعات در حال حاضر اینقدر برای ما اهمیت دارد؟! بعد از آن تعریف مختصری ازEnterprise Applicationها ارائه کردیم و دیدیم که چگونه ظهور کامپیوتر، اینترنت و نرم افزار باعث شد روال عادی زندگی و کار سرعت بگیرد و این نرمافزارها بودند که کمک شایانی به این موضوع کردند. اما همانطور که به مرور زمان سرعت زندگیها به کمک نرم افزار افزایش پیدا کرد، سرعت پیشرفت نرم افزارها هم زیاد و زیادتر شد. تا جایی که زمانی اطلاعات زیاد یعنی 1 گیگ دیتا اما در حال حاضر حتی چند ترابایت دیتا هم اطلاعات زیادی محسوب نمیشود. دیدیم که در این شرایط همانطور که سخت افزار پیشرفت کرده، نرمافزار هم باید پیشرفت کند و دیگر روشهای سنتی برنامهنویسی کاربرد ندارد.
2-مفهوم Polyglot Programming و Polyglot Persistance
با مفهوم Polyglot Programming و Polyglot Persistance آشنا شدیم و دیدیم که چگونه این روش توسعه میتواند ما را برای رسیدن به هدف و موفقیت کمک کند. اما هر پیشرفتی پیچیدگیها و سختی های خاص خودش را دارد. کارهایی که در حالت عادی توسط ابزارها به صورت خودکار پشتیبانی میشوند مثل Data Integrity حالا باید برای آن راه حل و راهکار و الگو داشته باشیم که یکی از اهداف ما در این دوره رسیدن به این الگوهاست.
در ادامه بیان کردیم که در این دوره چه مواردی را فراخواهیم گرفت.
- آشنایی کامل با Linq
- Entity Framework core
- Dapper
- Rediss
3-آموزش LINQ
نیمه دوم کلاس نوبت به آموزش LINQرسید. LINQ زبان مایکروسافت برای کارکردن با انواع Data Sourceهاست، پس به عنوان کسی که میخواهد در لایه دیتا توسعه حرفهای داشته باشد، باید با این زبان به خوبی آشنا باشد. ابتدا به معرفی اجمالی این زبان پرداختیم و با هم بررسی کردیم که کدام یک از ویژگیهای زبان سیشارپ در تولید این زبان کاربرد داشته است. ویژگیهای مانند Extention Method, Func, Action و … را با هم بررسی کردیم و به تابع Where را به کمک این امکانات شبیهسازی کردیم.
در ادامه دو روش کوئرینویسی یعنی Query و Method Syntax را با هم بررسی کردیم و دیدیم که روش Query Syntax نواقصی دارد که ما را بالاجبار به سمت Method syntax سوق میدهد. در ادامه با مفهوم Diferred Executionآشنا شدیم و دیدیم که چه معایب و محاسنی دارد.
توابع Linq را میتوان از جنبههای مختلفی دستهبندی کرد، مثلا Stream بودن یا نبودن، Difered بودن یا نبودن که این انواع را با هم بررسی کردیم.
در قسمت انتهایی با دستورات کلی LINQ مثل Select, Sort, Join و … آشنا شدیم.
جهت کسب اطلاعات بیشتر میتوانید به دوره بسیار کاربردی Modern Data Layer مراجعه کنید.