LINUX.ORG.RU

Сообщения MyTrooName

 

таблица в уведомлениях разъехалась

Форум — Lor-source

https://hmp.me/cl07

firefox 60.6.1

 

MyTrooName ()

Rust 1.34

Форум — Development
  • cargo теперь умеет в сторонние репозитории

  • оператор ? теперь может использоваться в доктестах

  • стабилизированы трейты TryFrom и TryInto

  • стабилизированы типы AtomicU8AtomicU64 и AtomicI8AtomicI64 в дополнение к имевшимся ранее Atomic{Bool,Ptr,USize,ISize}

  • стабилизированы типы NonZeroI8NonZeroI128 и NonZeroISize в дополнение к имевшимся ранее беззнаковым аналогам

https://blog.rust-lang.org/2019/04/11/Rust-1.34.0.html

 ,

MyTrooName ()

критик реквест

Форум — Development

Разродился вот этим:

async def wait_event(add_callback, del_callback):                                                    
     ev = asyncio.Event()                                                                             
     def callback(*args, **kwargs):                                                                   
         ev.set()                                                                                     
     add_callback(callback)                                                                           
     await ev.wait()                                                                                  
     del_callback(callback)

...

await wait_event(my_class.add_some_event_listener, my_class.del_some_event_listener)

my_class - библиотечный класс из того же проекта. Переводить some_event на async не хочется, т.к. в некоторых юз кейсах важен порядок обработки ивентов (а в некоторых нет, а в других достаточно дождаться однократного ивента, как в примере выше).

Но детектор говнокода попискивает. Расскажите, как надо. Стоит ли в API класса на каждый event_listener добавить свой async def wait_event()?

Синтаксис async/await использую ~третий раз в жизни

 , , , ,

MyTrooName ()

пропадают пингвины в голосовалке

Форум — Lor-source

при ширине окна <1000px. баг или фича? фаерфокс, 60.4

 ,

MyTrooName ()

как запустить в cmd.exe в wine линуксовые консольные команды?

Форум — Desktop

нужно, чтобы вывод команды был виден

wine 3.18

start /unix /bin/ls дает пустой вывод

 , , ,

MyTrooName ()

говнокод с asyncpg

Форум — Development
async def notify_delete(channel, query, *, conn):
    status = await conn.execute(r'''DELETE FROM notify WHERE channel_id=$1 and query=$2''',
            snowflake2db(channel.id), query)
    return status != 'DELETE 0'

return status != 'DELETE 0'

насколько это плохо, и как надо правильно?

 ,

MyTrooName ()

посоветуйте библиотеку для python asyncio для постгреса

Форум — Development

$сабж (не для веба)

типа такой вот: https://github.com/fantix/gino

 , , ,

MyTrooName ()

tailgunner

Форум — Linux-org-ru

Линус Торвальдс временно уходит с поста координатора Linux

даже объяснять лень:

Сообщение удалено tailgunner по причине (-7)
Ответ на: комментарий от actionless 20.09.2018 3:47:12
Мило клоун. Ему следует гореть в аду вместе с феминаци.
tailgunner ★★★★★ (20.09.2018 8:06:32)

сам написал, удалил с -7, потом обратно передумал:

Ответ на: комментарий от actionless 20.09.2018 3:47:12
Мило клоун и аттеншнвхора. Ему следует гореть в аду вместе с феминаци.
tailgunner ★★★★★ (20.09.2018 8:26:08)

и нет, на первый коммент ответов не было

ты бы в нетрезвом состоянии не модерировал. мне пофиг на твой скор, а вот что поучаствовал, а потом полтемы потер - это не круто

 ,

MyTrooName ()

Rust 1.26

Новости — Mozilla
Группа Mozilla

Команда разработчиков языка Rust рада представить новую версию Rust 1.26.0. Rust — системный язык программирования, ориентированный на безопасность, скорость и параллельность.

( читать дальше... )

Основные изменения:

  • Вторая редакция книги «The Rust Programming Language» (почти) готова, и теперь рекомендована по умолчанию для ознакомления вместо первой версии. Также готовится к выходу бумажное издание книги.
  • impl Trait в заголовках функций

    ( читать дальше... )

  • Неявное разыменование ссылок в сопоставлении с образцом (match, if let, ...)

    ( читать дальше... )

  • Раскрытие срезов (slice) в сопоставлении с образцом

    ( читать дальше... )

  • Закрытые интервалы вида 0..=4, включающие обе границы в диапазон перечисления

    ( читать дальше... )

  • Новые целочисленные типы i128 и u128

( читать дальше... )

>>> Подробности

 

MyTrooName ()

qml для десктопа

Форум — Development

