diff --git a/Russian/AreasOfApplication.md b/Russian/AreasOfApplication.md index d2ccbc6..c7a20e0 100644 --- a/Russian/AreasOfApplication.md +++ b/Russian/AreasOfApplication.md @@ -8,3 +8,6 @@ - [Олимпиадное программирование](https://academy.yandex.ru/posts/sport-dlya-razrabotchikov-kak-ustroeno-olimpiadnoe-programmirovanie) - [What Can You Do With C++?](https://www.ko2.co.uk/what-can-you-do-with-c-plus-plus/) +--- + +[**На главную страницу**](README.md) diff --git a/Russian/Books/Junior.md b/Russian/Books/Junior.md index f9503fe..7a79b94 100644 --- a/Russian/Books/Junior.md +++ b/Russian/Books/Junior.md @@ -46,4 +46,8 @@ - [Андрей Созыкин - Компьютерные сети. Базовый курс](https://www.youtube.com/playlist?list=PLtPJ9lKvJ4oiNMvYbOzCmWy6cRzYAh9B1) - Прекрасный курс видеолекций по компьютерным сетям. За основу взяты книги Таненбаума и других классиков по теме. В большинстве проектов этих знаний будет достаточно, чтобы не совершать очевидных ошибок при работе с сетями. Для более глубокого погружения в тему вы можете ознакомиться с книгами Таненбаума или других авторов, или же посмотреть другие курсы на канале Андрея. \ No newline at end of file + Прекрасный курс видеолекций по компьютерным сетям. За основу взяты книги Таненбаума и других классиков по теме. В большинстве проектов этих знаний будет достаточно, чтобы не совершать очевидных ошибок при работе с сетями. Для более глубокого погружения в тему вы можете ознакомиться с книгами Таненбаума или других авторов, или же посмотреть другие курсы на канале Андрея. + +--- + +[**На предыдущую страницу**](Overview.md) | [**На главную страницу**](../README.md) \ No newline at end of file diff --git a/Russian/Books/Middle.md b/Russian/Books/Middle.md index d5928bb..8a95550 100644 --- a/Russian/Books/Middle.md +++ b/Russian/Books/Middle.md @@ -76,4 +76,8 @@ - [Олифер Виктор - Компьютерные сети. Принципы, технологии, протоколы](https://www.ozon.ru/product/kompyuternye-seti-printsipy-tehnologii-protokoly-olifer-viktor-grigorevich-olifer-211432410) - Ещё одна замечательная книга по основам компьютерных сетей. В каких-то моментах подача информации может показаться чуть сложнее, по сравнению с работой Таненбаума. Потому рекомендуем выбрать ту книгу, повествование которой больше подходит именно для вас. \ No newline at end of file + Ещё одна замечательная книга по основам компьютерных сетей. В каких-то моментах подача информации может показаться чуть сложнее, по сравнению с работой Таненбаума. Потому рекомендуем выбрать ту книгу, повествование которой больше подходит именно для вас. + +--- + +[**На предыдущую страницу**](Overview.md) | [**На главную страницу**](../README.md) \ No newline at end of file diff --git a/Russian/Books/Overview.md b/Russian/Books/Overview.md index 2796612..70d35af 100644 --- a/Russian/Books/Overview.md +++ b/Russian/Books/Overview.md @@ -6,3 +6,7 @@ - [Junior](Junior.md) - [Middle](Middle.md) - [Senior](Senior.md) + +--- + +[**На главную страницу**](../README.md) diff --git a/Russian/Books/PreJunior.md b/Russian/Books/PreJunior.md index fffa7fc..a8a5cbb 100644 --- a/Russian/Books/PreJunior.md +++ b/Russian/Books/PreJunior.md @@ -44,4 +44,8 @@ - [MSDN](https://docs.microsoft.com/ru-ru/cpp/build/vscpp-step-0-installation?view=msvc-160) - Если вы начинаете изучать язык самостоятельно, то рекомендуем вести разработку первых программ или выполнять упражнения в IDE: Microsoft Visual Studio (Community Edition). На сегодняшний день, это маскимально дружелюбная IDE к новичкам, как в установке, так и в использовании (и при этом абсолютно бесплатно!). Это позволит максимально сконцентрироваться на изучении языка, а не на борьбе с рабочим окружением. На сайте вы найдете небольшой учебник, который расскажет: как установить Visual Studio, создать первый консольный проект и написать первое приложение: \ No newline at end of file + Если вы начинаете изучать язык самостоятельно, то рекомендуем вести разработку первых программ или выполнять упражнения в IDE: Microsoft Visual Studio (Community Edition). На сегодняшний день, это маскимально дружелюбная IDE к новичкам, как в установке, так и в использовании (и при этом абсолютно бесплатно!). Это позволит максимально сконцентрироваться на изучении языка, а не на борьбе с рабочим окружением. На сайте вы найдете небольшой учебник, который расскажет: как установить Visual Studio, создать первый консольный проект и написать первое приложение. + +--- + +[**На предыдущую страницу**](Overview.md) | [**На главную страницу**](../README.md) \ No newline at end of file diff --git a/Russian/Books/Senior.md b/Russian/Books/Senior.md index 3308292..c471b65 100644 --- a/Russian/Books/Senior.md +++ b/Russian/Books/Senior.md @@ -52,4 +52,8 @@ - [Крис Ричардсон - Микросервисы. Паттерны разработки и рефакторинга](https://www.ozon.ru/product/mikroservisy-patterny-razrabotki-i-refaktoringa-211432697) - Книга концентрируется на современном архитектурном подходе проектирования систем - микросервисы. Это работа повествует о том, как произвести последовательную трансформацию приложения из "монолитного" состояния в набор микросервисов. Содержит в себе набор паттернов, а также советы по рефакторингу существующего кода, чтобы наиболее эффективно произвести данную процедуру. \ No newline at end of file + Книга концентрируется на современном архитектурном подходе проектирования систем - микросервисы. Это работа повествует о том, как произвести последовательную трансформацию приложения из "монолитного" состояния в набор микросервисов. Содержит в себе набор паттернов, а также советы по рефакторингу существующего кода, чтобы наиболее эффективно произвести данную процедуру. + +--- + +[**На предыдущую страницу**](Overview.md) | [**На главную страницу**](../README.md) \ No newline at end of file diff --git a/Russian/CommunitySources.md b/Russian/CommunitySources.md index fc0cf4f..00e9d49 100644 --- a/Russian/CommunitySources.md +++ b/Russian/CommunitySources.md @@ -36,3 +36,7 @@ - [Путеводитель C++ программиста по неопределенному поведению](https://github.com/Nekrolm/ubbook) - [Коллекция библиотек и фреймворков для C++](https://github.com/fffaraz/awesome-cpp) +--- + +[**На главную страницу**](README.md) + diff --git a/Russian/FunCpp.md b/Russian/FunCpp.md index 9d8dd5e..243a41a 100644 --- a/Russian/FunCpp.md +++ b/Russian/FunCpp.md @@ -16,4 +16,8 @@ Потому не бойтесь изучать его! -Удачи! \ No newline at end of file +Удачи! + +--- + +[**На главную страницу**](README.md) \ No newline at end of file diff --git a/Russian/Grades/Junior.md b/Russian/Grades/Junior.md index 4fe5470..c88a7c6 100644 --- a/Russian/Grades/Junior.md +++ b/Russian/Grades/Junior.md @@ -27,3 +27,7 @@ - Не закапывайтесь в задачу слишком долго. Если после нескольких вариантов нет сдвига, тут же обращайтесь к коллегам за помощью. Они рассчитывают, что задача будет вами решена в разумные сроки. Ваша основная цель - решать проблемы, а не создавать их для команды. - При возникновении сложностей старайтесь попробовать найти парочку возможных решений самостоятельно, а затем подходите к своему наставнику. Ваш наставник подкорректирует ваши варианты решения или дополнит их. - Многие джуны попадают в распространенную ловушку: чем больше строк кода написано, тем они круче как разработчики. Не попадайтесь в неё! Помните, что чем больше кода написано, тем выше вероятность ошибки. В идеале код должен быть написан так, чтобы при возвращении к нему через полгода, вы быстро могли вспомнить что он делает. Хороший разработчик не тот, кто пишет много кода. Хороший разработчик ведет себя как самурай: наносит один точный и смертельный удар, а не бессмысленно машет мечом, чтобы попасть по врагу. + +--- + +[**На предыдущую страницу**](Overview.md) | [**На главную страницу**](../README.md) diff --git a/Russian/Grades/Middle.md b/Russian/Grades/Middle.md index 7caa08d..35005d9 100644 --- a/Russian/Grades/Middle.md +++ b/Russian/Grades/Middle.md @@ -41,3 +41,7 @@ ### Про опыт - Основная ловушка для многих мидлов: фанбойство по технологиям, фреймворкам, внедрением паттернов или подходам к разработке. Постарайтесь прагматично подходить к выполнению задач на проекте. Не нужно пытаться затянуть все последние новинки, только чтобы поиграться с ними или ради строчки в резюме. На этом этапе очень велик соблазн проявить свое мастерство через обилие технологий или оверинжиниринг. - Если вы действительно считаете, что проекту нужна новая библиотека или фреймворк - обсудите это с синьором/тимлидом. Предложите им попробовать создать прототип, где сможете проверить их в действии прежде чем втягивать в проект. Пожалуйста, никогда не втягивайте их в обход всей команды или втихаря! Для вас - это развлечение, но для проекта/тимлида это станет головной болью в будущем, т.к. это повысит стоимость поддержки проекта и принесёт неожиданные проблемы. + +--- + +[**На предыдущую страницу**](Overview.md) | [**На главную страницу**](../README.md) diff --git a/Russian/Grades/Overview.md b/Russian/Grades/Overview.md index 090eef0..663d2f8 100644 --- a/Russian/Grades/Overview.md +++ b/Russian/Grades/Overview.md @@ -25,3 +25,7 @@ - [Senior C++](Senior.md) +--- + +[**На главную страницу**](../README.md) + diff --git a/Russian/Grades/PreJunior.md b/Russian/Grades/PreJunior.md index f57433f..1b82892 100644 --- a/Russian/Grades/PreJunior.md +++ b/Russian/Grades/PreJunior.md @@ -41,3 +41,7 @@ ### Про английский язык - Большинство проблем проще искать на английском языке, но если текущий уровень владения не очень высокий - не мучайте себя. Так вы можете быстро потерять мотивацию и разочароваться. Большая часть проблем в начале пути, с которыми вы столкнетесь, спокойно можно отыскать и на русском языке. - Если чувствуете, что ваш английский слабоват, то лучше начните его изучение с более простых и приятных вещей: сериалы, видеоигры, художественные книги, новостные сайты или статьи на интересующие темы. За несколько месяцев можно значительно улучшить навыки восприятия информации на английском языке. + +--- + +[**На предыдущую страницу**](Overview.md) | [**На главную страницу**](../README.md) diff --git a/Russian/Grades/Senior.md b/Russian/Grades/Senior.md index ef2950f..1692a33 100644 --- a/Russian/Grades/Senior.md +++ b/Russian/Grades/Senior.md @@ -20,3 +20,7 @@ ## Рекомендации и советы В зависимости от специфики компании и от ваших желаний путь дальнейшего развития лежит либо в освоении новых технологий и технических навыков, требующихся в выбранной вами области знаний (например, специальные разделы математики, физика и т.д. - путь технического эксперта), либо в область управления и взаимодействия с людьми (техлид, тимлид, ПМ и т.д.). Choose wisely. 🙂 + +--- + +[**На предыдущую страницу**](Overview.md) | [**На главную страницу**](../README.md) diff --git a/Russian/HowToStudy.md b/Russian/HowToStudy.md index 7844088..625736d 100644 --- a/Russian/HowToStudy.md +++ b/Russian/HowToStudy.md @@ -33,3 +33,7 @@ C++ развивается ровно так же, как и все осталь - Помните, что многие опытные разработчики тоже встречают проблемы и застревают в "очевидных" местах. Просто возьмите паузу, позанимайтесь чем-нибудь другим, а через какое-то время возвращайтесь к задаче. - Найдите единомышленников, которые тоже начинают свой путь обучения. Так вам будет интереснее погружаться в изучение языка вместе, а также делиться знаниями и опытом друг с другом. Это также поможет выработать навык командной работы. Времена "вольных художников" подошли к концу. Практически везде вам придется работать в команде. - Попробуйте найти себе опытного ментора. Под его руководством вы сможете избежать различные типовые ловушки и потерю времени на них. + +--- + +[**На главную страницу**](README.md) diff --git a/Russian/Mythbusters.md b/Russian/Mythbusters.md index 3980056..3ac447a 100644 --- a/Russian/Mythbusters.md +++ b/Russian/Mythbusters.md @@ -49,4 +49,8 @@ ## C++ - это сплошной легаси-код -Отчасти правдивый миф, но стоит отметить, что это применимо и к другим языкам. На самом современном стеке может производиться жуткое "легаси" руками разработчиков. Качество кода зависит от технической культуры команды и её визионеров, т.к. в большей степени легаcи-код порождается человеческим фактором: уровень разработчика и компетенций, отношение к работе, горящие сроки и т.п. На текущий момент на C++ разработано огромное количество систем, которые не первый год работают в режиме 24/7. Такие системы могли быть написаны в прошлом без соблюдения всевозможных практик разработки. Они часто являются основой бизнеса, которые приносят значительную часть прибыли. Потому проводить в таких системах масштабные изменения довольно рискованно. Разработчики работают с таким кодом предельно осторожно. Но не стоит думать, что с этим ничего не сделать. Постепенно такие системы переписываются с использованием современных практик и технологий. Такого рода задачи могут стать для вас не менее интересным вызовом, т.к. предоставляют отличную возможность освоить широкий спектр компетенций: чтение кода, реверс-инженеринг, написание тестов, проектирование архитектуры ПО, автоматизация, сбор требований и т.д. \ No newline at end of file +Отчасти правдивый миф, но стоит отметить, что это применимо и к другим языкам. На самом современном стеке может производиться жуткое "легаси" руками разработчиков. Качество кода зависит от технической культуры команды и её визионеров, т.к. в большей степени легаcи-код порождается человеческим фактором: уровень разработчика и компетенций, отношение к работе, горящие сроки и т.п. На текущий момент на C++ разработано огромное количество систем, которые не первый год работают в режиме 24/7. Такие системы могли быть написаны в прошлом без соблюдения всевозможных практик разработки. Они часто являются основой бизнеса, которые приносят значительную часть прибыли. Потому проводить в таких системах масштабные изменения довольно рискованно. Разработчики работают с таким кодом предельно осторожно. Но не стоит думать, что с этим ничего не сделать. Постепенно такие системы переписываются с использованием современных практик и технологий. Такого рода задачи могут стать для вас не менее интересным вызовом, т.к. предоставляют отличную возможность освоить широкий спектр компетенций: чтение кода, реверс-инженеринг, написание тестов, проектирование архитектуры ПО, автоматизация, сбор требований и т.д. + +--- + +[**На главную страницу**](README.md) \ No newline at end of file diff --git a/Russian/PetProjects.md b/Russian/PetProjects.md index 6d5fc2a..bf34129 100644 --- a/Russian/PetProjects.md +++ b/Russian/PetProjects.md @@ -65,4 +65,8 @@ * Библиотека линейной алгебры: матрицы, вектора, действия с ними * Моделирование различных процессов: физика, теоретическая механика и т.д. -* Применение численных методов: интегрирование, дифференцирование, аппроксимация, интерполяция и т.д. \ No newline at end of file +* Применение численных методов: интегрирование, дифференцирование, аппроксимация, интерполяция и т.д. + +--- + +[**На главную страницу**](README.md) \ No newline at end of file diff --git a/Russian/Rationale.md b/Russian/Rationale.md index b6b7908..9b5683f 100644 --- a/Russian/Rationale.md +++ b/Russian/Rationale.md @@ -8,4 +8,8 @@ C++ активно используется во многих коммерчес Данная дорожная карта пытается заполнить образовавшуюся пустоту. Идея создания возникла после большого количества интервью с неопытными кандидатами, на позицию разработчика C++. Их объединяли общие черты: пробелы в базовых знаниях и непонимание каким образом изучать язык, откуда черпать знания. -Также карта может пригодиться и тем, кто уже практикует какое-то время использование C++ в личных и рабочих проектах. Она может помочь вам понять каких знаний не хватает для того, чтобы углубить уровень владения языком, а также стать высококлассным специалистом. \ No newline at end of file +Также карта может пригодиться и тем, кто уже практикует какое-то время использование C++ в личных и рабочих проектах. Она может помочь вам понять каких знаний не хватает для того, чтобы углубить уровень владения языком, а также стать высококлассным специалистом. + +--- + +[**На главную страницу**](README.md) \ No newline at end of file diff --git a/Russian/SelfIdentification.md b/Russian/SelfIdentification.md index 412e5f9..50f5389 100644 --- a/Russian/SelfIdentification.md +++ b/Russian/SelfIdentification.md @@ -15,4 +15,8 @@ Вам помогут фундаментальные знания, такие как: понимание процедурной/ООП/иных парадигм или других знаний общего характера. Но полностью на них полагаться не стоит. Наиболее распространенный случай в котором часто оказываются новички: попытка писать на C++ в парадигмах другого языка. Пример подобной ловушки у разработчиков на Си: писать на C++ в процедурном стиле или "Си с классами". -C++ очень богат на идеи и подходы написания кода. Потому рекомендуется начать языка изучение с чистой головой. Подойдите к изучению языка основательно и разберитесь в его идеях. Это поможет вам эффективно использовать язык в рабочих задачах. Знание других языков поможет сравнивать их друг с другом и обнаруживать сильные/слабые стороны. \ No newline at end of file +C++ очень богат на идеи и подходы написания кода. Потому рекомендуется начать языка изучение с чистой головой. Подойдите к изучению языка основательно и разберитесь в его идеях. Это поможет вам эффективно использовать язык в рабочих задачах. Знание других языков поможет сравнивать их друг с другом и обнаруживать сильные/слабые стороны. + +--- + +[**На главную страницу**](README.md) \ No newline at end of file diff --git a/Russian/Tooling.md b/Russian/Tooling.md index 2c52dfc..02703a4 100644 --- a/Russian/Tooling.md +++ b/Russian/Tooling.md @@ -167,3 +167,6 @@ Кроссплатформенный и высокоэффективный клиент для Windows, Linux, MacOS. Поддерживает интеграцию с GitHub, Bitbucket и Gitlab, а также весь необходимый функционал для повседневной работы: изучение истории изменений, прием/отправка изменений, переключение между ветками, встроенный редактор разрешения конфликтов и т.д. +--- + +[**На главную страницу**](README.md) \ No newline at end of file