Size: a a a

2020 January 19

A

Alexander in rust_offtopic
Я хз как вы это в прод тащили, серьезно
источник

EG

Emmanuel Goldstein in rust_offtopic
Короче, безотносительно качества самого Actix и прочих его свойств, бенчмарк читингом Николай занимался.
источник

A

Alexander in rust_offtopic
Мне даже fasthttp стрёмно использовать, и там где не нужно миллион запросов в секунду (буквально) на машине, хватает стандартной библиотеки и их жалких 500к рпс
источник

EG

Emmanuel Goldstein in rust_offtopic
Кстати, кто-нибудь варпом пользовался?
источник

EG

Emmanuel Goldstein in rust_offtopic
Выглядит весьма годно
источник

AK

Alexander Krivitskiy in rust_offtopic
Emmanuel Goldstein
Два пункта
1. Николай как минимум иногда использовал ансейф не по делу (простая safe-имплементация была не медленнее), причём не оставлял комментариев «почему это безопасно» (второй пункт мне не очевиден — в приведённых примерах кода отлично понятно, почему это безопасно, но в других местах, как видим, уязвимости были)
2. Actix имеет историю бенчмарк читинга (да, имеет)
1. А где ты уязвимости видел?
источник

EG

Emmanuel Goldstein in rust_offtopic
Alexander Krivitskiy
1. А где ты уязвимости видел?
Уязвимость там была в исходном issue. Давайте не начинать снова этот тред, а?
источник

EG

Emmanuel Goldstein in rust_offtopic
Emmanuel Goldstein
Выглядит весьма годно
Хотя мне не очень нравится, что чтобы зависеть от ещё одного параметра, нужно менять сигнатуру функции. Но так ли часто надо это делать?
источник

EG

Emmanuel Goldstein in rust_offtopic
Emmanuel Goldstein
Хотя мне не очень нравится, что чтобы зависеть от ещё одного параметра, нужно менять сигнатуру функции. Но так ли часто надо это делать?
Зато, кажется, эти фильтры позволяют не писать бойлерплейт обработки «ой, нет параметра» или «ой, нет хидера», что выглядит весьма эргономично.
источник

G

Gymmasssorla in rust_offtopic
Emmanuel Goldstein
Выглядит весьма годно
Он уже async/.await?
источник

EG

Emmanuel Goldstein in rust_offtopic
Gymmasssorla
Он уже async/.await?
Да
источник

G

Gymmasssorla in rust_offtopic
Надо попробовать
источник

AK

Alexander Krivitskiy in rust_offtopic
Emmanuel Goldstein
Уязвимость там была в исходном issue. Давайте не начинать снова этот тред, а?
Так покажи UAF из сейф АПИ. Я вчера долбил, долбил авторов issue, они так и не показали. Скинули вот гист: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=3b2cabc2ba83096418d55ecee5c71809 . Тут они рекурсивно вызывают Pipeline сall из Second call и  получают BorrowMut error...
источник

EG

Emmanuel Goldstein in rust_offtopic
Он не похож на всё, к чему я привык, но при этом я не могу сказать, что его подход хуже.
источник

EG

Emmanuel Goldstein in rust_offtopic
Alexander Krivitskiy
Так покажи UAF из сейф АПИ. Я вчера долбил, долбил авторов issue, они так и не показали. Скинули вот гист: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=3b2cabc2ba83096418d55ecee5c71809 . Тут они рекурсивно вызывают Pipeline сall из Second call и  получают BorrowMut error...
Там точно было две мутабельных ссылки на объект, что уже UB. Опять же, я не буду ещё раз обсуждать отличия UB и implementation-defined behaviour, сколько можно, господа.
источник

EG

Emmanuel Goldstein in rust_offtopic
Срачу уже два дня.
источник

AS

Aleksey Sidorov in rust_offtopic
Emmanuel Goldstein
Хотя мне не очень нравится, что чтобы зависеть от ещё одного параметра, нужно менять сигнатуру функции. Но так ли часто надо это делать?
Мне кажется можно напедалить под свои нужды прокмакрос и вообще обойтись без бойлерплейта. А апишку вообще  обьявить трейтом
источник

EG

Emmanuel Goldstein in rust_offtopic
Aleksey Sidorov
Мне кажется можно напедалить под свои нужды прокмакрос и вообще обойтись без бойлерплейта. А апишку вообще  обьявить трейтом
А там апишка и объявлена трейтом, по сути. В том и прикол.
источник

EG

Emmanuel Goldstein in rust_offtopic
Ты комбинируешь «фильтры» в функциональном стиле, типа «проверь, что есть параметр», «добавь юзерагент» etc
источник

EG

Emmanuel Goldstein in rust_offtopic
И потом «если всё удалось, отрендери страницу, а если нет, то отрендери другую страницу»
источник