Новости

Post Thumbnail

Аsciinema

Аsciinema - это набор инструментов для записи, трансляции и совместного использования сеансов терминала. И вот третья версия теперь полностью переписана на Rust. Особенно мне понравилась причина почему Rust: "я не хочу работать с кодом на Python" А ты уже п...

Post Thumbnail

Hypervisor 101

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

Post Thumbnail

Дикие трюки

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

Post Thumbnail

Сортировка и хештаблицы

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

Post Thumbnail

Таблица типов

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

Post Thumbnail

SurrealDB ненадежна

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

Post Thumbnail

Ваша производительность

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

Post Thumbnail

Дед про Rust

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

Post Thumbnail

Placing

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

Post Thumbnail

Rust для питона

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

Post Thumbnail

HorizonDB

Про разработку HorizonDB - быстрой базы для работы с геопозицией. В статьи интересно почитать как авторы миксуют вместе разные технологии и обмазывают все это растом. В итоге их решение работает значительно лучше, чем связка Elasticsearch и MongoDB, которую он...

Post Thumbnail

Генеративность в Rust

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

Post Thumbnail

Хешмапа на Rust

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

Post Thumbnail

Rust и память

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

Post Thumbnail

Компилятор на Rust

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

Post Thumbnail

Гипервизор на Rust

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

Post Thumbnail

RisingLight

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

Post Thumbnail

Rust-101

Rust-101 от Ralf Jung — это бесплатный курс, который учит Rust не через сухую теорию, а прямо в коде. Ты постоянно пишешь программы, а заодно разбираешься в том, как работает ownership, borrowing, lifetimes и traits. Дальше курс заводит в более сложные темы вр...

Post Thumbnail

Обработка ошибок в Rust

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

Post Thumbnail

Git в браузерe

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