Проходил 19 апреля в 20:00

Открытый вебинар C#
Проверка и получение прав администратора при выполнении программы

Открытый вебинар онлайн

Зачастую программе бывают необходимы права администратора для выполнения тех или иных действий. Как узнать об их наличии, мы расскажем на открытом вебинаре по курсу "C# для носорогов". Присоединяйтесь.
Преподаватель
Антон Малиновский

Запись

О курсе

Разработчик C#
40 000 ₽
5 месяцев
Начало 10 мая
Наша программа – микс полезных теоретических знаний и практических навыков для разработчиков C#, имеющих 1-2 года опыта программирования. Вас ждут 32 интенсивных онлайн-занятия, где мы изучим популярные технологии и важные особенности С#. За 5 месяцев мы: – изучим архитектурные понятия, шаблоны и паттерны проектирования, которыми пользуются профессиональные разработчики; – научимся применять "синтаксический сахар" языка; – рассмотрим и попробуем полезные инструменты ...
Программа курса
1
Сахар. Соль. Суть
2
Радости корпоративной разработки
3
Кроссплатформенный Web
4
Ещё быстрее, ещё сполчёнее
5
Самое вкусное
В данном модуле мы рассмотрим синтаксический сахар и особенности современной реализации языка начиная с 5 ревизии. Кроме того, будут рассмотрены наиболее часто используемые компоненты библиотек и технологии, которые предоставляет современный C#
Занятие 1: Универсальные шаблоны и их ограничения. Инвариантность, ковариантность и контравариантность
Освоение понятия шаблона и понимание границ его применения
Занятие 2: Анонимные и динамические типы, кортежи, локальные функции. Преобразование типов Explicit и Implicit.
Получить понимание, когда стоит использовать автоматическое приведение типов, а когда это приведёт к сбоям в программе
ДЗ
Разработать приложение для создания сложных отчётов. Необходимо описать сущность "здание", как иерархию классов, например дом состоит из этажей, окон, дверей, стен, мебели, может объединяться на площадках, и участки. Затем вывести в консоль несколько выборок, например: все окна здания, или все объекты второго этажа. На ваш выбор можно придумать любую другую сущность, например интернет магазин, банк.
Занятие 3: Пользовательские и системные коллекции. Работа с индуктивными функциями и введение в LINQ.
Понимание индуктивных и агрегаторных функций.
Занятие 4: Entity Framework и язык запросов LINQ, интерфейс IQueryable
Ускорение доступа к объектам данных, упрощение процесса разработки
ДЗ
Object-Relational Mapping. Можете использовать сущности из предыдущего задания или взять любые свои. Вам необходимо реализовать Object-Relational Mapping между базой данных и вашей иерархией классов или наоборот.
Занятие 5: Файлы конфигурации, настройка приложений, системный реестр и работа с XML. Атрибуты и сериализация
Автоматизация процесса сериализации объектов с помощью аттрибутов
ДЗ
Опции для любого приложения. Разработать классы для хранения настроек приложения, групп пользователей и прав доступа для вашего приложения, продемонстрировать несколько способов сохранения конфигурации: база данных, XML, JSON, NoSQL. Приложение должно быть кроссплатформенным.
Занятие 6: Библиотека Task Parallels Library, PLINQ
Понять механизмы асинхронной и параллельной работы в C# 5+
ДЗ
Скачивание файлов с разных ресурсов. Необходимо реализовать Download Manger с помощью которого можно скачивать 2,3 и более файлов с разных ресурсов. Приложение должно реализовывать ProgressBar, на котором отображается общий процесс скачивания информации.
Занятие 7: Мультимедийные возможности WPF: геометрия, примитивы, кисти, трансформации, градиентная заливка
Освоить построение красивых и функциональных интерфейсов
Занятие 8: Создание анимаций WPF. Возможности 3D графики WPF: трехмерные графические примитивы
Построение красивых и функциональных приложений (продолжение)
ДЗ
Отображение полигональной модели в окне. Необходимо найти и распарсить файл PLY, его содержимое вывести в виде 3D модели. Разрешается использовать любой другой известный вам формат файлов с моделью.
Разработка и обслуживание различных систем документооборота.
Занятие 9: Проектировании системы электронного документооборота
Разработка концепции системы электронного документооборота на базе Web
Занятие 10: Разработка базы данных и архитектуры системы
Понять, как строятся распределённые системы хранения и обработки документов
ДЗ
Проектируем систему документооборота. В этом модуле будем проектировать систему документооборота. Начнём с базы данных и архитектуры системы. Нужно будет сделать "рыбу" системы, продумать модель данных, мигацию, архитектуру.
Занятие 11: Аутентификация, организационная структура
Рассмотреть механизмы аутентификации пользователя в корпоративной среде и способы разграничения доступа к информации
Занятие 12: Обмен сообщениями, push-уведомления, Workflow
Разработать способы мгновенного взаимодействия в корпоративной среде, рассмотреть плюсы и минусы различных способов
ДЗ
Система обмена сообщениями. Разрабатываем систему обмена сообщениями внутри системы документооборота в режиме реального времени с push-уведомлениями.
Занятие 13: API для интеграции с другими системами, интеграция с другими системами
Понимание механизмов работы REST и JSON
Занятие 14: Работа с файлами и документами. Подписывание документов ЭЦП
Оптимизация загрузки и выгрузки больших объёмов данных
Разграничение прав доступа
Контроль ошибок и доступа
ДЗ
Просмотр и ЭЦП. Реализовать просмотр документов и подписывание их простой не защищённой ЭЦП.
Занятие 15: Работа с документами .docx, .rtf, .html
Генерация документов в формате Microsoft word и в Веб-формате
Занятие 16: Печать, генерация PDF и XPS
ДЗ
Работа с докментами. Создание и работа с документами docx, rtf, html. Печать и генерация отчётов, документов PDF и XPS.
Web разработка под Windows, Linux и не только
Занятие 17: Реализация концепции MVC в ASP.NET Core. Модель-представление-контроллер. Маршрутизация, Dependency Injection
Введение в концепцию MVC. Особенности ее реализации в ASP.NET Core.
Занятие 18: Тестирование модульной структуры ASP.NET Core приложений
Изучить встроенные в Visual Studio возможности Unit тестирования
ДЗ
Проектирование приложения "Онлайн продажа билетов на ЧМ по футболу 2018". Создание контроллеров и представлений. Написание Unit тестов приложения..
Занятие 19: Понимание архитектурной концепции REST сервисов. Реализация REST сервисов в ASP.NET Core - ASP.NET Core Web Api
Выработать понимание концепции REST сервисов, особенностями ее реализации в ASP.NET Core
Занятие 20: Углубленное взгляд на архитектуру ASP.NET Core. Промежуточные слои, фильтры
Сформировать более полное представление архитектуры ASP.NET Core в части назначения и работы механизмов промежуточных слоев и фильтров
ДЗ
Добавление в приложение Web Api сервиса бронирования и покупки билетов. Написание пользовательских промежуточных слоев и фильтров..
Занятие 21: Использование кросcплатформенных ORM – EF Core и Dapper в ASP.NET Core
Выработать понимание концепции ORM и научить применению концепции на примере EF Core и Dapper в приложениях ASP.NET Core
Занятие 22: Безопасность в ASP.NET Core. ASP.NET Core Identity. CORS, SSL, Data Protection API, JWT
Познакомиться со встроенными механизмы организации системы безопасности на различных уровнях в ASP.NET Core
ДЗ
Проектирование и создание модели базы данных.Добавление системы аутентификации, авторизации и защиты данных..
Занятие 23: Оптимизация и производительность приложений ASP.NET Core. Асинхронные методы
Изучение встроенных в технологию ASP.NET Core механизмов кэширования, сжатия данных, асинхронных методов
Занятие 24: Использование сервисов ASP.NET Core Web Api на примере Angular и JQuery
Знакомство с примерами использования разрабатываемых ASP.NET Core Web Api
ДЗ
Применение асинхронных методов в приложении.Создание "стороннего" приложения, имеющего функцию бронирования билетов на сайте..
В данном модуле описываются инструменты интеграции, профилирования, командной работы
Занятие 25: Использование Visual Studio Team Services в процессе групповой разработки
Знакомство с инструментами групповой разработки VSTS
Занятие 26: Интеграция Visual Studio Team Services и Git. Ветви (branches). Слияние изменений и разрешение конфликтов
Продолжить изучение средств VSTS, углубить понимание процесса групповой разработки, получить опыт работы с ветвями проекта, слиянием изменений кода проектов и разрешения конфликтов при слиянии изменений
ДЗ
Создание проекта в VSTS, совместная работа в группе.
Занятие 27: Конвейеры сборки и релиза версий
Понимание процесса сборки и релиза версий групповых проектов
Занятие 28: Хостинг приложений в среде Windows, Linux, в системе Docker
Знакомство с вариантами хостинга ASP.NET Core Web приложений в средах Windows, Linux, в системе Docker
Занятие 29: Разворачивание приложений в Microsoft Azure
Получение понимания работы со средой Microsoft Azure в части разворачивания Web приложений
ДЗ
Разворачивание своего проекта в средах Windows, Docker, Microsoft Azure.
Занятие 30: Мониторинг приложений, развернутых в Microsoft Azure
Знакомство с инструментами мониторинга производительности, правильности функционирования приложений, развернутых в среде Microsoft Azure
Занятие 31: Взаимодействие приложений на основе систем брокеров сообщений
Понимание технологии информационного обмена в системах брокеров сообщений на примере RabbitMQ
ДЗ
Создание приложения, взаимодействующего со сторонними системами посредством брокера сообщений.
Занятие 32: Использование средств профилирования и диагностики в Visual Studio
Знакомство со встроенными в Visual Studio инструментами профилирования и диагностики приложений
ДЗ
Проведение анализа производительности своего приложения средствами профилирования и диагностики Visual Studio.
Итак, мы долго и плодотворно (надеюсь) рассматривали различные сильные стороны языка и платформы. Пришло время сделать что-то интересное и доказать, кто тут мужЫк (независимо от пола)

