Но даже если действительно нужно воспользоваться лайфтаймами, то все равно код будет короче, потому что треугольные скобки указывать в данном случае не обязательно:
Похоже что утилита записывала пароль вместо подсказки в поле для подсказки. Я уверен что разработчики файловой системы не настолько глупы чтобы хранить пароль в открытом виде.
Не видел этот пример, так что не скажу почему автор написал именно так, но никто не запрещает создать строку напрямую:
let mut abc = String::new();
Это будет действительно немножко эффективнее чем инициализация пустой строкой:
let mut abc = String::from("");
Но может автор хотел заодно показать этим примером, как можно создать не только пустые строки, но и с заданным текстом.
Если очень сильно заботится о производительности, то можно предположить сколько текста будет на входе и выделить память заранее:
Там все хорошо сделано, пины назначены (светятся оранжевым) но вся периферия выключена. Когда включаешь что-то, то его пины становятся зелеными. Так сразу видно какие пины свободные а какие чем-то заняты.
Почему сразу для клиентов, у такого сервиса могут быть и другие цели. Знаете, например, как я узнал о существовании Coverity? Я когда-то увидел маленькую зеленую полосочку на одном из проектов на гитхабе. Если бы какой-нибудь популярный OSS проект разместил у себя на странице плашку с вашим сервисом, то о вашем продукте узнало бы на много больше человек чем после статьи на хабре.
А что, это мысль, попробуйте написать бейсик на перфоленте, не пользуясь википедией, а для отладки запускать свой код по средам и пятницам на университетском PDP-11.
Читаю и думаю как же он поразительно похож на cc1101. Вроде фирма другая, но все одинаковое, тот же формат пакета, тот же SPI, два(три) GPIO, те же частоты, те же типы модуляции.
Подтверждаю, стараюсь не запускать непонятные экзешники. Сначала пытаюсь распаковать через 7z, если не получилось, то пробую через winrar под wine, и только если совсем никак, то тогда уже решаю запускать его под wine или в виртуалке.
Скорее на MISRA C, а оно имеет мало общего обычным C.
AMD уязвим только к первому виду атаки, и закрыть уязвимость можно без потери производительности. Не надо их в одну кучу с интелом и армом смешивать.
Вам на ЛОРе уже писали что сравнение неверное, эквивалентный код будет
Но даже если действительно нужно воспользоваться лайфтаймами, то все равно код будет короче, потому что треугольные скобки указывать в данном случае не обязательно:
Похоже что утилита записывала пароль вместо подсказки в поле для подсказки. Я уверен что разработчики файловой системы не настолько глупы чтобы хранить пароль в открытом виде.
Не обязательно делать map_err, оператор? умеет автоматически конвертировать типы ошибок если для них определен трейт From.
А что если тест на самом деле хороший, но код который он тестирует содержит race condition, который проявляется только на этом тесте?
Не видел этот пример, так что не скажу почему автор написал именно так, но никто не запрещает создать строку напрямую:
Это будет действительно немножко эффективнее чем инициализация пустой строкой:
Но может автор хотел заодно показать этим примером, как можно создать не только пустые строки, но и с заданным текстом.
Если очень сильно заботится о производительности, то можно предположить сколько текста будет на входе и выделить память заранее:
А еще serde умеет десериализовывать переменные окружения прямо в структуру, очень удобно.
apt-get update
нужно делать в той же RUN строке в которойapt-get install
Иначе docker закеширует их по отдельности и могут вылезти проблемы.