1 декабря я в очередной раз поучаствовал в Advent of Code, написав программу на Rust. Если интересно — код можно найти на GitHub. Тут мне хотелось бы рассказать о моём решении задачи, предлагавшейся во 2 день мероприятияЧитать полностью »
Рубрика «Rust» - 3
Самая маленькая хеш-таблица в мире
2023-03-20 в 10:05, admin, рубрики: Rust, Алгоритмы, Блог компании Wunder Fund, Программирование, разработкаИспользовать unwrap() в Rust — это нормально
2023-03-19 в 18:51, admin, рубрики: Rust, обработка ошибок, паника, ПрограммированиеПредисловие
Сравнительно недавно на Хабре была опубликована статья «Rust: ни в коем случае не используйте unwrap() в продакшене». Мягко говоря, тезисы, высказываемые в данной статье, спорны и содержат мало обоснования. Предлагаю читателям взглянуть на альтернативную точку зрения: почему использовать unwrap()
в Rust — это нормально (в том числе и в продакшене). Автор оригинальной статьи — Эндрю Галлант.
Использовать unwrap() в Rust — это нормально
За день до выпуска Rust 1.0 я опубликовал запись в блоге, посвященную Читать полностью »
Пишем игру от первого лица в 2КБ на Rust
2023-03-10 в 7:34, admin, рубрики: raycasting, Rust, webassembly, Wolfenstein 3D, Алгоритмы, математика, разработка игр, рейкастингВведение
Поначалу кажется, что создать игру от первого лица без движка или графического API практические невозможно. В этом посте я расскажу, как это сделать при помощи алгоритма под названием ray casting.
Моя цель — показать, что сложную задачу можно разбить на более простые части, и если я всё сделаю правильно, то у вас появится ощущение, что вы сами открыли, как работает игра.
Для начала разберёмся, как работает алгоритм, а затем построчно напишем его. Затем мы пересмотрим код, добавим несколько возможностей и оптимизируем его размер. Я постарался сделать пост максимально доступным и дружелюбным, но вам поможет приличное знание программирования, Rust и основ геометрии.
Читать полностью »
Как сломанный лифт привел к появлению одного из самых популярных языков программирования
2023-02-27 в 12:12, admin, рубрики: getmatch, Rust, Блог компании getmatch, ПрограммированиеТо, что начиналось как маленький побочный проект на ноутбуке одного разработчика — сегодня стало одним из самых успешных языков программирования с открытым исходным кодом, которым пользуются Microsoft, Amazon, Google, Tesla, Discord и многие другие.
Если кто не знает эту историю — велком.Читать полностью »
Создание модуля WebAssembly с помощью Emscripten, AssemblyScript и Rust
2023-02-24 в 16:58, admin, рубрики: AssemblyScript, c++, Emscripten, python, Rust, wasmer, webassemblyВ этой небольшой заметке предлагается рассмотреть несколько способов компиляции модуля для WebAssembly, используя три разных подхода. Мы реализуем решение одной и той же задачки на трёх языках и скомпилируем полученный код в модуль WebAssembly. Будем использовать:
-
Emscripten для компиляции кода, написанного на c++
-
AssemblyScript для компиляции кода, написанного на, собственно, AssemblyScript
-
wasm-pack для компиляции кода, написанного на Rust
План такой:
-
Во введении мы обсудим постановку задачи и немножко поговорим о технологии WebAssembly
Rust vs C#: два способа решить проблему ссылок в структурах
2023-02-23 в 9:55, admin, рубрики: .net, C#, RustВозврат ссылки на структуру из метода, объявленную в этом самом методе, является одним из самых классических примеров "висячих ссылок". Но что если возвращается не ссылка, а структура, содержащая ссылку? И не явно, а через вызов другого метода? Как понять, где у нас явный "провис ссылки", а где нормальный код? Звучит как какая то "дичь", но подобный кейс - вполне реальная боль для авторов языков программирования.
Давайте посмотрим на примере Rust и C# как авторы решают эту неоднозначную проблему.
Постановка задачи
Git scraping: методика бесплатного хостинга не совсем статических сайтов
2023-02-04 в 1:42, admin, рубрики: beatport, etl, github, github actions, github pages, python, Rust, yaml, Программирование, Разработка веб-сайтов, хостинг, шаблонизаторНи для кого не секрет, что, используя GitHub Pages, вы можете бесплатно разместить свой статический веб-сайт в сети Интернет. 1 Гбайт доступного пространства, SSL-сертификат, возможность привязать собственный домен — разве не сказка? Но что делать, если вам необходимо, чтобы содержимое вашего статического ресурса периодически обновлялось? Допустим, несколько раз в час.
Поэтический редактор: Rust + Tauri
2023-01-14 в 13:40, admin, рубрики: desktop apps, Rust, tauri, инструменты, подсветка, поэзия, Программирование, редактор, ритм, рифмыВ чём-то сочинение стихов похоже на написание кода — имеет значение только "чистый" текст, и этот текст, как и код, подчиняется определенным правилам. Поэту могли бы пригодиться те самые "автоподсказки" и подсветка кода стихов. Может, даже с какой-то поддержкой рефакторинга, помочь поэту найти слабое место. Но найти что-то подобное (особенно на русском языке) у меня не вышло. Например, на запрос poetry editor
в основном выпадают сервисы по найму редакторов-людей. Проекты, конечно, есть, но они либо слабые, либо мёртвые (поправьте меня, если я неправ).
Значит, задумал я на коленках склепать IDE для поэтов…
Rust 1.66.0: дискриминанты для перечислений с полями, black_box, cargo remove
2022-12-18 в 8:01, admin, рубрики: cargo, clippy, open source, release, Rust, rustc, rustdoc, rustfix, rustfmt, stable, выпуск версий, Компиляторы, новости технологий, перевод, Программирование, системное программирование, стабильная версия, языки программированияКоманда Rust рада сообщить о новой версии языка — 1.66.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.
Если у вас есть предыдущая версия Rust, установленная через rustup
, то для обновления до версии 1.66.0 вам достаточно выполнить команду:
rustup update stable
Если у вас ещё нет rustup
, то можете установить его со страницы на нашем веб-сайте, а также ознакомиться с подробным описанием выпуска 1.66.0 на GitHub.
Если вы хотите помочь нам протестировать будущие выпуски, вы можете использовать beta (rustup default beta
) или nightly (rustup default nightly
) канал. Пожалуйста, сообщайте обо всех встреченных вами ошибках.