как там сабж по состоянию на 2018 год? помню, N лет назад пробовал: понравилась общая концепция, но сильно не хватало разнообразия изкоробочных компонентов, в особенности сложных, типа деревьев

 , ,

MyTrooName ()

Vimium is not running on this page.

Форум — Desktop

это на лоре, после обновления firefox до 58.0

Vimium is not running on this page.

Your browser does not run web extensions like Vimium on certain pages, usually for security reasons.

Unless your browser's developers change their policy, then unfortunately it is not possible to make Vimium (or any other web extension, for that matter) work on this page.

че делать-то?

 , ,

MyTrooName ()

запретить флеш в firefox quantum

Форум — Desktop

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

флешблок, например, этого не скрывает: он просто отключает работу флеша, и сайт не работает ни через флеш, ни через html5

 , , ,

MyTrooName ()

правило о вменяемом заголовке темы на раздел linux-org-ru не распространяется?

Форум — Linux-org-ru

предлагаю тереть топики вида «ЯННП» и «ВЫ ВСЁ ВРЁТИ» без разбирательства

 

MyTrooName ()

у меня одного bitbucket сломался?

Форум — Talks

$subj

 ,

MyTrooName ()

почистите прикрепленные

Форум — Linux-org-ru

32 vs 64

например

 

MyTrooName ()

краткий и эффективный &str join

Форум — Development

нагуглил только такое:

fn reverse_words(s: &str) -> String {
  s.split_whitespace().rev().collect::<Vec<&str>>().join(" ")
}

но тут лишний вектор создается в куче. мой вариант, без лишней аллокации:

fn reverse_words(str: &str) -> String {
    let mut iter = str.split_whitespace().rev();
    if let Some(x) = iter.next() {
        let mut result = String::with_capacity(str.len());
        result += x;
        for x in iter {
            result += " ";
            result += x;
        }
        result
    } else {
        String::new()
    }
}

как сделать кратко и эффективно? заодно если расскажете, как можно сократить лапшу if let с итератором, будет вообще прекрасно

 ,

MyTrooName ()

свободную игрулю на Unreal Engine

Форум — Development

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

и не спрашивайте, почему это в development

 ,

MyTrooName ()

drop односвязного списка на rust

Форум — Development

помогите плз разобраться, почему работает мой кусок кода (является ли он корректным на самом деле и почему, или мне повезло)

работаю по гайду: http://cglab.ca/~abeinges/blah/too-many-lists/book/first-drop.html

мотивировка необходимости реализации drop в том, что при дефолтной реализации возможно переполнение стека при большом объеме списка. для проверки я написал тест:

    #[test]
    fn stack_overflow_on_drop() {
        let mut list = List::new();
        for n in 1..1000000 {
            list.push(n);
        }
    }

тест успешно сыплется при дефолтной реализации drop (читай: при отсутствии реализации) и успешно проходит при реализации drop, приведенной в гайде. для сравнения, приведу эту реализацию здесь:

impl Drop for List { // List - это голова списка, а не его элемент
    fn drop(&mut self) {
        let mut cur_link = mem::replace(&mut self.head, Link::Empty); // зачищаем указатель на head
        while let Link::More(mut boxed) = cur_link {
            cur_link = mem::replace(&mut boxed.next, Link::Empty); // зачищаем указатель на каждый next
        }
    }
}

теперь моя реализация:

impl Drop for List { // List - это голова списка, а не его элемент
    fn drop(&mut self) {
        let mut cur_link = mem::replace(&mut self.head, Link::Empty); // зачищаем указатель на head
        while let Link::More(boxed) = cur_link {
            cur_link = boxed.next; // проходим по списку, но ничего не зачищаем
        }
    }
}

вопрос: почему эта реализация не переполняет стек при освобождении списка (проходит тест)? является ли она корректной, или это случайность?

 , ,

MyTrooName ()

И волна, и частица

Форум — Science & Engineering

http://m.phys.org/news/2015-03-particle.html

EPFL scientists have now been able to take the first ever snapshot of light behaving both as a wave and as a particle

ура, товарищи? насколько это (не)важно?

 ,

MyTrooName ()

операция slice в питоне копирует подстроку

Форум — Development

http://svn.python.org/projects/python/trunk/Objects/stringobject.c

Если размер подстроки в диапазоне 2..n-1, то string_slice вызывает PyString_FromStringAndSize, которая копирует подстроку полностью.

Кто-нибудь знает нормальную имплементацию? нужны строки с дешевой операцией slice. В принципе, это тривиально написать через сишные указатели. Хотя вот есть еще какой-то memoryview

<caps>И нахера тогда вообще этот питон эти строки?</caps> в чем преимущество? Разве что проще освобождать память от отдельных подстрок? Но в моем кейсе это вроде не нужно.

 , ,

MyTrooName ()

RSS подписка на новые темы