Αλεχ
не спойлери, я только начал читать
окок, не буду лишать удовольствия)
Anton
ты не поверишь оно сейчас юзается
Anton
"Забудьте о «правильно». REST — это как религия, ни один смертный не сможет постичь всех высот его гениальности и «сделать правильно»."
Anton
Красиво
Leonid 🦇
Вас послушав можно решить что вы и не знали все вот это про рест
Leonid 🦇
Некоторые до сих пор про hateoas задвигают
კაცი
к чорту рест, юзайте json-rpc
Αλεχ
https://forge.rust-lang.org/state-of-rust.html
Alexander
Пришлось начать разбираться с tokio.
Alexander
Вопрос: использую tokio-tungstenite. Делаю connect_async().and_then(|(ws, _)|), а оно ругается на and_then: ^^^^^^^^ the trait futures::Future is not implemented for ()
Alexander
я понять не могу - откуда оно нашло () ? ведь connect_async возвращает Box<Future>
Loyd
к чорту рест, юзайте json-rpc
к чёрту json-rpc, пилите свои апи, чтоб с балковостью и нормализацией
Loyd
Надо бы любу для раста запилить.
Loyd
Ещё и авточекинг обратной совместемости версий для апи встроить
Alexander
нужен отдельный чат по tokio/futures наверное :)
Alexander
@mexus ого, спасибо, только что исправил, а потом прочитал :)
Денис
Лол, не за что)
Денис
Всегда бы так))
Anton
DCOM на фронт?
не на фронте конечно =)
Alexander
вообще хотел бы спросить - на что именно для tokio смотреть? просто даже эти ws - в crater на tokio_core, в git уже как-то по другому, всё на разных фьючах и тд, хз уже что мейн-стрим
Nikita
не на фронте конечно =)
Значит легаси где-то лет пятнадцати
Anton
Значит легаси где-то лет пятнадцати
спека 2011 года редакции =)
Anton
корба
Anton
не дком
Alexander
о боже, корба, помню лет 15 назад использовал
Денис
вообще хотел бы спросить - на что именно для tokio смотреть? просто даже эти ws - в crater на tokio_core, в git уже как-то по другому, всё на разных фьючах и тд, хз уже что мейн-стрим
хз что за ws, если пишешь приложение, юзай крейт tokio, фьючи оттуда же можно взять (через tokio::prelude), если пишешь либу, юзай tokio-io/tokio-fs/tokio-tcp/..., tokio-core не надо юзать)
Alexander
хз что за ws, если пишешь приложение, юзай крейт tokio, фьючи оттуда же можно взять (через tokio::prelude), если пишешь либу, юзай tokio-io/tokio-fs/tokio-tcp/..., tokio-core не надо юзать)
просто что-то я в коде вижу как минимум разные варианты : через core.run и через tokio::runtime::run - похоже на какие-то изменения глобальные. вот это и смутило
Денис
ну в какой-то момент произошла миграция с tokio-core на просто tokio
Денис
не все либы/приложения мигрировали ))
Alexander
понял
Alexander
там какое-то сильное различие или ничего такого глобального? сорян за немного тупой вопрос.
Alexander
в том плане что можно ли сейчас юзать core или лучше сразу просто tokio а то перезд будет болезненным
Денис
ну собственно tokio-core разделили на отдельные компоненты, и сейчас tokio-core — это что-то вроде слоя совместимости если ты пишешь свою либу/приложение, не надо юзать tokio-core
Денис
а крейт ws я смотрю вообще на mio сделан, то есть он не знает ни про фьючи, ни про токио )
Alexander
сорян, не ws
Alexander
tokio_tungstenite
Денис
ну они видимо как раз мигрировали в новой версии
Денис
смотри — https://github.com/snapview/tokio-tungstenite/issues/44
Alexander
ага, ну вот просто в crates.io пока не положили. спасиб за консультацию
Alexander
кстати тут неделю назад был срач про базы данным и monogdb. так вот случайно обнаружился крейт для раста для rethinkdb, который тут хвалили в сравнении в mongodb (к которому в расте пока норм не соединиться).
Денис
нзч
Alexander
A rethinkDB ещё жива? О_о
так вот вчера прочитал, что её решили оживить
Alexander
странно типа - везде пишут, о типа mongodb переписали норм - наконец-то! и при этом это умирает.
Andrey
https://github.com/rust-lang/rust/pull/52024 распугивание "нормальных пользователей" продолжается
red75prime
Ага, страшно. -> impl Trait не только в функциях. Это же какие мозги нужно, чтобы понять.
Andrey
там и синтаксис новый подвезли existential type MyIter<T>: Iterator<Item = T>;
Loo
Anonymous
Ничего страшного, не Идрис же
Ничего страшного, не Битрикс же
Маjко
там и синтаксис новый подвезли existential type MyIter<T>: Iterator<Item = T>;
Бляяя, ну нахуя Как будто компилер сам не может из контекста вывести это.
Маjко
Нахера кейворд
𝙽𝚒𝚌𝚔
Нахера кейворд
Плюсую, выглядит как залепуха. Некрасиво как-то.
Anton
@ployd А ты rscam для развлекухи писал?
Loyd
Не, на гексаподе использовал
Loyd
Ну, то есть да, для развлекухи)
Anton
А с webrtc не играл?
Loyd
Играл (для коптера), но не на расте
Loyd
Забавные деньки были, всё зелёное и приходилось хромиум пересобирать со своими логами, чтобы отдебажиться
Aleksey
Пробую заполнить функцию с двумя параметрами, которые одного типа и которые в теле функции сравниваются. Так если в шаблоне указать <T: Integer> то работает с целыми параметрами, но не с дробными. Указываю <T: Float> работает с дробными, но не с целыми. Как можно сделать так, чтобы и целые и дробные и например символы можно было сравнить?
𝙽𝚒𝚌𝚔
То что ты хочешь, похоже на оверлоадинг
պլհկ
Он хочет T: ParrialOrd? 🤔
Aleksey
Он хочет T: ParrialOrd? 🤔
Ага, его можно напрямую указывать?
Aleksey
и вообще, только что пример с num в линуксе собрал, повторяю в макоси и на тебе unexpected return value from ssl handshake -9806; class=Ssl (16)
Aleksey
повторно скачал либы
Aleksey
Он хочет T: ParrialOrd? 🤔
Гран мерси, именно это и помогло. Надо выхлоп компайлера внимательнее читать 😿
Dmitriy
Дамы и господа, а что сейчас есть смысл юзать для асинхронности? токио, футуры? И какой http клиент сейчас имеет смысл пользовать?
Dmitriy
Насчет http клиента зело важна возможность хуйнуть запрос в https с невалидным/самоподписанным сертификатом
պլհկ
tokio, hyper
Dmitriy
tokio, hyper
Шпашибо
Nikita
Да, работает
Aleksey
Говорят отладчик из каропки в лайоне работает