Вообще да, если посмотреть на статистику нахождения там багов и уязвимостей, в т.ч. вызванных проблемами небезопасной работы с памятью.
Например, вот относительно недавнее исследование. Оно не блещет полнотой, но достаточно репрезентативно.
В отличие от Си, в Расте аудит UB требуется только в unsafe коде. Которого очень мало — в т.ч. учитывая текущую практику разработки системных компонентов или операционных систем.
Например, в сетевом стеке Fuchsia:
Но это практически не важно в условиях, когда сетевая задержка доминирует над задержкой вывода на дисплей. Задержка от ввода до прихода это как минимум 2 RTT — от 20 мс до, допустим, 150 мс. На 60 Гц уже кадр выводится всего на 16,7 мс.
Учитывая распределённость организации, на эти деньги можно нанимать людей по всему миру. И тогда их хватит далеко не на трёх разработчиков компаний, которые пылесосят перегретый рынок.
Посыл у исходного вашего комментария такой, что мол это документация с сайта и она так себе как книга.
Так вот, это второе издание The Rust Book, которое написано с нуля именно как книга для изучения языка. Первое издание в печатном виде не существовало. И поэтому не стоит смешивать сайт и книгу во избежание путаницы, даже если по факту у них сейчас одинаковое содержимое.
Написать статью для школьников, при прочих равных, потребует в разы больше времени. Почему вы требуете от автора траты этого времени, ничего не предлагая взамен — непонятно.
Тут ведь всё добровольно.
Забавно, что семантика тут такая же, как у оператора? из Rust. А тот является стабилизированной, встроенной в язык версией макроса try!(). Макрос try!() есть в Rust с 1.0 (больше 4 лет), и реализацию из пяти строк.
После этого аргументы в духе "макросы усложняют язык" выглядят смешно. Вместо написания макроса на 5 строк всей экосистемой писали if err != nil, и продолжают писать.
Я знаю о нём. Он не на любой кодобазе работает. В частности, в Fuchsia код на Расте без Cargo.toml — такое cargo-geiger не умеет.
Вообще да, если посмотреть на статистику нахождения там багов и уязвимостей, в т.ч. вызванных проблемами небезопасной работы с памятью.
Например, вот относительно недавнее исследование. Оно не блещет полнотой, но достаточно репрезентативно.
В отличие от Си, в Расте аудит UB требуется только в unsafe коде. Которого очень мало — в т.ч. учитывая текущую практику разработки системных компонентов или операционных систем.
Например, в сетевом стеке Fuchsia:
К сожалению, именно число строк посчитать уже сложно. Но порядок и так видно, если на 300 тысяч строк кода 300 мест, где могут быть проблемы.
Но это практически не важно в условиях, когда сетевая задержка доминирует над задержкой вывода на дисплей. Задержка от ввода до прихода это как минимум 2 RTT — от 20 мс до, допустим, 150 мс. На 60 Гц уже кадр выводится всего на 16,7 мс.
На мой взгляд это неадекватно. Такие разговоры допустимы на кухне в кругу друзей, а не в публичном пространстве, когда у тебя тысячи подписчиков.
Ты почитал что она твитила?
Ого, не знал такого про Эшли.
Спасибо за перевод. Одно место резануло глаз.
Я думаю, всё-таки не
а что-то типа "колбасить без страха". Hack — быстро писать код, ломая всё вокруг.
Учитывая распределённость организации, на эти деньги можно нанимать людей по всему миру. И тогда их хватит далеко не на трёх разработчиков компаний, которые пылесосят перегретый рынок.
Про какую ты реализацию в итоге?
Я считаю, для менеджера паролей критично прохождение независимоого аудита безопасности. Для официального сервера его делали дважды, а тут нет
Да, и в статье это сказано.
То, что вы разобрали — это аутентификация, а не авторизация.
Посыл у исходного вашего комментария такой, что мол это документация с сайта и она так себе как книга.
Так вот, это второе издание The Rust Book, которое написано с нуля именно как книга для изучения языка. Первое издание в печатном виде не существовало. И поэтому не стоит смешивать сайт и книгу во избежание путаницы, даже если по факту у них сейчас одинаковое содержимое.
Роман, спасибо за статью.
Написать статью для школьников, при прочих равных, потребует в разы больше времени. Почему вы требуете от автора траты этого времени, ничего не предлагая взамен — непонятно.
Тут ведь всё добровольно.
Забавно, что семантика тут такая же, как у оператора? из Rust. А тот является стабилизированной, встроенной в язык версией макроса try!(). Макрос try!() есть в Rust с 1.0 (больше 4 лет), и реализацию из пяти строк.
После этого аргументы в духе "макросы усложняют язык" выглядят смешно. Вместо написания макроса на 5 строк всей экосистемой писали if err != nil, и продолжают писать.
Типичная логика "если это может быть использовано во зло, делать это не надо".
В докер Раст легко ставится из tar.gz, и ссылка на него закопана даже не так далеко, как кажется.
https://forge.rust-lang.org/infra/other-installation-methods.html#standalone
Хм, спасибо.
А эта команда в докере специально недокументированная?
docker help
вообщеsystem
не показывает.Описание PR из ваших же ссылок вы пробовали читать?
Что такое NLL migrate mode по вашему?
Смешно :D