Forwarded from Jack
Но что аргументом надо принимать &str - в 99% случаев. 1% - https://habr.com/en/post/282708/
Хабр
Rust: От &str к Cow
Одной из первых вещей, которые я написал на Rust'е была структура с &str полем. Как вы понимаете, анализатор заимствований не позволял мне сделать множество веще...
https://t.iss.one/rust_beginners_ru/32634
Andrew Kochen:
Всем привет
Я новичек в Rust, пытаюсь сделать задачу.
Задача связана с Clickhouse: есть два запроса. Нужно выполнить первый запрос , на его основе сформировать второй и далее выполнять только второй в цикле до бесконечности.
для Clickhouse нашел crate clickhouse_rs (https://docs.rs/clickhouse-rs/0.1.14/clickhouse_rs/), он основан на tokio, с которым я тоже слабо знаком )
Я смог сделать, чтоб запросы выполнялись один за другим, а как сделать так, чтобы второй запрос выполнялся в цикле нет идей(
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=bcecde48ecb4e46d70c769c48a556265
Наверно, можно придумать рекурсию, но это в конце концов отожрет всю память?
Может кто подсказать, как это можно сделать?
Не понимаю, как вызвать loop? Я видел в tokio можно вызвать future::loop_en, как сделать это здесь - я не понимаю
Сергей:
примерно так first_request.and_then(loop_fn( (), || Loop::Continue(second_request))
loop_fn вторым аргументом хочет футуру, результатом которой будет либо Loop::Continue(новая футура) либо Loop::Break(результат всего цикла)
Andrew Kochen:
Всем привет
Я новичек в Rust, пытаюсь сделать задачу.
Задача связана с Clickhouse: есть два запроса. Нужно выполнить первый запрос , на его основе сформировать второй и далее выполнять только второй в цикле до бесконечности.
для Clickhouse нашел crate clickhouse_rs (https://docs.rs/clickhouse-rs/0.1.14/clickhouse_rs/), он основан на tokio, с которым я тоже слабо знаком )
Я смог сделать, чтоб запросы выполнялись один за другим, а как сделать так, чтобы второй запрос выполнялся в цикле нет идей(
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=bcecde48ecb4e46d70c769c48a556265
Наверно, можно придумать рекурсию, но это в конце концов отожрет всю память?
Может кто подсказать, как это можно сделать?
Не понимаю, как вызвать loop? Я видел в tokio можно вызвать future::loop_en, как сделать это здесь - я не понимаю
Сергей:
примерно так first_request.and_then(loop_fn( (), || Loop::Continue(second_request))
loop_fn вторым аргументом хочет футуру, результатом которой будет либо Loop::Continue(новая футура) либо Loop::Break(результат всего цикла)
Telegram
Andrew Kochen in Rust Beginners
Всем привет
Я новичек в Rust, пытаюсь сделать задачу.
Задача связана с Clickhouse: есть два запроса. Нужно выполнить первый запрос , на его основе сформировать второй и далее выполнять только второй в цикле до бесконечности.
для Clickhouse нашел crate clickhouse_rs…
Я новичек в Rust, пытаюсь сделать задачу.
Задача связана с Clickhouse: есть два запроса. Нужно выполнить первый запрос , на его основе сформировать второй и далее выполнять только второй в цикле до бесконечности.
для Clickhouse нашел crate clickhouse_rs…
Forwarded from AF
@oleganza Кстати, тут кто-то хотел куллхацкер растоскрипт? Уже вроде есть https://github.com/PistonDevelopers/dyon
GitHub
GitHub - PistonDevelopers/dyon: A rusty dynamically typed scripting language
A rusty dynamically typed scripting language. Contribute to PistonDevelopers/dyon development by creating an account on GitHub.
Forwarded from Deleted Account
Там полно оверхэдов. А нужен ИНТЕРПРЕТАТОР языка Rust
Forwarded from Mikola Summer Duck
Есть ещё Once, только нормальная реализация требует крейта.
Forwarded from Mikola Summer Duck
docs.rs
spin::Once - Rust
API documentation for the Rust `Once` struct in crate `spin`.
Nickolay Novikov:
расскажите, как запомнить все те места куда надо писать lifetime?
для меня это просто проблема, постоянно приходится смотреть примеры
Gymmasssorla:
Компилятор тебе скажет
расскажите, как запомнить все те места куда надо писать lifetime?
для меня это просто проблема, постоянно приходится смотреть примеры
Gymmasssorla:
Компилятор тебе скажет
Forwarded from Jack
дело движется в сторону async trait methods или хотя бы в impl Trait в возврате из метода?
Denis:
а ты ему просто Self подсовываешь
ну и так-то ему ещё же контекст нужен
вот так
let stream = Pin::new(&mut stream);
stream.poll_write(unimplemented!(), b"egire");
всё собирается
а ты ему просто Self подсовываешь
ну и так-то ему ещё же контекст нужен
вот так
let stream = Pin::new(&mut stream);
stream.poll_write(unimplemented!(), b"egire");
всё собирается
Forwarded from Loyd
шел на расте с async/await https://www.jonathanturner.org/2019/08/introducing-nushell.html
Forwarded from Маjко
Мальчик мокает провайдер данных, мужчина генерирует рандомные данные и мокает rng
Forwarded from Технологии в Контуре (Igor Lukanin)
Привет всем 👋, кто ждал возвращения лекций из цикла «Необычные алгоритмы для обычных людей».
В первой лекции второго сезона Андрей Гейн @andgein решил переключиться с замысловатых деревьев на более традиционную структуру данных — хеш-таблицу. Но не простую, а неблокирующую (lock-free).
Неблокирующие структуры данных позволяют не пользоваться примитивами синхронизации при работе в нескольких потоках. Андрей рассказывает, как заставить классическую хеш-таблицу работать без блокировок, и оставляет перед моральным выбором: принять меченые указатели или держаться от них подальше.
Смотрите на Ютубе: https://www.youtube.com/watch?v=oVZD5W3FYWM&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_&index=9
В первой лекции второго сезона Андрей Гейн @andgein решил переключиться с замысловатых деревьев на более традиционную структуру данных — хеш-таблицу. Но не простую, а неблокирующую (lock-free).
Неблокирующие структуры данных позволяют не пользоваться примитивами синхронизации при работе в нескольких потоках. Андрей рассказывает, как заставить классическую хеш-таблицу работать без блокировок, и оставляет перед моральным выбором: принять меченые указатели или держаться от них подальше.
Смотрите на Ютубе: https://www.youtube.com/watch?v=oVZD5W3FYWM&list=PLc82OEDeni8SGp5CX8Ey1PdUcoi8Jh1Q_&index=9
YouTube
Лекция 8. Неблокирующая хеш-таблица
Андрей Гейн: Мы запускаем программы параллельно на нескольких процессорах. При этом нужно использовать блокировки, чтобы предохранить внутреннее состояние программы при одновременном доступе из разных потоков. Неблокирующие структуры данных решают эту проблему.…
Forwarded from Абэ-но Сэймэй
WebAssembly — русскоговорящее сообщество
WebAssembly FAQ: https://bit.ly/2I0WG5B
Правила группы: https://berlincodeofconduct.org/ru/
https://t.iss.one/WebAssembly_ru
WebAssembly FAQ: https://bit.ly/2I0WG5B
Правила группы: https://berlincodeofconduct.org/ru/
https://t.iss.one/WebAssembly_ru
Gist
WebAssembly FAQ для телеграм сообщества WebAssembly_ru
WebAssembly FAQ для телеграм сообщества WebAssembly_ru - Wasm-FAQ-2019.md