HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>5 декабря // 18:00</a></li>
1 <ul><li><a>5 декабря // 18:00</a></li>
2 <li><a>5 декабря // 20:00</a></li>
2 <li><a>5 декабря // 20:00</a></li>
3 <li><a>5 декабря // 20:00</a></li>
3 <li><a>5 декабря // 20:00</a></li>
4 <li><a>5 декабря // 20:00</a></li>
4 <li><a>5 декабря // 20:00</a></li>
5 <li><a>5 декабря // 20:00</a></li>
5 <li><a>5 декабря // 20:00</a></li>
6 <li><a>6 декабря // 20:00</a></li>
6 <li><a>6 декабря // 20:00</a></li>
7 <li><a>6 декабря // 20:00</a></li>
7 <li><a>6 декабря // 20:00</a></li>
8 <li><a>6 декабря // 20:00</a></li>
8 <li><a>6 декабря // 20:00</a></li>
9 <li><a>6 декабря // 20:00</a></li>
9 <li><a>6 декабря // 20:00</a></li>
10 <li><a>6 декабря // 20:00</a></li>
10 <li><a>6 декабря // 20:00</a></li>
11 <li><a>7 декабря // 20:00</a></li>
11 <li><a>7 декабря // 20:00</a></li>
12 <li><a>7 декабря // 20:00</a></li>
12 <li><a>7 декабря // 20:00</a></li>
13 <li><a>7 декабря // 20:00</a></li>
13 <li><a>7 декабря // 20:00</a></li>
14 <li><a>7 декабря // 20:00</a></li>
14 <li><a>7 декабря // 20:00</a></li>
15 <li><a>7 декабря // 20:00</a></li>
15 <li><a>7 декабря // 20:00</a></li>
16 <li><a>8 декабря // 16:30</a></li>
16 <li><a>8 декабря // 16:30</a></li>
17 <li><a>8 декабря // 18:00</a></li>
17 <li><a>8 декабря // 18:00</a></li>
18 <li><a>8 декабря // 20:00</a></li>
18 <li><a>8 декабря // 20:00</a></li>
19 <li><a>8 декабря // 20:00</a></li>
19 <li><a>8 декабря // 20:00</a></li>
20 <li><a>8 декабря // 20:00</a></li>
20 <li><a>8 декабря // 20:00</a></li>
21 <li><a>8 декабря // 20:00</a></li>
21 <li><a>8 декабря // 20:00</a></li>
22 </ul><p>Не забудьте добавить мероприятие в свой календарь</p>
22 </ul><p>Не забудьте добавить мероприятие в свой календарь</p>
23 <h2>5 декабря // 18:00</h2>
23 <h2>5 декабря // 18:00</h2>
24 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong><strong>ОДИН В ПОЛЕ НЕ ВОИН: МЕТОДЫ АНСАМБЛИРОВАНИЯ В МАШИННОМ ОБУЧЕНИИ</strong></strong></a><a>"</a></strong></p>
24 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong><strong>ОДИН В ПОЛЕ НЕ ВОИН: МЕТОДЫ АНСАМБЛИРОВАНИЯ В МАШИННОМ ОБУЧЕНИИ</strong></strong></a><a>"</a></strong></p>
25 <p>На занятии вы узнаете основные подходы к ансамблированию, которые сегодня используют в ML, изучите устройство наиболее популярных методов ансамблирования (Bagging, Random Forest, Boosting) и примените их на практике. Спикер: руководитель курсов по ML в OTUS и Senior Data Scientist Сбера Мария Тихонова.</p>
25 <p>На занятии вы узнаете основные подходы к ансамблированию, которые сегодня используют в ML, изучите устройство наиболее популярных методов ансамблирования (Bagging, Random Forest, Boosting) и примените их на практике. Спикер: руководитель курсов по ML в OTUS и Senior Data Scientist Сбера Мария Тихонова.</p>
26 <h2>5 декабря // 20:00</h2>
26 <h2>5 декабря // 20:00</h2>
27 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>Как работать с трудными сотрудниками<strong>"</strong></a></p>
27 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>Как работать с трудными сотрудниками<strong>"</strong></a></p>
28 <p>Почему команда сильных специалистов никак не может достигнуть результата? Все ли в команде достаточно хорошо, чтобы решать поставленные задачи? Разберемся, какими пороками может страдать команда, как их идентифицировать и как устранить.</p>
28 <p>Почему команда сильных специалистов никак не может достигнуть результата? Все ли в команде достаточно хорошо, чтобы решать поставленные задачи? Разберемся, какими пороками может страдать команда, как их идентифицировать и как устранить.</p>
29 <h2>5 декабря // 20:00</h2>
29 <h2>5 декабря // 20:00</h2>
30 <p><strong><a>ОТКРЫТЫЙ УРОК "Нужен ли swap в Linux?"</a></strong></p>
30 <p><strong><a>ОТКРЫТЫЙ УРОК "Нужен ли swap в Linux?"</a></strong></p>
31 <p>На открытом уроке разберем: - что такое swap - нужен ли сегодня swap? - как работает swap, какие данные в него уходят - за что на самом деле отвечает параметр swappiness? Результаты: - появится понимание структуры кеша в Lnux - сможете самостоятельно решать нужен Вам swap в linux или нет Кому будет полезен: - пользователем и администраторам среднего и продвинутого уровня</p>
31 <p>На открытом уроке разберем: - что такое swap - нужен ли сегодня swap? - как работает swap, какие данные в него уходят - за что на самом деле отвечает параметр swappiness? Результаты: - появится понимание структуры кеша в Lnux - сможете самостоятельно решать нужен Вам swap в linux или нет Кому будет полезен: - пользователем и администраторам среднего и продвинутого уровня</p>
32 <h2>5 декабря // 20:00</h2>
32 <h2>5 декабря // 20:00</h2>
33 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong>Паттерны аутентификации в микросервисной архитектуре</strong>"</a></strong></p>
33 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong>Паттерны аутентификации в микросервисной архитектуре</strong>"</a></strong></p>
34 <p>На занятии рассмотрим основные паттерны аутентификации и межсервисной аутентификации в микросервисной архитектуре. Какие бывают identity провайдеры и sso токены.</p>
34 <p>На занятии рассмотрим основные паттерны аутентификации и межсервисной аутентификации в микросервисной архитектуре. Какие бывают identity провайдеры и sso токены.</p>
35 <h2>5 декабря // 20:00</h2>
35 <h2>5 декабря // 20:00</h2>
36 <p><strong><a>ОТКРЫТЫЙ УРОК "ЕСТЬ ЛИ ЖИЗНЬ БЕЗ REDUX? ОБЗОР МЕНЕДЖЕРОВ СОСТОЯНИЙ"</a></strong></p>
36 <p><strong><a>ОТКРЫТЫЙ УРОК "ЕСТЬ ЛИ ЖИЗНЬ БЕЗ REDUX? ОБЗОР МЕНЕДЖЕРОВ СОСТОЯНИЙ"</a></strong></p>
37 <p>Рассмотрим Mobx, Zustand, Recoil, Jotai на примере управления состоянием небольшого приложения</p>
37 <p>Рассмотрим Mobx, Zustand, Recoil, Jotai на примере управления состоянием небольшого приложения</p>
38 <h2>6 декабря // 20:00</h2>
38 <h2>6 декабря // 20:00</h2>
39 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong>Создание 2D-платформера на Unity. Собираем уровни</strong>"</a></strong></p>
39 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong>Создание 2D-платформера на Unity. Собираем уровни</strong>"</a></strong></p>
40 <p>На первом из двух практических занятий, поговорим и попробуем на примерах 2D-платформеров собрать прототип 2D-уровня. Узнаем, с чего начинают делать игру, так чтобы несколько месяцев работы не прошли в пустую. Ознакомимся с основными принципами создания прототипов игр. Основные темы открытого урока: - Зачем создавать прототипы игр? - Инструменты для прототипирования в Unity - Собираем прототип 2D-уровня в Unity - Оценка прототипов и выводы которые можно сделать после прототипирования</p>
40 <p>На первом из двух практических занятий, поговорим и попробуем на примерах 2D-платформеров собрать прототип 2D-уровня. Узнаем, с чего начинают делать игру, так чтобы несколько месяцев работы не прошли в пустую. Ознакомимся с основными принципами создания прототипов игр. Основные темы открытого урока: - Зачем создавать прототипы игр? - Инструменты для прототипирования в Unity - Собираем прототип 2D-уровня в Unity - Оценка прототипов и выводы которые можно сделать после прототипирования</p>
41 <h2>6 декабря // 20:00</h2>
41 <h2>6 декабря // 20:00</h2>
42 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong>Test IT комбайн для тестировщика</strong>"</a></strong></p>
42 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong>Test IT комбайн для тестировщика</strong>"</a></strong></p>
43 <p>На занятии вы познакомитесь с перспективной отечественной системой для ведения тестовой документации. Научитесь создавать кейсы которые легко поддерживать Будет полезно для тестировщиков как начинающих так и с опытом, а так же для менеджеров проектов</p>
43 <p>На занятии вы познакомитесь с перспективной отечественной системой для ведения тестовой документации. Научитесь создавать кейсы которые легко поддерживать Будет полезно для тестировщиков как начинающих так и с опытом, а так же для менеджеров проектов</p>
44 <h2>6 декабря // 20:00</h2>
44 <h2>6 декабря // 20:00</h2>
45 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong><strong>ИСПОЛЬЗОВАНИЕ КОННЕКТОРОВ ДЛЯ SPARK</strong></strong>"</a></strong></p>
45 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong><strong>ИСПОЛЬЗОВАНИЕ КОННЕКТОРОВ ДЛЯ SPARK</strong></strong>"</a></strong></p>
46 <p>Поговорим о том, какие коннекторы используются Spark из коробки, какие коннекторы подключаются из библиотек, а какие и когда надо писать самому.</p>
46 <p>Поговорим о том, какие коннекторы используются Spark из коробки, какие коннекторы подключаются из библиотек, а какие и когда надо писать самому.</p>
47 <h2>6 декабря // 20:00</h2>
47 <h2>6 декабря // 20:00</h2>
48 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong><strong><strong>Аналитик в Agile, как выжить и куда расти</strong></strong></strong></a><a>"</a></strong></p>
48 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong><strong><strong>Аналитик в Agile, как выжить и куда расти</strong></strong></strong></a><a>"</a></strong></p>
49 <p>Поговорим, почему Agile уже почти везде. Какие стартовые позиции у аналитиков сейчас. Как аналитики в компании Stenn стали драйверами трансформации и куда она их завела?</p>
49 <p>Поговорим, почему Agile уже почти везде. Какие стартовые позиции у аналитиков сейчас. Как аналитики в компании Stenn стали драйверами трансформации и куда она их завела?</p>
50 <h2>6 декабря // 20:00</h2>
50 <h2>6 декабря // 20:00</h2>
51 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong><strong><strong><strong>NODEJS И PERFORMANCE. ПОИСК УЗКИХ МЕСТ В NODEJS СЕРВЕРАХ</strong></strong></strong></strong>"</a></strong></p>
51 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong><strong><strong><strong>NODEJS И PERFORMANCE. ПОИСК УЗКИХ МЕСТ В NODEJS СЕРВЕРАХ</strong></strong></strong></strong>"</a></strong></p>
52 <p>Решение проблем с производительности в NodeJS. Причины, поиск и способы решения</p>
52 <p>Решение проблем с производительности в NodeJS. Причины, поиск и способы решения</p>
53 <h2>7 декабря // 20:00</h2>
53 <h2>7 декабря // 20:00</h2>
54 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>Как скульптить стилизованный бюст?<strong>"</strong></a></p>
54 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>Как скульптить стилизованный бюст?<strong>"</strong></a></p>
55 <p>Расскажем об основах скульптинга в ZBrush и том, как быстро создавать аккуратные и красивые стилизованные бюсты. Покажем практику с описанием действий и комментариями по анатомии лиц. Поделимся фишками и лайфхаками для достижения быстрых результатов. Обо всем этом расскажет художник по персонажам Дмитрий Гришков.</p>
55 <p>Расскажем об основах скульптинга в ZBrush и том, как быстро создавать аккуратные и красивые стилизованные бюсты. Покажем практику с описанием действий и комментариями по анатомии лиц. Поделимся фишками и лайфхаками для достижения быстрых результатов. Обо всем этом расскажет художник по персонажам Дмитрий Гришков.</p>
56 <h2>7 декабря // 20:00</h2>
56 <h2>7 декабря // 20:00</h2>
57 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>Управление базой данных в андроиде на примере Room<strong>"</strong></a></p>
57 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>Управление базой данных в андроиде на примере Room<strong>"</strong></a></p>
58 <p>Научимся подключать рум к проекту, попробуем сделать простейшие запросы в базу данных, транзакции на запись и на чтение Научимся пользоваться базовой функциональностью рума Полезно будет всем начинающим андроид разработчикам</p>
58 <p>Научимся подключать рум к проекту, попробуем сделать простейшие запросы в базу данных, транзакции на запись и на чтение Научимся пользоваться базовой функциональностью рума Полезно будет всем начинающим андроид разработчикам</p>
59 <h2>7 декабря // 20:00</h2>
59 <h2>7 декабря // 20:00</h2>
60 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>СSS технологии для построения различных сеток макета: примеры и лучшие практики<strong>"</strong></a></p>
60 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>СSS технологии для построения различных сеток макета: примеры и лучшие практики<strong>"</strong></a></p>
61 <p>На вебинаре рассмотрим актуальные способы выстраивания типовых сеток макета с помощью различных CSS технологий. Вы научитесь работать с flexbox и grid, начнете понимать как и когда применять каждую из технологий. Занятие будет полезно как начинающим изучать верстку, так и продолжающим, чтобы углубить свои знания в этих темах.</p>
61 <p>На вебинаре рассмотрим актуальные способы выстраивания типовых сеток макета с помощью различных CSS технологий. Вы научитесь работать с flexbox и grid, начнете понимать как и когда применять каждую из технологий. Занятие будет полезно как начинающим изучать верстку, так и продолжающим, чтобы углубить свои знания в этих темах.</p>
62 <h2>7 декабря // 20:00</h2>
62 <h2>7 декабря // 20:00</h2>
63 <p><strong><a>ОТКРЫТЫЙ УРОК "ПОДГОТОВКА ИНФРАСТРУКТУРЫ ДЛЯ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ"</a></strong></p>
63 <p><strong><a>ОТКРЫТЫЙ УРОК "ПОДГОТОВКА ИНФРАСТРУКТУРЫ ДЛЯ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ"</a></strong></p>
64 <p>Разбираемся что необходимо сделать для запуска автотестов с использованием python и selenium.</p>
64 <p>Разбираемся что необходимо сделать для запуска автотестов с использованием python и selenium.</p>
65 <h2>7 декабря // 20:00</h2>
65 <h2>7 декабря // 20:00</h2>
66 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>Классы и интерфейсы в java<strong>"</strong></a></p>
66 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>Классы и интерфейсы в java<strong>"</strong></a></p>
67 <p>На открытом уроке поговорим о: конструкторах; создание объектов; состоянии объектов; поля класса; методах; поведение объектов; интерфейсах; контракт взаимодействия. В результате изучите основ ООП в java Занятие будет полезно начинающим разработчикам, которые хотят познакомиться с ООП и его применением в java.</p>
67 <p>На открытом уроке поговорим о: конструкторах; создание объектов; состоянии объектов; поля класса; методах; поведение объектов; интерфейсах; контракт взаимодействия. В результате изучите основ ООП в java Занятие будет полезно начинающим разработчикам, которые хотят познакомиться с ООП и его применением в java.</p>
68 <h2>8 декабря // 16:30</h2>
68 <h2>8 декабря // 16:30</h2>
69 <p><strong><a>ОТКРЫТЫЙ УРОК "АЛГОРИТМЫ РАСПРЕДЕЛЕННОГО КОНСЕНСУСА (RAFT, PAXOS)"</a></strong></p>
69 <p><strong><a>ОТКРЫТЫЙ УРОК "АЛГОРИТМЫ РАСПРЕДЕЛЕННОГО КОНСЕНСУСА (RAFT, PAXOS)"</a></strong></p>
70 <p>На занятии разберем для чего используются алгоритмы распределенного консенсуса и какие они бывают. Посмотрим как работают алгоритмы RAFT, PAXOS, а так же византийский консенсус</p>
70 <p>На занятии разберем для чего используются алгоритмы распределенного консенсуса и какие они бывают. Посмотрим как работают алгоритмы RAFT, PAXOS, а так же византийский консенсус</p>
71 <h2>8 декабря // 18:00</h2>
71 <h2>8 декабря // 18:00</h2>
72 <p><strong><a>ОТКРЫТЫЙ УРОК "ПОЧЕМУ БД ПРИЛЕГЛА ОТДОХНУТЬ ИЛИ ВОПРОСЫ ОПТИМИЗАЦИИ ПРОИЗВОДИТЕЛЬНОСТИ"</a></strong></p>
72 <p><strong><a>ОТКРЫТЫЙ УРОК "ПОЧЕМУ БД ПРИЛЕГЛА ОТДОХНУТЬ ИЛИ ВОПРОСЫ ОПТИМИЗАЦИИ ПРОИЗВОДИТЕЛЬНОСТИ"</a></strong></p>
73 <p>Вы узнаете: - О том, какие-такие проблемы с производительностью будоражат хранителей DWH (да прибудет с ними сила) - Изучите существующие подходы, ключевые принципы и практики оптимизации - Поймете, как легко положить базу данных (конечно же для того, чтобы так не делать) Кому подходит этот урок: - Начинающим и продолжающим специалистам в области Аналитики данных, Data Engineering - Тем, кого пугают планы запросов или радуют циклические вставки пары строк в БД - Желающим узнать best practices и как же на самом деле расшифровывается “KISS” Результат урока: - Поймете как НЕ надо делать, если вы не хотите смерти от мышки вашего DevOps-а - Узнаете о best practices в вопросах оптимизации производительности DWH - Посмотрите иначе на существующие в вашей команде структуры и сущности хранилища данных</p>
73 <p>Вы узнаете: - О том, какие-такие проблемы с производительностью будоражат хранителей DWH (да прибудет с ними сила) - Изучите существующие подходы, ключевые принципы и практики оптимизации - Поймете, как легко положить базу данных (конечно же для того, чтобы так не делать) Кому подходит этот урок: - Начинающим и продолжающим специалистам в области Аналитики данных, Data Engineering - Тем, кого пугают планы запросов или радуют циклические вставки пары строк в БД - Желающим узнать best practices и как же на самом деле расшифровывается “KISS” Результат урока: - Поймете как НЕ надо делать, если вы не хотите смерти от мышки вашего DevOps-а - Узнаете о best practices в вопросах оптимизации производительности DWH - Посмотрите иначе на существующие в вашей команде структуры и сущности хранилища данных</p>
74 <h2>8 декабря // 20:00</h2>
74 <h2>8 декабря // 20:00</h2>
75 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>ЦИФРОВАЯ ТРАНСФОРМАЦИЯ IT HRBP<strong>"</strong></a></p>
75 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>ЦИФРОВАЯ ТРАНСФОРМАЦИЯ IT HRBP<strong>"</strong></a></p>
76 <p>В рамках открытого урока рассмотрим влияние на изменение роли и функций IT HRBP в связи с внедрением цифровых решений в компании, а также must have цифровые инструменты для работы IT HRBP.</p>
76 <p>В рамках открытого урока рассмотрим влияние на изменение роли и функций IT HRBP в связи с внедрением цифровых решений в компании, а также must have цифровые инструменты для работы IT HRBP.</p>
77 <h2>8 декабря // 20:00</h2>
77 <h2>8 декабря // 20:00</h2>
78 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>Множество Жюлиа<strong>"</strong></a></p>
78 <p><a><strong>ОТКРЫТЫЙ УРОК "</strong>Множество Жюлиа<strong>"</strong></a></p>
79 <p>Мир фракталов породил много интересных изображений, которые описываются простыми математическими формулами. Для построения этих изображений нам потребуется язык программирования и в рамках этого открытого урока мы рассмотрим как можно написать программу для генерации фракталов на C++.</p>
79 <p>Мир фракталов породил много интересных изображений, которые описываются простыми математическими формулами. Для построения этих изображений нам потребуется язык программирования и в рамках этого открытого урока мы рассмотрим как можно написать программу для генерации фракталов на C++.</p>
80 <h2>8 декабря // 20:00</h2>
80 <h2>8 декабря // 20:00</h2>
81 <p><strong><a>ОТКРЫТЫЙ УРОК "НАСТРОЙКА ПАЙПЛАЙНОВ В JENKINS 123"</a></strong></p>
81 <p><strong><a>ОТКРЫТЫЙ УРОК "НАСТРОЙКА ПАЙПЛАЙНОВ В JENKINS 123"</a></strong></p>
82 <p>Посмотрим на пайплайны в Jenkins: из каких шагов и блоков состоят. Научимся писать groovy скрипты для создания пайплайнов, изучим их составные части. Содержание: - Настройка скриптов в Jenkins - pipeline (agent, options, environment) - stages, stage - steps, when, script, вызов функций Полезно для: DevOps-инженерам и https://otus.ru/lessons/java-specialization/ам, которые хотят научиться создавать и настраивать сборки java backend проектов</p>
82 <p>Посмотрим на пайплайны в Jenkins: из каких шагов и блоков состоят. Научимся писать groovy скрипты для создания пайплайнов, изучим их составные части. Содержание: - Настройка скриптов в Jenkins - pipeline (agent, options, environment) - stages, stage - steps, when, script, вызов функций Полезно для: DevOps-инженерам и https://otus.ru/lessons/java-specialization/ам, которые хотят научиться создавать и настраивать сборки java backend проектов</p>
83 <h2>8 декабря // 20:00</h2>
83 <h2>8 декабря // 20:00</h2>
84 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong>АРХИТЕКТУРА БОЛЬШИХ VUE-ПРИЛОЖЕНИЙ И ЛУЧШИЕ ПРАКТИКИ</strong>"</a></strong></p>
84 <p><strong><a>ОТКРЫТЫЙ УРОК "<strong>АРХИТЕКТУРА БОЛЬШИХ VUE-ПРИЛОЖЕНИЙ И ЛУЧШИЕ ПРАКТИКИ</strong>"</a></strong></p>
85 <p>Узнаем, как можно структурировать код по мере роста приложения, про монолитную и модульную архитектуру приложения - Обсудим, какие приемы можно применить для снижения сложности разработки и сопровождения и как нам могут помочь фабрики компонентов и сервисы. - Разберем хорошие практики и правила хорошего стиля. - Не забудем про антипаттерны и чего следует избегать при разработке</p>
85 <p>Узнаем, как можно структурировать код по мере роста приложения, про монолитную и модульную архитектуру приложения - Обсудим, какие приемы можно применить для снижения сложности разработки и сопровождения и как нам могут помочь фабрики компонентов и сервисы. - Разберем хорошие практики и правила хорошего стиля. - Не забудем про антипаттерны и чего следует избегать при разработке</p>
86  
86