Пишу только про свой опыт. Как уже говорил он касается 1 сферы из моего ответа.
1. Обучение: https://etu.ru/
Факультет электроники. Из хорошего и полезного: занятия по схемотехнике хорошие, шли несколько семестров, но вот именно программирования именно микроконтроллеров было лишь 1 семестр и то в магистатуре. Обучение суммарно 6 лет, хотя 4 тоже было хватило. Думаю, полезнее будет учиться именно на программиста в любом хорошем ВУЗе, а embedded специфику вы можете изучить самостоятельно, для embedded программиста MCU не нужны очень глубокие знания электроники. Свой профиль обучения для embedded программиста (aka 1 пункт) сферы не порекомендую, ибо есть много не особо полезных предметов как для программиста, зато вот для 3 типа embedded разработчиков вполне можно задуматься.
2. Сейчас я работаю backend разработчиком.
3. Assembler не пригождался. В моем случае учил по ходу дела: был легаси код с ASM вставками - читал разбирался, но такое встречалось крайне редко. У меня не было задач с очень уж узкими местами,
где нужно было вытягивать производительность. Если вы не эксперт в ASM, то, скорее всего, компилятор С/С++ скомпилирует более эффективный код, чем ваша асемблерная вставка (лично мое мнение).
3.5 А вот linker скрипты мне разок пригодились в работе, поэтому полезно понимать какие есть области памяти, что из себя представляет скомпилированная программа. Что такое стек и куча, где хранятся константы и т.д.
4. Парадоксально, но я старался писать на С++, а не на С для MCU (из-за более широко спектра возможностей), хотя делать это нужно весьма аккуратно. Именно embedded компании, в которых я работал довольно маленькие, ничего особо интересного о них не могу рассказать (если уж так интересно то напишите на почту/телеграм). Зарплата зависит от навыков, а также в немалой степени от того как вы умеете себя и свои навыки продать. ЗП в embedded такие же как и в остальном IT (если только вы не сидите на типичном отечественном заводе))) Посмотрите вакансии на HH embedded разработчиков. 100к сейчас вполне обычная зп для любого программиста уровня junior+/middle, в общем, сильно зависит от ваших способностей))
5. Советы... С этим сложно. Если хотите быть программистом даже и embedded, то лучше идите учиться именно на программиста. Учитесь, изучайте, интересуйтесь, не бойтесь нового. Заведите github и попробуйте написать парочку проектов для себя.
6. Не моя сфера) Но что-то мне подсказывает, что в начале 20 века паровые машины заменили сотни рабочих на фабриках и человечество не вымерло, трактора заменили тысячи людей, выращивающих еду, а мы все ещё не голодаем. А на счет помощи: github copilot, tabnine удобные штуки, иногда помогают.
AllEnginn, многие советуют также Visual Studio Code или просто VS Code (есть ещё тяжелая IDE Visual Studio aka Microsoft Visual Studio MSVS, кмк, она неудобна для обучения из-за как раз свой тяжеловесности).
Так как VS Code она очень популярна, то уроков как все настроить тысячи + очень много расширений (extentions), которые позволят легко подключить нужные (и иногда и ненужных, но интересные)) фичи.
Чтобы так не мучаться может лучше хранить массив структур-чанков? Зачем себе жизнь усложнять?
С учетом того, что ваша функция собирает возвращает новый вектор, а на ссылку на старый, что уже не особо оптимально по скорости.
Апочему вы вообще решили взять массив [16][16][16], если у вас чанки иного размера ([4][8][8])?
Lumus, тогда никаких идей нет пока что. Я бы на вашем месте попробовал создать новый проект и с минимальной логикой перемещение персонажа, чтобы этой проблемы не было (если проблема все ещё будет, возможно, стоит протестировать на другой машине/с другими настройками самого движка), а дальше добавлять кусочки логики из текущего проекта и смотреть как меняется поведение персонажа. Также опишитесь, если найдете решение.
Jut_Rut, бесплатных задач там в разы больше. Курсы бесплатные на этом сайте тоже есть. Посмотреть и оценить самому быстрее, чем тут спрашивать/отвечать
Грокаем алгоритмы ориентирована на новичков совсем. Зато язык описания крайне простой, если вы никогда не изучали алгоритмы, то для поверхностного ознакомления о том что бывает пойдет.
Мне зашла книга совершенный алгоритм и курсы от литкода.
krot0glot, если вы хотите изучить базис, то, конечно, не так принципиален стандарт (лишь бы не меньше С++11). Но, в целом, я бы советовал вам при реализации того или иного алгоритма смотреть что есть в современных стандартах на этот счет. Если вы не совсем новичок в С++, то хотя бы обзорно посмотрите новвовдеения последних стандартов, чтобы понимать что потенциально есть/можно использовать.
К примеру, ваш код можно переписать и вовсе без шаблонов с использованием std::variant (что в данном случае совсем не оптимально, но иногда может быть полезно)
если вы удалите constexpr, то if все равно сработает.
Но, я не понимаю зачем вам учиться тому, что уже может быть не актуально или даже вредно (некоторые новые стандарты дополняют/изменяют/расширяют старые фичи).
Можете использовать https://stackoverflow.com/questions/13830158/check...
чтобы проверить, что тип итерируемый.
DOBUTSU,
вы хотите встроить C++ в веб страницу?
Это крайне странно и опять же а зачем, если есть js/php, которые специально создавались для этого.
Миллион причин даже не думать о таком. C++ не умеет манипулировать содержимым HTML из коробки. Под каждую платформу необходимо собирать исполняемый файл заново. php и js скриптовые языки, которым нужен только интерпретатор (зайдите в Chrome/Opera в панель разработчика и вы можете написать любой код на JS прямо туда и он сразу же исполнится).
Возвращаясь к вашему примеру, а вы понимаете куда echo "123" направляет данные? Это не printf() и не std::cout. Drogon как и любой другой веб сервер нужен для обработки входных запросов по типу.
GET testapp/mul?a=10&b=20
А вот уже на веб странице может быть красивая кнопка, за которой стоит запрос а*b =
и при нажатии php пойдет, соберет данные из полей и закинет запрос на ваш сервер, а уже сервер вам все посчитает. Конечно, это очень и очень простой пример, но суть примерно в этом. Естественно, ваш запрос может содержать что-то другое, например, он может запрашивать содержимое из базы данных с данными о пользователе или что-то ещё.
В Visual Studio у проектов есть две настройки
InDir
OutDir
Задайте соотвествующие пути и все.
Если же есть внешние библиотеки, которые вам нужны для запуска приложения, то можете добавить их копирование/перемещение на этапе PostBuild Script.
rusyska55011, если вы хотите передать указатель, то передавайте указатель, а лучше вообще используйте std::array, а в классе Rotation храните ссылку на std::array. Массив != указатель.
вот пример: https://godbolt.org/z/c4Gsb8Mz5
1. Обучение:
https://etu.ru/
Факультет электроники. Из хорошего и полезного: занятия по схемотехнике хорошие, шли несколько семестров, но вот именно программирования именно микроконтроллеров было лишь 1 семестр и то в магистатуре. Обучение суммарно 6 лет, хотя 4 тоже было хватило. Думаю, полезнее будет учиться именно на программиста в любом хорошем ВУЗе, а embedded специфику вы можете изучить самостоятельно, для embedded программиста MCU не нужны очень глубокие знания электроники. Свой профиль обучения для embedded программиста (aka 1 пункт) сферы не порекомендую, ибо есть много не особо полезных предметов как для программиста, зато вот для 3 типа embedded разработчиков вполне можно задуматься.
2. Сейчас я работаю backend разработчиком.
3. Assembler не пригождался. В моем случае учил по ходу дела: был легаси код с ASM вставками - читал разбирался, но такое встречалось крайне редко. У меня не было задач с очень уж узкими местами,
где нужно было вытягивать производительность. Если вы не эксперт в ASM, то, скорее всего, компилятор С/С++ скомпилирует более эффективный код, чем ваша асемблерная вставка (лично мое мнение).
3.5 А вот linker скрипты мне разок пригодились в работе, поэтому полезно понимать какие есть области памяти, что из себя представляет скомпилированная программа. Что такое стек и куча, где хранятся константы и т.д.
4. Парадоксально, но я старался писать на С++, а не на С для MCU (из-за более широко спектра возможностей), хотя делать это нужно весьма аккуратно. Именно embedded компании, в которых я работал довольно маленькие, ничего особо интересного о них не могу рассказать (если уж так интересно то напишите на почту/телеграм). Зарплата зависит от навыков, а также в немалой степени от того как вы умеете себя и свои навыки продать. ЗП в embedded такие же как и в остальном IT (если только вы не сидите на типичном отечественном заводе))) Посмотрите вакансии на HH embedded разработчиков. 100к сейчас вполне обычная зп для любого программиста уровня junior+/middle, в общем, сильно зависит от ваших способностей))
5. Советы... С этим сложно. Если хотите быть программистом даже и embedded, то лучше идите учиться именно на программиста. Учитесь, изучайте, интересуйтесь, не бойтесь нового. Заведите github и попробуйте написать парочку проектов для себя.
6. Не моя сфера) Но что-то мне подсказывает, что в начале 20 века паровые машины заменили сотни рабочих на фабриках и человечество не вымерло, трактора заменили тысячи людей, выращивающих еду, а мы все ещё не голодаем. А на счет помощи: github copilot, tabnine удобные штуки, иногда помогают.