Шаблон индексирования для нового типа

оригинал: Aleksey Kladov • перевод: Александр Андреев • руководства • поддержите на Patreon

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

Решаем систему логических уравнений на Rust

• Павел Никитин • руководства • поддержите на Patreon

Решение головоломки Lights Off размером 333 на 333

Язык программирования Rust сосредоточен на безопасности, скорости и параллелизме. Давайте проверим, насколько Rust быстрый в сравнении с другими компилируемыми языками программирования C и Vala в решении системы логических уравнений. Для этого реализуем алгоритм решения интересной головоломки Lights Off на языках

  • Rust
  • C
  • Vala

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

Изменение размера изображения с учётом содержимого

оригинал: Martin Hafskjold Thoresen • перевод: Gexon • руководства • поддержите на Patreon

Изменение размера изображения с учётом содержимого (Content Aware Image Resize), жидкое растяжение (liquid resizing), ретаргетинг (retargeting) или вырезание шва (seam carving) относятся к методу изменения размера изображения, где можно вставлять или удалять швы, или наименее важные пути, для уменьшения или наращивания изображения. Об этой идее я узнал из ролика на YouTube, от Shai Avidan и Ariel Shamir. В этой статье будет рассмотрена простая пробная реализация идеи изменения размера изображения с учётом содержимого, естественно на языке Rust :)

Для подопытной картинки, я поискал по запросу [1] "sample image", и нашёл её [2]:

sample image

Советы по написанию библиотек на Rust

оригинал: Pascal Hertleif • перевод: Андрей Лесников • руководства • поддержите на Patreon

Прошёл примерно год, как меня заинтересовал Rust, язык программирования от Mozilla Research, сосредоточенный на решении трёх задач: безопасность, скорость и параллелизм. Он такой же низкоуровневый, как Си или C++, имеет хорошую систему типов (с обобщениями (generics) и типажами (traits)), дружелюбный компилятор и отличный менеджер пакетов Cargo.

С выпуска Rust 1.0 прошло уже пол года (май 2015): многие библиотеки (пакеты, crates), включая некоторые мои, были опубликованы в центральном регистре crates.io. Вот неплохие практики (ещё рановато называть их «лучшими»), которые помогут другим людям находить, использовать и дополнять вашу библиотеку.

О чате на Gitter

• Михаил Панков • руководства • поддержите на Patreon

Всем привет! Как вы знаете, у нас есть несколько чат-каналов на сервисе Gitter, и сегодня я расскажу о некоторых интересных вещах, которые он умеет.

IRC-мост

Gitter предоставляет возможность читать и писать в канал через IRC. Для настройки IRC-клиента посетите https://irc.gitter.im/ и следуйте инструкциям.

Matrix-мост

Можно сидеть через Matrix, в клиенте Riot. Подробнее.

Markdown

Gitter поддерживает Markdown в сообщениях, благодаря чему код может выглядеть похожим на код: с моноширинным шрифтом и подсветкой синтаксиса. Чтобы это работало, блоки кода нужно заключать в тройные обратные кавычки (вот такие: ` ).

Вот краткая справка по остальным возможностям:

Как сделать свой первый Pull Request

• Михаил Панков • руководства • поддержите на Patreon

Это руководство научит вас делать изменения в проекте на GitHub. Описываемый процесс предлагает лучшие практики, и является достаточно распространённым — вы сможете применять его за пределами нашего сообщества. В проектах сообщества придерживаться такого процесса очень рекомендуется.

Сначала мы приведём высокоуровневое описание процесса, а затем подробно опишем каждый этап.

IDE для Rust

• Олег В. и Norman Ritchie • руководства • поддержите на Patreon

Это вики-статья. Последнее обновление: 16 ноября 2017.

Это руководство для тех, кто хочет быстро начать работу с Rust в IDE с подсветкой синтаксиса, автодополнением и прочими возможностями.