From 4e468d9feb487ee2aaf5740be9b9fbf748739f51 Mon Sep 17 00:00:00 2001 From: Dmitriy Dmitriev Date: Tue, 30 Nov 2021 22:27:50 +0300 Subject: [PATCH] Fixed font size in Russian graphml --- Russian/Graph/roadmap.graphml | 2758 +++++++------- Russian/Graph/roadmap.svg | 6658 ++++++++++++++++----------------- 2 files changed, 4705 insertions(+), 4711 deletions(-) diff --git a/Russian/Graph/roadmap.graphml b/Russian/Graph/roadmap.graphml index 002f8de..6c6cca9 100644 --- a/Russian/Graph/roadmap.graphml +++ b/Russian/Graph/roadmap.graphml @@ -18,10 +18,10 @@ - + - C++ developer + C++ developer @@ -30,10 +30,10 @@ - + - Soft skills + Soft skills @@ -42,10 +42,10 @@ - + - Hard skills + Hard skills @@ -53,10 +53,10 @@ - + - Сначала может показаться, что некоторые из навыков + Сначала может показаться, что некоторые из навыков развивать невозможно. Однако мы считаем иначе. Над каждым из пунктов возможно работать. Всё упирается в желание и внутренние блоки. Всё @@ -68,10 +68,10 @@ - + - Умение учиться + Умение учиться @@ -79,10 +79,10 @@ - + - Работа с ошибками + Работа с ошибками @@ -90,10 +90,10 @@ - + - Мышление + Мышление @@ -101,10 +101,10 @@ - + - Ответственность + Ответственность @@ -112,10 +112,10 @@ - + - Управление ресурсами + Управление ресурсами @@ -123,10 +123,10 @@ - + - Коммуникация + Коммуникация @@ -134,10 +134,10 @@ - + - Командная работа + Командная работа @@ -145,10 +145,10 @@ - + - Эмоциональный интелект + Эмоциональный интелект @@ -156,10 +156,10 @@ - + - Понимание контекста разработки + Понимание контекста разработки @@ -167,10 +167,10 @@ - + - Клиентоориентированность + Клиентоориентированность @@ -178,10 +178,10 @@ - + - Технологии + Технологии @@ -189,10 +189,10 @@ - + - Тренды + Тренды @@ -200,10 +200,10 @@ - + - Эмпатия + Эмпатия @@ -211,10 +211,10 @@ - + - Концентрация + Концентрация @@ -222,10 +222,10 @@ - + - Открытость новому + Открытость новому @@ -233,10 +233,10 @@ - + - Адаптируемость + Адаптируемость @@ -244,10 +244,10 @@ - + - Стрессоустойчивость + Стрессоустойчивость @@ -255,10 +255,10 @@ - + - Работа в неопределённости + Работа в неопределённости @@ -266,10 +266,10 @@ - + - Понимание распределения ролей в команде + Понимание распределения ролей в команде @@ -277,10 +277,10 @@ - + - Помощь + Помощь @@ -288,10 +288,10 @@ - + - Работа в распределённой команде + Работа в распределённой команде @@ -299,10 +299,10 @@ - + - Предоставление обратной связи + Предоставление обратной связи @@ -310,10 +310,10 @@ - + - Лидерство + Лидерство @@ -321,10 +321,10 @@ - + - Наставничество + Наставничество @@ -332,10 +332,10 @@ - + - Делегирование + Делегирование @@ -343,10 +343,10 @@ - + - Постановка задач сотрудникам + Постановка задач сотрудникам @@ -354,10 +354,10 @@ - + - Планирование и целеполагание + Планирование и целеполагание @@ -365,10 +365,10 @@ - + - Переговорческие навыки + Переговорческие навыки @@ -376,10 +376,10 @@ - + - Английский язык + Английский язык @@ -387,10 +387,10 @@ - + - Презентация + Презентация @@ -398,10 +398,10 @@ - + - Навык переписки + Навык переписки @@ -409,10 +409,10 @@ - + - Нетворкинг + Нетворкинг @@ -420,10 +420,10 @@ - + - Умение слушать + Умение слушать @@ -431,10 +431,10 @@ - + - Убеждение + Убеждение @@ -442,10 +442,10 @@ - + - Умение доносить мысль/идеи внутри команды + Умение доносить мысль/идеи внутри команды @@ -453,10 +453,10 @@ - + - Поиск компромиссов + Поиск компромиссов @@ -464,10 +464,10 @@ - + - Регулирование споров + Регулирование споров @@ -475,10 +475,10 @@ - + - Подача информации людям вне команды + Подача информации людям вне команды @@ -486,10 +486,10 @@ - + - Тайм-менеджмент + Тайм-менеджмент @@ -497,10 +497,10 @@ - + - Приоритезация + Приоритезация @@ -508,10 +508,10 @@ - + - Принятие решений + Принятие решений @@ -519,10 +519,10 @@ - + - Слепая печать + Слепая печать @@ -530,10 +530,10 @@ - + - Многозадачность + Многозадачность @@ -541,10 +541,10 @@ - + - Дисциплина + Дисциплина @@ -552,10 +552,10 @@ - + - Упорство + Упорство @@ -563,10 +563,10 @@ - + - Инициативность + Инициативность @@ -574,10 +574,10 @@ - + - Самостоятельность + Самостоятельность @@ -585,10 +585,10 @@ - + - Решение проблем + Решение проблем @@ -596,10 +596,10 @@ - + - Логическое + Логическое @@ -607,10 +607,10 @@ - + - Критическое + Критическое @@ -618,10 +618,10 @@ - + - Креативное + Креативное @@ -629,10 +629,10 @@ - + - Стратегическое + Стратегическое @@ -640,10 +640,10 @@ - + - Системное + Системное @@ -651,10 +651,10 @@ - + - Восприятие критики + Восприятие критики @@ -662,10 +662,10 @@ - + - Своевременное сигнализирование об ошибках + Своевременное сигнализирование об ошибках @@ -673,10 +673,10 @@ - + - Признание своих ошибок + Признание своих ошибок @@ -684,10 +684,10 @@ - + - Анализ ошибок + Анализ ошибок @@ -695,10 +695,10 @@ - + - Умение задавать правильные вопросы + Умение задавать правильные вопросы @@ -706,10 +706,10 @@ - + - Экспериментирование + Экспериментирование @@ -717,10 +717,10 @@ - + - Управление знаниями + Управление знаниями @@ -728,10 +728,10 @@ - + - Работа с информацией + Работа с информацией @@ -739,10 +739,10 @@ - + - Умение собирать информацию, + Умение собирать информацию, анализировать её и выдавать взвешенное  решение. @@ -752,10 +752,10 @@ - + - Рефлексия + Рефлексия @@ -763,10 +763,10 @@ - + - Cпокойно реагировать на то, что люди говорят. + Cпокойно реагировать на то, что люди говорят. Скорее всего, они учитывают только собственный контекст, когда что-то пытаются доказать. Это нормально. Оценивайте полезность их точки зрения. @@ -777,10 +777,10 @@ - + - Брать сложные задачи, чтобы развивать свои + Брать сложные задачи, чтобы развивать свои навыки и компетенции, даже когда недостаточно знаний/опыта (через такие задачи гораздо быстрее развиваются навыки). Главное отличить реально @@ -793,10 +793,10 @@ - + - Быть ответственным за профессиональное развитие. Не ждать + Быть ответственным за профессиональное развитие. Не ждать пока тимлид решит, что изучать. Не стоит забывать, что слепое следование чужому плану заточит под задачи конкретной компании. Стоит обсуждать и встраивать свои интересы в план. Если этого @@ -811,10 +811,10 @@ - + - Самоорганизация + Самоорганизация @@ -822,10 +822,10 @@ - + - Способность предоставлять тот объем информации, + Способность предоставлять тот объем информации, который необходим для общения с людьми разного бекграунда. @@ -835,10 +835,10 @@ - + - Решение конфликтов + Решение конфликтов @@ -846,10 +846,10 @@ - + - Достаточно уверенного чтения документации и статей, + Достаточно уверенного чтения документации и статей, но для более перспективных вакансий разговорный/письменный навык становится обязательным. @@ -859,10 +859,10 @@ - + - Искать единомышленников и присоединяться/создавать + Искать единомышленников и присоединяться/создавать комьюнити для общения и передачи опыта. @@ -871,10 +871,10 @@ - + - Чтобы быть конкурентоспособным, стоит изучать и наблюдать + Чтобы быть конкурентоспособным, стоит изучать и наблюдать за новыми веяниями, а также уметь адаптироваться под них. @@ -883,10 +883,10 @@ - + - Опытному разработчику стоит развивать навыки управления и + Опытному разработчику стоит развивать навыки управления и общения с бизнесом для эффективного выполнения задач. Это легче делать, если развит эмоциональный интеллект. Для джуниора навык также полезен, чтобы лучше @@ -901,14 +901,14 @@ - + - 1 этап + 1 этап - + @@ -927,10 +927,10 @@ - + - Базовые операции + Базовые операции @@ -938,10 +938,10 @@ - + - Арфиметические операции + Арфиметические операции @@ -949,10 +949,10 @@ - + - Циклы for/while + Циклы for/while @@ -960,10 +960,10 @@ - + - Логические операции + Логические операции @@ -971,10 +971,10 @@ - + - Битовые операции + Битовые операции @@ -982,10 +982,10 @@ - + - Функции + Функции @@ -993,10 +993,10 @@ - + - lambda + lambda @@ -1004,10 +1004,10 @@ - + - Операторы + Операторы @@ -1015,10 +1015,10 @@ - + - Типы данных + Типы данных @@ -1026,10 +1026,10 @@ - + - Динамическая типизация + Динамическая типизация @@ -1037,10 +1037,10 @@ - + - Статическая типизация + Статическая типизация @@ -1048,10 +1048,10 @@ - + - RTTI + RTTI @@ -1059,10 +1059,10 @@ - + - Указатели и ссылки + Указатели и ссылки @@ -1070,10 +1070,10 @@ - + - Организация кодовой базы + Организация кодовой базы @@ -1081,10 +1081,10 @@ - + - Ссылки + Ссылки @@ -1092,10 +1092,10 @@ - + - Модель памяти + Модель памяти @@ -1103,10 +1103,10 @@ - + - Умные указатели + Умные указатели @@ -1114,10 +1114,10 @@ - + - Сырые Указатели + Сырые Указатели @@ -1125,10 +1125,10 @@ - + - Разделение кода на headers/cpp юниты + Разделение кода на headers/cpp юниты @@ -1136,10 +1136,10 @@ - + - Область видимости + Область видимости @@ -1147,10 +1147,10 @@ - + - Утечки памяти + Утечки памяти @@ -1158,10 +1158,10 @@ - + - Forward declaration + Forward declaration @@ -1169,10 +1169,10 @@ - + - unique_ptr + unique_ptr @@ -1180,10 +1180,10 @@ - + - shared_ptr + shared_ptr @@ -1191,10 +1191,10 @@ - + - Время жизни + Время жизни @@ -1202,10 +1202,10 @@ - + - Операторы new/delete + Операторы new/delete @@ -1213,10 +1213,10 @@ - + - weak_ptr + weak_ptr @@ -1224,10 +1224,10 @@ - + - Пространство имён + Пространство имён @@ -1235,10 +1235,10 @@ - + - Перегрузка стандартных операторов для + Перегрузка стандартных операторов для различных типов/структур/классов. @@ -1247,10 +1247,10 @@ - + - Чтобы избежать проблем с управлением памятью, + Чтобы избежать проблем с управлением памятью, старайтесь писать код используя ссылки и умные указатели. @@ -1265,10 +1265,10 @@ - + - 2 этап + 2 этап @@ -1291,10 +1291,10 @@ - + - Структуры и классы + Структуры и классы @@ -1302,10 +1302,10 @@ - + - Обработка ошибок + Обработка ошибок @@ -1313,10 +1313,10 @@ - + - Перегрузка методов + Перегрузка методов @@ -1324,10 +1324,10 @@ - + - Таблица вирутальных методов + Таблица вирутальных методов @@ -1335,10 +1335,10 @@ - + - ООП + ООП @@ -1346,10 +1346,10 @@ - + - Исключения + Исключения @@ -1357,10 +1357,10 @@ - + - Access violation + Access violation @@ -1368,10 +1368,10 @@ - + - Динамический полиморфизм + Динамический полиморфизм @@ -1379,10 +1379,10 @@ - + - Виртуальные методы + Виртуальные методы @@ -1390,10 +1390,10 @@ - + - Правило нуля/трех/пяти + Правило нуля/трех/пяти @@ -1401,10 +1401,10 @@ - + - Статический полиморфизм + Статический полиморфизм @@ -1412,10 +1412,10 @@ - + - Множественное наследование + Множественное наследование @@ -1423,10 +1423,10 @@ - + - Ромбовидное наследование + Ромбовидное наследование @@ -1434,10 +1434,10 @@ - + - Коды возврата + Коды возврата @@ -1445,10 +1445,10 @@ - + - Не используйте + Не используйте множественное наследование @@ -1462,14 +1462,14 @@ - + - 3 этап + 3 этап - + @@ -1488,10 +1488,10 @@ - + - auto (автоматическое выведение типов) + auto (автоматическое выведение типов) @@ -1499,10 +1499,10 @@ - + - Концепции языка + Концепции языка @@ -1510,10 +1510,10 @@ - + - type casting + type casting @@ -1521,10 +1521,10 @@ - + - static_cast + static_cast @@ -1532,10 +1532,10 @@ - + - const_cast + const_cast @@ -1543,10 +1543,10 @@ - + - dynamic_cast + dynamic_cast @@ -1554,10 +1554,10 @@ - + - reinterpret_cast + reinterpret_cast @@ -1565,10 +1565,10 @@ - + - Неопределённое поведение (Undefined Behavior) + Неопределённое поведение (Undefined Behavior) @@ -1576,10 +1576,10 @@ - + - Поиск, зависящий от аргумента (ADL) + Поиск, зависящий от аргумента (ADL) @@ -1587,10 +1587,10 @@ - + - Макросы + Макросы @@ -1598,10 +1598,10 @@ - + - Name mangling + Name mangling @@ -1609,10 +1609,10 @@ - + - Стандартная библиотека + Стандартная библиотека @@ -1620,10 +1620,10 @@ - + - Поток ввода/вывода + Поток ввода/вывода @@ -1631,10 +1631,10 @@ - + - Алгоритмы стандартной библиотеки + Алгоритмы стандартной библиотеки @@ -1642,10 +1642,10 @@ - + - Итераторы + Итераторы @@ -1653,10 +1653,10 @@ - + - Контейнеры + Контейнеры @@ -1664,10 +1664,10 @@ - + - Дата/время + Дата/время @@ -1675,10 +1675,10 @@ - + - Многопоточность + Многопоточность @@ -1686,10 +1686,10 @@ - + - Языковые конструкции для которых отсутствуют прописанные + Языковые конструкции для которых отсутствуют прописанные требования в стандартах. В случае ошибки дальнейшее поведение будет предсказать невозможно, и всецело будет зависеть от контекста выполнения или платформы, где запущено @@ -1706,10 +1706,10 @@ - + - 4 этап + 4 этап @@ -1732,10 +1732,10 @@ - + - Шаблоны + Шаблоны @@ -1743,10 +1743,10 @@ - + - Variadic templates + Variadic templates @@ -1754,10 +1754,10 @@ - + - Специализация шаблона + Специализация шаблона @@ -1765,10 +1765,10 @@ - + - type traits + type traits @@ -1776,10 +1776,10 @@ - + - SFINAE + SFINAE @@ -1787,10 +1787,10 @@ - + - Полная специализация + Полная специализация @@ -1798,10 +1798,10 @@ - + - Частичная специализация + Частичная специализация @@ -1809,10 +1809,10 @@ - + - RAII + RAII @@ -1820,10 +1820,10 @@ - + - pimpl + pimpl @@ -1831,10 +1831,10 @@ - + - Erase-Remove + Erase-Remove @@ -1842,10 +1842,10 @@ - + - Non-Copyable/Non-Moveable + Non-Copyable/Non-Moveable @@ -1853,10 +1853,10 @@ - + - Copy and swap + Copy and swap @@ -1864,10 +1864,10 @@ - + - Copy on write + Copy on write @@ -1875,10 +1875,10 @@ - + - CRTP + CRTP @@ -1886,10 +1886,10 @@ - + - Стандарты + Стандарты @@ -1897,10 +1897,10 @@ - + - C++11/14 + C++11/14 @@ -1908,10 +1908,10 @@ - + - C++17 + C++17 @@ -1919,10 +1919,10 @@ - + - C++20 + C++20 @@ -1930,10 +1930,10 @@ - + - newest + newest @@ -1941,10 +1941,10 @@ - + - C++0x + C++0x @@ -1952,10 +1952,10 @@ - + - Идиомы + Идиомы @@ -1968,11 +1968,11 @@ - + - 1 этап - + 1 этап + @@ -1983,7 +1983,7 @@ - + @@ -2002,10 +2002,10 @@ - + - Работа с исходным кодом + Работа с исходным кодом @@ -2013,10 +2013,10 @@ - + - Текстовый редактор + Текстовый редактор @@ -2024,10 +2024,10 @@ - + - IDE + IDE @@ -2035,10 +2035,10 @@ - + - Редакторы исходного кода + Редакторы исходного кода @@ -2046,10 +2046,10 @@ - + - Отладчик + Отладчик @@ -2057,10 +2057,10 @@ - + - Линтеры + Линтеры @@ -2068,10 +2068,10 @@ - + - Знание о базовых возможностях (shortcuts, tools, plugins) + Знание о базовых возможностях (shortcuts, tools, plugins) @@ -2079,10 +2079,10 @@ - + - Умение читать сообщения отладчика + Умение читать сообщения отладчика @@ -2090,10 +2090,10 @@ - + - Отладочные символы + Отладочные символы @@ -2101,10 +2101,10 @@ - + - WinDbg + WinDbg @@ -2112,10 +2112,10 @@ - + - GDB + GDB @@ -2123,10 +2123,10 @@ - + - Выберите один из понравившихся популярных IDE + Выберите один из понравившихся популярных IDE и хорошо освойте его: Eclipse, MS Visual Studio, Qt Creator, JetBrains Clion, XCode и т.д. @@ -2136,10 +2136,10 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - Научитесь пользоваться отладчиком. Изучите его + Научитесь пользоваться отладчиком. Изучите его возможности. @@ -2148,10 +2148,10 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - Выберите один из популярных редакторов и хорошо + Выберите один из популярных редакторов и хорошо освойте его. К примеру: Notepad++, Atom, и т.д. @@ -2160,10 +2160,10 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - Навык работы с отладчиком в через командную строку - + Навык работы с отладчиком в через командную строку - узконаправленный навык. В регулярной работе достаточно уметь работать с отладчиком в рамках IDE. @@ -2173,10 +2173,10 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - Ознакомьтесь с самыми распространёнными ошибками + Ознакомьтесь с самыми распространёнными ошибками (segfault, out of memory, access violation) и концепцией  неопределённого поведения (undefined behavior) @@ -2186,10 +2186,10 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - Выберите один из популярных редакторов и и хорошо + Выберите один из популярных редакторов и и хорошо освойте его: Visual Code, Atom, Sublime Text и т.д. @@ -2203,14 +2203,14 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - 3 этап + 3 этап - + @@ -2229,10 +2229,10 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - Компиляторы + Компиляторы @@ -2240,10 +2240,10 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - Базовые знания работы компиляторов + Базовые знания работы компиляторов @@ -2251,10 +2251,10 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - Компиляция кода в объектные файлы + Компиляция кода в объектные файлы @@ -2262,10 +2262,10 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - Компоновка объектных файлов в приложение (линковка) + Компоновка объектных файлов в приложение (линковка) @@ -2273,10 +2273,10 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - Этапы работы компилятора + Этапы работы компилятора @@ -2284,10 +2284,10 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - Платформозависимые компиляторы + Платформозависимые компиляторы @@ -2295,10 +2295,10 @@ Qt Creator, JetBrains Clion, XCode и т.д. - + - У компиляторов есть свои особенности, о которых + У компиляторов есть свои особенности, о которых хорошо бы знать: Clang++/LLVM, Intel C++, MSVS C++, GCC, MinGW @@ -2308,10 +2308,10 @@ GCC, MinGW - + - Есть несколько этапов работы компилятора, которые + Есть несколько этапов работы компилятора, которые хорошо бы знать. Это помогает ошибки решать проблемы сборки на разных этапах. Достаточно базово понимать, что происходит. Детали работы нужны @@ -2328,10 +2328,10 @@ GCC, MinGW - + - 5 этап + 5 этап @@ -2354,10 +2354,10 @@ GCC, MinGW - + - Системы сборки + Системы сборки @@ -2365,10 +2365,10 @@ GCC, MinGW - + - CMake + CMake @@ -2376,10 +2376,10 @@ GCC, MinGW - + - Makefile + Makefile @@ -2387,10 +2387,10 @@ GCC, MinGW - + - ninja + ninja @@ -2398,10 +2398,10 @@ GCC, MinGW - + - Пакетные менеджеры + Пакетные менеджеры @@ -2409,10 +2409,10 @@ GCC, MinGW - + - vcpkg + vcpkg @@ -2420,10 +2420,10 @@ GCC, MinGW - + - spack + spack @@ -2431,10 +2431,10 @@ GCC, MinGW - + - Conan + Conan @@ -2442,10 +2442,10 @@ GCC, MinGW - + - nuget + nuget @@ -2453,10 +2453,10 @@ GCC, MinGW - + - Библиотеки + Библиотеки @@ -2464,10 +2464,10 @@ GCC, MinGW - + - boost + boost @@ -2475,10 +2475,10 @@ GCC, MinGW - + - opencv + opencv @@ -2486,10 +2486,10 @@ GCC, MinGW - + - poco + poco @@ -2497,10 +2497,10 @@ GCC, MinGW - + - Подключение библиотек + Подключение библиотек @@ -2508,10 +2508,10 @@ GCC, MinGW - + - protobuf + protobuf @@ -2519,10 +2519,10 @@ GCC, MinGW - + - gRPC + gRPC @@ -2530,10 +2530,10 @@ GCC, MinGW - + - fmt + fmt @@ -2541,10 +2541,10 @@ GCC, MinGW - + - pybindll + pybindll @@ -2552,10 +2552,10 @@ GCC, MinGW - + - spdlog + spdlog @@ -2563,10 +2563,10 @@ GCC, MinGW - + - ranges_v3 + ranges_v3 @@ -2574,10 +2574,10 @@ GCC, MinGW - + - tensorflow + tensorflow @@ -2585,10 +2585,10 @@ GCC, MinGW - + - opencl + opencl @@ -2596,10 +2596,10 @@ GCC, MinGW - + - Фреймворки + Фреймворки @@ -2607,10 +2607,10 @@ GCC, MinGW - + - gtest/gmock + gtest/gmock @@ -2618,10 +2618,10 @@ GCC, MinGW - + - Qt + Qt @@ -2629,10 +2629,10 @@ GCC, MinGW - + - catch2 + catch2 @@ -2640,10 +2640,10 @@ GCC, MinGW - + - google profiler + google profiler @@ -2651,10 +2651,10 @@ GCC, MinGW - + - pytorch c++ + pytorch c++ @@ -2667,14 +2667,14 @@ GCC, MinGW - + - 1 этап + 1 этап - + @@ -2693,10 +2693,10 @@ GCC, MinGW - + - Информатика + Информатика @@ -2704,10 +2704,10 @@ GCC, MinGW - + - Структуры данных + Структуры данных @@ -2715,10 +2715,10 @@ GCC, MinGW - + - Алгоритмы + Алгоритмы @@ -2726,10 +2726,10 @@ GCC, MinGW - + - Булева алгебра + Булева алгебра @@ -2737,10 +2737,10 @@ GCC, MinGW - + - Конечные автоматы + Конечные автоматы @@ -2748,10 +2748,10 @@ GCC, MinGW - + - Также необходимо понимать, как вычислить сложность + Также необходимо понимать, как вычислить сложность и потребление памяти у алгоритмов. @@ -2765,14 +2765,14 @@ GCC, MinGW - + - 4 этап + 4 этап - + @@ -2791,10 +2791,10 @@ GCC, MinGW - + - Системы контроля версий + Системы контроля версий @@ -2802,10 +2802,10 @@ GCC, MinGW - + - Распределенные + Распределенные @@ -2813,10 +2813,10 @@ GCC, MinGW - + - Централизованные + Централизованные @@ -2824,10 +2824,10 @@ GCC, MinGW - + - SVN + SVN @@ -2835,10 +2835,10 @@ GCC, MinGW - + - git + git @@ -2846,10 +2846,10 @@ GCC, MinGW - + - Mercurial + Mercurial @@ -2857,10 +2857,10 @@ GCC, MinGW - + - Практики разработки + Практики разработки @@ -2868,10 +2868,10 @@ GCC, MinGW - + - Качество кода + Качество кода @@ -2879,10 +2879,10 @@ GCC, MinGW - + - Правило оформления кода + Правила оформления кода @@ -2890,10 +2890,10 @@ GCC, MinGW - + - Принципы разработки + Принципы разработки @@ -2901,10 +2901,10 @@ GCC, MinGW - + - KISS (Keep It Simple, Stupid) + KISS (Keep It Simple, Stupid) @@ -2912,10 +2912,10 @@ GCC, MinGW - + - DRY (Don't Repeat Yourself) + DRY (Don't Repeat Yourself) @@ -2923,10 +2923,10 @@ GCC, MinGW - + - YAGNI (You Aren't Gonna Need It) + YAGNI (You Aren't Gonna Need It) @@ -2934,10 +2934,10 @@ GCC, MinGW - + - APO (Avoid Premature Optimization) + APO (Avoid Premature Optimization) @@ -2945,10 +2945,10 @@ GCC, MinGW - + - BDUF (Big Design Up Front) + BDUF (Big Design Up Front) @@ -2956,10 +2956,10 @@ GCC, MinGW - + - Композиция предпочтительнее наследования + Композиция предпочтительнее наследования @@ -2967,10 +2967,10 @@ GCC, MinGW - + - Бритва Оккама + Бритва Оккама @@ -2978,10 +2978,10 @@ GCC, MinGW - + - Разделяй и властвуй + Разделяй и властвуй @@ -2989,10 +2989,10 @@ GCC, MinGW - + - Логирование и телеметрия + Логирование и телеметрия @@ -3000,10 +3000,10 @@ GCC, MinGW - + - Ревью кода + Ревью кода @@ -3011,10 +3011,10 @@ GCC, MinGW - + - Умение читать чужой код + Умение читать чужой код @@ -3022,10 +3022,10 @@ GCC, MinGW - + - Ревью чужого кода + Ревью чужого кода @@ -3033,10 +3033,10 @@ GCC, MinGW - + - Понимание жизненного цикла производства ПО + Понимание жизненного цикла производства ПО @@ -3044,10 +3044,10 @@ GCC, MinGW - + - Реализация + Реализация @@ -3055,10 +3055,10 @@ GCC, MinGW - + - Тестирование + Тестирование @@ -3066,10 +3066,10 @@ GCC, MinGW - + - Поддержка + Поддержка @@ -3077,10 +3077,10 @@ GCC, MinGW - + - Версионирование ПО + Версионирование ПО @@ -3088,10 +3088,10 @@ GCC, MinGW - + - Юнит тесты + Юнит тесты @@ -3099,10 +3099,10 @@ GCC, MinGW - + - Интеграционное + Интеграционное @@ -3110,10 +3110,10 @@ GCC, MinGW - + - Функциональное + Функциональное @@ -3121,10 +3121,10 @@ GCC, MinGW - + - Производительность + Производительность @@ -3132,10 +3132,10 @@ GCC, MinGW - + - Формирование архитектуры и дизайн компонентов + Формирование архитектуры и дизайн компонентов @@ -3143,10 +3143,10 @@ GCC, MinGW - + - Интеграция компонентов + Интеграция компонентов @@ -3154,10 +3154,10 @@ GCC, MinGW - + - Выпуск + Выпуск @@ -3165,10 +3165,10 @@ GCC, MinGW - + - Сбор требований + Сбор требований @@ -3176,10 +3176,10 @@ GCC, MinGW - + - Окончание жизненного цикла + Окончание жизненного цикла @@ -3187,10 +3187,10 @@ GCC, MinGW - + - Анализаторы кода + Анализаторы кода @@ -3198,10 +3198,10 @@ GCC, MinGW - + - Статические + Статические @@ -3209,10 +3209,10 @@ GCC, MinGW - + - Динамические + Динамические @@ -3220,10 +3220,10 @@ GCC, MinGW - + - Профайлеры + Профайлеры @@ -3231,10 +3231,10 @@ GCC, MinGW - + - C++ core guidelines + C++ core guidelines @@ -3242,10 +3242,10 @@ GCC, MinGW - + - Промышленные стандарты + Промышленные стандарты @@ -3253,10 +3253,10 @@ GCC, MinGW - + - MISRA + MISRA @@ -3264,10 +3264,10 @@ GCC, MinGW - + - Autosar + Autosar @@ -3275,10 +3275,10 @@ GCC, MinGW - + - Работа с командной строкой + Работа с командной строкой @@ -3286,10 +3286,10 @@ GCC, MinGW - + - batch + batch @@ -3297,10 +3297,10 @@ GCC, MinGW - + - Powershell + Powershell @@ -3308,10 +3308,10 @@ GCC, MinGW - + - bash + bash @@ -3319,10 +3319,10 @@ GCC, MinGW - + - CI/CD + CI/CD @@ -3330,10 +3330,10 @@ GCC, MinGW - + - Trunk Based Development + Trunk Based Development @@ -3341,10 +3341,10 @@ GCC, MinGW - + - Zero downtime deployment + Zero downtime deployment @@ -3352,10 +3352,10 @@ GCC, MinGW - + - Создание пакета поставки ПО + Создание пакета поставки ПО @@ -3363,10 +3363,10 @@ GCC, MinGW - + - Документация + Документация @@ -3374,10 +3374,10 @@ GCC, MinGW - + - Инсталлятор + Инсталлятор @@ -3385,10 +3385,10 @@ GCC, MinGW - + - Использование других языков программирования + Использование других языков программирования @@ -3396,10 +3396,10 @@ GCC, MinGW - + - Межязыковое взаимодействие + Межязыковое взаимодействие @@ -3407,10 +3407,10 @@ GCC, MinGW - + - Правила именования переменных, пробелы vs табы, + Правила именования переменных, пробелы vs табы, положение фигурных скобок и т.д. @@ -3419,10 +3419,10 @@ GCC, MinGW - + - Настроить форматирование и автоматически проверять + Настроить форматирование и автоматически проверять в одной из утилит: clang-format, Resharper - стиль кода, MSVS - стиль кода. @@ -3432,10 +3432,10 @@ MSVS - стиль кода. - + - - Скриптовые + - Скриптовые - Функциональные - SQL like - NoSQL @@ -3447,10 +3447,10 @@ MSVS - стиль кода. - + - Иногда требуется предоставить обертку к библиотеке, написанной + Иногда требуется предоставить обертку к библиотеке, написанной на C++ для другого ЯП, например Python или C#. Для этого применяют специальные библиотеки/фреймворки. @@ -3460,10 +3460,10 @@ MSVS - стиль кода. - + - Обратная совместимость + Обратная совместимость @@ -3473,10 +3473,10 @@ MSVS - стиль кода. - + - Проектирование ПО + Проектирование ПО @@ -3484,10 +3484,10 @@ MSVS - стиль кода. - + - Архитектурные стили + Архитектурные стили @@ -3495,10 +3495,10 @@ MSVS - стиль кода. - + - Component-based + Component-based @@ -3506,10 +3506,10 @@ MSVS - стиль кода. - + - Monolithic application + Monolithic application @@ -3517,10 +3517,10 @@ MSVS - стиль кода. - + - Layered + Layered @@ -3528,10 +3528,10 @@ MSVS - стиль кода. - + - Client-server + Client-server @@ -3539,10 +3539,10 @@ MSVS - стиль кода. - + - Microservices architecture + Microservices architecture @@ -3550,10 +3550,10 @@ MSVS - стиль кода. - + - Event-driven + Event-driven @@ -3561,10 +3561,10 @@ MSVS - стиль кода. - + - Plug-ins + Plug-ins @@ -3572,10 +3572,10 @@ MSVS - стиль кода. - + - REST + REST @@ -3583,10 +3583,10 @@ MSVS - стиль кода. - + - Service-oriented architecture + Service-oriented architecture @@ -3597,14 +3597,14 @@ MSVS - стиль кода. - + - 2 этап + 2 этап - + @@ -3623,10 +3623,10 @@ MSVS - стиль кода. - + - Паттерны проектирования (GoF) + Паттерны проектирования (GoF) @@ -3634,10 +3634,10 @@ MSVS - стиль кода. - + - Поведенческие + Поведенческие @@ -3645,10 +3645,10 @@ MSVS - стиль кода. - + - Структурные + Структурные @@ -3656,10 +3656,10 @@ MSVS - стиль кода. - + - Порождающие + Порождающие @@ -3667,10 +3667,10 @@ MSVS - стиль кода. - + - ООП + ООП @@ -3678,10 +3678,10 @@ MSVS - стиль кода. - + - SOLID + SOLID @@ -3689,10 +3689,10 @@ MSVS - стиль кода. - + - UML + UML @@ -3702,10 +3702,10 @@ MSVS - стиль кода. - + - Архитектурные паттерны + Архитектурные паттерны @@ -3713,10 +3713,10 @@ MSVS - стиль кода. - + - MVC + MVC @@ -3724,10 +3724,10 @@ MSVS - стиль кода. - + - MVVM + MVVM @@ -3735,10 +3735,10 @@ MSVS - стиль кода. - + - Three-tier + Three-tier @@ -3746,10 +3746,10 @@ MSVS - стиль кода. - + - Onion + Onion @@ -3757,10 +3757,10 @@ MSVS - стиль кода. - + - Hexagon + Hexagon @@ -3768,10 +3768,10 @@ MSVS - стиль кода. - + - Методологии + Методологии @@ -3779,10 +3779,10 @@ MSVS - стиль кода. - + - Test Driven Development + Test Driven Development @@ -3790,10 +3790,10 @@ MSVS - стиль кода. - + - Behavior Driven Development + Behavior Driven Development @@ -3801,10 +3801,10 @@ MSVS - стиль кода. - + - Domain Driven Design + Domain Driven Design @@ -3812,10 +3812,10 @@ MSVS - стиль кода. - + - Память + Память @@ -3823,10 +3823,10 @@ MSVS - стиль кода. - + - Абстракции памяти + Абстракции памяти @@ -3834,10 +3834,10 @@ MSVS - стиль кода. - + - Выравнивание памяти + Выравнивание памяти @@ -3845,10 +3845,10 @@ MSVS - стиль кода. - + - Управление памятью + Управление памятью @@ -3856,10 +3856,10 @@ MSVS - стиль кода. - + - Бинарные единицы + Бинарные единицы @@ -3867,10 +3867,10 @@ MSVS - стиль кода. - + - Исполняемый файл + Исполняемый файл @@ -3878,10 +3878,10 @@ MSVS - стиль кода. - + - Статическая библиотека + Статическая библиотека @@ -3889,10 +3889,10 @@ MSVS - стиль кода. - + - Динамическая библиотека + Динамическая библиотека @@ -3900,10 +3900,10 @@ MSVS - стиль кода. - + - Стек + Стек @@ -3911,10 +3911,10 @@ MSVS - стиль кода. - + - Глобальная память + Глобальная память @@ -3922,10 +3922,10 @@ MSVS - стиль кода. - + - Куча + Куча @@ -3933,10 +3933,10 @@ MSVS - стиль кода. - + - Память приложения + Память приложения @@ -3944,10 +3944,10 @@ MSVS - стиль кода. - + - Виртуальная память + Виртуальная память @@ -3955,10 +3955,10 @@ MSVS - стиль кода. - + - Операционные системы + Операционные системы @@ -3966,10 +3966,10 @@ MSVS - стиль кода. - + - Многопоточность + Многопоточность @@ -3977,10 +3977,10 @@ MSVS - стиль кода. - + - Ошибки + Ошибки @@ -3988,10 +3988,10 @@ MSVS - стиль кода. - + - Dead lock + Dead lock @@ -3999,10 +3999,10 @@ MSVS - стиль кода. - + - Race condition + Race condition @@ -4010,10 +4010,10 @@ MSVS - стиль кода. - + - Live lock + Live lock @@ -4021,10 +4021,10 @@ MSVS - стиль кода. - + - Starvation + Starvation @@ -4032,10 +4032,10 @@ MSVS - стиль кода. - + - Потоки + Потоки @@ -4043,10 +4043,10 @@ MSVS - стиль кода. - + - Конкуренция + Конкуренция @@ -4054,10 +4054,10 @@ MSVS - стиль кода. - + - Мьютексы + Мьютексы @@ -4065,10 +4065,10 @@ MSVS - стиль кода. - + - Семафоры + Семафоры @@ -4076,10 +4076,10 @@ MSVS - стиль кода. - + - Алгоритмы без блокировок (lock-free) + Алгоритмы без блокировок (lock-free) @@ -4087,10 +4087,10 @@ MSVS - стиль кода. - + - Обработка событий + Обработка событий @@ -4098,10 +4098,10 @@ MSVS - стиль кода. - + - Синхронные + Синхронные @@ -4109,10 +4109,10 @@ MSVS - стиль кода. - + - Асинхронные + Асинхронные @@ -4120,10 +4120,10 @@ MSVS - стиль кода. - + - Процессы + Процессы @@ -4131,10 +4131,10 @@ MSVS - стиль кода. - + - Межпроцессное взаимодействие + Межпроцессное взаимодействие @@ -4142,10 +4142,10 @@ MSVS - стиль кода. - + - Shared memory + Shared memory @@ -4153,10 +4153,10 @@ MSVS - стиль кода. - + - Pipes + Pipes @@ -4164,10 +4164,10 @@ MSVS - стиль кода. - + - Сериализация + Сериализация @@ -4175,10 +4175,10 @@ MSVS - стиль кода. - + - json + json @@ -4186,10 +4186,10 @@ MSVS - стиль кода. - + - XML + XML @@ -4197,10 +4197,10 @@ MSVS - стиль кода. - + - Сетевой стек + Сетевой стек @@ -4208,10 +4208,10 @@ MSVS - стиль кода. - + - TCP/IP + TCP/IP @@ -4219,10 +4219,10 @@ MSVS - стиль кода. - + - OSI + OSI @@ -4230,10 +4230,10 @@ MSVS - стиль кода. - + - Сокеты + Сокеты @@ -4241,10 +4241,10 @@ MSVS - стиль кода. - + - HTTP + HTTP @@ -4252,10 +4252,10 @@ MSVS - стиль кода. - + - TCP + TCP @@ -4263,10 +4263,10 @@ MSVS - стиль кода. - + - UDP + UDP @@ -4274,10 +4274,10 @@ MSVS - стиль кода. - + - Файловая система + Файловая система @@ -4285,10 +4285,10 @@ MSVS - стиль кода. - + - Планировщик + Планировщик @@ -4296,10 +4296,10 @@ MSVS - стиль кода. - + - Виртуализация + Виртуализация @@ -4307,10 +4307,10 @@ MSVS - стиль кода. - + - VirtualBox + VirtualBox @@ -4318,10 +4318,10 @@ MSVS - стиль кода. - + - VMware Workstation + VMware Workstation @@ -4329,10 +4329,10 @@ MSVS - стиль кода. - + - Контейнеризация + Контейнеризация @@ -4340,10 +4340,10 @@ MSVS - стиль кода. - + - Hyper-V + Hyper-V @@ -4351,10 +4351,10 @@ MSVS - стиль кода. - + - Docker + Docker @@ -4362,10 +4362,10 @@ MSVS - стиль кода. - + - Облачные сервисы + Облачные сервисы @@ -4373,10 +4373,10 @@ MSVS - стиль кода. - + - Kubernetes + Kubernetes @@ -4384,10 +4384,10 @@ MSVS - стиль кода. - + - Безопасность + Безопасность @@ -4395,10 +4395,10 @@ MSVS - стиль кода. - + - Шифрование + Шифрование @@ -4406,10 +4406,10 @@ MSVS - стиль кода. - + - Многопроцессорные системы + Многопроцессорные системы @@ -4417,10 +4417,10 @@ MSVS - стиль кода. - + - Multicore CPU + Multicore CPU @@ -4428,10 +4428,10 @@ MSVS - стиль кода. - + - NUMA + NUMA @@ -4439,10 +4439,10 @@ MSVS - стиль кода. - + - Ввод и вывод информации + Ввод и вывод информации @@ -4450,10 +4450,10 @@ MSVS - стиль кода. - + - Драйверы + Драйверы @@ -4461,10 +4461,10 @@ MSVS - стиль кода. - + - Аудио + Аудио @@ -4472,10 +4472,10 @@ MSVS - стиль кода. - + - Графическое вычисление/отображение + Графическое вычисление/отображение @@ -4483,10 +4483,10 @@ MSVS - стиль кода. - + - Печать + Печать @@ -4494,10 +4494,10 @@ MSVS - стиль кода. - + - DirectSound + DirectSound @@ -4505,10 +4505,10 @@ MSVS - стиль кода. - + - OpenAL + OpenAL @@ -4516,10 +4516,10 @@ MSVS - стиль кода. - + - DirectX + DirectX @@ -4527,10 +4527,10 @@ MSVS - стиль кода. - + - Vulkan + Vulkan @@ -4538,10 +4538,10 @@ MSVS - стиль кода. - + - OpenGL + OpenGL @@ -4549,10 +4549,10 @@ MSVS - стиль кода. - + - CUDA + CUDA @@ -4560,10 +4560,10 @@ MSVS - стиль кода. - + - Общие навыки + Общие навыки @@ -4571,10 +4571,10 @@ MSVS - стиль кода. - + - Языковые инструменты + Языковые инструменты @@ -4582,10 +4582,10 @@ MSVS - стиль кода. - + - Синтаксис языка + Синтаксис языка @@ -4593,10 +4593,10 @@ MSVS - стиль кода. - + - C++ Developer Roadmap + C++ Developer Roadmap @@ -4604,10 +4604,10 @@ MSVS - стиль кода. - + - О карте: + О карте: @@ -4615,10 +4615,10 @@ MSVS - стиль кода. - + - С++ всё ещё является одним из самых популярных языков разработки. Есть немало желающих начать его изучать + С++ всё ещё является одним из самых популярных языков разработки. Есть немало желающих начать его изучать и стать C++ разработчиками. Перед такими людьми встают вопросы: "С чего мне начать? Что и в каком порядке мне изучать? Какие книги стоить почитать?" Мы попытались ответить на эти вопросы в представленной дорожной карте. Карта акцентируется на общих компетенциях и навыках, которые встречаются в большинстве проектов. Она @@ -4632,10 +4632,10 @@ MSVS - стиль кода. - + - Как ориентироваться: + Как ориентироваться: @@ -4643,10 +4643,10 @@ MSVS - стиль кода. - + - Если у вас есть замечания, вопросы или предложения, будем + Если у вас есть замечания, вопросы или предложения, будем рады получить любую помощь и поддержку. Мы открыты для общения :) @@ -4661,10 +4661,10 @@ MSVS - стиль кода. - + - Предложения и замечания: + Предложения и замечания: @@ -4672,10 +4672,10 @@ MSVS - стиль кода. - + - Optional + Optional @@ -4683,10 +4683,10 @@ MSVS - стиль кода. - + - Junior + Junior @@ -4694,10 +4694,10 @@ MSVS - стиль кода. - + - Middle + Middle @@ -4705,10 +4705,10 @@ MSVS - стиль кода. - + - Senior + Senior @@ -4716,10 +4716,10 @@ MSVS - стиль кода. - + - Мидл способен создать + Мидл способен создать дизайн и решения для функционала внутри компонента/приложения @@ -4732,10 +4732,10 @@ MSVS - стиль кода. - + - Синиор способен создать + Синиор способен создать дизайн и решение для компонента/приложения с учётом бизнес-контекста. @@ -4746,10 +4746,10 @@ MSVS - стиль кода. - + - Джуниору важно научиться + Джуниору важно научиться писать структурированный код и не усложнять его без надобности. Код должен @@ -4762,10 +4762,10 @@ MSVS - стиль кода. - + - От джуниора ожидается + От джуниора ожидается осведомленность про категории, которые относятся к Middle/Senior. @@ -4779,10 +4779,10 @@ MSVS - стиль кода. - + - На карте представлены + На карте представлены компетенции, которые выделены в "этапы". Мы считаем, что джуниору @@ -4797,10 +4797,10 @@ MSVS - стиль кода. - + - Репозиторий: + Репозиторий: @@ -4809,10 +4809,10 @@ MSVS - стиль кода. - + - https://github.com/salmer/CppDeveloperRoadmap + https://github.com/salmer/CppDeveloperRoadmap @@ -4820,7 +4820,7 @@ MSVS - стиль кода. - + @@ -4830,7 +4830,7 @@ MSVS - стиль кода. - + @@ -4840,7 +4840,7 @@ MSVS - стиль кода. - + @@ -4849,7 +4849,7 @@ MSVS - стиль кода. - + @@ -4859,7 +4859,7 @@ MSVS - стиль кода. - + @@ -4868,7 +4868,7 @@ MSVS - стиль кода. - + @@ -4879,7 +4879,7 @@ MSVS - стиль кода. - + @@ -4889,7 +4889,7 @@ MSVS - стиль кода. - + @@ -4900,7 +4900,7 @@ MSVS - стиль кода. - + @@ -4919,7 +4919,7 @@ MSVS - стиль кода. - + @@ -4929,7 +4929,7 @@ MSVS - стиль кода. - + @@ -4938,7 +4938,7 @@ MSVS - стиль кода. - + @@ -4947,7 +4947,7 @@ MSVS - стиль кода. - + @@ -4956,7 +4956,7 @@ MSVS - стиль кода. - + @@ -4965,7 +4965,7 @@ MSVS - стиль кода. - + @@ -4974,7 +4974,7 @@ MSVS - стиль кода. - + @@ -4983,7 +4983,7 @@ MSVS - стиль кода. - + @@ -4996,7 +4996,7 @@ MSVS - стиль кода. - + @@ -5009,7 +5009,7 @@ MSVS - стиль кода. - + @@ -5022,7 +5022,7 @@ MSVS - стиль кода. - + @@ -5035,7 +5035,7 @@ MSVS - стиль кода. - + @@ -5048,7 +5048,7 @@ MSVS - стиль кода. - + @@ -5061,7 +5061,7 @@ MSVS - стиль кода. - + @@ -5074,7 +5074,7 @@ MSVS - стиль кода. - + @@ -5087,7 +5087,7 @@ MSVS - стиль кода. - + @@ -5100,7 +5100,7 @@ MSVS - стиль кода. - + @@ -5113,7 +5113,7 @@ MSVS - стиль кода. - + @@ -5126,7 +5126,7 @@ MSVS - стиль кода. - + @@ -5139,7 +5139,7 @@ MSVS - стиль кода. - + @@ -5152,7 +5152,7 @@ MSVS - стиль кода. - + @@ -5165,7 +5165,7 @@ MSVS - стиль кода. - + @@ -5175,7 +5175,7 @@ MSVS - стиль кода. - + @@ -5188,7 +5188,7 @@ MSVS - стиль кода. - + @@ -5201,7 +5201,7 @@ MSVS - стиль кода. - + @@ -5211,7 +5211,7 @@ MSVS - стиль кода. - + @@ -5224,7 +5224,7 @@ MSVS - стиль кода. - + @@ -5237,7 +5237,7 @@ MSVS - стиль кода. - + @@ -5247,7 +5247,7 @@ MSVS - стиль кода. - + @@ -5260,7 +5260,7 @@ MSVS - стиль кода. - + @@ -5273,7 +5273,7 @@ MSVS - стиль кода. - + @@ -5286,7 +5286,7 @@ MSVS - стиль кода. - + @@ -5299,7 +5299,7 @@ MSVS - стиль кода. - + @@ -5312,7 +5312,7 @@ MSVS - стиль кода. - + @@ -5325,7 +5325,7 @@ MSVS - стиль кода. - + @@ -5338,7 +5338,7 @@ MSVS - стиль кода. - + @@ -5351,7 +5351,7 @@ MSVS - стиль кода. - + @@ -5364,7 +5364,7 @@ MSVS - стиль кода. - + @@ -5377,7 +5377,7 @@ MSVS - стиль кода. - + @@ -5390,7 +5390,7 @@ MSVS - стиль кода. - + @@ -5403,7 +5403,7 @@ MSVS - стиль кода. - + @@ -5416,7 +5416,7 @@ MSVS - стиль кода. - + @@ -5429,7 +5429,7 @@ MSVS - стиль кода. - + @@ -5442,7 +5442,7 @@ MSVS - стиль кода. - + @@ -5455,9 +5455,9 @@ MSVS - стиль кода. - - - + + + @@ -5468,9 +5468,9 @@ MSVS - стиль кода. - - - + + + @@ -5481,7 +5481,7 @@ MSVS - стиль кода. - + @@ -5491,9 +5491,9 @@ MSVS - стиль кода. - - - + + + @@ -5504,9 +5504,9 @@ MSVS - стиль кода. - - - + + + @@ -5517,7 +5517,7 @@ MSVS - стиль кода. - + @@ -5527,9 +5527,9 @@ MSVS - стиль кода. - - - + + + @@ -5540,7 +5540,7 @@ MSVS - стиль кода. - + @@ -5550,9 +5550,9 @@ MSVS - стиль кода. - - - + + + @@ -5563,9 +5563,9 @@ MSVS - стиль кода. - - - + + + @@ -5576,7 +5576,7 @@ MSVS - стиль кода. - + @@ -5586,9 +5586,9 @@ MSVS - стиль кода. - - - + + + @@ -5599,9 +5599,9 @@ MSVS - стиль кода. - - - + + + @@ -5612,7 +5612,7 @@ MSVS - стиль кода. - + @@ -5622,7 +5622,7 @@ MSVS - стиль кода. - + @@ -5635,7 +5635,7 @@ MSVS - стиль кода. - + @@ -5648,7 +5648,7 @@ MSVS - стиль кода. - + @@ -5661,7 +5661,7 @@ MSVS - стиль кода. - + @@ -5674,7 +5674,7 @@ MSVS - стиль кода. - + @@ -5687,7 +5687,7 @@ MSVS - стиль кода. - + @@ -5700,7 +5700,7 @@ MSVS - стиль кода. - + @@ -5713,7 +5713,7 @@ MSVS - стиль кода. - + @@ -5726,7 +5726,7 @@ MSVS - стиль кода. - + @@ -5739,7 +5739,7 @@ MSVS - стиль кода. - + @@ -5752,7 +5752,7 @@ MSVS - стиль кода. - + @@ -5765,7 +5765,7 @@ MSVS - стиль кода. - + @@ -5778,7 +5778,7 @@ MSVS - стиль кода. - + @@ -5791,7 +5791,7 @@ MSVS - стиль кода. - + @@ -5804,7 +5804,7 @@ MSVS - стиль кода. - + @@ -5817,7 +5817,7 @@ MSVS - стиль кода. - + @@ -5827,7 +5827,7 @@ MSVS - стиль кода. - + @@ -5840,7 +5840,7 @@ MSVS - стиль кода. - + @@ -5853,7 +5853,7 @@ MSVS - стиль кода. - + @@ -5866,7 +5866,7 @@ MSVS - стиль кода. - + @@ -5879,7 +5879,7 @@ MSVS - стиль кода. - + @@ -5892,7 +5892,7 @@ MSVS - стиль кода. - + @@ -5905,7 +5905,7 @@ MSVS - стиль кода. - + @@ -5915,7 +5915,7 @@ MSVS - стиль кода. - + @@ -5928,7 +5928,7 @@ MSVS - стиль кода. - + @@ -5938,7 +5938,7 @@ MSVS - стиль кода. - + @@ -5951,7 +5951,7 @@ MSVS - стиль кода. - + @@ -5964,7 +5964,7 @@ MSVS - стиль кода. - + @@ -5977,7 +5977,7 @@ MSVS - стиль кода. - + @@ -5987,7 +5987,7 @@ MSVS - стиль кода. - + @@ -5997,9 +5997,9 @@ MSVS - стиль кода. - - - + + + @@ -6010,9 +6010,9 @@ MSVS - стиль кода. - - - + + + @@ -6023,9 +6023,9 @@ MSVS - стиль кода. - - - + + + @@ -6036,9 +6036,9 @@ MSVS - стиль кода. - - - + + + @@ -6049,9 +6049,9 @@ MSVS - стиль кода. - - - + + + @@ -6062,7 +6062,7 @@ MSVS - стиль кода. - + @@ -6072,9 +6072,9 @@ MSVS - стиль кода. - - - + + + @@ -6085,9 +6085,9 @@ MSVS - стиль кода. - - - + + + @@ -6098,9 +6098,9 @@ MSVS - стиль кода. - - - + + + @@ -6111,9 +6111,9 @@ MSVS - стиль кода. - - - + + + @@ -6124,9 +6124,9 @@ MSVS - стиль кода. - - - + + + @@ -6137,9 +6137,9 @@ MSVS - стиль кода. - - - + + + @@ -6150,9 +6150,9 @@ MSVS - стиль кода. - - - + + + @@ -6163,9 +6163,9 @@ MSVS - стиль кода. - - - + + + @@ -6176,8 +6176,8 @@ MSVS - стиль кода. - - + + @@ -6189,7 +6189,7 @@ MSVS - стиль кода. - + @@ -6199,8 +6199,8 @@ MSVS - стиль кода. - - + + @@ -6212,7 +6212,7 @@ MSVS - стиль кода. - + @@ -6225,7 +6225,7 @@ MSVS - стиль кода. - + @@ -6238,7 +6238,7 @@ MSVS - стиль кода. - + @@ -6251,7 +6251,7 @@ MSVS - стиль кода. - + @@ -6264,7 +6264,7 @@ MSVS - стиль кода. - + @@ -6277,7 +6277,7 @@ MSVS - стиль кода. - + @@ -6290,7 +6290,7 @@ MSVS - стиль кода. - + @@ -6303,7 +6303,7 @@ MSVS - стиль кода. - + @@ -6316,7 +6316,7 @@ MSVS - стиль кода. - + @@ -6329,7 +6329,7 @@ MSVS - стиль кода. - + @@ -6342,7 +6342,7 @@ MSVS - стиль кода. - + @@ -6355,7 +6355,7 @@ MSVS - стиль кода. - + @@ -6368,7 +6368,7 @@ MSVS - стиль кода. - + @@ -6381,7 +6381,7 @@ MSVS - стиль кода. - + @@ -6394,7 +6394,7 @@ MSVS - стиль кода. - + @@ -6407,7 +6407,7 @@ MSVS - стиль кода. - + @@ -6420,7 +6420,7 @@ MSVS - стиль кода. - + @@ -6433,7 +6433,7 @@ MSVS - стиль кода. - + @@ -6446,7 +6446,7 @@ MSVS - стиль кода. - + @@ -6459,7 +6459,7 @@ MSVS - стиль кода. - + @@ -6472,7 +6472,7 @@ MSVS - стиль кода. - + @@ -6485,7 +6485,7 @@ MSVS - стиль кода. - + @@ -6498,7 +6498,7 @@ MSVS - стиль кода. - + @@ -6511,9 +6511,9 @@ MSVS - стиль кода. - - - + + + @@ -6524,9 +6524,9 @@ MSVS - стиль кода. - - - + + + @@ -6537,9 +6537,9 @@ MSVS - стиль кода. - - - + + + @@ -6550,9 +6550,9 @@ MSVS - стиль кода. - - - + + + @@ -6563,7 +6563,7 @@ MSVS - стиль кода. - + @@ -6573,7 +6573,7 @@ MSVS - стиль кода. - + @@ -6586,7 +6586,7 @@ MSVS - стиль кода. - + @@ -6596,7 +6596,7 @@ MSVS - стиль кода. - + @@ -6609,9 +6609,9 @@ MSVS - стиль кода. - - - + + + @@ -6622,9 +6622,9 @@ MSVS - стиль кода. - - - + + + @@ -6635,9 +6635,9 @@ MSVS - стиль кода. - - - + + + @@ -6648,9 +6648,9 @@ MSVS - стиль кода. - - - + + + @@ -6661,7 +6661,7 @@ MSVS - стиль кода. - + @@ -6671,9 +6671,9 @@ MSVS - стиль кода. - - - + + + @@ -6684,9 +6684,9 @@ MSVS - стиль кода. - - - + + + @@ -6697,9 +6697,9 @@ MSVS - стиль кода. - - - + + + @@ -6710,7 +6710,7 @@ MSVS - стиль кода. - + @@ -6723,7 +6723,7 @@ MSVS - стиль кода. - + @@ -6736,7 +6736,7 @@ MSVS - стиль кода. - + @@ -6749,7 +6749,7 @@ MSVS - стиль кода. - + @@ -6762,9 +6762,9 @@ MSVS - стиль кода. - - - + + + @@ -6775,9 +6775,9 @@ MSVS - стиль кода. - - - + + + @@ -6788,9 +6788,9 @@ MSVS - стиль кода. - - - + + + @@ -6801,9 +6801,9 @@ MSVS - стиль кода. - - - + + + @@ -6814,9 +6814,9 @@ MSVS - стиль кода. - - - + + + @@ -6827,9 +6827,9 @@ MSVS - стиль кода. - - - + + + @@ -6840,9 +6840,9 @@ MSVS - стиль кода. - - - + + + @@ -6853,9 +6853,9 @@ MSVS - стиль кода. - - - + + + @@ -6866,9 +6866,9 @@ MSVS - стиль кода. - - - + + + @@ -6879,9 +6879,9 @@ MSVS - стиль кода. - - - + + + @@ -6892,9 +6892,9 @@ MSVS - стиль кода. - - - + + + @@ -6905,9 +6905,9 @@ MSVS - стиль кода. - - - + + + @@ -6918,9 +6918,9 @@ MSVS - стиль кода. - - - + + + @@ -6931,7 +6931,7 @@ MSVS - стиль кода. - + @@ -6941,7 +6941,7 @@ MSVS - стиль кода. - + @@ -6954,7 +6954,7 @@ MSVS - стиль кода. - + @@ -6967,9 +6967,9 @@ MSVS - стиль кода. - - - + + + @@ -6980,9 +6980,9 @@ MSVS - стиль кода. - - - + + + @@ -6993,7 +6993,7 @@ MSVS - стиль кода. - + @@ -7006,7 +7006,7 @@ MSVS - стиль кода. - + @@ -7019,7 +7019,7 @@ MSVS - стиль кода. - + @@ -7032,7 +7032,7 @@ MSVS - стиль кода. - + @@ -7045,7 +7045,7 @@ MSVS - стиль кода. - + @@ -7058,7 +7058,7 @@ MSVS - стиль кода. - + @@ -7068,7 +7068,7 @@ MSVS - стиль кода. - + @@ -7081,7 +7081,7 @@ MSVS - стиль кода. - + @@ -7094,7 +7094,7 @@ MSVS - стиль кода. - + @@ -7104,7 +7104,7 @@ MSVS - стиль кода. - + @@ -7117,9 +7117,9 @@ MSVS - стиль кода. - - - + + + @@ -7130,9 +7130,9 @@ MSVS - стиль кода. - - - + + + @@ -7143,7 +7143,7 @@ MSVS - стиль кода. - + @@ -7156,7 +7156,7 @@ MSVS - стиль кода. - + @@ -7169,7 +7169,7 @@ MSVS - стиль кода. - + @@ -7182,7 +7182,7 @@ MSVS - стиль кода. - + @@ -7195,7 +7195,7 @@ MSVS - стиль кода. - + @@ -7208,7 +7208,7 @@ MSVS - стиль кода. - + @@ -7218,7 +7218,7 @@ MSVS - стиль кода. - + @@ -7231,7 +7231,7 @@ MSVS - стиль кода. - + @@ -7244,7 +7244,7 @@ MSVS - стиль кода. - + @@ -7254,7 +7254,7 @@ MSVS - стиль кода. - + @@ -7267,7 +7267,10 @@ MSVS - стиль кода. - + + + + @@ -7277,7 +7280,7 @@ MSVS - стиль кода. - + @@ -7290,7 +7293,7 @@ MSVS - стиль кода. - + @@ -7303,7 +7306,7 @@ MSVS - стиль кода. - + @@ -7316,7 +7319,7 @@ MSVS - стиль кода. - + @@ -7329,7 +7332,7 @@ MSVS - стиль кода. - + @@ -7339,7 +7342,7 @@ MSVS - стиль кода. - + @@ -7352,7 +7355,7 @@ MSVS - стиль кода. - + @@ -7365,7 +7368,7 @@ MSVS - стиль кода. - + @@ -7378,7 +7381,7 @@ MSVS - стиль кода. - + @@ -7391,7 +7394,7 @@ MSVS - стиль кода. - + @@ -7404,9 +7407,9 @@ MSVS - стиль кода. - - - + + + @@ -7417,9 +7420,9 @@ MSVS - стиль кода. - - - + + + @@ -7430,7 +7433,7 @@ MSVS - стиль кода. - + @@ -7440,9 +7443,9 @@ MSVS - стиль кода. - - - + + + @@ -7453,9 +7456,9 @@ MSVS - стиль кода. - - - + + + @@ -7466,7 +7469,7 @@ MSVS - стиль кода. - + @@ -7479,7 +7482,7 @@ MSVS - стиль кода. - + @@ -7492,7 +7495,7 @@ MSVS - стиль кода. - + @@ -7502,7 +7505,7 @@ MSVS - стиль кода. - + @@ -7515,7 +7518,7 @@ MSVS - стиль кода. - + @@ -7528,7 +7531,7 @@ MSVS - стиль кода. - + @@ -7541,7 +7544,7 @@ MSVS - стиль кода. - + @@ -7554,7 +7557,7 @@ MSVS - стиль кода. - + @@ -7567,9 +7570,9 @@ MSVS - стиль кода. - - - + + + @@ -7580,7 +7583,7 @@ MSVS - стиль кода. - + @@ -7590,9 +7593,9 @@ MSVS - стиль кода. - - - + + + @@ -7603,7 +7606,7 @@ MSVS - стиль кода. - + @@ -7616,7 +7619,7 @@ MSVS - стиль кода. - + @@ -7629,7 +7632,7 @@ MSVS - стиль кода. - + @@ -7642,7 +7645,7 @@ MSVS - стиль кода. - + @@ -7655,7 +7658,7 @@ MSVS - стиль кода. - + @@ -7668,7 +7671,7 @@ MSVS - стиль кода. - + @@ -7681,7 +7684,7 @@ MSVS - стиль кода. - + @@ -7694,7 +7697,7 @@ MSVS - стиль кода. - + @@ -7707,7 +7710,7 @@ MSVS - стиль кода. - + @@ -7720,7 +7723,7 @@ MSVS - стиль кода. - + @@ -7733,7 +7736,7 @@ MSVS - стиль кода. - + @@ -7746,7 +7749,7 @@ MSVS - стиль кода. - + @@ -7759,7 +7762,7 @@ MSVS - стиль кода. - + @@ -7769,7 +7772,7 @@ MSVS - стиль кода. - + @@ -7782,7 +7785,7 @@ MSVS - стиль кода. - + @@ -7792,7 +7795,7 @@ MSVS - стиль кода. - + @@ -7805,7 +7808,7 @@ MSVS - стиль кода. - + @@ -7818,7 +7821,7 @@ MSVS - стиль кода. - + @@ -7831,9 +7834,9 @@ MSVS - стиль кода. - - - + + + @@ -7844,9 +7847,9 @@ MSVS - стиль кода. - - - + + + @@ -7857,7 +7860,7 @@ MSVS - стиль кода. - + @@ -7870,9 +7873,9 @@ MSVS - стиль кода. - - - + + + @@ -7883,7 +7886,7 @@ MSVS - стиль кода. - + @@ -7893,9 +7896,9 @@ MSVS - стиль кода. - - - + + + @@ -7906,7 +7909,7 @@ MSVS - стиль кода. - + @@ -7916,9 +7919,9 @@ MSVS - стиль кода. - - - + + + @@ -7929,9 +7932,9 @@ MSVS - стиль кода. - - - + + + @@ -7942,7 +7945,7 @@ MSVS - стиль кода. - + @@ -7955,7 +7958,7 @@ MSVS - стиль кода. - + @@ -7968,7 +7971,7 @@ MSVS - стиль кода. - + @@ -7981,7 +7984,7 @@ MSVS - стиль кода. - + @@ -7994,7 +7997,7 @@ MSVS - стиль кода. - + @@ -8007,7 +8010,7 @@ MSVS - стиль кода. - + @@ -8020,7 +8023,7 @@ MSVS - стиль кода. - + @@ -8033,7 +8036,7 @@ MSVS - стиль кода. - + @@ -8046,7 +8049,7 @@ MSVS - стиль кода. - + @@ -8059,7 +8062,7 @@ MSVS - стиль кода. - + @@ -8072,9 +8075,9 @@ MSVS - стиль кода. - - - + + + @@ -8085,9 +8088,9 @@ MSVS - стиль кода. - - - + + + @@ -8098,7 +8101,7 @@ MSVS - стиль кода. - + @@ -8108,9 +8111,9 @@ MSVS - стиль кода. - - - + + + @@ -8121,7 +8124,7 @@ MSVS - стиль кода. - + @@ -8131,9 +8134,9 @@ MSVS - стиль кода. - - - + + + @@ -8144,7 +8147,7 @@ MSVS - стиль кода. - + @@ -8157,7 +8160,7 @@ MSVS - стиль кода. - + @@ -8170,7 +8173,7 @@ MSVS - стиль кода. - + @@ -8183,7 +8186,7 @@ MSVS - стиль кода. - + @@ -8196,7 +8199,7 @@ MSVS - стиль кода. - + @@ -8209,7 +8212,7 @@ MSVS - стиль кода. - + @@ -8222,7 +8225,7 @@ MSVS - стиль кода. - + @@ -8235,7 +8238,7 @@ MSVS - стиль кода. - + @@ -8248,7 +8251,7 @@ MSVS - стиль кода. - + @@ -8261,9 +8264,7 @@ MSVS - стиль кода. - - - + @@ -8273,9 +8274,9 @@ MSVS - стиль кода. - - - + + + @@ -8286,9 +8287,9 @@ MSVS - стиль кода. - - - + + + @@ -8299,7 +8300,7 @@ MSVS - стиль кода. - + @@ -8312,7 +8313,7 @@ MSVS - стиль кода. - + @@ -8325,9 +8326,9 @@ MSVS - стиль кода. - - - + + + @@ -8338,9 +8339,9 @@ MSVS - стиль кода. - - - + + + @@ -8351,9 +8352,9 @@ MSVS - стиль кода. - - - + + + @@ -8364,9 +8365,9 @@ MSVS - стиль кода. - - - + + + @@ -8377,7 +8378,7 @@ MSVS - стиль кода. - + @@ -8390,7 +8391,7 @@ MSVS - стиль кода. - + @@ -8403,7 +8404,7 @@ MSVS - стиль кода. - + @@ -8416,7 +8417,7 @@ MSVS - стиль кода. - + @@ -8429,7 +8430,7 @@ MSVS - стиль кода. - + @@ -8442,7 +8443,7 @@ MSVS - стиль кода. - + @@ -8455,7 +8456,7 @@ MSVS - стиль кода. - + @@ -8468,7 +8469,7 @@ MSVS - стиль кода. - + @@ -8481,7 +8482,7 @@ MSVS - стиль кода. - + @@ -8494,7 +8495,7 @@ MSVS - стиль кода. - + @@ -8507,7 +8508,7 @@ MSVS - стиль кода. - + @@ -8520,7 +8521,7 @@ MSVS - стиль кода. - + @@ -8533,7 +8534,7 @@ MSVS - стиль кода. - + @@ -8546,7 +8547,7 @@ MSVS - стиль кода. - + @@ -8559,7 +8560,7 @@ MSVS - стиль кода. - + @@ -8572,7 +8573,7 @@ MSVS - стиль кода. - + @@ -8585,7 +8586,7 @@ MSVS - стиль кода. - + @@ -8598,7 +8599,7 @@ MSVS - стиль кода. - + @@ -8611,7 +8612,7 @@ MSVS - стиль кода. - + @@ -8624,7 +8625,7 @@ MSVS - стиль кода. - + @@ -8637,7 +8638,7 @@ MSVS - стиль кода. - + @@ -8650,7 +8651,7 @@ MSVS - стиль кода. - + @@ -8663,7 +8664,7 @@ MSVS - стиль кода. - + @@ -8676,7 +8677,7 @@ MSVS - стиль кода. - + @@ -8689,7 +8690,7 @@ MSVS - стиль кода. - + @@ -8702,7 +8703,7 @@ MSVS - стиль кода. - + @@ -8712,7 +8713,7 @@ MSVS - стиль кода. - + @@ -8721,7 +8722,7 @@ MSVS - стиль кода. - + @@ -8732,7 +8733,7 @@ MSVS - стиль кода. - + @@ -8743,7 +8744,7 @@ MSVS - стиль кода. - + @@ -8752,8 +8753,8 @@ MSVS - стиль кода. - - + + @@ -8763,7 +8764,7 @@ MSVS - стиль кода. - + @@ -8772,7 +8773,7 @@ MSVS - стиль кода. - + @@ -8781,7 +8782,7 @@ MSVS - стиль кода. - + @@ -8790,7 +8791,7 @@ MSVS - стиль кода. - + @@ -8799,7 +8800,7 @@ MSVS - стиль кода. - + @@ -8808,7 +8809,7 @@ MSVS - стиль кода. - + @@ -8817,7 +8818,7 @@ MSVS - стиль кода. - + @@ -8826,8 +8827,8 @@ MSVS - стиль кода. - - + + @@ -8837,8 +8838,8 @@ MSVS - стиль кода. - - + + @@ -8848,7 +8849,7 @@ MSVS - стиль кода. - + @@ -8857,7 +8858,7 @@ MSVS - стиль кода. - + @@ -8868,9 +8869,9 @@ MSVS - стиль кода. - - - + + + @@ -8881,7 +8882,7 @@ MSVS - стиль кода. - + @@ -8894,7 +8895,7 @@ MSVS - стиль кода. - + @@ -8907,7 +8908,7 @@ MSVS - стиль кода. - + @@ -8920,7 +8921,7 @@ MSVS - стиль кода. - + @@ -8933,7 +8934,7 @@ MSVS - стиль кода. - + @@ -8946,7 +8947,7 @@ MSVS - стиль кода. - + @@ -8959,7 +8960,7 @@ MSVS - стиль кода. - + @@ -8972,7 +8973,7 @@ MSVS - стиль кода. - + @@ -8982,9 +8983,9 @@ MSVS - стиль кода. - - - + + + @@ -8995,9 +8996,9 @@ MSVS - стиль кода. - - - + + + @@ -9008,7 +9009,7 @@ MSVS - стиль кода. - + @@ -9021,7 +9022,7 @@ MSVS - стиль кода. - + @@ -9031,7 +9032,7 @@ MSVS - стиль кода. - + @@ -9044,7 +9045,7 @@ MSVS - стиль кода. - + @@ -9054,7 +9055,7 @@ MSVS - стиль кода. - + @@ -9063,7 +9064,7 @@ MSVS - стиль кода. - + @@ -9085,7 +9086,7 @@ MSVS - стиль кода. - + @@ -9098,7 +9099,7 @@ MSVS - стиль кода. - + @@ -9111,7 +9112,7 @@ MSVS - стиль кода. - + @@ -9124,7 +9125,7 @@ MSVS - стиль кода. - + @@ -9137,7 +9138,7 @@ MSVS - стиль кода. - + @@ -9150,7 +9151,7 @@ MSVS - стиль кода. - + @@ -9163,9 +9164,9 @@ MSVS - стиль кода. - - - + + + @@ -9176,9 +9177,9 @@ MSVS - стиль кода. - - - + + + @@ -9189,9 +9190,9 @@ MSVS - стиль кода. - - - + + + @@ -9202,9 +9203,9 @@ MSVS - стиль кода. - - - + + + @@ -9215,9 +9216,9 @@ MSVS - стиль кода. - - - + + + @@ -9229,8 +9230,8 @@ MSVS - стиль кода. - - + + @@ -9242,8 +9243,8 @@ MSVS - стиль кода. - - + + @@ -9255,8 +9256,8 @@ MSVS - стиль кода. - - + + @@ -9267,7 +9268,7 @@ MSVS - стиль кода. - + @@ -9276,9 +9277,7 @@ MSVS - стиль кода. - - - + @@ -9288,10 +9287,7 @@ MSVS - стиль кода. - - - - + @@ -9301,9 +9297,9 @@ MSVS - стиль кода. - - - + + + @@ -9315,8 +9311,8 @@ MSVS - стиль кода. - - + + @@ -9327,7 +9323,7 @@ MSVS - стиль кода. - + @@ -9340,7 +9336,7 @@ MSVS - стиль кода. - + @@ -9353,7 +9349,7 @@ MSVS - стиль кода. - + @@ -9366,7 +9362,7 @@ MSVS - стиль кода. - + @@ -9379,7 +9375,7 @@ MSVS - стиль кода. - + @@ -9392,7 +9388,7 @@ MSVS - стиль кода. - + @@ -9480,7 +9476,7 @@ MSVS - стиль кода. - + @@ -9490,9 +9486,9 @@ MSVS - стиль кода. - - - + + + @@ -9503,9 +9499,9 @@ MSVS - стиль кода. - - - + + + @@ -9578,9 +9574,7 @@ MSVS - стиль кода. - - - + @@ -9589,7 +9583,7 @@ MSVS - стиль кода. - + diff --git a/Russian/Graph/roadmap.svg b/Russian/Graph/roadmap.svg index 043caae..4c66463 100644 --- a/Russian/Graph/roadmap.svg +++ b/Russian/Graph/roadmap.svg @@ -1,6675 +1,6675 @@ - + - + - + - - + + - - + + - - C++ developer + + C++ developer - - + + - - Soft skills + + Soft skills - - + + - - Hard skills + + Hard skills - - + + - - + + - - Сначала может показаться, что некоторые из навыков - развивать невозможно. Однако мы считаем иначе. - Над каждым из пунктов возможно работать. Всё - упирается в желание и внутренние блоки. Всё - индивидуально, и зависит от вас. :) + + Сначала может показаться, что некоторые из навыков + развивать невозможно. Однако мы считаем иначе. + Над каждым из пунктов возможно работать. Всё + упирается в желание и внутренние блоки. Всё + индивидуально, и зависит от вас. :) - - + + - - + + - - Умение учиться + + Умение учиться - - + + - - + + - - Работа с ошибками + + Работа с ошибками - - + + - - + + - - Мышление + + Мышление - - + + - - + + - - Ответственность + + Ответственность - - + + - - + + - - Управление ресурсами + + Управление ресурсами - - + + - - + + - - Коммуникация + + Коммуникация - - + + - - + + - - Командная работа + + Командная работа - - + + - - + + - - Эмоциональный интелект + + Эмоциональный интелект - - + + - - + + - - Понимание контекста разработки + + Понимание контекста разработки - - + + - - + + - - Клиентоориентированность + + Клиентоориентированность - - + + - - + + - - Технологии + + Технологии - - + + - - + + - - Тренды + + Тренды - - + + - - + + - - Эмпатия + + Эмпатия - - + + - - + + - - Концентрация + + Концентрация - - + + - - + + - - Открытость новому + + Открытость новому - - + + - - + + - - Адаптируемость + + Адаптируемость - - + + - - + + - - Стрессоустойчивость + + Стрессоустойчивость - - + + - - + + - - Работа в неопределённости + + Работа в неопределённости - - + + - - + + - - Понимание распределения ролей в команде + + Понимание распределения ролей в команде - - + + - - + + - - Помощь + + Помощь - - + + - - + + - - Работа в распределённой команде + + Работа в распределённой команде - - + + - - + + - - Предоставление обратной связи + + Предоставление обратной связи - - + + - - + + - - Лидерство + + Лидерство - - + + - - + + - - Наставничество + + Наставничество - - + + - - + + - - Делегирование + + Делегирование - - + + - - + + - - Постановка задач сотрудникам + + Постановка задач сотрудникам - - + + - - + + - - Планирование и целеполагание + + Планирование и целеполагание - - + + - - + + - - Переговорческие навыки + + Переговорческие навыки - - + + - - + + - - Английский язык + + Английский язык - - + + - - + + - - Презентация + + Презентация - - + + - - + + - - Навык переписки + + Навык переписки - - + + - - + + - - Нетворкинг + + Нетворкинг - - + + - - + + - - Умение слушать + + Умение слушать - - + + - - + + - - Убеждение + + Убеждение - - + + - - + + - - Умение доносить мысль/идеи внутри команды + + Умение доносить мысль/идеи внутри команды - - + + - - + + - - Поиск компромиссов + + Поиск компромиссов - - + + - - + + - - Регулирование споров + + Регулирование споров - - + + - - + + - - Подача информации людям вне команды + + Подача информации людям вне команды - - + + - - + + - - Тайм-менеджмент + + Тайм-менеджмент - - + + - - + + - - Приоритезация + + Приоритезация - - + + - - + + - - Принятие решений + + Принятие решений - - + + - - + + - - Слепая печать + + Слепая печать - - + + - - + + - - Многозадачность + + Многозадачность - - + + - - + + - - Дисциплина + + Дисциплина - - + + - - + + - - Упорство + + Упорство - - + + - - + + - - Инициативность + + Инициативность - - + + - - + + - - Самостоятельность + + Самостоятельность - - + + - - + + - - Решение проблем + + Решение проблем - - + + - - + + - - Логическое + + Логическое - - + + - - + + - - Критическое + + Критическое - - + + - - + + - - Креативное + + Креативное - - + + - - + + - - Стратегическое + + Стратегическое - - + + - - + + - - Системное + + Системное - - + + - - + + - - Восприятие критики + + Восприятие критики - - + + - - + + - - Своевременное сигнализирование об ошибках + + Своевременное сигнализирование об ошибках - - + + - - + + - - Признание своих ошибок + + Признание своих ошибок - - + + - - + + - - Анализ ошибок + + Анализ ошибок - - + + - - + + - - Умение задавать правильные вопросы + + Умение задавать правильные вопросы - - + + - - + + - - Экспериментирование + + Экспериментирование - - + + - - + + - - Управление знаниями + + Управление знаниями - - + + - - + + - - Работа с информацией + + Работа с информацией - - + + - - + + - - Умение собирать информацию, - анализировать её и выдавать - взвешенное  решение. + + Умение собирать информацию, + анализировать её и выдавать + взвешенное  решение. - - + + - - + + - - Рефлексия + + Рефлексия - - + + - - + + - - Cпокойно реагировать на то, что люди говорят. - Скорее всего, они учитывают только собственный - контекст, когда что-то пытаются доказать. Это - нормально. Оценивайте полезность их точки зрения. + + Cпокойно реагировать на то, что люди говорят. + Скорее всего, они учитывают только собственный + контекст, когда что-то пытаются доказать. Это + нормально. Оценивайте полезность их точки зрения. - - + + - - + + - - Брать сложные задачи, чтобы развивать свои - навыки и компетенции, даже когда недостаточно - знаний/опыта (через такие задачи гораздо быстрее - развиваются навыки). Главное отличить реально - полезную сложную задачу, которая прокачает, - от задачи, на которую ищут крайнего. + + Брать сложные задачи, чтобы развивать свои + навыки и компетенции, даже когда недостаточно + знаний/опыта (через такие задачи гораздо быстрее + развиваются навыки). Главное отличить реально + полезную сложную задачу, которая прокачает, + от задачи, на которую ищут крайнего. - - + + - - + + - - Быть ответственным за профессиональное развитие. Не ждать - пока тимлид решит, что изучать. Не стоит забывать, что слепое - следование чужому плану заточит под задачи конкретной компании. - Стоит обсуждать и встраивать свои интересы в план. Если этого - не сделать - высокий риск получить "непереносимые" компетенции, - что ударит по карьерным возможностям. Но и не стоит ударятся в - крайности: изучать абсолютно всё подряд или пассивно ждать, пока - выдадут план развития. + + Быть ответственным за профессиональное развитие. Не ждать + пока тимлид решит, что изучать. Не стоит забывать, что слепое + следование чужому плану заточит под задачи конкретной компании. + Стоит обсуждать и встраивать свои интересы в план. Если этого + не сделать - высокий риск получить "непереносимые" компетенции, + что ударит по карьерным возможностям. Но и не стоит ударятся в + крайности: изучать абсолютно всё подряд или пассивно ждать, пока + выдадут план развития. - - + + - - + + - - Самоорганизация + + Самоорганизация - - + + - - + + - - Способность предоставлять тот объем информации, - который необходим для общения с людьми разного - бекграунда. + + Способность предоставлять тот объем информации, + который необходим для общения с людьми разного + бекграунда. - - + + - - + + - - Решение конфликтов + + Решение конфликтов - - + + - - + + - - Достаточно уверенного чтения документации и статей, - но для более перспективных вакансий - разговорный/письменный навык становится обязательным. + + Достаточно уверенного чтения документации и статей, + но для более перспективных вакансий + разговорный/письменный навык становится обязательным. - - + + - - + + - - Искать единомышленников и присоединяться/создавать - комьюнити для общения и передачи опыта. + + Искать единомышленников и присоединяться/создавать + комьюнити для общения и передачи опыта. - - + + - - + + - - Чтобы быть конкурентоспособным, стоит изучать и наблюдать - за новыми веяниями, а также уметь адаптироваться под них. + + Чтобы быть конкурентоспособным, стоит изучать и наблюдать + за новыми веяниями, а также уметь адаптироваться под них. - - + + - - + + - - Опытному разработчику стоит развивать навыки управления и - общения с бизнесом для эффективного выполнения задач. - Это легче делать, если развит эмоциональный интеллект. - Для джуниора навык также полезен, чтобы лучше - взаимодействовать с коллегами. + + Опытному разработчику стоит развивать навыки управления и + общения с бизнесом для эффективного выполнения задач. + Это легче делать, если развит эмоциональный интеллект. + Для джуниора навык также полезен, чтобы лучше + взаимодействовать с коллегами. - - + + - - + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - 1 этап + + 1 этап - - + + - - + + - - + + - - Базовые операции + + Базовые операции - - + + - - + + - - Арфиметические операции + + Арфиметические операции - - + + - - + + - - Циклы for/while + + Циклы for/while - - + + - - + + - - Логические операции + + Логические операции - - + + - - + + - - Битовые операции + + Битовые операции - - + + - - + + - - Функции + + Функции - - + + - - + + - - lambda + + lambda - - + + - - + + - - Операторы + + Операторы - - + + - - + + - - Типы данных + + Типы данных - - + + - - + + - - Динамическая типизация + + Динамическая типизация - - + + - - + + - - Статическая типизация + + Статическая типизация - - + + - - + + - - RTTI + + RTTI - - + + - - + + - - Указатели и ссылки + + Указатели и ссылки - - + + - - + + - - Организация кодовой базы + + Организация кодовой базы - - + + - - + + - - Ссылки + + Ссылки - - + + - - + + - - Модель памяти + + Модель памяти - - + + - - + + - - Умные указатели + + Умные указатели - - + + - - + + - - Сырые Указатели + + Сырые Указатели - - + + - - + + - - Разделение кода на headers/cpp юниты + + Разделение кода на headers/cpp юниты - - + + - - + + - - Область видимости + + Область видимости - - + + - - + + - - Утечки памяти + + Утечки памяти - - + + - - + + - - Forward declaration + + Forward declaration - - + + - - + + - - unique_ptr + + unique_ptr - - + + - - + + - - shared_ptr + + shared_ptr - - + + - - + + - - Время жизни + + Время жизни - - + + - - + + - - Операторы new/delete + + Операторы new/delete - - + + - - + + - - weak_ptr + + weak_ptr - - + + - - + + - - Пространство имён + + Пространство имён - - + + - - + + - - Перегрузка стандартных операторов для - различных типов/структур/классов. + + Перегрузка стандартных операторов для + различных типов/структур/классов. - - + + - - + + - - Чтобы избежать проблем с управлением памятью, - старайтесь писать код используя ссылки и умные - указатели. + + Чтобы избежать проблем с управлением памятью, + старайтесь писать код используя ссылки и умные + указатели. - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - 2 этап + + 2 этап - - + + - - + + - - + + - - Структуры и классы + + Структуры и классы - - + + - - + + - - Обработка ошибок + + Обработка ошибок - - + + - - + + - - Перегрузка методов + + Перегрузка методов - - + + - - + + - - Таблица вирутальных методов + + Таблица вирутальных методов - - + + - - + + - - ООП + + ООП - - + + - - + + - - Исключения + + Исключения - - + + - - + + - - Access violation + + Access violation - - + + - - + + - - Динамический полиморфизм + + Динамический полиморфизм - - + + - - + + - - Виртуальные методы + + Виртуальные методы - - + + - - + + - - Правило нуля/трех/пяти + + Правило нуля/трех/пяти - - + + - - + + - - Статический полиморфизм + + Статический полиморфизм - - + + - - + + - - Множественное наследование + + Множественное наследование - - + + - - + + - - Ромбовидное наследование + + Ромбовидное наследование - - + + - - + + - - Коды возврата + + Коды возврата - - + + - - + + - - Не используйте - множественное наследование + + Не используйте + множественное наследование - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - 3 этап + + 3 этап - - + + - - + + - - + + - - auto (автоматическое выведение типов) + + auto (автоматическое выведение типов) - - + + - - + + - - Концепции языка + + Концепции языка - - + + - - + + - - type casting + + type casting - - + + - - + + - - static_cast + + static_cast - - + + - - + + - - const_cast + + const_cast - - + + - - + + - - dynamic_cast + + dynamic_cast - - + + - - + + - - reinterpret_cast + + reinterpret_cast - - + + - - + + - - Неопределённое поведение (Undefined Behavior) + + Неопределённое поведение (Undefined Behavior) - - + + - - + + - - Поиск, зависящий от аргумента (ADL) + + Поиск, зависящий от аргумента (ADL) - - + + - - + + - - Макросы + + Макросы - - + + - - + + - - Name mangling + + Name mangling - - + + - - + + - - Стандартная библиотека + + Стандартная библиотека - - + + - - + + - - Поток ввода/вывода + + Поток ввода/вывода - - + + - - + + - - Алгоритмы стандартной библиотеки + + Алгоритмы стандартной библиотеки - - + + - - + + - - Итераторы + + Итераторы - - + + - - + + - - Контейнеры + + Контейнеры - - + + - - + + - - Дата/время + + Дата/время - - + + - - + + - - Многопоточность + + Многопоточность - - + + - - + + - - Языковые конструкции для которых отсутствуют прописанные - требования в стандартах. В случае ошибки дальнейшее - поведение будет предсказать невозможно, и всецело будет - зависеть от контекста выполнения или платформы, где запущено - приложение. + + Языковые конструкции для которых отсутствуют прописанные + требования в стандартах. В случае ошибки дальнейшее + поведение будет предсказать невозможно, и всецело будет + зависеть от контекста выполнения или платформы, где запущено + приложение. - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - 4 этап + + 4 этап - - + + - - + + - - + + - - Шаблоны + + Шаблоны - - + + - - + + - - Variadic templates + + Variadic templates - - + + - - + + - - Специализация шаблона + + Специализация шаблона - - + + - - + + - - type traits + + type traits - - + + - - + + - - SFINAE + + SFINAE - - + + - - + + - - Полная специализация + + Полная специализация - - + + - - + + - - Частичная специализация + + Частичная специализация - - + + - - + + - - RAII + + RAII - - + + - - + + - - pimpl + + pimpl - - + + - - + + - - Erase-Remove + + Erase-Remove - - + + - - + + - - Non-Copyable/Non-Moveable + + Non-Copyable/Non-Moveable - - + + - - + + - - Copy and swap + + Copy and swap - - + + - - + + - - Copy on write + + Copy on write - - + + - - + + - - CRTP + + CRTP - - + + - - + + - - Стандарты + + Стандарты - - + + - - + + - - C++11/14 + + C++11/14 - - + + - - + + - - C++17 + + C++17 - - + + - - + + - - C++20 + + C++20 - - + + - - + + - - newest + + newest - - + + - - + + - - C++0x + + C++0x - - + + - - + + - - Идиомы + + Идиомы - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - 1 этап + + 1 этап - - + + - - + + - - + + - - Работа с исходным кодом + + Работа с исходным кодом - - + + - - + + - - Текстовый редактор + + Текстовый редактор - - + + - - + + - - IDE + + IDE - - + + - - + + - - Редакторы исходного кода + + Редакторы исходного кода - - + + - - + + - - Отладчик + + Отладчик - - + + - - + + - - Линтеры + + Линтеры - - + + - - + + - - Знание о базовых возможностях (shortcuts, tools, plugins) + + Знание о базовых возможностях (shortcuts, tools, plugins) - - + + - - + + - - Умение читать сообщения отладчика + + Умение читать сообщения отладчика - - + + - - + + - - Отладочные символы + + Отладочные символы - - + + - - + + - - WinDbg + + WinDbg - - + + - - + + - - GDB + + GDB - - + + - - + + - - Выберите один из понравившихся популярных IDE - и хорошо освойте его: Eclipse, MS Visual Studio, - Qt Creator, JetBrains Clion, XCode и т.д. + + Выберите один из понравившихся популярных IDE + и хорошо освойте его: Eclipse, MS Visual Studio, + Qt Creator, JetBrains Clion, XCode и т.д. - - + + - - + + - - Научитесь пользоваться отладчиком. Изучите его - возможности. + + Научитесь пользоваться отладчиком. Изучите его + возможности. - - + + - - + + - - Выберите один из популярных редакторов и хорошо - освойте его. К примеру: Notepad++, Atom, и т.д. + + Выберите один из популярных редакторов и хорошо + освойте его. К примеру: Notepad++, Atom, и т.д. - - + + - - + + - - Навык работы с отладчиком в через командную строку - - узконаправленный навык. В регулярной работе достаточно - уметь работать с отладчиком в рамках IDE. + + Навык работы с отладчиком в через командную строку - + узконаправленный навык. В регулярной работе достаточно + уметь работать с отладчиком в рамках IDE. - - + + - - + + - - Ознакомьтесь с самыми распространёнными ошибками - (segfault, out of memory, access violation) и концепцией  - неопределённого поведения (undefined behavior) + + Ознакомьтесь с самыми распространёнными ошибками + (segfault, out of memory, access violation) и концепцией  + неопределённого поведения (undefined behavior) - - + + - - + + - - Выберите один из популярных редакторов и и хорошо - освойте его: Visual Code, Atom, Sublime Text и т.д. + + Выберите один из популярных редакторов и и хорошо + освойте его: Visual Code, Atom, Sublime Text и т.д. - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - 3 этап + + 3 этап - - + + - - + + - - + + - - Компиляторы + + Компиляторы - - + + - - + + - - Базовые знания работы компиляторов + + Базовые знания работы компиляторов - - + + - - + + - - Компиляция кода в объектные файлы + + Компиляция кода в объектные файлы - - + + - - + + - - Компоновка объектных файлов в приложение (линковка) + + Компоновка объектных файлов в приложение (линковка) - - + + - - + + - - Этапы работы компилятора + + Этапы работы компилятора - - + + - - + + - - Платформозависимые компиляторы + + Платформозависимые компиляторы - - + + - - + + - - У компиляторов есть свои особенности, о которых - хорошо бы знать: Clang++/LLVM, Intel C++, MSVS C++, - GCC, MinGW + + У компиляторов есть свои особенности, о которых + хорошо бы знать: Clang++/LLVM, Intel C++, MSVS C++, + GCC, MinGW - - + + - - + + - - Есть несколько этапов работы компилятора, которые - хорошо бы знать. Это помогает ошибки решать - проблемы сборки на разных этапах. Достаточно базово - понимать, что происходит. Детали работы нужны - разработчикам компиляторов + + Есть несколько этапов работы компилятора, которые + хорошо бы знать. Это помогает ошибки решать + проблемы сборки на разных этапах. Достаточно базово + понимать, что происходит. Детали работы нужны + разработчикам компиляторов - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - + + - - + + - - 5 этап + + 5 этап - - + + - - + + - - + + - - Системы сборки + + Системы сборки - - + + - - + + - - CMake + + CMake - - + + - - + + - - Makefile + + Makefile - - + + - - + + - - ninja + + ninja - - + + - - + + - - Пакетные менеджеры + + Пакетные менеджеры - - + + - - + + - - vcpkg + + vcpkg - - + + - - + + - - spack + + spack - - + + - - + + - - Conan + + Conan - - + + - - + + - - nuget + + nuget - - + + - - + + - - Библиотеки + + Библиотеки - - + + - - + + - - boost + + boost - - + + - - + + - - opencv + + opencv - - + + - - + + - - poco + + poco - - + + - - + + - - Подключение библиотек + + Подключение библиотек - - + + - - + + - - protobuf + + protobuf - - + + - - + + - - gRPC + + gRPC - - + + - - + + - - fmt + + fmt - - + + - - + + - - pybindll + + pybindll - - + + - - + + - - spdlog + + spdlog - - + + - - + + - - ranges_v3 + + ranges_v3 - - + + - - + + - - tensorflow + + tensorflow - - + + - - + + - - opencl + + opencl - - + + - - + + - - Фреймворки + + Фреймворки - - + + - - + + - - gtest/gmock + + gtest/gmock - - + + - - + + - - Qt + + Qt - - + + - - + + - - catch2 + + catch2 - - + + - - + + - - google profiler + + google profiler - - + + - - + + - - pytorch c++ + + pytorch c++ - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - 1 этап + + 1 этап - - + + - - + + - - + + - - Информатика + + Информатика - - + + - - + + - - Структуры данных + + Структуры данных - - + + - - + + - - Алгоритмы + + Алгоритмы - - + + - - + + - - Булева алгебра + + Булева алгебра - - + + - - + + - - Конечные автоматы + + Конечные автоматы - - + + - - + + - - Также необходимо понимать, как вычислить сложность - и потребление памяти у алгоритмов. + + Также необходимо понимать, как вычислить сложность + и потребление памяти у алгоритмов. - - + + - - + + - - + + - - + + - - - + + + - - + + - - + + - - 4 этап + + 4 этап - - + + - - + + - - + + - - Системы контроля версий + + Системы контроля версий - - + + - - + + - - Распределенные + + Распределенные - - + + - - + + - - Централизованные + + Централизованные - - + + - - + + - - SVN + + SVN - - + + - - + + - - git + + git - - + + - - + + - - Mercurial + + Mercurial - - + + - - + + - - Практики разработки + + Практики разработки - - + + - - + + - - Качество кода + + Качество кода - - + + - - + + - - Правило оформления кода + + Правила оформления кода - - + + - - + + - - Принципы разработки + + Принципы разработки - - + + - - + + - - KISS (Keep It Simple, Stupid) + + KISS (Keep It Simple, Stupid) - - + + - - + + - - DRY (Don't Repeat Yourself) + + DRY (Don't Repeat Yourself) - - + + - - + + - - YAGNI (You Aren't Gonna Need It) + + YAGNI (You Aren't Gonna Need It) - - + + - - + + - - APO (Avoid Premature Optimization) + + APO (Avoid Premature Optimization) - - + + - - + + - - BDUF (Big Design Up Front) + + BDUF (Big Design Up Front) - - + + - - + + - - Композиция предпочтительнее наследования + + Композиция предпочтительнее наследования - - + + - - + + - - Бритва Оккама + + Бритва Оккама - - + + - - + + - - Разделяй и властвуй + + Разделяй и властвуй - - + + - - + + - - Логирование и телеметрия + + Логирование и телеметрия - - + + - - + + - - Ревью кода + + Ревью кода - - + + - - + + - - Умение читать чужой код + + Умение читать чужой код - - + + - - + + - - Ревью чужого кода + + Ревью чужого кода - - + + - - + + - - Понимание жизненного цикла производства ПО + + Понимание жизненного цикла производства ПО - - + + - - + + - - Реализация + + Реализация - - + + - - + + - - Тестирование + + Тестирование - - + + - - + + - - Поддержка + + Поддержка - - + + - - + + - - Версионирование ПО + + Версионирование ПО - - + + - - + + - - Юнит тесты + + Юнит тесты - - + + - - + + - - Интеграционное + + Интеграционное - - + + - - + + - - Функциональное + + Функциональное - - + + - - + + - - Производительность + + Производительность - - + + - - + + - - Формирование архитектуры и дизайн компонентов + + Формирование архитектуры и дизайн компонентов - - + + - - + + - - Интеграция компонентов + + Интеграция компонентов - - + + - - + + - - Выпуск + + Выпуск - - + + - - + + - - Сбор требований + + Сбор требований - - + + - - + + - - Окончание жизненного цикла + + Окончание жизненного цикла - - + + - - + + - - Анализаторы кода + + Анализаторы кода - - + + - - + + - - Статические + + Статические - - + + - - + + - - Динамические + + Динамические - - + + - - + + - - Профайлеры + + Профайлеры - - + + - - + + - - C++ core guidelines + + C++ core guidelines - - + + - - + + - - Промышленные стандарты + + Промышленные стандарты - - + + - - + + - - MISRA + + MISRA - - + + - - + + - - Autosar + + Autosar - - + + - - + + - - Работа с командной строкой + + Работа с командной строкой - - + + - - + + - - batch + + batch - - + + - - + + - - Powershell + + Powershell - - + + - - + + - - bash + + bash - - + + - - + + - - CI/CD + + CI/CD - - + + - - + + - - Trunk Based Development + + Trunk Based Development - - + + - - + + - - Zero downtime deployment + + Zero downtime deployment - - + + - - + + - - Создание пакета поставки ПО + + Создание пакета поставки ПО - - + + - - + + - - Документация + + Документация - - + + - - + + - - Инсталлятор + + Инсталлятор - - + + - - + + - - Использование других языков программирования + + Использование других языков программирования - - + + - - + + - - Межязыковое взаимодействие + + Межязыковое взаимодействие - - + + - - + + - - Правила именования переменных, пробелы vs табы, - положение фигурных скобок и т.д. + + Правила именования переменных, пробелы vs табы, + положение фигурных скобок и т.д. - - + + - - + + - - Настроить форматирование и автоматически проверять - в одной из утилит: clang-format, Resharper - стиль кода, - MSVS - стиль кода. + + Настроить форматирование и автоматически проверять + в одной из утилит: clang-format, Resharper - стиль кода, + MSVS - стиль кода. - - + + - - + + - - - Скриптовые - - Функциональные - - SQL like - - NoSQL - - Брагилевский :) + + - Скриптовые + - Функциональные + - SQL like + - NoSQL + - Брагилевский :) - - + + - - + + - - Иногда требуется предоставить обертку к библиотеке, написанной - на C++ для другого ЯП, например Python или C#. Для этого - применяют специальные библиотеки/фреймворки. + + Иногда требуется предоставить обертку к библиотеке, написанной + на C++ для другого ЯП, например Python или C#. Для этого + применяют специальные библиотеки/фреймворки. - - + + - - + + - - Обратная совместимость + + Обратная совместимость - - + + - - + + - - Проектирование ПО + + Проектирование ПО - - + + - - + + - - Архитектурные стили + + Архитектурные стили - - + + - - + + - - Component-based + + Component-based - - + + - - + + - - Monolithic application + + Monolithic application - - + + - - + + - - Layered + + Layered - - + + - - + + - - Client-server + + Client-server - - + + - - + + - - Microservices architecture + + Microservices architecture - - + + - - + + - - Event-driven + + Event-driven - - + + - - + + - - Plug-ins + + Plug-ins - - + + - - + + - - REST + + REST - - + + - - + + - - Service-oriented architecture + + Service-oriented architecture - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - 2 этап + + 2 этап - - + + - - + + - - + + - - Паттерны проектирования (GoF) + + Паттерны проектирования (GoF) - - + + - - + + - - Поведенческие + + Поведенческие - - + + - - + + - - Структурные + + Структурные - - + + - - + + - - Порождающие + + Порождающие - - + + - - + + - - ООП + + ООП - - + + - - + + - - SOLID + + SOLID - - + + - - + + - - UML + + UML - - + + - - + + - - Архитектурные паттерны + + Архитектурные паттерны - - + + - - + + - - MVC + + MVC - - + + - - + + - - MVVM + + MVVM - - + + - - + + - - Three-tier + + Three-tier - - + + - - + + - - Onion + + Onion - - + + - - + + - - Hexagon + + Hexagon - - + + - - + + - - Методологии + + Методологии - - + + - - + + - - Test Driven Development + + Test Driven Development - - + + - - + + - - Behavior Driven Development + + Behavior Driven Development - - + + - - + + - - Domain Driven Design + + Domain Driven Design - - + + - - + + - - Память + + Память - - + + - - + + - - Абстракции памяти + + Абстракции памяти - - + + - - + + - - Выравнивание памяти + + Выравнивание памяти - - + + - - + + - - Управление памятью + + Управление памятью - - + + - - + + - - Бинарные единицы + + Бинарные единицы - - + + - - + + - - Исполняемый файл + + Исполняемый файл - - + + - - + + - - Статическая библиотека + + Статическая библиотека - - + + - - + + - - Динамическая библиотека + + Динамическая библиотека - - + + - - + + - - Стек + + Стек - - + + - - + + - - Глобальная память + + Глобальная память - - + + - - + + - - Куча + + Куча - - + + - - + + - - Память приложения + + Память приложения - - + + - - + + - - Виртуальная память + + Виртуальная память - - + + - - + + - - Операционные системы + + Операционные системы - - + + - - + + - - Многопоточность + + Многопоточность - - + + - - + + - - Ошибки + + Ошибки - - + + - - + + - - Dead lock + + Dead lock - - + + - - + + - - Race condition + + Race condition - - + + - - + + - - Live lock + + Live lock - - + + - - + + - - Starvation + + Starvation - - + + - - + + - - Потоки + + Потоки - - + + - - + + - - Конкуренция + + Конкуренция - - + + - - + + - - Мьютексы + + Мьютексы - - + + - - + + - - Семафоры + + Семафоры - - + + - - + + - - Алгоритмы без блокировок (lock-free) + + Алгоритмы без блокировок (lock-free) - - + + - - + + - - Обработка событий + + Обработка событий - - + + - - + + - - Синхронные + + Синхронные - - + + - - + + - - Асинхронные + + Асинхронные - - + + - - + + - - Процессы + + Процессы - - + + - - + + - - Межпроцессное взаимодействие + + Межпроцессное взаимодействие - - + + - - + + - - Shared memory + + Shared memory - - + + - - + + - - Pipes + + Pipes - - + + - - + + - - Сериализация + + Сериализация - - + + - - + + - - json + + json - - + + - - + + - - XML + + XML - - + + - - + + - - Сетевой стек + + Сетевой стек - - + + - - + + - - TCP/IP + + TCP/IP - - + + - - + + - - OSI + + OSI - - + + - - + + - - Сокеты + + Сокеты - - + + - - + + - - HTTP + + HTTP - - + + - - + + - - TCP + + TCP - - + + - - + + - - UDP + + UDP - - + + - - + + - - Файловая система + + Файловая система - - + + - - + + - - Планировщик + + Планировщик - - + + - - + + - - Виртуализация + + Виртуализация - - + + - - + + - - VirtualBox + + VirtualBox - - + + - - + + - - VMware Workstation + + VMware Workstation - - + + - - + + - - Контейнеризация + + Контейнеризация - - + + - - + + - - Hyper-V + + Hyper-V - - + + - - + + - - Docker + + Docker - - + + - - + + - - Облачные сервисы + + Облачные сервисы - - + + - - + + - - Kubernetes + + Kubernetes - - + + - - + + - - Безопасность + + Безопасность - - + + - - + + - - Шифрование + + Шифрование - - + + - - + + - - Многопроцессорные системы + + Многопроцессорные системы - - + + - - + + - - Multicore CPU + + Multicore CPU - - + + - - + + - - NUMA + + NUMA - - + + - - + + - - Ввод и вывод информации + + Ввод и вывод информации - - + + - - + + - - Драйверы + + Драйверы - - + + - - + + - - Аудио + + Аудио - - + + - - + + - - Графическое вычисление/отображение + + Графическое вычисление/отображение - - + + - - + + - - Печать + + Печать - - + + - - + + - - DirectSound + + DirectSound - - + + - - + + - - OpenAL + + OpenAL - - + + - - + + - - DirectX + + DirectX - - + + - - + + - - Vulkan + + Vulkan - - + + - - + + - - OpenGL + + OpenGL - - + + - - + + - - CUDA + + CUDA - - + + - - + + - - Общие навыки + + Общие навыки - - + + - - + + - - Языковые инструменты + + Языковые инструменты - - + + - - + + - - Синтаксис языка + + Синтаксис языка - - + + - - + + - - C++ Developer Roadmap + + C++ Developer Roadmap - - + + - - + + - - О карте: + + О карте: - - + + - - + + - - С++ всё ещё является одним из самых популярных языков разработки. Есть немало желающих начать его изучать - и стать C++ разработчиками. Перед такими людьми встают вопросы: "С чего мне начать? Что и в каком порядке - мне изучать? Какие книги стоить почитать?" Мы попытались ответить на эти вопросы в представленной дорожной - карте. Карта акцентируется на общих компетенциях и навыках, которые встречаются в большинстве проектов. Она - призвана помочь тем, кто только начинает свое обучение или имеет небольшой опыт. Изучив набор перечисленных - материалов, вы сможете составить более продуктивный план обучения, не отвлекаясь на побочную информацию. - Это поможет вам освоить C++ на том уровне, который встречается во многих коммерческих проектах. + + С++ всё ещё является одним из самых популярных языков разработки. Есть немало желающих начать его изучать + и стать C++ разработчиками. Перед такими людьми встают вопросы: "С чего мне начать? Что и в каком порядке + мне изучать? Какие книги стоить почитать?" Мы попытались ответить на эти вопросы в представленной дорожной + карте. Карта акцентируется на общих компетенциях и навыках, которые встречаются в большинстве проектов. Она + призвана помочь тем, кто только начинает свое обучение или имеет небольшой опыт. Изучив набор перечисленных + материалов, вы сможете составить более продуктивный план обучения, не отвлекаясь на побочную информацию. + Это поможет вам освоить C++ на том уровне, который встречается во многих коммерческих проектах. - - + + - - + + - - Как ориентироваться: + + Как ориентироваться: - - + + - - + + - + Если у вас есть замечания, вопросы или предложения, будем рады получить любую помощь и поддержку. Мы открыты для общения :) @@ -6681,79 +6681,79 @@ - - + + - - + + - + Предложения и замечания: - - + + - - + + - + Optional - - + + - - + + - + Junior - - + + - - + + - + Middle - - + + - - + + - + Senior - - + + - - + + - + Мидл способен создать дизайн и решения для функционала внутри @@ -6764,14 +6764,14 @@ - - + + - - + + - + Синиор способен создать дизайн и решение для компонента/приложения с @@ -6780,14 +6780,14 @@ - - + + - - + + - + Джуниору важно научиться писать структурированный код и не усложнять его без @@ -6798,14 +6798,14 @@ - - + + - - + + - + От джуниора ожидается осведомленность про категории, которые @@ -6817,14 +6817,14 @@ - - + + - - + + - + На карте представлены компетенции, которые выделены в "этапы". Мы @@ -6837,581 +6837,581 @@ - - + + - - + + - - Репозиторий: + + Репозиторий: - - + + - - + + - - https://github.com/salmer/CppDeveloperRoadmap + + https://github.com/salmer/CppDeveloperRoadmap - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +