#полезное
🫠 «Почему компилятор Rust такой медленный?»
Я потратил месяц на создание веб-сайта в Docker и теперь готов поделиться ужасными историями.
У меня есть проблема.
Мой веб-сайт (на котором была опубликована эта статья) в основном обслуживается одним двоичным файлом Rust. Он стал слишком длинным. Каждый раз, когда мне нужно внести изменение, я должен:
Собрать новую статически компонуемую библиотеку (
1. Скопировать её на сервер
2. Перезапустить веб-сайт
Ситуация, мягко говоря, неидеальная.
Поэтому мне бы хотелось перейти к развёртыванию веб-сайта при помощи контейнеров (будь то Docker, Kubernetes или что-то иное), в духе подавляющего большинства ПО, разворачиваемого в последний десяток лет.
Единственная проблема заключается в том, что реализовать быстрые сборки Rust с Docker не так уж просто.
https://habr.com/ru/articles/922534/
👉 Новости 👉 База вопросов
Я потратил месяц на создание веб-сайта в Docker и теперь готов поделиться ужасными историями.
У меня есть проблема.
Мой веб-сайт (на котором была опубликована эта статья) в основном обслуживается одним двоичным файлом Rust. Он стал слишком длинным. Каждый раз, когда мне нужно внести изменение, я должен:
Собрать новую статически компонуемую библиотеку (
с --target=x86_64-unknown-linux-musl)1. Скопировать её на сервер
2. Перезапустить веб-сайт
Ситуация, мягко говоря, неидеальная.
Поэтому мне бы хотелось перейти к развёртыванию веб-сайта при помощи контейнеров (будь то Docker, Kubernetes или что-то иное), в духе подавляющего большинства ПО, разворачиваемого в последний десяток лет.
Единственная проблема заключается в том, что реализовать быстрые сборки Rust с Docker не так уж просто.
https://habr.com/ru/articles/922534/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #kubernetes
🤔 Что такое Deployment в Kubernetes?
💬 Кратко:
Deployment - это объект Kubernetes, который управляет созданием, обновлением и масштабированием Pod-ов. Он позволяет автоматизировать развертывание приложений, обеспечивать отказоустойчивость и откатывать неудачные обновления.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Deployment - это объект Kubernetes, который управляет созданием, обновлением и масштабированием Pod-ов. Он позволяет автоматизировать развертывание приложений, обеспечивать отказоустойчивость и откатывать неудачные обновления.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🤓 Binsider
Binsider — швейцарский нож для реверсёров. Инструмент для анализа бинарных файлов ELF, который предлагает мощные средства статического и динамического анализа.
Харакетеристики:
🟠 Статический анализ - Позволяет анализировать структуру ELF, включая секции, сегменты, символы и перемещения.
🟠 Динамический анализ - Возможность выполнения бинарного файла и отслеживания системных вызовов, сигналов и потока выполнения программы.
🟠 Извлечение строк - Подобно команде strings, Binsider может извлекать строки из бинарного файла для поиска интересных данных, таких как URL, пароли и другая чувствительная информация.
🟠 Hexdump - Предоставляет структурированный просмотр бинарного содержимого с возможностью анализа в шестнадцатеричном формате.
Установка:
Использование:
👉 Новости 👉 База вопросов
Binsider — швейцарский нож для реверсёров. Инструмент для анализа бинарных файлов ELF, который предлагает мощные средства статического и динамического анализа.
Харакетеристики:
Установка:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh #Установка Rust
sudo apt install cargo
cargo install binsider
sudo cp /home/kali/.cargo/bin/binsider /bin
Использование:
binsider [PATH_TO_BINFILE]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес #kubernetes
🤔 Что такое CNI (Container Networking Interface) в Kubernetes?
CNI - это спецификация, определяющая стандартный интерфейс для подключения сетевых плагинов в Kubernetes. Она позволяет расширять сетевые возможности кластера, добавляя такие решения, как Calico, Flannel и Cilium.
👉 Новости 👉 База вопросов
CNI - это спецификация, определяющая стандартный интерфейс для подключения сетевых плагинов в Kubernetes. Она позволяет расширять сетевые возможности кластера, добавляя такие решения, как Calico, Flannel и Cilium.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🥄 Книга Rust Embedded Drivers (RED)
🟠 Научитесь писать простые драйверы для аппаратных устройств, работающие в экосистеме встраиваемого Rust.
🟠 Драйвер для датчика DHT для считывания влажности и температуры.
🟠 Освойте использование
https://red.implrust.com/
👉 Новости 👉 База вопросов
embedded-hal-mock для тестирования.https://red.implrust.com/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
#Собес #kubernetes
🤔 Что такое Pod Network в Kubernetes?
Pod Network - это виртуальная сеть, которая соединяет Pod-ы внутри кластера. Она позволяет Pod-ам взаимодействовать друг с другом без необходимости ручной настройки маршрутизации.
👉 Новости 👉 База вопросов
Pod Network - это виртуальная сеть, которая соединяет Pod-ы внутри кластера. Она позволяет Pod-ам взаимодействовать друг с другом без необходимости ручной настройки маршрутизации.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Новый терминал для Ubuntu — Rio
Rio — кроссплатформенный терминал на Rust с GPU‑ускорением через WebGPU.
Ключевые особенности:
🟠 Поддержка TrueColor и шрифтов с лигатурами
🟠 Вкладки, сплит‑панели, Vi‑режим
🟠 Отображение изображений (Sixel, iTerm2, Kitty)
🟠 Поддержка тем, прозрачности и blur
🟠 Управление только через горячие клавиши
🟠 Конфигурация через config.toml
Работает на Linux, macOS, Windows и ARM‑устройствах.
Установка (Flatpak):
Подробности: https://www.omgubuntu.co.uk/2025/07/rio-terminal-emulator-ubuntu
👉 Новости 👉 База вопросов
Rio — кроссплатформенный терминал на Rust с GPU‑ускорением через WebGPU.
Ключевые особенности:
Работает на Linux, macOS, Windows и ARM‑устройствах.
Установка (Flatpak):
flatpak install flathub com.rioterm.RioПодробности: https://www.omgubuntu.co.uk/2025/07/rio-terminal-emulator-ubuntu
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#Собес #kubernetes
🤔 Что такое DNS в Kubernetes?
Kubernetes DNS - это встроенный сервис, который автоматически назначает DNS-имена сервисам и Pod-ам в кластере. Он позволяет приложениям находить друг друга по доменным именам, а не по IP-адресам.
👉 Новости 👉 База вопросов
Kubernetes DNS - это встроенный сервис, который автоматически назначает DNS-имена сервисам и Pod-ам в кластере. Он позволяет приложениям находить друг друга по доменным именам, а не по IP-адресам.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨💻 Tip: Трюк доступный начиная с Rust 2024 Edition
Вы можете чейнить `if let Some(...)` прямо в одном выражении — без вложенности и лишнего кода!
Пример:
👉 Новости 👉 База вопросов
Вы можете чейнить `if let Some(...)` прямо в одном выражении — без вложенности и лишнего кода!
Пример:
fn sum_first_two(nums: &[u8]) -> Option<u8> {
let mut iter = nums.iter();
if let Some(first) = iter.next()
&& let Some(second) = iter.next() {
first.checked_add(*second)
} else {
None
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Rust
🤔 В чём разница между .unwrap() и .expect() в Rust?
💬 Кратко:
Метод .
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Метод .
unwrap() вызывает панику, если значение отсутствует, отображая стандартное сообщение об ошибке. Метод .expect() делает то же самое, но позволяет указать собственное сообщение об ошибке.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
#полезное
🤯 gpt-oss работает на специальном формате промптов — Harmony, и без него просто не будет выдавать корректные ответы.
Зачем нужен Harmony?
Этот формат нужен для:
🟠 генерации chain of thought рассуждений
🟠 корректного вызова функций и использования инструментов
🟠 вывода в разные каналы: обычный ответ, reasoning, tool call
🟠 поддержки tool namespaces и иерархических инструкций
Harmony имитирует OpenAI Responses API, так что если вы с ним работали — будет легко освоиться.
Если вы используете gpt-oss через HuggingFace, Ollama или vLLM, волноваться не нужно — формат уже встроен.
Но если строите свой inference стек — обязательно изучите [гайд по Harmony](https://github.com/openai/harmony).
Без него модель просто не будет работа
GitHub
👉 Новости 👉 База вопросов
Зачем нужен Harmony?
Этот формат нужен для:
Harmony имитирует OpenAI Responses API, так что если вы с ним работали — будет легко освоиться.
Если вы используете gpt-oss через HuggingFace, Ollama или vLLM, волноваться не нужно — формат уже встроен.
Но если строите свой inference стек — обязательно изучите [гайд по Harmony](https://github.com/openai/harmony).
Без него модель просто не будет работа
GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1👎1🔥1
#Собес #Rust
🤔 Что происходит с заимствованными данными после завершения функции?
💬 Кратко:
При заимствовании данных их владение остаётся у первоначального владельца, а не передаётся функции. Поэтому данные остаются доступными после завершения функции.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
При заимствовании данных их владение остаётся у первоначального владельца, а не передаётся функции. Поэтому данные остаются доступными после завершения функции.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#Собес #Rust
🤔 Как можно изменять переменные в Rust?
💬 Кратко:
B Rust данные по умолчанию неизменяемы. Чтобы сделать переменную изменяемой, используется ключевое слово
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
B Rust данные по умолчанию неизменяемы. Чтобы сделать переменную изменяемой, используется ключевое слово
mut .📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#полезное
👋 Лучшие практики конструкторов в Rust
Шаблоны конструкторов, которыми должен владеть каждый уважающий себя растовик, чтобы не выглядеть новичком
https://blog.cuongle.dev/p/constructor-best-practices-in-rust
👉 Новости 👉 База вопросов
Шаблоны конструкторов, которыми должен владеть каждый уважающий себя растовик, чтобы не выглядеть новичком
https://blog.cuongle.dev/p/constructor-best-practices-in-rust
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👎1🔥1🤝1
#Собес #Rust
🤔 Как создать бесконечный цикл в Rust?
💬 Кратко:
Для создания бесконечного цикла используется ключевое слово
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Для создания бесконечного цикла используется ключевое слово
looр . Для выхода из цикла применяется ключевое слово break .📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 CoreNN — база данных для работы с векторами и эмбеддингами в масштабе миллиардов, с сублинейным временем отклика на обычных серверах.
Пример: поиск по 1 млрд эмбеддингов комментариев Reddit из индекса 4,8 ТБ на диске занимает всего 15 мс.
Ключевые особенности:
🟠 Работает на дешёвых SSD/flash-накопителях, а не в дорогой DRAM → в 40–100 раз дешевле.
🟠 Масштабирование: от 1 до 1 млрд векторов в одном индексе.
🟠 Upsert и delete оптимизируют локальный граф, освобождают место и сохраняют скорость — без полной перестройки.
🟠 Поддерживает параллельные запросы и обновления без блокировок.
Гитхаб
👉 Новости 👉 База вопросов
Пример: поиск по 1 млрд эмбеддингов комментариев Reddit из индекса 4,8 ТБ на диске занимает всего 15 мс.
Ключевые особенности:
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес #Rust
🤔 Приведите пример impl-блока в Rust
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
impl -блок используется для добавления методов к структурам или перечислениям. Это позволяет инкапсулировать логику, связанную с определённым типом данных.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😐 May — это библиотека, реализующая в Rust горутины из языка Go.
Главный плюс, — отсутствие data race.
То есть не нужно юзать мьютексты или локи.
* до тех пор, пока один воркер.
Если воркеров много, то можно юзать встроенные в библиотеку мьютексты (прим. may::sync::Mutex).
Они позволяют блокировать только саму корутину.
Подробнее читайте на гитхабе, там есть примеры кода + документация.
👉 Новости 👉 База вопросов
Главный плюс, — отсутствие data race.
То есть не нужно юзать мьютексты или локи.
* до тех пор, пока один воркер.
Если воркеров много, то можно юзать встроенные в библиотеку мьютексты (прим. may::sync::Mutex).
Они позволяют блокировать только саму корутину.
Подробнее читайте на гитхабе, там есть примеры кода + документация.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Rust
🤔 Чем отличается enum o struct в Rust?
💬 Кратко:
Struct используется для объединения данных, где все поля всегда присутствуют, что удобно для хранения сложных объектов с фиксированными свойствами. Enum, напротив, позволяет хранить одно значение из нескольких вариантов, что делает его полезным для представления состояния или выбора ИЗ НеСкольких опций.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Struct используется для объединения данных, где все поля всегда присутствуют, что удобно для хранения сложных объектов с фиксированными свойствами. Enum, напротив, позволяет хранить одно значение из нескольких вариантов, что делает его полезным для представления состояния или выбора ИЗ НеСкольких опций.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
❤️🔥 Hexora — статический анализ Python-скриптов на вредоносные паттерны, написаный на Rust.
Что это:
🟠 Ищет опасные конструкции в Python-коде: чтение буфера обмена, exec/eval (включая обфускации), подозрительные импорты (pickle, ctypes, marshal), загрузку бинарей, длинные base64/hex-строки и т. п.
🟠 Полезен для аудита зависимостей (supply chain), проверки скриптов из Pastebin/GitHub, triage после инцидентов и ревью пакетов из PyPI.
Быстрый старт:
Github
👉 Новости 👉 База вопросов
Что это:
Быстрый старт:
pip install hexora # или: uv tool install hexora
hexora --help
# Проверить одиночный файл
hexora audit path/to/noscript.py
# Проверить каталог (с удобным выводом)
hexora audit --output-format terminal ./resources/test/
# Аудит пакетов из venv (и фильтрация шумных правил)
hexora audit \
--exclude HX5020,HX5030,HX5040,HX5050,HX5060 \
--min-confidence high \
.venv/lib/python3.11/site-packages/
Github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1