В этом модуле вас ждёт ещё более интенсивное общение с преподавателем, но в несколько иной форме: теперь консультации, никаких наставлений. Вас ждёт Проект!

Что может быть в проекте? Всё, что вам интересно и подпадает под программу курса. Это может быть проблема по работе, давно волновавшая идея или что то ещё. В конце концов, вы можете продолжить то, что начали делать в ваших ДЗ. Но пожалуйста, оценивайте реально свои силы - проект по времени планируется примерно как 4 домашних задания.

Если же по каким то причинам тему придумывать не удалось/некогда/лень, вот примеры проектов (базовый VPS с нас):

- облачный десктопный клиент
- редактор документов
- формирователь отчётов
- 3D графический универсальный рисователь чего нибудь :)
- Web service (инфоресурс, сбор статистики, планировщик)
- программа/сайт бронирования и покупки билетов
- чат-мессенджер на основе Rabbit MQ
- система программных средств, взаимодействующих через брокера сообщений
- и так далее, и тому подобное.

Мы рады будем любой вашей идее. Может и сами чему научимся ;-)

Преподаватель

Антон Малиновский
Занимается разработкой с 1995 года. С 2002 года выполняет научные, а с 2008 коммерческие разработки. Платформу .NET использует для своих разработок с 2009 года. Специализируется на промышленной автоматизации.
В настоящее время сотрудничает с корпорацией Takata (Подразделение Nissan Group), выполняет модернизацию участков производства ульяновского завода.
Закончил МГТУ СТАНКИН по специальности "автоматизация машиностроительных производств и вычислительных систем"