Рубрика «Rust»

Привет! Меня зовут Андрей, и я давно занимаюсь веб-разработкой. Однако в последнее время я все чаще обращаю внимание на новые языки и инструменты, которые обещают улучшить качество кода и повысить мою продуктивность. Сегодня я хочу поделиться своими мыслями о языке программирования Rust — почему он так популярен, в чем его особенности и почему, как мне кажется, за ним действительно может быть будущее.


Немного об аудитории «Хабра» и выборе темы

Читать полностью »

Вступление

На каком языке пишут программы для BIOSЧитать полностью »

RustDesk: удалённый десктоп через свой сервер ретрансляции - 1

RustDesk — приложение для удалённого рабочего стола с открытым исходным кодом, разработанное для самохостинга в качестве альтернативы TeamViewer. Название такое, потому что программа написана на Rust.

Работает из коробки, не требует конфигурации. Если установить сервер синхронизации на своём хостинге, то любые машины в интернете могут синхронизироваться и устанавливать соединение через наш сервер для удалённого управления рабочими столами друг друга. Трафик идёт напрямую между ними, но если это невозможно — тоже через сервер, до 3 Мбит/с (1920×1080).

Клиентское приложение есть для iOS и Android (на КДПВ), что позволяет со смартфона управлять рабочим столом Windows, Linux и MacOS (и наоборот), а также обмениваться файлами. Есть ещё веб-клиент.
Читать полностью »

С тех пор как я стал регулярно пользоваться ChatGPT в повседневной работе, меня не оставляла мысль о создании виртуального секретаря, который бы записывал все мои разговоры, сохранял места в которых я бываю, а также регистрировал занятия, которыми я занимаюсь в течение дня. С помощью такого помощника всегда можно было бы вспомнить с кем о чём говорил или что делал в любой интересующий момент прошлого. Также было бы здорово получать советы по планированию с учётом накопленных обо мне знаний.

Читать полностью »

Rust 1.84: новый релиз отличного языка программирования. Еще лучше, еще эффективнее, как всегда - 1

Источник изображения.

Вышел новый релиз языка программирования Rust версии 1.84. Этот язык общего назначения изначально разрабатывался проектом Mozilla, но теперь его поддерживает независимая некоммерческая организация Rust Foundation. Rust ориентирован на безопасную работу с памятью и обеспечивает высокий уровень параллелизма выполнения задач, не прибегая к сборщику мусора или полноценному runtime (runtime ограничен базовой инициализацией и поддержкой стандартной библиотеки). Что нового? Давайте разбираться. Читать полностью »

Arnis: как перенести реальный мир в Minecraft за пару кликов - 1

На днях энтузиасты с GitHub выпустили Arnis — утилиту, которая переворачивает представление о строительстве в Minecraft. Теперь, опираясь на реальные данные из OpenStreetMap, за считаные минуты можно создать масштабную копию существующего города.

Тем, кто годами возводил здания и улицы вручную, такая автоматизация может показаться настоящей магией. Достаточно пары кликов вместо часов кропотливой работы: выбираете локацию на карте — и Arnis тут же генерирует виртуальную копию. Но так ли все идеально? Давайте разберемся, как работает Arnis, чем он хорош, есть ли ограничения и какие открываются перспективы при использовании этой технологии. Все подробности — под катом.Читать полностью »

Запускаем 8B LLM в браузере: AQLM.rs - 1

Меня долгое время интересовал запуск больших языковых моделей на пользовательских устройствах: есть что‑то в том, чтобы запустить одну из лучших языковых моделей на обычном домашнем компьютере или на мобильном телефоне, помещающемся в карман.

В этом посте я расскажу о своём пет‑проекте AQLM.rsЧитать полностью »

Представляю вам свой open-source проект — RTS (Real‑Time Script). Это реактивный язык свободных структур данных, опирающийся на новый подход к программированию. Проект я начал и продолжнаю писать на данный момент в одиночку начиная с 6 Декабря 2023 года. Пол года было потрачено на создание концептов и ещё пол года на саму реализацию.

Читать полностью »

Поначалу всё будет хорошо. И вы будете изучать Rust, и думать, какие хорошие люди его написали. В нём есть автоопределение типов, безопасные указатели aka ссылки, столько синтаксического сахара, что любой Kotlin позавидует, и плюс ко всему этому ещё и кроссплатформенность и no-std режим, если вы вдруг решите запрограммировать кофеварку.
А потом одной чёрной-чёрной ночью вы обнаружите там...

Interior Mutability

Переменные, которые вы объявите через let, нельзя взять и поменять, а те, что объявлены через let mut, — можно:

fn main() {
  let a = 5;
  let mut b = 7;
  // a = 11; // не компилируется
  b = 9;
  println!("{a} {b}");
}

Читать полностью »

Небезопасный Rust сложнее C - 1


Для некоторых из вас содержание этой статьи окажется знакомым, особенно, если вы писали встраиваемый или unsafe код на Rust. Но я этого не делал, поэтому решил, что будет полезным задокументировать свой опыт максимально подробно. Так что предлагаю сразу перейти к делу.

В прошлом году я написал программу Photohash для индексации своего NAS и поиска дубликатов фото без использования хэширования, независимого от поворота изображения, и перцептивного хэширования. Чтобы полноценно задействовать все ядра процессора и диски, эта программа распределяет работу между воркерами, отвечающими за вычисления и ввод-вывод. Происходит это распределение по каналам, представляющим синхронизированные очереди задач. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js