Это просто ветвление условного оператора (по сути if/else if/else). Возможность в одном блоке когда указать несколько условий — вовсе не pattern matching.
Лично больно выстрелила в ногу регистронезависимоть пару месяцев назад. Локально тесты выполняются, а в CI — нет. Оказалось что проблема в именах vcr-кассет, которые формируются на основе названий тестов в rspec. На Mac OSx имена регистронезависимые, файл с vcr-кассетой находился и тесты выполнялись. А в CI, то есть в докер-контейнере под Linux, соответственно, файл не находился и тест падал.
О как. Не, я не на линуксе, хоть и в Россиюшке территориально. Но тут скорее не в самом Rspack проблема, а в разгильдяйстве его разработчиков. Такая неприятность может произойти с любым npm-пакетом.
Всё-таки это довольно распространённый вектор атаки
Вроде ничего нового, можно было бы решить этот вопрос Swagger`ом, но там контракты появляются после раскатки, что нам не подошло. Возможно, есть более совершенные решения, о которых я с радостью почитаю в комментариях и, наверное, возьму на вооружение
Можно писать `Swagger` "на берегу". Фронтенд на его основе может замокать ответы сервера. Не раз уже так делали в силу сжатых сроков
Да вроде "есть не просит", работает. Однако некоторые пакеты, тот же [node-config](https://www.npmjs.com/package/config) припасли сюрпризы для любителей es-импортов.
Есть у меня ощущение что недавно ребята из Claudflare забыли про это правило. Краем уха слышал, что там unwrap пролез в прод и вызывал панику.
Интересно было бы узнать про владение/заимствование в хаскеле/окамле
Откуда такие цифры? Может всё же на 146%?
Хм, интересная мысль, заставляет задуматься. Спасибо вам.
Ого. А какой он там? Получается, что тогда и в Хаскеле нет настоящего паттерн-матчинга
Он прекрасен
так а я о том же
А вы статью точно читали? Или просто залетели в комментарии похоливарить?
Это просто ветвление условного оператора (по сути if/else if/else). Возможность в одном блоке когда указать несколько условий — вовсе не pattern matching.
Может быть мемасики говорят об интересе? Люди обычно не шутят про то, что не интересно
Always has been
А нужно ли пытаться обойти borrow checker? Зачем из одного языка (Rust) делать другой (Кресты)?
А как это спасёт от внедрения XSS-ов/CSRF-ов в клиентский браузерный js из подменённой зависимости?
Лично больно выстрелила в ногу регистронезависимоть пару месяцев назад.
Локально тесты выполняются, а в CI — нет. Оказалось что проблема в именах vcr-кассет, которые формируются на основе названий тестов в rspec. На Mac OSx имена регистронезависимые, файл с vcr-кассетой находился и тесты выполнялись. А в CI, то есть в докер-контейнере под Linux, соответственно, файл не находился и тест падал.
Это мне стоило пары-тройки дней отладки.
О как. Не, я не на линуксе, хоть и в Россиюшке территориально. Но тут скорее не в самом Rspack проблема, а в разгильдяйстве его разработчиков. Такая неприятность может произойти с любым npm-пакетом.
Всё-таки это довольно распространённый вектор атаки
Статья немножечко не про Rust. Да, и "на волне хайпа" != "повсюду используется в продакшене".
Можно писать `Swagger` "на берегу". Фронтенд на его основе может замокать ответы сервера. Не раз уже так делали в силу сжатых сроков
Где баги — там напряги
А давайте на Rust перепишем вообще ВСЁ!
Да вроде "есть не просит", работает. Однако некоторые пакеты, тот же [node-config](https://www.npmjs.com/package/config) припасли сюрпризы для любителей es-импортов.