
Новости


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

Дикие трюки
В этом посте - продвинутые методы оптимизации производительности в Rust, которые применяются в линкере Wild. Авторы делятся конкретными хаками: как переиспользовать буферы в многопоточке, быстро инициализировать векторы, эффективно конвертировать типы без копи...

Сортировка и хештаблицы
Задача: подсчитать количество уникальных значений в большом массиве в основном уникальных чисел uint64. Есть два стандартных подхода: - Вставьте данные в хэш-таблицу и верните количество записей. - Отсортируйте массив, а затем посчитайте количество позиций, ...

Таблица типов
Типы в Rust организованы иерархически (например, примитивные типы, составные типы, типы-дженерики) и на основе их поведения (трайты Copy, Send, Sync). Похоже ли это на таблицу Менделеева? Как и в таблице, есть "периодичность" - например, типы, реализующие трей...

SurrealDB ненадежна
Не думаю что тут много фанатов SurrealDB. Но если вы один из пользователей SurrealDB и юзаете любой экземпляр SurrealDB с бэкендом RocksDB или SurrealKV, вы ДОЛЖНЫ ЯВНЫМ ОБРАЗОМ указать SURREAL_SYNC_DATA=true в переменных среды, иначе ваш экземпляр НЕ будет за...

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

Дед про Rust
Вышло интервью с Керниганом в котором он поделился видением того, что творится в IT сегодня. Речь зашла и о том, как все постепенно уходят с C на более безопасные для памяти языки, и о сотнях дистрибутивов Linux, и о том, что почти в каждом телефоне под капото...

Rust для питона
Перед питонистом всегда стояла дилемма: либо красивый и читаемый код, либо всё летает, но выглядит как спагетти. Раньше, когда нужно было выжать максимум скорости, приходилось городить C-расширения. Но теперь есть Rust. Согласно отчёту из одной обоссанной к...

Генеративность в Rust
Генеративность в Rust - это такой приём, где состояние типа и GhostCell работают вместе, чтобы переместить проверки, которые обычно происходят в рантайме, на этап компиляции. Выглядит как магия, но работает! Правда, шаблон не из самых популярных - он нужен ...

Хешмапа на Rust
Хешмапы - это почти магия: вы добавляете несколько (или даже много) пар "ключ-значение", а потом можете получать значения по ключу за время O(1). Это невероятно удобно! Настолько удобно, что динамические языки вроде Lua или JavaScript по сути представляют собо...

Rust и память
Что произойдёт, если вы выделите память с помощью malloc в C и попытаетесь освободить её с помощью dealloc в Rust, если вы получите указатель на память из C? Я вот понятия не имею. Но в статье автор очень плотно копается в системах управлению памятью

Компилятор на Rust
Автор серии статьей про написание своей SQLite начал новую серию В этой серии статей автор предлагает пройти путь изучения компилятора вместе с ним - маленькими итерациями. Мы напишем программу, которая компилирует минималистичный язык (вдохновлённый Python...

Гипервизор на Rust
Это практический гайд о том, как с нуля создать свой гипервизор (виртуальную среду) на Rust, используя встроенный в Linux фреймворк KVM. Автор показывает, как работать с низкоуровневыми механизмами виртуализации без модификации ядра, эмулировать процессор, пам...

RisingLight
RisingLight - это OLAP-база данных, созданная в образовательных целях. Проект всё ещё активно развивается и не предназначен для использования в продакшене. Но для обучения самое то. OLAP-база данных (Online Analytical Processing) используется для анализа бо...

Обработка ошибок в Rust
Автору нехватает стандартных подходов в Rust для обработки ошибок Ошибка - это отдельный фрагмент информации и может быть совершенно не связан с другими ошибками, которые может вернуть функция, и может быть представлен в виде структуры, а не варианта перечи...

Медленный компилятор Rust
Реализовать быстрые сборки Rust с Docker не так уж просто. Автор рассказывает как боролся со сборкой Rust приложения в докер контейнере и пытался ее ускорить

Git в браузерe
Gramax - это прикольные ребята, которые запилили опенсорсную систему документации. Большая часть кода у них на Rust В этой статье они рассказывают, как и для чего они интегрировали Git в браузер, какие технологии использовали и какие технические решения при...