1

Step 1

Основы программирования на C#

2

Step 2

Классы, структуры и пространства имен

3

Step 3

Объектно-ориентированное программирование

4

Step 4

Обработка исключений

5

Step 5

Делегаты, события и лямбды

6

Step 6

Интерфейсы

7

Step 7

Дополнительные возможности ООП в C#

8

Step 8

Паттерны

9

Step 9

Коллекции

10

Step 10

Работа со строками

11

Step 11

Дополнительные классы и структуры .NET

12

Step 12

Многопоточность

13

Step 13

Параллельное программирование и библиотека TPL

14

Step 14

Aсинхронное программирование. Task-based Asynchronous Pattern

15

Step 15

LINQ

16

Step 16

Рефлексия

17

Step 17

Dynamic Language Runtime

18

Step 18

Сборка мусора, управление памятью и указатели

19

Step 19

Работа с файловой системой

20

Step 20

Работа с JSON

21

Step 21

Работа с XML в C#

22

Step 22

Процессы и домены приложения

23

Step 23

Валидация модели

24

Step 24

Основы в ASP.NET Core

25

Step 25

Dependency Injection

26

Step 26

Маршрутизация

27

Step 27

Статические файлы

28

Step 28

Конфигурация

29

Step 29

Логгирование

30

Step 30

Состояние приложения. Куки. Сессии

31

Step 31

Обработка ошибок

32

Step 32

Results API

33

Step 33

Работа с базой данных и Entity Framework

34

Step 34

Аутентификация и авторизация

1

Step 1

Основы программирования на C#

2

Step 2

Классы, структуры и пространства имен

3

Step 3

Объектно-ориентированное программирование

4

Step 4

Обработка исключений

5

Step 5

Делегаты, события и лямбды

6

Step 6

Интерфейсы

7

Step 7

Дополнительные возможности ООП в C#

8

Step 8

Паттерны

9

Step 9

Коллекции

10

Step 10

Работа со строками

11

Step 11

Дополнительные классы и структуры .NET

12

Step 12

Многопоточность

13

Step 13

Параллельное программирование и библиотека TPL

14

Step 14

Aсинхронное программирование. Task-based Asynchronous Pattern

15

Step 15

LINQ

16

Step 16

Рефлексия

17

Step 17

Dynamic Language Runtime

18

Step 18

Сборка мусора, управление памятью и указатели

19

Step 19

Работа с файловой системой

20

Step 20

Работа с JSON

21

Step 21

Работа с XML в C#

22

Step 22

Процессы и домены приложения

23

Step 23

Валидация модели

24

Step 24

Основы в ASP.NET Core

25

Step 25

Dependency Injection

26

Step 26

Маршрутизация

27

Step 27

Статические файлы

28

Step 28

Конфигурация

29

Step 29

Логгирование

30

Step 30

Состояние приложения. Куки. Сессии

31

Step 31

Обработка ошибок

32

Step 32

Results API

33

Step 33

Работа с базой данных и Entity Framework

34

Step 34

Аутентификация и авторизация

09 May 2022

Goal abandoned

The author does not write in the goal 2 years 6 months 10 days

General

Выучить C# и освоить web программирование на asp.net core

Кручусь в IT мире уже порядка 7-8 лет. Но за данный приличный срок выше простых скриптов и слабых десктоп приложений не поднялся.

За этот период я начинал и бросал кучу технологий C#, C++, Python, web stack (css+html+JS), React

Прыгая от технологии к технологии конечно же в голове получится лютая каша. особенно, когда нет цели и какого то направления в работе.

Спустя такой приличный срок я собрался с мыслями и твёрдо решил освоить fullstack web направление в виде asp.net core + React.

Конечно же frontend на react - это вторая цель.

Поставив себе цель я решил плотно заняться определенной технологией и её направлением.

Как говорится: вижу цель - не вижу препятствий!

 Goal Accomplishment Criteria

