Pull to refresh
74
0.3
Сергей @lamerok

Хоккеист — на микроконтроллерах программист

Send message

В Челябинске тоже, полагаю 200 000-250 000 за хорошего электронщика, чтобы схему рассчитать и сделать, скажем, схему волноводного уровнемера.

Мне, все таки кажется будет, повторяется история бухгалтеров и экономистов. Сейчас все абитуриенты прутся на Айти, вот от слова вообще все. Эта масса вся выпускается в огромном количестве.

Кинули обьяву на Джуна 500 откликов в день, а вот на миддлов уже 1 или 2 максимум.

Половина этих джунов через 3-5 лет станет мидлами. И тогда миддлов тоже будет норм.

А вот Электронщиков к примеру будет не хватать, и уже не хватает, и уже з. п. у них в целом сравнялась с Айти, а скоро привысит.

Не ну смотря какая специальность. Думаю, что специалистов по перекидываю джейсонов хватает, а вот встроенных программистов, к примеру нет.

В РФ рынок только джунами перенасыщается. Мидлами года через 3-5 будет

С такого, что не всем акторам нужен этот move. Например, актору Продолжатель рода, нужна только функция reproduction. И зачем ему этот move. Давай тогда всё в Animal впихнем, и будет офигенный супер класс, умеющий делать все.

А если Animal ничего не делает, то и зачем он нужен вообще?

Наследование интерфейса интерфейсом надо применять только тогда, когда интерфейс, который наследует может полностью заменить наследумый. Об этом и говорит принцип Лисков.

В данном случае, если все животные двигаются, ок можно так сделать. Вам придётся реализовать все методы move у всех классов наследующих Animal. Но тогда непонятно назначение самого Animal.

И как я уже сказал, а везде ли этот move вам нужен будет у Animal?

Так они и есть 30% от минималки + 15% от того, что выше. А для ИТ 7.6% просто.

Откуда 44% в ИТ? Для МСП 30%с минималки + 15% что выше + НДФЛ и того примерно 30-37%, в зависимости от з. п. Если взять ИТ из реестра ИТ компаний, то там 7.6% + НДФЛ и того 20.6%. Ну покрайней мере у меня так выходит.

Про обложат санкциями, это реальный риск, продали вашу программу конторе, которая продала её госучереждению и вот вы уже в списке. И отслеживать это очень трудно. Так что, думаю риск есть.

Да, так и делаем сейчас. Миддлов парочку наняли неплохих с перспективой на рост.

Тут странности со стороны менеджера. Обычно наоборот бывает, В данном случае, добавление такого условия, это очевидное добавление ефортов, так как надо отдельно обрабатывать ситуацию с одинаковыми именами.

Т. е для заказчика это доп. траты. Заказчик обычно не тупой, и такие вещи спецом добавляет, типа вы такой ему, да зачем это делать, заказчик соглашается, убирается пункт из ТЗ и уменьшается стоимость. Ну вам же меньше делать.

Наоборот такие вещи надо делать без обсуждения, а уже потом за отдельную плату удалять.

Я немного не понял выводы из статьи, если они вообще тут есть.

По моему опыту. Лидов не найти, ни за какую з. п. Даже, если договорился, на старом месте перебивает тут же.

Мидлы, проблемно, но найти можно.

Джуниоров, дали объявление, за день 500 откликов.

 написал консольное приложение для проверки функции вычисления угла между векторами. 

Для этого специально есть такое понятие как юнит тест, запускаете вместе с компиляцей, если прошли, то и сборка создалась, нет, ищете ошибку.

CppUTest можете использовать, подходит ко всем контроллерам.

Ещё и покрытие можете отслеживать, чтобы убедиться, что все ветки проверены.

В CortexM4F за 1.3 доллара есть. Другое дело, что тут double.

public void assign(Author author, Book book) { book.setAuthor(author); book.save(); }

Вообще не чистый код, кроме того, что, вы назначете автора книги, вы ещё сохранение книги делаете. В итоге нарушили принцип единственной ответственности.

Но ладно, тогда метод должен называться AssignAuthorAndSaveBook.

В общем сразу по такой функции ничего не поймёшь и придётся в неё нырять и смотреть, что она делает.

Странно, а че Habr в списке отсутствует.

Это в копилку с отключением рекламы в Youtube для россиян.

Да, уже посмотрел в стандарте:

C++17 §8.2.10/5 [expr.reinterpret.cast]

A value of integral type or enumeration type can be explicitly converted to a pointer. A pointer converted to an integer of sufficient size (if any such exists on the implementation) and back to the same pointer type will have its original value; mappings between pointers and integers are otherwise implementation-defined. [ Note: Except as described in 6.7.4.3, the result of such a conversion will not be a safely-derived pointer value. — end note ]

Но вот аскажем укзатель одного типа в указатель другого уже точно UB

int i = 0; short* ptr = (short*) &i;

тут чтоно уже strict aliasing

Да, прочитал в стандарте 17 еть такое:

C++17 §8.2.10/5 [expr.reinterpret.cast]

A value of integral type or enumeration type can be explicitly converted to a pointer. A pointer converted to an integer of sufficient size (if any such exists on the implementation) and back to the same pointer type will have its original value; mappings between pointers and integers are otherwise implementation-defined. [ Note: Except as described in 6.7.4.3, the result of such a conversion will not be a safely-derived pointer value. — end note ]

Если у вас С++, у вас тоже UB везде по коду, просто вы про это не знаете. Точно же используете преобразование целого в указатель и обратно, ну как минимум для обращения к регистрам, а это UB.

union используете для преобразования из одного типа в другой или обращения к разным типам, а это UB.

То, что писать надо проще это факт, но что такое проще, непонятно, switch это проще? Нет, потому что это ветвление, а код должен быть линейный, любое ветвление, это гемор с юнит тестами, тестами и потенциальная ошибка.

Поэтому я бы сказал, что код должен быть выразительнее. Т. Е. небольшие линейные функции. Ну и понятнее.

Ну для SIL оба языка и С и С++, стоят как рекомендованные только вместе со статический анализатором. Не рекомендованы динамическое выделение памяти, указатели и так далее. Их использование должно быть минимизировано. На Си это конечно сделать намного труднее, если вообще невозможно.

Вот Ada там стоит как рекомендованно без ограничений :).

А так да конечно, практически безопасность обеспечивается правильным процессом, если есть детальные требования к критически важным частям, дизайн, юнит тесты, ревью, анализатор кода, смок тесты, системные тесты, стандарт кодирования и вся команда чётко этому следует вероятность ошибок в коде падает кратно.

Как минимум VS Code поддерживает кучу плагинов, типа cmake, Ctest, pvs stduio, asciidoc, ouml и так далее, все можно делать в одной среде, и код и требования, и дизайн и юнит тесты и проверка статический анализатором и так далее.

Один раз настроил и дальше уже удобно и просто.

1
23 ...

Information

Rating
2,043-rd
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity