self в Rust

Мутный self в Rust или как раз и навсегда его понять

На начальном у всех новичков возникают проблемы с тем что значит self в rust и чем он отличается от Self. Ниже приведен пример кода из книги «Rust Профессиональное программирование». В книге допущена ошибка, я отметил ее в комментарии. Ожидался self, но случайно был напечатан Self и программа перестала компилироваться. Посмотрите этот код, он отлично иллюстрирует…

Так ли просто написать «Hello, World!» на языке Rust — про ссылки и разыменование

Сегодня столкнулся с интересной проблемой, которая показалась мне забавной. Простенькая задачка, что будет если добавить амперсанд к строке «Hello, World!». Собственно, давайте попробуем разобраться, что происходит когда мы делаем ссылку на «&str» тип. Посмотрите на код ниже, далее мы подробно разберем каждую строку.  

Разберём пошагово, что происходит в каждом вызове println! и почему возникает ошибка E0614.…

Rustlings — решаем задачи по RustBook, настраиваем среду

В этой статье настроим среду разработки и добавим настроек Vim + Tmux, для удобного решения задач курса Rustlings. Для тех кто пока не в теме Rustlings это небольшой курс по языку Rust в котором вам необходимо исправлять ошибки компилятора. Вооружившись знаниями из RustBook вы легко с этим справитесь. Можно читать книгу параллельно, обращаясь к главам…

Без паники! Конфигурация макроса panic в языке Rust

Строка [profile.release] с параметром panic = «abort» в файле Cargo.toml (система сборки Rust) задаёт стратегию обработки паник (panics) для релизной конфигурации (release‑сборки). Что это значит По умолчанию в Rust при панике выполняется unwinding («размотка» стека): программа последовательно проходит по стеку вызовов вверх; освобождает память и вызывает деструкторы для всех локальных объектов; затем завершается. Параметр panic = «abort» отключает unwinding и заменяет его на аварийное завершение (abort): при панике программа немедленно…

Установка memcached в Debian/Ubuntu

Memcached — это программный пакет с открытым исходным кодом, который обеспечивает уровень кэширования в памяти, часто развертываемый в качестве компонента стеков веб-приложений для снижения нагрузки на традиционные базы данных для часто используемых объектов. Установить пакет не составляет труда, но нужно помнить, что для нормальной работы с PHP, необходимо установить и сконфигурировать пакеты для самого языка.…

Запуск PHP скриптов из консоли Linux

Давайте сначала решим зачем нам может понадобиться запускать скрипты PHP через интерфейс командной строки Linux. Первое и самое очевидное решение, мы пишем простой скрипт который должен делать нечто в нашей системе. То есть мы используем PHP как расширенный Bush-скриптинг. Хотим как-то особенно сортировать файлы, делать запись в базу данных, отправлять сообщения или все одновременно. PHP…

Как настроить Ubuntu для Битрикс

Очень многие устанавливают Битрикс на CentOS, точнее на BitrixVm, что объяснимо если вы слабо знакомы с Linux. Я не стану отговаривать, каждому свое. У меня возникало очень много проблем со сборками от команды Битрикс. Очень много необъяснимых ошибок, решить которые под силу не каждому специалисту. И если Битрикс24 без сборки от 1С работать не будет,…

Проблемы динамической типизации в сравнении

Откровенно говоря, я устал слушать о проблемах PHP от людей, мягко говоря не компетентных в его реальных проблемах. Очень часто, вступая в такой спор я заранее знаю к чему он будет сведен. Отринув все стереотипы, например о том, что PHP не работает с архивами или работает слишком медленно в сравнении с тем же С++, спор…

Почему SSH в контейнерах это зло

Эта статья является продолжением моих изысканий по Docker. Тема навеяна простым примером из жизни. Администратору занимающемуся преимущественно Windows был задан вопрос, если у тебя есть контейнер Docker, как ты будешь им управлять. Не задумываясь тот ответил: «поставлю в контейнер SSH и буду к нему подключаться«. Сегодня я попытаюсь объяснить, почему так делать не нужно. Собственно,…

Как установить Midnight Commander в Linux и подключить Vim как редактор по умолчанию

Как установить Midnight Commander (MC) в Linux или CentOs? Легко:

для Ubuntu (Debian) или

Для CentOs. После установки юзаем через команду MC — mc. Тут должна была появиться подробная инструкция по эксплуатации, но после нескольких минут работы я понял, что расписывать особо нечего. Поэтому держите веселый скрин:   Все основные действия написаны в…