целевое Web-приложение написано и запущено используя технологию asp.net core

  1. Основы программирования на C#

    1. Переменные и константы
    2. Литералы
    3. Типы данных
    4. Консольный ввод-вывод
    5. Арифметические операции
    6. Поразрядные операции
    7. Операции присваивания
    8. Преобразования базовых типов данных
    9. Условные выражения
    10. Конструкция if..else и тернарная операция
    11. Циклы
    12. Массивы
    13. Задачи с массивами
    14. Методы
    15. Параметры методов
    16. Возвращение значения и оператор return
    17. Передача параметров по ссылке и значению. Выходные параметры
    18. Массив параметров и ключевое слово params
    19. Рекурсивные функции
    20. Локальные функции
    21. Конструкция switch
    22. Перечисления enum
  2. Классы, структуры и пространства имен

    1. Классы и объекты
    2. Конструкторы, инициализаторы и деконструкторы
    3. Класс Program и метод Main. Программы верхнего уровня
    4. Структуры
    5. Типы значений и ссылочные типы
    6. Область видимости (контекст) переменных
    7. Пространства имен
    8. Глобальные пространства имен
    9. Подключение пространств имен по умолчанию
    10. Создание библиотеки классов
    11. Модификаторы доступа
    12. Свойства
    13. Перегрузка методов
    14. Статические члены и модификатор static
    15. Поля и структуры для чтения
    16. Null и ссылочные типы
    17. Null и значимые типы
    18. Проверка на null, операторы ?. и ??
    19. Псевдонимы типов и статический импорт
  3. Объектно-ориентированное программирование

    1. Наследование
    2. Преобразование типов
    3. Виртуальные методы и свойства
    4. Скрытие методов и свойств
    5. Различие переопределения и скрытия методов
    6. Абстрактные классы
    7. Класс System.Object и его методы
    8. Обобщенные типы
    9. Ограничения обобщений
    10. Наследование обобщенных типов
  4. Обработка исключений

    1. Конструкция try..catch..finally
    2. Блок catch и фильтры исключений
    3. Типы исключений. Класс Exception
    4. Генерация исключения и оператор throw
    5. Создание классов исключений
    6. Поиск блока catch при обработке исключений
  5. Делегаты, события и лямбды

    1. Делегаты
    2. Применение делегатов
    3. Анонимные методы
    4. Лямбды
    5. События
    6. Ковариантность и контравариантность делегатов
    7. Делегаты Action, Predicate и Func
    8. Замыкания
  6. Интерфейсы

    1. Определение интерфейсов
    2. Применение интерфейсов
    3. Явная реализация интерфейсов
    4. Реализация интерфейсов в базовых и производных классах
    5. Наследование интерфейсов
    6. Интерфейсы в обобщениях
    7. Копирование объектов. Интерфейс ICloneable
    8. Сортировка объектов. Интерфейс IComparable
    9. Ковариантность и контравариантность обобщенных интерфейсов
  7. Дополнительные возможности ООП в C#

    1. Определение операторов
    2. Перегрузка операций преобразования типов
    3. Индексаторы
    4. Переменные-ссылки и возвращение ссылки
    5. Методы расширения
    6. Частичные классы и методы
    7. Анонимные типы
    8. Кортежи
    9. Records
  8. Паттерны

    1. Паттерн типов
    2. Паттерн свойств
    3. Паттерны кортежей
    4. Позиционный паттерн
    5. Реляционный и логический паттерны
    6. Паттерны списков
  9. Коллекции

    1. Список List<T>
    2. Двухсвязный список LinkedList<T>
    3. Очередь Queue<T>
    4. Стек Stack<T>
    5. Словарь Dictionary<T, V>
    6. Класс ObservableCollection
    7. Интерфейсы IEnumerable и IEnumerator
    8. Итераторы и оператор yield
  10. Работа со строками

    1. Строки и класс System.String
    2. Операции со строками
    3. Форматирование и интерполяция строк
    4. Класс StringBuilder
    5. Регулярные выражения
  11. Дополнительные классы и структуры .NET

    1. Отложенная инициализация и тип Lazy
    2. Математические вычисления и класс Math
    3. Преобразование типов и класс Convert
    4. Класс Array и массивы
    5. Span
    6. Индексы и диапазоны
  12. Многопоточность

    1. Введение в многопоточность. Класс Thread
    2. Создание потоков. Делегат ThreadStart
    3. Потоки с параметрами и ParameterizedThreadStart
    4. Синхронизация потоков
    5. Мониторы
    6. Класс AutoResetEvent
    7. Мьютексы
    8. Семафоры
  13. Параллельное программирование и библиотека TPL

    1. Задачи и класс Task
    2. Работа с классом Task
    3. Задачи продолжения
    4. Класс Parallel
    5. Отмена задач и параллельных операций. CancellationToken
  14. Aсинхронное программирование. Task-based Asynchronous Pattern

    1. Асинхронные методы, async и await
    2. Возвращение результата из асинхронного метода
    3. Последовательное и параллельное выполнение. Task.WhenAll и Task.WhenAny
    4. Обработка ошибок в асинхронных методах
    5. Асинхронные стримы
  15. LINQ

    1. Основы LINQ
    2. Проекция данных
    3. Фильтрация коллекции
    4. Сортировка
    5. Объединение, пересечение и разность коллекций
    6. Агрегатные операции
    7. Получение части коллекции
    8. Группировка
    9. Соединение коллекций
    10. Проверка наличия и получение элементов
    11. Отложенное и немедленное выполнение LINQ
    12. Делегаты в запросах LINQ
    13. Parallel LINQ. Метод AsParallel
    14. Метод AsOrdered
    15. Обработка ошибок и отмена параллельных операции
  16. Рефлексия

    1. Введение в рефлексию. Класс System.Type
    2. Применение рефлексии и исследование типов
    3. Исследование методов и конструкторов с помощью рефлексии
    4. Исследование полей и свойств с помощью рефлексии
    5. Динамическая загрузка сборок и позднее связывание
    6. Атрибуты в .NET
  17. Dynamic Language Runtime

    1. DLR в C#. Ключевое слово dynamic
    2. DynamicObject и ExpandoObject
    3. Использование IronPython в .NET
  18. Сборка мусора, управление памятью и указатели

    1. Сборщик мусора в C#
    2. Финализируемые объекты. Метод Dispose
    3. Конструкция using
    4. Указатели
    5. Указатели на структуры, члены классов и массивы
  19. Работа с файловой системой

    1. Работа с дисками
    2. Работа с каталогами
    3. Работа с файлами. Классы File и FileInfo
    4. FileStream. Чтение и запись файла
    5. Чтение и запись текстовых файлов. StreamReader и StreamWriter
    6. Бинарныефайлы. BinaryWriter и BinaryReader
    7. Архивация и сжатие файлов
  20. Работа с JSON

    1. Сериализация в JSON. JsonSerializer
  21. Работа с XML в C#

    1. XML-Документы
    2. Работа с XML с помощью классов System.Xml
    3. Изменение XML-документа
    4. XPath
    5. Linq to Xml. Создание Xml-документа
    6. Выборка элементов в LINQ to XML
    7. Изменение XML-документа в LINQ to XML
    8. Сериализация в XML. XmlSerializer
  22. Процессы и домены приложения

    1. Процессы
    2. Домены приложений
    3. AssemblyLoadContext и динамическая загрузка и выгрузка сборок
  23. Валидация модели

    1. Основы валидации модели
    2. Атрибуты валидации
    3. Создание своих атрибутов валидации
    4. Самовалидация модели
  24. Основы в ASP.NET Core

    1. Создание и запуск приложения. WebApplication и WebApplicationBuilder
    2. Конвейер обработки запроса и middleware
    3. Метод Run и определение терминального middleware
    4. HttpResponse. Отправка ответа
    5. HttpRequest. Получение данных запроса
    6. Отправка файлов
    7. Отправка форм
    8. Переадресация
    9. Отправка и получение json
    10. Создание простейшего API
    11. Загрузка файлов на сервер
    12. Метод Use
    13. Создание ветки конвейера. UseWhen и MapWhen
    14. Метод Map
    15. Классы middleware
    16. Построение конвейера обработки запроса
    17. IWebHostEnvironment и окружение
  25. Dependency Injection

    1. Внедрение зависимостей и IServiceCollection
    2. Создание сервисов
    3. Получение зависимостей
    4. Жизненный цикл зависимостей
    5. Применение сервисов в классах middleware
    6. Scoped-сервисы в singleton-объектах
    7. Множественная регистрация сервисов
  26. Маршрутизация

    1. Конечные точки. Метод Map
    2. Параметры маршрута
    3. Ограничения маршрутов
    4. Создание ограничений маршрутов
    5. Передача зависимостей в конечные точки
    6. Сопоставление запроса с конечной точкой
    7. Сочетание конечных точек с другими middleware
  27. Статические файлы

    1. Установка каталога статических файлов. UseStaticFiles
    2. Работа со статическими файлами
  28. Конфигурация

    1. Основы конфигурации
    2. Нефайловые провайдеры конфигурации
    3. Конфигурация в файлах JSON, XML и Ini
    4. Конфигурация по умолчанию и объединение конфигураций
    5. Анализ конфигурации
    6. Создание провайдера конфгурации
    7. Проекция конфигурации на классы
    8. Передача конфигурации через IOptions
  29. Логгирование

    1. Ведение лога и ILogger
    2. Фабрика логгера и провайдеры логгирования
    3. Конфигурация и фильтрация логгирования
    4. Создание провайдера логгирования
  30. Состояние приложения. Куки. Сессии

    1. HttpContext.Items
    2. Куки
    3. Сессии
  31. Обработка ошибок

    1. Обработка исключений
    2. Обработка ошибок HTTP
  32. Results API

    1. Введение в Results API
    2. Отправка текста и json в Results API
    3. Переадресация в Results API
    4. Отправка статусных кодов в Results API
    5. Отправка файлов в Results API
    6. Определение своего типа IResult
  33. Работа с базой данных и Entity Framework

    1. Подключение Entity Framework
    2. Основные операции с данными в Entity Framework Core
  34. Аутентификация и авторизация

    1. Введение в аутентификацию и авторизацию
    2. Аутентификация с помощью JWT-токенов
    3. Авторизация с помощью JWT-токенов в клиенте JavaScript
    4. Аутентификация с помощью куки
    5. HttpContext.User, ClaimPrincipal и ClaimsIdentity
    6. ClaimPrincipal и объекты Claim
    7. Авторизация по ролям
    8. Авторизация на основе Claims
    9. Создание ограничений для авторизации
  • 1005
  • 09 May 2022, 11:47
Sign up

Signup

Уже зарегистрированы?
Quick sign-up through social networks.
Sign in

Sign in.
Allowed.

Not registered yet?
 
Log in through social networks
Forgot your password?