async fn в Rust — это не магия и не зелёный поток, а обычный enum, который компилятор генерирует за тебя. Разбираем, почему Future это машина состояний, зачем нужен Pin, как работает Waker и executor, и как одна .await-точка может незаметно заставить твой сервис есть память гигабайтами. Читать далее
Блок питания 1200W AeroCool (KCAS-1200M) 1200W AeroCool (KCAS-1200M) Мощность Вт 1200 Подсветка Нет Защита от перенапряжения, замыкания, перегрузки Да Система охлаждения с вентилятором Да Съёмные кабели Да 4-pin CPU Нет 4+4 pin CPU 1 8-pin CPU Нет 6-pin PCI-E Нет 8-pin PCI-E (6+2) 8 4-pin IDE (Molex) 6 15-pin SATA 10 4-pin Floppy Нет Разъем […]
Блок питания 500W Chieftec SFX-500GD-С SFX 500W Chieftec SFX-500GD-С SFX Мощность Вт 500 Подсветка Нет Защита от перенапряжения, замыкания, перегрузки Да Система охлаждения с вентилятором Да Съёмные кабели Да 4-pin CPU Нет 4+4 pin CPU 1 8-pin CPU Нет 6-pin PCI-E Нет 8-pin PCI-E (6+2) 2 4-pin IDE (Molex) 2 15-pin SATA 4 4-pin Floppy […]
На примерах попробую показать, почему enum в Rust это несколько больше, чем обычно принято считать. Рассмотрю расширенное использование enum в типовых ситуациях. Сразу забегая вперед скажу, что в рамках статьи я не затрагиваю паттерны и мэтчинг.Первое, что приходит в голову, когда речь заходит об enum, — это идея: «А давайте заменим все константы на enum». :) Желание логичное, давайте на него посмотрим... Читать далее