Курс C# Junior Developer [2020] [Даниил] [Level UP]

Bot

Администратор
Команда форума
23 Янв 2020
166,127
2,914
113
Курс C# Junior Developer организован как форма активного обучения, целью которого является понимание принципов Объектно Ориентированного программирования на платформе .NET, изучение основных пакетов и умение писать на языке C# сложные веб-приложения.
Акцент курса делается на понимание и практику программирования на C# в объектно-ориентированном стиле.

Практика:

  • Практической частью домашней работы будет последовательная разработка приложения
  • Курс будет построен на активном взаимодействии с обучаемыми в форме разбора домашнего задания: выбора оптимальной доменной модели; реализации, паттернов проектирования, дизайна разрабатываемого приложения.
Спойлер: Содержание
Занятие 1. Повторение основ Microsoft .NET и C#
  • Введение в платформу .NET, инструменты разработки
  • Управление памятью и какие есть типы данных
  • Подробнее про типы значений
  • Подробнее про ссылочные типы данных
  • Массив
  • Кастинг типов, подробнее об упаковке и распаковке
  • Детальнее про garbage collector
  • Структура кода, область видимости
  • Основные операторы и на чем строится вся логика ПО
  • Закрепление знаний созданием консольного приложения и работа с GitHub
Занятие 2. Повторение основ Microsoft .NET и C#
  • Подробнее про циклы
  • Простая сортировка и поиск
  • Строки, нюансы работы с ними
  • Энумераторы, операторы работы с ними
  • Исключения
  • Базис профилирования приложения
  • Структура кода, сборки
Занятие 3. ООП в C#
  • Основа ООП, методы, классы, структуры
  • Наследование
  • Модификаторы доступа
  • Абстракция, виртуальные методы
  • Свойства
  • Конструкторы, вызов конструктора
  • Запаковка классов, методов и почему это важно, основы SOLID
  • Финализаторы, нюансы работы с ними
Занятие 4. ООП. Продолжение
  • Интерфейсы
  • Часто используемые интерфейсы
  • Абстрактный класс или интерфейс, что и когда выбрать, закрепление SOLID
  • Дженерик типы, ограничения
  • Рефлексия, наука о типах данных
  • Атрибуты
  • Статика, статичные методы, что делать если нужно дополнить запакованный класс
  • Создание структуры данных
Занятие 5. Выборка, основы LINQ
  • Подробнее о методах расширениях
  • Подробнее о циклах
  • Подробнее о структурах данных (FIFO/LIFO, словарь, список)
  • Отложенный вызов
  • Выборка объектов из структур данных
Занятие 6. SQL и базы данных, основы ORM
  • Введение в SQL
  • Основные операторы SQL, основы CRUD
  • Таблицы, ключи и основные объекты в базах данных
  • Основные принципы работы с базой данных из C#
  • Работа с nuget репозиторием
  • Основа работы с ORM
  • Планы запросов
Занятие 7. Многопоточность
  • Делегаты и события
  • Процесс и поток
  • Работа с потоками
  • Основные методы синхронизации потоков
  • Что такое взаимоблокировка и как с ней бороться
  • Асинхронность
Занятие 8. Паттерны
  • Типы паттернов
  • Абстрактная фабрика
  • Стратегия
  • Цепочка обязанностей
  • Основы DI/IOC
Занятие 9. Архитектура приложений
  • Двухзвенная архитектура
  • Трехзвенная архитектура
  • Микросервисная архитектура
  • Шина сообщений, краткий обзор
  • Форматы JSON, XML, SOAP
  • Кэш
  • Что такое RESTful Services
  • Популярные пакеты в nuget репозиториях
  • Локальный репозиторий nuget
Занятие 10. WebAPI
  • Методы REST
  • Идемпотентность
  • Swagger
  • Аутентификация и авторизация, основы OAuth
  • Связываем всё вместе, готовим свой сервис и клиент
  • Развертываем локально, развертываем на веб сервере
Занятие 11. Основы WPF и MVVM
  • Быстрый обзор WinForms
  • Основы WPF
  • Привязка данных
  • Разбор MVVM
  • Работа с контейнером и MVVM
  • Работа с потоками и повышение отзывчивости приложения
Занятие 12. Командная игра, методы разработки
  • Основы Agile
  • Что такое sprint
  • Планирование и цели
  • Детально о контроле версии, закрепление

Продажник
 
Сверху Снизу