Pull to refresh
1
0

Пользователь

Send message

sks-keyserver, как и некоторые иные, старые серверы — помер из-за GDPR.

Краткий список живых есть здесь https://wiki.archlinux.org/title/OpenPGP#Keyserver

Но все же это не "сайт с подписями образов", а список открытых ключей от ЭЦП случайных людей. Ключи доверенных мейнтейнеров от конкретных дистрибутивов обычно распространяются иным путём. К примеру — archlinux-keyring.

Подписи конкретных распространяемых дистрибутивов/пакетов обычно живут в репозитории, рядом с бинарным пакетом. Рас и двас, файлы с расширением *.gpg или *.sig

Имхо, но лучше присмотритесь к ch32v[003]. Продаются чуть ли не на развес (10-20 центов за штуку) и имеют полноценное 32 битное risc-v ядро.

Увы, проблема не в 1ггц итд. Основная проблема это требование последних поколений процессоров и TPM.

К примеру, Intel 4790k - старых хлам, по мнению MS, хотя даст прикурить многом камням "только с конвейера"

поток-thread запускается / выполняется / останавливается;

поток-stream открывается / читается-пишется / закрывается;

HANDLE OpenThread(
  [in] DWORD dwDesiredAccess,
  [in] BOOL  bInheritHandle,
  [in] DWORD dwThreadId
);

https://learn.microsoft.com/ru-ru/windows/win32/api/processthreadsapi/nf-processthreadsapi-openthread

Простите...

Я видел в примерах, что всегда первой командой сбрасывают флаг прерывания, но мне никто не смог объяснить почему.

https://developer.arm.com/documentation/ka003795/latest
TLDR: На некоторых кортексах (stm32 & co) сброс флага прерывания сначала попадает в дополнительный буфер записи, и в случае, если данные из этого буфера не успеют перед выходом из прерывания сбросится "выше": ядро не увидит что флаг прерывания сброшен и войдет в него повторно.

Как мне кажется, в расте, для реализации различных структур, ноды которых имеют ссылки на другие элементы. Наиболее идиоматичным, будет вариант с использованием списка с индексным доступом вроде Slab или Vec и хранение его ключей как ссылок на связанные элементы.


пример
use slab::Slab;
type NodeID = usize;

pub struct LinkedList<T> {
    head: Option<NodeID>,
    tail: Option<NodeID>,
    elements: Slab<Node<T>>,
}

struct Node<T> {
    prev: Option<NodeID>,
    next: Option<NodeID>,
    data: T,
}

Для простой структуры, вроде двусвязного списка, данных подход может показаться переусложнённым. Но она уже реализована и оттестирована в стандартной библиотеке. А в качестве "простой" альтернативы, можно использовать счетчики ссылок (Rc/Weak), или окунутся в C-like код с сырыми указателями. Кстати, в std двусвязный список реализован именно на них.

Как мне кажется, в используемом автором примере интереснее всего использовать zip()
Скрытый текст
for (point, weight) in points.iter()
                             .zip(weights)
{
    println!("{}, {}", point.x, weight);
}

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

Information

Rating
Does not participate
Registered
Activity