Основний курс .NET (C#)

Де: online

Коли: Відкрита дата

Тривалість: 20 занять

Вартість: уточнюється

Основний курс .NET (C#) орієнтований на отримання практичних навичок розробки веб-застосунків.

Протягом перших занять ви заглибитеся у особливості використання .NET платформи, щоб далі розробляти веб-проект. Разом із тренером ви створите моделі і логіку для зберігання даних в реляційній базі MS SQL, навчитеся працювати з ADO.NET та Entity Framework. Далі крок за кроком ви розроблятимете сайт, який дозволить його користувачу працювати з даними.

Під час навчання ви працюватимете із ASP.NET Core MVC і Razor. А ще ви покриєте свій  проект модульними тестами (Unit Tests). Таким чином, до кінця курсу, ви матимете  працюючий веб-проект та знання з розробки веб-застосунків.

ПРОГРАМА

Курс складається з 20 занять та триватиме 2,5 місяці.

Під час онлайн зустрічей студенти нарощуватимуть необхідні практичні навички з розробки  власного веб-застосунку. Теоретичний матеріал опрацьовуватиметься учасниками самостійно. Щоразу тренер видаватиме студентам нове домашнє завдання.

Заняття 1 Вступ

Після знайомства з учасниками перейдемо до вивчення Git – розподіленої системи керування версіями файлів і командної роботи, щоб далі використовувати її для практичних завдань.

Заняття 2 Структури даних, колекції та узагальнення (Generics)

Почнемо працювати з Visual Studio 2019 community – середовищем розробки C# програміста. Розберемо основні типи складних структур даних: список, черга, стек, словник. Навчимося створювати власну колекцію і використовувати оператор yield. Розглянемо узагальнення, як спосіб уникнути помилок виконання і збільшення швидкодії програми.

Заняття 3 Делегати, події, лямбда-вирази, методи розширення(Extensions)

Розберемо поняття делегата і події. Навчимося використовувати анонімні методи і лямбда-вирази. Застосуємо делегати Action, Predicate, Func. Розробимо власні методи розширення.

Заняття 4 LINQ

Розберемо типи LINQ. Навчимося працювати з багатьма функціями, до яких надає доступ LINQ: сортування, пошук елементів.

Заняття 5 XML + Serialization

Напишемо код для зчитування інформації з xml файлу в об’єктну модель класів. Згодом напишемо код для збереження стану об’єктної моделі класів в xml файл. Розберемося як працює серіалізація: Json, Xml, Binary.

Заняття 6 ADO.NET

Огляд ADO.NET. Налаштуємо доступ до бази даних і виконаємо кілька команд. Необхідно буде реалізувати методи зчитування, вставки, редагування і видалення записів з бази даних. Розберемося, що таке SqlParameters і як влаштована конвертація типів між .NET i SQL. Попрактикуємося у використанні транзакцій.

Заняття 7 Багатопотокове програмування

Розглянемо, що таке процес і потік і для чого є ThreadPool. Навчимося запускати потоки і їх синхронізувати.

Заняття 8 Асинхронне програмування

Продовжимо попереднє заняття і розглянемо, як обробляти помилки (Exceptions). Переваги використання класу Task і конструкції acync await.

Заняття 9 Практичне заняття з асинхронного програмування

На практиці закріпимо вивчений матеріал.

Заняття 10 Огляд ASP.NET Core

Почнемо наше знайомство з платформою для розробки веб застосунків ASP.NET Core. Конфігурація, Middleware.

Заняття 11 ASP.NET Core Web.Api

Розберемо архітектуру ASP.NET Core Web.Api. І такі речі як: Routing, Model Binding, Http Status Codes.

Заняття 12 Практика з ASP.NET CORE Web.Api

Писатимемо код у заздалегідь заготовленому ASP.NET CORE Web.Api проекті.

Заняття 13 ASP.NET Core MVC

Розглянемо MVC паттерн і зони відповідальності Model, View, Controller. Проаналізуємо структуру проекту ASP.NET Core MVC. Розберемо деталі життєвого циклу запитів, як відбувається перехід між веб сторінками і передача даних від Controller до View і навпаки.

Заняття 14 Огляд Entity Framework Core

Розглянемо, що таке Object-relational mapping (ORM) фреймворк і чому вони з’явилися на прикладі Entity Framework Core. Розглянемо різні підходи роботи з базами даних (DB First і Code First).

Заняття 15 Entity Framework Core

Розберемо наступні речі: Маніпуляції з моделями даних. Налаштуємо Entity Mapping, атрибути анотації даних (Data Annotations Attributes). Задамо різні відносини між сутностями (Entity): один до одного, один до багатьох і багато до багатьох. Торкнемося режимів міграцій схеми бази даних.

Заняття 16 ASP.NET Core MVC Validation & Authorization

Веб-застосунки націлені на роботу з людьми та обмін інформацією, тому виникає необхідність контролювати коректність даних (Validation) та керувати рівнями доступу (Authentication і Authorization). Якраз про це буде наше зайняття.

Заняття 17 Unit Testing

Студенти дізнаються, як покривати існуючий проект юніт тестами, а також визначати, чи можливо покривати юніт тестами всі частини програми. Обговоримо відмінність юніт тесту від інтеграційного тесту.

Заняття 18 Bug fixing

Використовуючи парне програмування (практику cross-testing), будемо шукати дефекти (баги) в наших проектах і оцінювати, як вони впливають на проект. Також розглянемо, в чому полягає підхід TDD і чому він корисний при усуненні дефектів.

Заняття 19 Рефакторинг і дотримання принципів SOLID ч1

Розглянемо перші 2 з 5 принципів SOLID. Навчимося визначати на практиці, наскільки код відповідає заданим принципам. Розглянемо, які зміни можна ввести, щоб код відповідав принципам.

Заняття 20 Рефакторинг і дотримання принципів SOLID ч2

Продовжимо розглядати принципи SOLID. Виконаємо практичне завдання з аналізу коду на відповідність принципам і спробуємо привести його у відповідність.

Всі учасники курсу будуть підключені до спеціального чату, де зможуть комунікувати з тренером, отримуватимуть відповіді на свої питання, посилання на потрібну для вивчення статтю чи документ.

По завершенні курсу ви:

– Поліпшите знання платформи .NET
– Навчитеся створювати веб-додатки за допомогою платформи ASP.NET CORE
– Закладете теоретичний і практичний фундамент для роботи з реляційними базами даних, використовуючи фреймворк ADO.NET
– Засвоїте фреймворк об’єктно-орієнтованого доступу до даних Entity Framework Core
– Отримаєте навички рефакторінга коду
– Навчитеся писати модульні тести (Unit Tests)
– Отримаєте знання, які дозволять претендувати на позицію молодшого спеціаліста .NET

Мова

Заняття будуть проходити українською мовою з використанням англійських термінів.

Вимоги до учасників:

  • Знання англійської мови не нижче Pre-Intermediate.
  • Власний ноутбук (не менше ніж 4 GB RAM і процесор не нижче ніж 1.8 GHz)
  • Базові навики C#:
    • Розуміння класу і об”єкта
    • Базові типи даних
    • Оператори
    • Цикли

За додатковою інформацією, будь ласка, звертайтеся до менеджера курсу: +38 068 351 22 88 (Олена)