Рубрика «Rust» - 20

Предлагаю вашему вниманию субъективную подборку ржавых новостей за январь. В этой подборке: Rust 1.32, уход Стива Клабника и Ника Камерона, киш от Cloudflare, устройство rust-analyzer и страничной памяти, поиски GUI и async, Oxydyze конференция для встроенщиков.

КДПВ

Rust 1.32

Вышел Rust 1.32. По сравнению с масштабным прошлым выпуском, на котором было сконцентрировано множество сил всего сообщества, тут серьезных нововведений не очень много:

Подробности в переводе новости.

Стив Клабник и Ник Камерон уходят из Mozilla

NYT firefox 1.0

Печальные новости: Стив Клабник и Ник "nrc" Камерон покидают Мозиллу.

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

The Rust ecosystem is still growing. As a result, new libraries with improved functionality are frequently released into the developer community, while older libraries become obsolete. When we initially designed Exonum, we used the Iron web-framework. In this article, we describe how we ported the Exonum framework to actix-web using generic programming.

Generic Methods in Rust: How Exonum Shifted from Iron to Actix-web - 1Читать полностью »

В этой статье объясняется, как ядру операционной системы получить доступ к фреймам физической памяти. Изучим функцию для преобразования виртуальных адресов в физические. Также разберёмся, как создавать новые сопоставления в таблицах страниц.

Этот блог выложен на GitHub. Если у вас какие-то вопросы или проблемы, открывайте там соответствующий тикет. Все исходники для статьи здесь.

Введение

Из прошлой статьи мы узнали о принципах страничной организации памяти и о том, как работают четырёхуровневые страничные таблицы на x86_64. Мы также обнаружили, что загрузчик уже настроил иерархию таблиц страниц для нашего ядра, поэтому ядро работает на виртуальных адресах. Это повышает безопасность, но возникает проблема: как получить доступ к настоящим физическим адресам, которые хранятся в записях таблицы страниц или регистре CR3?
Читать полностью »

В прошлом году Mozilla выпустила Quantum CSS для Firefox, который стал кульминацией восьми лет разработки Rust — безопасного для памяти языка системного программирования. Потребовалось более года, чтобы переписать основной компонент браузера на Rust.

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

Бесстрашная защита. Безопасность памяти в Rust - 1

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

В общем попросил я у коллеги маленький гайд по тому как настроить QtCreator в качестве IDE для Rust и с его разрешения выкладываю. Сам Я использую CLion и позже напишу о том как с ним дела обстоят на этом поприще. Мопед не мой. Я просто разместил объяву. (с)

Что нужно современному программисту в первую очередь? Развитое абстрактное мышление? Сильный бэкграунд в математике? Возможно стрессоустойчивость??

Конечно же нет! Самое главное — хорошая IDE.

image

Если вы тоже, попытавшись осилить Rust, взгрустнули, взглянув на areweideyet
— добро пожаловать под кат.
Читать полностью »

Команда разработчиков Rust рада сообщить о выпуске новой версии Rust, 1.32.0. Rust — это язык программирования, который дает возможность каждому создавать надежное и эффективное программное обеспечение.

Если у вас установлена предыдущая версия Rust с помощью rustup, то для обновления Rust до версии 1.32.0 вам достаточно выполнить:

$ rustup update stable

Если у вас еще не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта. С подробными примечаниями к выпуску Rust 1.32.0 можно ознакомиться на GitHub.

Небольшое замечание: за последнее время вышло несколько новых выпусков rustup! Чтобы обновить сам rustup, выполните rustup self update.

Что вошло в стабильную версию 1.32.0

Rust 1.32.0 приобрел несколько упрощающих жизнь улучшений, сменил аллокатор памяти по умолчанию и сделал больше функций константными. Читайте об этих изменениях ниже или смотрите подробнее в примечаниях к выпуску.

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

В этой статье представляем страницы, очень распространённую схему управления памятью, которую мы тоже применим в нашей ОС. Статья объясняет, почему необходима изоляция памяти, как работает сегментация, что такое виртуальная память и как страницы решают проблему фрагментации. Также исследуем схему многоуровневых таблиц страниц в архитектуре x86_64.

Этот блог выложен на GitHub. Если у вас какие-то вопросы или проблемы, открывайте там соответствующий запрос.
Читать полностью »

Как я свою онлайн игру создавал. Часть 1: Работа с сетью - 1

Привет всем! У меня недавно был отпуск, и появилось время спокойно попрограммировать свои домашние проекты. Захотел я, значит, свою простенькую онлайн игру сделать на Rust. Точнее, простенькую 2D стрелялку. Решил сначала сделать сетевую часть, а там уже видно будет, что да как. Так как жанр предполагает экшен во все поля, поэтому решил использовать протокол UDP. Начал проектировать архитектуру сетевой части. Понял что можно это все вынести в отдельную библиотеку. Получившуюся библиотеку я еще и на crates.io залил, под лицензией MIT, потому, что: а) Мне самому будет ее потом удобнее оттуда в свои проекты подключать. б) Может она еще кому-то пригодится и принесет пользу. Назвал библиотеку Victorem что в переводе с латыни значит победоносный, приносящий победу. За подробностями добро пожаловать под кат. Читать полностью »

Вот уже 2 года, как я рекомендую всем моим знакомым использовать Firefox, как браузер для повседневного серфинга в интернете. Я люблю этот браузер за его гибкость в настройке, скорость и заботу о приватности. Много раз на форумах меня спрашивали про какие-то отдельные случаи по настройке, поэтому я решил написать статью с подробным описанием настроек, как шпаргалку для себя и чтобы делится ею, в случае новых вопросов.

Надеюсь она немножко поможет в популяризации этого чудесного браузера.

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

Поскольку праздники кончились, предлагаю вашему вниманию субъективную подборку ржавых новостей за декабрь. В этой подборке: безумие с растом, страшен ли раст, волна пророчеств, Rust 2018, Rust Analyzer.

КДПВ

Rust 1.31 & Rust 2018

Самое важное событие декабря — выпуск Rust 1.31 и Rust 2018, конечно. Туда очень много всего вошло:

редакция 2018, нелексические времена жизни, изменения системы модулей, дополнительные правила вывода времен жизни, const fn, новые инструменты, инструментальные проверки качества кода, документация, новый веб-сайт, улучшения в cargo.

Изменений так много, что обзор всех не получилось запихнуть в один пост, так что через несколько дней были опубликованы вспомогательные заметки:

Так же, имеет смысл полистать мозиловский хорошо структурированный обзор/ликбез 2018й редакции языка: Rust 2018 is here… but what is it? (перевод, обсуждение).

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


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