Как стать автором
Обновить
93
0.7
Александр Мещеряков @freecoder_xx

Rust разработчик

Отправить сообщение

А вот вам мой вариант легковесных акторов: https://github.com/noogen-projects/truba

use truba::{Context, Message, MpscChannel};

struct Value(u32);

impl Message for Value {
    type Channel = MpscChannel<Self>;
}

struct MyActor {
    value: u32,
}

impl MyActor {
    fn run(ctx: Context, value: u32) {
        let mut value_in = ctx.receiver::<Value>();
        let mut actor = MyActor { value };

        truba::spawn_event_loop!(ctx, {
            Some(msg) = value_in.recv() => {
                actor.handle_value(msg);
            },
        });
    }

    fn handle_value(&mut self, Value(value): Value) {
        self.value = value;
        println!("receive value {value}");
    }
}

#[tokio::main]
async fn main() {
    let ctx = Context::new();
    MyActor::run(ctx.clone(), 42);

    let sender = ctx.sender::<Value>();
    sender.send(Value(11)).await.ok();
    sender.send(Value(22)).await.ok();

    ctx.shutdown().await;
}

По-моему вы перемудрили с примером. К тому же он явно вами не компилировался, так как наполнен ошибками. Вот мой вариант, который делает то же самое:

use anyhow::anyhow;
use reqwest::blocking::get;
use scraper::{Html, Selector};

fn main() -> anyhow::Result<()> {
    let body = get("http://www.floatrates.com/json-feeds.html")?.text()?;
    let document = Html::parse_document(&body);
    let selector = Selector::parse("div.bk-json-feeds>div.body>ul>li>a")
        .map_err(|err| anyhow!("{err}"))?;

    for element in document.select(&selector) {
        println!("{}", element.inner_html());
    }
    Ok(())
}

Вы один такой в природе, кто остался без онлайн-бухгалтерии? Вряд ли. А значит есть шансы получить альтернативу. Если все исходники и протоколы открыты, то это дело техники. В случае же жёсткой зависимости от вендора - нет вообще никаких шансов на восстановление.

Во всяком случае если ты лично, разработчик или компания, сильно зависишь от продукта, то в случае его закрытия сам сможешь организовать развитие форка.

Я вот решил сделать платформу для запуска локально ориентированных веб-приложений в итоге. Чтобы можно было загружать web-apps к себе, работать с ними из браузера и чтобы у них не было жёсткой привязки к сервису вендора.

https://github.com/noogen-projects/laplace

Правильное замечание! Потому что цель капитала не столько прибыль, сколько увеличение прибыли.

Лучше бы изначально вести разработку СПО.

Я думаю можно будет доверять неким local-first приложениям, с открытыми исходниками и протоколами взаимодействия с централизованными сервисами. Тогда сообщества всегда смогут подхватить разработку и предоставить альтернативный сервис. Правда, пока удобных способов делать такие приложения особо нет. (Ну кроме моего проекта, естессно )) Который, правда, ещё только на старте).

Если вопрос про определение макроса, то в Cargo.toml будет

[lib]
proc-macro = true

Лично вы какую страну для себя выбрали?

А где можно найти подробное описание установок для обоих тестов и условий, при которых проводились измерения?

Мой вопрос - не риторический, мне интересно, куда люди рекомендуют переезжать, где для них "лучше, чем в России". Ответ вроде "везде" - не принимается. Сам ездил, знаю. И знакомых очень много, кто уехал (часть - вернулись), так или иначе сталкиваются с проблемами за рубежом.

И в каждой какая-то своя ж..па. Вот я поэтому и спрашиваю, где хорошо-то?

Могут быть проблемы не только с макросами, но и билд-"скриптами", если мы говорим о сборке (разворачивание процедурных макросов в IDE ведь можно отключить). Скорее речь о том, что наличие процедурных макросов, билд-файлов и левых зависимостей проще отслеживать в Rust-проектах. Грубо говоря, если вы скачали hello-world и в воркспейсе проекта есть build.rs или определён крейт с процедурным макросом, или имеются какие-то левые зависимости не из crates.io, то это повод провести тщательный аудит проекта до запуска.

Может быть в будущем произойдёт переход на упрощение сборки, но пока именно так

А в каком зарубежье трамвай едет куда надо?

Может быть они так и думают о себе, но важнее, что думает общество о них. А общество приходит к пониманию, что ему они по большому счёту и не нужны.

Информация

В рейтинге
1 487-й
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность