Event cover Пишем kD-дерево на Rust и запускаем его в браузере
Development

Пишем kD-дерево на Rust и запускаем его в браузере

Как быстро найти ближайшие магазины на карте? С помощью kD-дерева — структуры данных, благодаря которой работают геоинформационные системы и игровые движки.

Мы реализуем kD-дерево на языке Rust и визуализируем его в браузере.

Обсудим:

  • владение массивом
  • почему f64 не реализует Ord
  • циклический ссылки Rc и Weak
  • WASM
  • генерацию случайных f64 из сырых байтов

Как подготовиться:

  • установить rustup
  • установить таргет wasm32-unknown-unknown
  • установить lld
  • с помощью cargo установить wasm-pack и sfz

Nix

Создайте каталог kdtree-rust, а в каталоге — файл shell.nix следующего содержания:

{ pkgs ? import <nixpkgs> { } }:
pkgs.mkShell {
    nativeBuildInputs = with pkgs.buildPackages; [
        rustup
        wasm-pack
        lld
        sfz
    ];
}

В каталоге запустите nix-shell, после этого однократно запустите:

rustup default stable
rustup target add wasm32-unknown-unknown

Debian/Ubuntu

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

rustup default stable
rustup target add wasm32-unknown-unknown

sudo apt update
sudo apt install -y lld pkg-config libssl-dev

cargo install wasm-pack --locked
cargo install sfz --locked

Schedule

Time is shown in timezone: Europe/Moscow

Speakers 1

Программист с опытом более 30 лет. Работал с C, Assembler x86, C++, Delphi, Perl, PHP, C#, F# и Go; вне работы освоил в том числе Ruby, Haskell и Rust. Организует митапы Московского клуба программистов, ведёт лайвкодинг и архитектурные практикумы.

Registration

Онлайн-регистрация

Registration ends at 05 Nov 2026, 17:00 (UTC)
Occupied 3 of 15 places · 12 remaining

Event at a glance

Who it is for
Rust-разработчики, системные программисты, веб-разработчики, интересующиеся WebAssembly, участники воркшопа
Main topics
kD-дерево, пространственные структуры данных, поиск ближайших соседей, программирование на Rust, WebAssembly, визуализация в браузере
What you will gain
с нуля построить kD-дерево на Rust, визуализировать kD-дерево в браузере через WebAssembly, понять владение массивом в Rust, понять, почему f64 не реализует Ord, использовать Rc и Weak для циклических ссылок, компилировать Rust под wasm32-unknown-unknown, настроить инструменты Rust WASM: rustup, cargo, wasm-pack и sfz
Program format
практика, глубокие технические доклады, воркшоп