Задать вопрос
  • Стоит ли идти в Embedded разработку?

    @dima20155
    Пишу только про свой опыт. Как уже говорил он касается 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 удобные штуки, иногда помогают.
  • Как начать программирование в среде Apache NetBeans?

    @dima20155
    AllEnginn, многие советуют также Visual Studio Code или просто VS Code (есть ещё тяжелая IDE Visual Studio aka Microsoft Visual Studio MSVS, кмк, она неудобна для обучения из-за как раз свой тяжеловесности).
    Так как VS Code она очень популярна, то уроков как все настроить тысячи + очень много расширений (extentions), которые позволят легко подключить нужные (и иногда и ненужных, но интересные)) фичи.
  • Как массив вокселей 16^3 разделить на массивы по 4*8*8 и получить один из них по id?

    @dima20155
    Чтобы так не мучаться может лучше хранить массив структур-чанков? Зачем себе жизнь усложнять?
    С учетом того, что ваша функция собирает возвращает новый вектор, а на ссылку на старый, что уже не особо оптимально по скорости.
    Апочему вы вообще решили взять массив [16][16][16], если у вас чанки иного размера ([4][8][8])?
  • Дрожит камера в игре на godot4 при перемещении, как исправить?

    @dima20155
    Lumus, тогда никаких идей нет пока что. Я бы на вашем месте попробовал создать новый проект и с минимальной логикой перемещение персонажа, чтобы этой проблемы не было (если проблема все ещё будет, возможно, стоит протестировать на другой машине/с другими настройками самого движка), а дальше добавлять кусочки логики из текущего проекта и смотреть как меняется поведение персонажа. Также опишитесь, если найдете решение.
  • Где учить алгоритмы и структуры данных?

    @dima20155
    Jut_Rut, бесплатных задач там в разы больше. Курсы бесплатные на этом сайте тоже есть. Посмотреть и оценить самому быстрее, чем тут спрашивать/отвечать
  • Дрожит камера в игре на godot4 при перемещении, как исправить?

    @dima20155
    Lumus, хм.. странно. А как вы перемещает персонажа? Move and slide?
  • Где учить алгоритмы и структуры данных?

    @dima20155
    Грокаем алгоритмы ориентирована на новичков совсем. Зато язык описания крайне простой, если вы никогда не изучали алгоритмы, то для поверхностного ознакомления о том что бывает пойдет.
    Мне зашла книга совершенный алгоритм и курсы от литкода.
  • Почему переменная изменяет значение?

    @dima20155
    Простые типы (int, double) передаются по значению.
  • List убирает string значения из класса, что делать?

    @dima20155
    Hikkirray, string хранит строку с данными в динамической памяти, а int лежит на стеке, поэтому есть шанс, что он не будет переписан.
  • Как создать шаблон структуры, которая будет принимать базовые типы данных и класс vector?

    @dima20155
    krot0glot, если вы хотите изучить базис, то, конечно, не так принципиален стандарт (лишь бы не меньше С++11). Но, в целом, я бы советовал вам при реализации того или иного алгоритма смотреть что есть в современных стандартах на этот счет. Если вы не совсем новичок в С++, то хотя бы обзорно посмотрите новвовдеения последних стандартов, чтобы понимать что потенциально есть/можно использовать.

    К примеру, ваш код можно переписать и вовсе без шаблонов с использованием std::variant (что в данном случае совсем не оптимально, но иногда может быть полезно)
  • Какая временная сложность у простого алгоритма вычисления факториала (О большое)?

    @dima20155
    Сергей delphinpro, конечно нужно, иначе какой смысл в такой оценке?
    res2001 хорошо все расписал.
  • Не открывается exe файл после компиляции gcc. Что делать?

    @dima20155
    Капитан Пронин, используйте С версию. Теги стоят и С и С++ зачем-то)
  • Как создать шаблон структуры, которая будет принимать базовые типы данных и класс vector?

    @dima20155
    krot0glot,
    constexpr появился в С++11
    constexpr if в С++17
    https://en.cppreference.com/w/cpp/language/constexpr

    если вы удалите constexpr, то if все равно сработает.

    Но, я не понимаю зачем вам учиться тому, что уже может быть не актуально или даже вредно (некоторые новые стандарты дополняют/изменяют/расширяют старые фичи).
    Можете использовать https://stackoverflow.com/questions/13830158/check...
    чтобы проверить, что тип итерируемый.
  • Пишет что повредил кучу? Чего?

    @dima20155
    Используйте Valgrind
    и посмотрите как и где вы портите память
  • Как сделать динамическую подгрузку кода?

    @dima20155
    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 2022?

    @dima20155
    В Visual Studio у проектов есть две настройки
    InDir
    OutDir

    Задайте соотвествующие пути и все.
    Если же есть внешние библиотеки, которые вам нужны для запуска приложения, то можете добавить их копирование/перемещение на этапе PostBuild Script.
  • Выдает ошибку «идентификатор не определен». Почему?

    @dima20155
    Пишите полную ошибку. Сразу вопрос: какой идентификатор?
    Хороший вопрос содержит половину ответа.
  • Как передать двойной массив в подкласс из класса, сохранив адреса массива?

    @dima20155
    rusyska55011, если вы хотите передать указатель, то передавайте указатель, а лучше вообще используйте std::array, а в классе Rotation храните ссылку на std::array. Массив != указатель.
    вот пример:
    https://godbolt.org/z/c4Gsb8Mz5