- ОС Linux / Unix и инструменты командной строки.
Скорее всего, вы напишете свой код C ++ для Unix-подобных ОС. Почему? Потому что это открытый исходный код, что на самом деле означает, что он бесплатный, и каждый может его использовать, что привело к тому, что многие другие библиотеки и проекты C ++ написаны для Linux, поэтому понимание этого и удобство работы с инструментами командной строки терминала являются необходим для разработчика C ++. Настройка среды, установка библиотек, компиляция, запуск и отладка вашего кода - вам, как разработчику, он понадобится повсюду! Так что лучше познакомьтесь с ним прямо сейчас, это просто облегчит вашу жизнь.
Вот, пожалуйста:
Учебное пособие по UNIX / LINUX - Учебное пособие
Учебное пособие по командной строке Linux Для начинающих »
Курс Udemy: «Мастерство Linux: освоите командную строку Linux за 11,5 часов. »
Если по какой-либо причине вам нужно научиться программировать для Windows, то лучше сначала изучите командную строку Windows. Но я считаю, что рано или поздно вам все равно придется познакомиться с Linux и его инструментами. - Структуры данных и C ++ STL (стандартная библиотека шаблонов)
Чтобы кодировать на C ++ (и на любом другом языке), вы должны четко понимать, что такое массив, хеш-таблица, связанный список, очередь. , стек, двоичное дерево и его реализация в стандартной библиотеке C ++. Также вам необходимо знать, что такое алгоритмы поиска и сортировки.
Поверьте, вам не захочется самостоятельно реализовывать это в реальных проектах. Все, что вам нужно, это пройти через Стандартные контейнеры и Алгоритмы и вспомнить, где вы можете найти эту информацию позже, когда она вам понадобится в вашем коде. Хорошим бонусом здесь будет понимание и умение рассчитывать сложность тех и других алгоритмов.
Вообще-то это большая тема. Вы не узнаете и не поймете всего сразу или за несколько часов. Предполагается, что это займет некоторое время, возможно, годы, если вы новичок в кодировании. Для начала вам просто нужно знать, что такое STL, и, возможно, вернуться к нему позже, когда у вас будет немного больше практики кодирования, чтобы вы понимали, какие проблемы вы можете решить с его помощью.
Несколько руководств для начала:
Структуры данных - GeeksForGeeks
Учебник по структуре данных и алгоритмам - Учебное пособие
Стандартные контейнеры и Алгоритмы
Учебное пособие по C ++ STL - Учебное пособие - Инструменты Make, CMake
Это инструменты, которые позволяют создавать проекты на C ++. Если ваш проект не состоит из 1-5 файлов, вам нужно автоматизировать процесс его создания. Это то, что в основном позволяют делать эти инструменты. Но прежде чем даже начать читать об этом, вам нужно понять, что такое все процессы сборки C ++ и как запустить компилятор C ++ (G ++ или Clang).
Make - Unix, Linux Command - Tutorialspoint
Unix Makefile Tutorial - Tutorialspoint - GDB
Как только вы научитесь кодировать и запускать свои двоичные файлы C ++, вы столкнетесь с проблемой, когда он дает сбой или просто не работает должным образом. Так что же тогда делать? Вы смотрите на свой код, дважды проверяете логику, но по-прежнему не видите в нем никаких проблем. Что дальше? Здесь у вас есть два способа справиться с этим. Вы можете прикрыть свой код распечатками журнала (что, честно говоря, обычно является скучной задачей, и это не делает вашу программу более читаемой) или вы можете отлаживать его. Отладка намного интереснее! Еще интереснее отладка с терминала. И, честно говоря, я считаю, что это обязательный навык - уметь отлаживать свою программу на C ++ с консоли. Однажды у вас не будет всех этих причудливых интерфейсов отладки IDE, когда что-то выйдет из строя после недавнего выпуска на удаленном сервере разработки, и вам нужно будет исправить это как можно скорее.
Учебное пособие по отладчику GNU - Краткое руководство - Учебное пособие - UML
И это моя личная рекомендация. Как ни странно, но никто никогда не спрашивал меня об этом во время моих собеседований, и я, вероятно, никогда не считал это требованием для какой-либо должности разработчика или в программе любых курсов программирования. Это было по программе в университете, где я учился (информатика, NULP), и именно там я впервые узнал о различных типах диаграмм, которые помогают визуализировать, что будет делать ваша программа, как будет выглядеть ее архитектура и многие другие интересные вещи. Как правило, это помогает документировать и описывать ваш проект и код с разных точек зрения, поэтому я считаю, что каждый должен уметь говорить и читать на этом языке и знать инструменты для этого.
Единый язык моделирования - Официальная документация
UML Tutorial - Tutorialspoint
Lucidchart - онлайн-инструмент для создания UML и некоторых других диаграмм. Также существуют различные руководства о диаграммах и о том, как их создавать с помощью этого инструмента.
Спасибо за прочтение! Не стесняйтесь делиться своими мыслями в комментариях :)