Pull to refresh
48
40.1
Евгений Игумнов @igumnov

Rust Developer

Send message

Спасибо. Согласен. Опыт Java давит. Буду делать рефакторинг. А то не комильфо.

И по поводу всего остального, касаемо формул и так далее, — я знаю, думаю и планирую. Просто нужно с чего-то начать. Сделать минимально жизнеспособный продукт (MVP). А потом, рефакторинг никто не отменял. Учитывая, что это молодая и быстро растущая библиотека, у меня нет миллионов пользователей, чтобы поддерживать старые API, так что пока мои руки развязаны. Вороти и твори, что хочешь :) Это потом, когда достигнешь популярности, становится сложнее — нужно поддерживать старые версии. Нельзя же бросать людей, которые доверились тебе и использовали твою библиотеку. Но это пока всё лишь мечты. Впереди несколько лет кодирования. )

Признаюсь, пока с этим сложно. Сделал MVP, чтобы обкатать технологию и модель. Но у меня впереди несколько лет, чтобы это всё закодить. Я настроен оптимистично. Прикручу нейросеть, чтобы картинки в векторе или битмапе распознавать как текст. Есть опыт работы с библиотекой Candle на Rust от Hugging Face — в общем, распознавание текста — это банальная задача. Короче, все решаемо. Не вижу здесь особого R&D. Я бы сказал, что все понятно, нужно только сидеть и терпеливо кодить.

Спасибо! Хорошая идея. Когда я дойду до этой проблемы - сделаю рефакторинг.

Я конечно знаю про эту либу. Но она не на Rust )

Слил все по 65 тыс ) Дальше я в эту рулетку играть не хочу. Столкнулся с тем что битки и usdt щас все проверяют через AML бота. Вобщем скоро единственные битки будут котироваться что по фьючерсам куплены или через etf. Все остальное: наркота, санкций, азартные игры и тд. Это по сути убивают основную идею крипты. Мол не регулируема не подконтрольна и тд. Те получается что вот эту махровую крипту сейчас проблемно продать так как тут все теперь регулируется и замораживается если твоя крипта AML не проходит. Это смерть для крипты.

Интересный концепт точнее он не новый а от баффета но в современных примерах он прям играет, скажите свой акк в телеге я могу вас добавить в чат где разные интересные люди интересуются инвестициями, стратегиями, алгоритмами и тд и тп

Я просто когда сомневаюсь мучаюсь и тд. Не могу принять решение. Пишу статьи, расспрашиваю друзей, пишу книги. Собираю фидбек. Кристаллизую свой опыт в тексте. Это помогает самому себе понять, не чушь ли ты несешь. Как мне учитель по математике всегда говорил: "Евгений, не считайте в уме, все расчеты делайте на бумажке. Так вы избежите ошибок!"

Купил биткоины по 20 тыс $ за штуку) Сейчас подгадываю момент, когда соскочить с "темы" :)

нет - на картинки то что ChatGPT ответил на мою статью

Очень жаль, что для многих толерантность это какой-то странный термин. Если меня за минусуют, а не его. Удалюсь с хабра.

Странно что нет ссылки на лекции 2022 года с факультета ФПМИ.
Программирование на Rust (3 курс, весна 2022) - Становой А. - YouTube

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

Тут важно попытаться провести оценку. Многие даже не думают в этом направлении, к сожалению. Часто поверхностный анализ показывает, что с компанией лучше не связываться.

по факту получается не городим каналы а просто структура SentFuture используется для обёртывания (экранирования) асинхронной задачи, представленной JoinHandle, и предоставляет интерфейс, который позволяет использовать эту задачу как будущее (Future). Она не добавляет новую функциональность к будущему, а просто оборачивает JoinHandle для интеграции с асинхронным кодом и предоставляет совместимость с Future. Я все верно понял?

Работает! Респект! Вот итоговый код

use std::future::Future;
use std::pin::Pin;
use std::task::{Context, Poll};
use actix_web::{web, App, HttpResponse, HttpServer};
use awc::Client;
use tokio::task::{JoinError, JoinHandle, spawn_local};

#[actix_rt::main]
async fn main()  {
    actix_rt::spawn(async {
        HttpServer::new(|| {
            App::new()
                .service(web::resource("/hello").route(web::get().to(ok)))
        })
            .bind("127.0.0.1:8080")?
            .run()
            .await
    });
    let res = send_future(
        async move {
                let client = Client::new();
                let url = "http://127.0.0.1:8080/hello";
                client.get(url).send().await.unwrap().body().await.unwrap()
            }

    ).await.unwrap();
    println!("Response: {:?}", res);
}
async fn ok() -> HttpResponse {
    HttpResponse::Ok()
        .content_type("text/html; charset=utf-8")
        .body("OK")
}


pub fn send_future<F>(future: F)
                      -> impl Future<Output = Result<<F as Future>::Output, JoinError>> + Send
    where
        F: Future + 'static,
        <F as Future>::Output: Send
{
    SentFuture(spawn_local(future))
}

pub struct SentFuture<T>(JoinHandle<T>);

impl<T> Future for SentFuture<T> {
    type Output = <JoinHandle<T> as Future>::Output;

    fn poll(self: Pin<&mut Self>, ctx: &mut Context<'_>) -> Poll<Self::Output> {
        let inner = Pin::into_inner(self);
        let inner = Pin::new(&mut inner.0);
        Future::poll(inner, ctx)
    }
}

impl<T> Drop for SentFuture<T> {
    fn drop(&mut self) {
        self.0.abort();
    }
}

В первой статье я ответил на этот вопрос https://habr.com/ru/articles/757070/

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

Все верно, просто 90% комментаторов, просто пальцы гнут. Устал им отвечать. На счет того что код генерит ИИ. Сам попробуй через ИИ написать такой код как в моих либах) Тебя ждет приятный сюрприз...

Information

Rating
141-st
Location
Астана, Акмолинская обл. (Целиноградская обл.), Казахстан
Date of birth
Registered
Activity