8052
Rust programming language По всем вопросам- @haarrp @ai_machinelearning_big_data - машинное обучение @programming_books_it - бесплатные it книги @pythonl - 🐍 @ArtificialIntelligencedl - AI @datascienceiot - ml 📚 #VRHSZ
⚡️ Илон Маск придумал телеграм анонсировал новый XChat.
Новый XChat теперь доступен с шифрованием, самоуничтожением сообщений, возможностью отправки любых типов файлов и поддержкой аудио- и видеозвонков.
Приложение создано на Rust и использует шифрование (как в Биткойн) и новую архитектуру.
А еще можно звонить без номера телефона.
@ai_machinelearning_big_data
#elonmusk #ai #news #ml #grok
🔥 From C# to Rust: 42-дневный челлендж от Chris Woody Woodruff
Chris Woodruff, экспериментающий .NET-разработчик, объявил старт своего 42-дневного пути погружения в Rust — язык системного программирования, совмещающий производительность, безопасность и отсутствие null:contentReference[oaicite:0]{index=0}.
🎯 Цели проекта
- Жить и дышать Rust — по одному уроку в день.
- Противостоять строгому borrow checker.
- Осознанно учиться и делиться выводами от лица C#-разработчика.
🛠 Что ожидается изучить
- Владение памятью, шаблоны, трейты, времена жизни (`lifetimes`).
- Яркие сравнения Rust и C#: синтаксис, ownership vs GC, ошибки компилятора:contentReference[oaicite:2]{index=2}.
- Краткие ежедневные отражения из .NET-мира.
📅 Примерный план на 42 дня
1. День 1–7: Почему Rust? Установка, cargo new vs dotnet new, "Hello, World!", переменные, функции:contentReference[oaicite:4]{index=4}.
2. День 8–14: Неделя владения — темы: ownership, borrowing, borrow checker:contentReference[oaicite:5]{index=5}.
3. День 15–42: Структуры, перечисления (`enum`), match, Option<T>, Result<T, E>, модули, ошибки, трейты, дженерики, лямбды и многое другое.
💬 Голос из сообщества
> «What happens when a C# dev swaps null for Option, garbage collection for ownership… You get 42 days of brain‑bending, compiler‑fighting…»
✨ Подытожим
- Проект идёт с апреля 2025 года, уже опубликованы десятки дневных эссе.
- Каждая запись по мотивам реального опыта: «why won’t this compile?!», сравнения с привычным C#.
- В финале — обзор полученного опыта, личные инсайты и примеры рабочего CLI‑приложения на Rust:contentReference[oaicite:8]{index=8}.
🚀 Готовы бросить вызов себе и глубже понять Rust?
Следите за дневником Woody и за входом в мир безопасных без‑GC систем прямо с .NET-опытов!
🔗 Подробнее: From C# to Rust: A 42-Day Developer Challenge
https://woodruff.dev/from-c-to-rust-a-42-day-developer-challenge/
🦀 Победа для всего Rust-сообщества: состоялся релиз Linux 6.15 — и он действительно важный
Новый релиз ядра Linux 6.15 — не просто очередное обновление. Это первая версия, где Rust-код стал частью реального продакшн-функционала ядра, а не просто экспериментом.
🔥 Что нового:
• Поддержка Rust в драйверах и подсистемах (в том числе networking)
• Начало перехода некоторых компонентов с C на memory-safe Rust
• Улучшена совместимость с архитектурами RISC-V и ARM
• Обновления в системах безопасности, файловых системах и планировщике задач
💬 Линус Торвальдс уже заявил, что Rust — это будущее для многих чувствительных компонентов ядра, особенно в мире, где безопасность становится ключевым фактором.
📌 Rust в ядре — это не просто «новый язык». Это переход к более безопасной, надёжной и современной экосистеме Linux.
🔗 Подробнее:
https://www.zdnet.com/article/the-linux-6-15-kernel-arrives-and-its-big-a-victory-for-rust-fans/
@rust_code
⚡️ Pydantic Core — Rust-ядро для валидации данных в Python. Этот низкоуровневый валидатор демонстрирует впечатляющую скорость: до 17x быстрее оригинальной реализации на чистом Python.
Хотя напрямую с ним обычно не работают (используя вместо этого основной пакет pydantic), проект интересен как пример интеграции Rust в Python-экосистему. Валидация описывается через JSON-схемы, поддерживая сложные условия вроде ge: 18 для чисел или вложенных структур. Сборка требует Rust toolchain, но результат стоит того: например, валидация списка из 10к элементов занимает миллисекунды.
🤖 GitHub
RustScan – Инструмент для быстрого сканирования портов
Данный проект может похвастаться высокой скоростью работы(Сканирует все 65 тыс. портов за 3 секунды), гибкой расширяемостью и адаптивным методом работы.
https://github.com/bee-san/RustScan
⚡️Почему Rust — один из самых любимых языков среди разработчиков? Почему он всё чаще выбирается вместо C++ и других языков для разработки высокопроизводительных приложений?
На открытом вебинаре 22 мая в 20:00 мск мы расскажем, почему Rust привлекает так много разработчиков по всему миру. Вы узнаете, какие проблемы решает этот язык, почему его производительность и безопасность привлекают специалистов, а также как Rust занимает свою нишу в программировании.
Если вы хотите перейти на Rust или улучшить свои навыки, вы получите ответы на все вопросы. Мы обсудим его ключевые особенности, нововведения и возможности для использования в реальных проектах.
👉Запишитесь на открытый урок и получите скидку на большое обучение «Rust Developer. Basic»: https://otus.pw/GPhS/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
🤖 Тест по Rust проверь свои знания, готов ли ты к обучению на курсе.
Ответишь — пройдешь на курс "Rust Developer. Professional" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса
За 5 месяцев обучения ты разберёшь ключевые особенности Rust и сможешь не только разрабатывать сложные программные продукты, но и в целом лучше проектировать ПО.
➡️ ПРОЙТИ ТЕСТ
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
OpenAI представляет Codex — облачного агента для генерации кода, способного выполнять множество задач параллельно.
В основе — модель codex-1.
🧠 Ключевые особенности:
• Codex работает прямо в браузере
• Поддерживает многозадачность: можно одновременно проверять код, задавать вопросы и переключаться между задачами
• Построен на **новой модели Codex-1** — самой мощной модели для кодинга от OpenAI
• Интеграция с GitHub — можно подключить свой аккаунт, и агент будет работать с вашими репозиториями
🚀 Codex — это шаг в сторону полуавтоматизированной разработки, где ИИ способен выполнять рутинную и аналитическую работу без постоянного контроля со стороны разработчика.
📅 Запуск ожидается уже сегодня.
▪ Релиз: https://openai.com/index/introducing-codex/
@ai_machinelearning_big_data
#OpenAI #Codex #AI #CodeAutomation #DevTools
Выпуск Rust 1.87
🔧 Основные изменения
- Улучшения системы типов: Введены новые возможности для более точного определения типов, что повышает безопасность и выразительность кода.
- Оптимизации компилятора: Улучшена производительность компиляции, особенно для крупных проектов, что сокращает время сборки.
- Расширения стандартной библиотеки: Добавлены новые функции и улучшены существующие модули, такие как std::fs и std::net, что упрощает разработку приложений.
- Улучшения в работе с асинхронным кодом: Обновления в async/await механизмах обеспечивают более стабильную и предсказуемую работу асинхронных операций.
Полный список изменений и подробности:http
⁉️ Хотите научиться разрабатывать веб-сервисы на Rust?
📅 19 мая в 20:00 МСК на открытом вебинаре мы покажем, как создать мощный и эффективный веб-сервис с использованием HTTP и gRPC API на Rust.
Что вас ждёт:
— Разбор бизнес-логики веб-сервиса.
— Реализация HTTP и gRPC API.
— Разработка клиентского приложения и тестов для сервиса.
🎁 Открытый урок проходит в преддверие старта курса «Rust Developer. Professional». Все участники получат скидку на обучение.
➡️ Запишитесь прямо сейчас, чтобы не пропустить: https://otus.pw/ESP2/?erid=2W5zFGbnWVE
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🔐 Как сделать код на Rust надёжнее и безопаснее?
📅 14 мая в 20:00 МСК мы разберём ключевые аспекты работы с контрактами и инвариантами в Rust на открытом вебинаре.
❗️Что вас ждёт:
— Разберём понятие инварианта и как он работает в Rust.
— Обсудим инвариант безопасности и его роль в написании надежного кода.
— Узнаем, как создавать удобные и безопасные контракты для API.
🦀 Вы освоите использование системы типов Rust для создания надёжных решений и узнаете, как компилятор и система типов помогают писать безопасный и эффективный код.
➡️ Регистрируйтесь и получите скидку на программу обучения «Rust Developer. Professional»: https://otus.pw/9LnV/?erid=2W5zFHCHQ3a
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Virviil/oci2git
Это консольное приложение на Rust, которое преобразует контейнерные образы (Docker и др.) в Git-репозитории. Каждая слоя образа превращается в отдельный коммит, что позволяет сохранять всю историю и структуру исходного образа
Основные возможности:
- Поддержка разбора Docker-образов и извлечения информации о слоях.
- Генерация Git-репозитория, где каждый слой соответствует одному коммиту (включая «пустые» слои вроде ENV и WORKDIR)
- Экспорт всей метаинформации об образе в файл Image.md в формате Markdown.
- Расширяемая архитектура для работы с разными движками контейнеров (docker, nerdctl, tar)
- Типичные сценарии использования:
- Сравнение слоёв (Layer Diffing): благодаря git diff можно увидеть точные изменения между любыми двумя слоями образа и выявить, какие файлы были добавлены, изменены или удалены
- Отслеживание происхождения (Origin Tracking): команда git blame помогает быстро понять, в каком слое и какой Dockerfile-инструкции был впервые создан или изменён конкретный файл
GitHub
- История файла (File Lifecycle): с помощью git log --follow можно проследить путь любого файла через все слои: от создания до удаления
GitHub
- Исследование слоёв (Layer Exploration): переключаясь на любой коммит, вы получаете файловую систему образа в состоянии этого слоя, что удобно для отладки и аудита безопасности
Github
💫 GlueSQL — SQL-движок, превращающий любые данные в полноценную базу данных. Этот инструмент умеет выполнять JOIN между CSV и MongoDB, работать с Git как с хранилищем данных и даже запускать SQL-запросы прямо в браузере через WebAssembly.
Что отличает GlueSQL от классических СУБД?
- Поддержка schemaless-данных
- Встроенные адаптеры для 10+ форматов
- Возможность добавлять свои хранилища через реализацию двух traits на Rust
Проект активно развивается: недавно добавили поддержку транзакций в Sled-бэкенде и анонсировали облачную версию. Для теста достаточно cargo add gluesql и уже можно писать SQL-запросы к данным в памяти.
🤖 GitHub
🔥 Burn — Rust-фреймворк для глубокого обучения с акцентом на производительность. В отличие от монолитных решений вроде PyTorch, Burn изначально заточен под кросс-платформенное выполнение: одна и та же модель может работать на NVIDIA/AMD GPU через CUDA/ROCm, на Apple-чипах через Metal и даже в браузере через WebGPU.
Главная фишка проекта в модульной архитектуре с подключаемым бэкендом и автоматической оптимизацией вычислений. Например, система умеет объединять операции ядер без ручного вмешательства. Для исследователей есть встроенный дашборд для мониторинга обучения, а для продакшна простая конвертация в ONNX.
🤖 GitHub
👣 Pyrefly — это новая, высокопроизводительная система статической типизации и IDE-платформа, написанная на Rust, для Python, разрабатываемая командой Facebook.
Главное:
🔍 Наследник Pyre
Pyrefly задуман как следующая версия проверяльщика типов Pyre от Meta, но с упором на скорость, модульную архитектуру и возможность генерации «типизированного» AST.
🚀 Реализовано на Rust
Большая часть кода написана на Rust для лучшей безопасности памяти и конкурентности. Только ~1 % кода в Python и ~6 % в TypeScript (для интерфейса сайта и LSP).
⚙️ Три этапа проверки
Сбор экспорта каждого модуля (решение всех import * рекурсивно)
Преобразование кода в набор «байндингов» (definitions, uses, anon) с учётом потоковых типов
Решение этих байндингов (flow-types, phi-функции при ветвлениях и рекурсии)
💡 Масштабируемость и инкрементальность
Модульно-ориентированный подход: проверка каждого модуля целиком, с возможностью параллельного запуска и минимальной сложности по сравнению с тонкозернистыми DAG-алгоритмами.
🛠️ Интеграция и упаковка
Разработчикам Rust: cargo build, cargo test
Во внутренних проектах Meta: запуск через Buck2 (buck2 run pyrefly -- check file.py)
Для PyPI: сборка колес через Maturin (pip install maturin && maturin build)
📡 IDE-функции и LSP
Включена поддержка Language Server Protocol для автодополнения, перехода к определению и интерактивной отладки в редакторах.
📆 Планы
Полная замена Pyre к концу 2025 года с выпуском стабильных версий на PyPI каждую неделю.
📜 Лицензия
MIT — свободное использование и вклад в проект приветствуются.
🔜 Узнать подробнее и принять участие можно в репозитории: Github
@rust_code
🎯 Задача на владение (ownership) и ссылки в Rust
Напиши функцию longest_word<'a>(a: &'a str, b: &'a str) -> &'a str,
которая возвращает слово с наибольшей длиной из двух строк.
Но есть ограничение: ты не можешь копировать строки — только возвращать ссылку.
📌 Пример:
fn main() {
let s1 = String::from("pirate");
let s2 = String::from("gold");
let result = longest_word(&s1, &s2);
println!("Longest: {}", result); // 👉 "pirate"
}
'a, компилятор не поймёт, какая ссылка может жить дольше.String нельзя — только &str (ссылка на строку).
МТС приглашает разработчиков на масштабную ИТ-конференцию True Tech Day 6 июня. Участие бесплатное.
В программе — спикеры российского и международного ИИ-рынка, лидеры бигтехов и ученые.
Тебя ждут 4 трека и 40+ докладов. Какие темы будем обсуждать:
— GPT для роботов: как ИИ учится взаимодействовать с реальным миром.
— Мультиагенты — главный AI-тренд 2025. Речь не просто о чат-ботах, а о системах, которые умеют спорить, сотрудничать и достигать целей.
— Автоматизация архитектурных аудитов с помощью ИИ: создание архитектурного datalake для сбора данных из Git, Kubernetes, мониторинга и других источников.
— Новая архитектура под AI: что приходит на смену микросервисам и как архитектор становится дизайнером когнитивного интерфейса.
— Архитектура «as code»: как автоматизировать проверку актуальности схем и генерировать их из реальной инфраструктуры, чтобы разработка всегда соответствовала замыслу архитектора.
— Разбор RAG: что это, зачем нужно, архитектурные подходы и их слабые места, как измерять качество и избегать ложных метрик.
Среди спикеров:
Иван Оселедец (AIRI), Пабло дель Веккио (NTT DATA), Кен Чжун Ли (Kyung Hee University), Алексей Друца (Яндекс), Александр Абрамов (Сбер), Павел Бабин (MWS GPT), Валентин Малых (MTS AI), Антон Скогорев (Т-Банк), Артем Якимчук (Сколтех) и другие эксперты.
Тебе точно стоит быть, если ты:
— разработчик, архитектор или технический руководитель;
— хочешь понять, что реально работает, а что — хайп.
Когда: 6 июня
Где: Москва, МТС Live Холл и онлайн
Регистрация по ссылке.
🦀 Rust понижает поддержку 32-битной сборки для Windows (i686-pc-windows-gnu)
26 мая 2025 года команда Rust официально объявила: начиная с версии Rust 1.88.0, цель i686-pc-windows-gnu (32-битная сборка под Windows с GNU toolchain) больше не будет Tier 1. Её статус понижен до Tier 2 с поддержкой хост-инструментов.
🔧 Что изменится:
• Бинарники и стандартная библиотека по-прежнему будут доступны через rustup
• Однако автоматическое тестирование на CI сокращается
• Возможны баги и сниженная стабильность без гарантий быстрой починки
📉 Почему так:
• Нет активных мейнтейнеров для *-windows-gnu целей
• Сложно отлаживать ошибки без специалистов
• 32-битная сборка почти не используется в сравнении с x86_64-pc-windows-gnu
📌 Что дальше:
Если ситуация не изменится, возможен полный отказ от поддержки этой цели. Сообщество Rust призывает желающих подключиться к поддержке *-windows-gnu.
📖 Подробнее:
https://rust-lang.github.io/rfcs/3771-demote-i686-pc-windows-gnu.html
@rust_code
🦀 Rust и магия динамики: как создать Python‑подобный API с помощью Serde
В новой статье *Ohad Dravid* демонстрирует, как в языке Rust можно добиться удобства динамического доступа к данным — в духе Python — но без потери строгой типизации и производительности. Всё это — с помощью мощной библиотеки serde.
📌 Статья: *“A Rust API Inspired by Python, Powered by Serde”*
🔗 [ohadravid.github.io/posts/2025-05-serde-reflect](https://ohadravid.github.io/posts/2025-05-serde-reflect/)
🔍 Проблема
Python позволяет обращаться к произвольным полям объектов, например при работе с WMI:
for fan in c.Win32_Fan():
print(fan.Name, fan.DesiredSpeed)
get_attr, делать match, проверять типы и всё это каждый раз.serde и аккуратной архитектуры.raw_api.rs — примитивный уровень
pub enum Value { Bool(bool), I1(i8), UI8(u64), String(String), Object(Object) }
impl Object {
pub fn get_attr(&self, name: &str) -> Value { /* ... */ }
}
match, приведения типов, извлечения значений.v1_api.rs — пользователь сам описывает структуру + ручная десериализацияstruct, и сам реализует для него трейт, чтобы распаковать поля.v2_api.rs — Serde‑магию включеноquery() возвращает Vec<T>:
#[derive(Debug, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct Fan {
name: String,
active_cooling: bool,
desired_speed: u64,
}
let res: Vec<Fan> = query();
for fan in res {
if fan.active_cooling {
println!("Fan `{}` is running at {} RPM", fan.name, fan.desired_speed);
}
}
match serde::Deserialize meta.rs, который: Deserialize, можно использовать как результат запроса.serde-reflection для полного introspection serde — это не только про производительность и безопасность, но и про удобный API, если правильно подойти к задаче. Этот проект показывает, как можно сделать гибкий, декларативный, типобезопасный интерфейс для работы с данными — без костылей и магии рантайма.
🦀 Как упростить изучение Rust: советы от Corrode
Rust — мощный и надёжный язык, но его обучение часто вызывает трудности даже у опытных разработчиков. В свежем блоге [Corrode Rust Consulting](https://corrode.dev/blog/flattening-rusts-learning-curve/) делятся рекомендациями, как сгладить кривую обучения Rust без боли и выгорания.
🔑 Основные советы:
- Примите особенности языка
Не сопротивляйтесь системам владения и заимствования — воспринимайте их как инструменты безопасности, а не ограничения.
- Начинайте с "грязных" решений
Используйте clone(), unwrap(), expect() на старте — позже замените на идиоматичный и безопасный код.
- Учитесь постепенно
Разбивайте обучение на этапы, пишите много маленьких программ в [Rust Playground](https://play.rust-lang.org/).
- Читайте ошибки компилятора вдумчиво
В Rust компилятор — это не враг, а учитель. Он подсказывает, как мыслить «по-растовски».
- Пишите вручную, не полагайтесь на IDE
Автокомплит мешает усвоению синтаксиса — набирайте код вручную, чтобы лучше понять структуру.
- Проектируйте через типы
Rust даёт мощную систему типов — используйте её как инструмент проектирования, а не просто проверки.
📖 Полный текст: https://corrode.dev/blog/flattening-rusts-learning-curve/
Хороший Rust-разработчик — не тот, кто никогда не ошибается, а тот, кто умеет читать сообщения компилятора и не сдаваться.
🦀 Задача на Rust: "Найди пропавшее число"
Условие
У тебя есть Vec<String>, в котором находятся строки от "1" до "100", но одно число отсутствует.
Найди его без использования sort, HashMap, iter().sum() и т. д.
Можно использовать parse::<u32>().
Формат функции:
fn find_missing_number(data: &Vec<String>) -> u32
fn find_missing_number(data: &Vec<String>) -> u32 {
let mut xor_full = 0;
let mut xor_data = 0;
for i in 1..=100 {
xor_full ^= i;
}
for s in data {
if let Ok(n) = s.parse::<u32>() {
xor_data ^= n;
}
}
xor_full ^ xor_data
}
fn main() {
let mut data: Vec<String> = (1..=100)
.filter(|&x| x != 42)
.map(|x| x.to_string())
.collect();
use rand::seq::SliceRandom;
let mut rng = rand::thread_rng();
data.shuffle(&mut rng);
let missing = find_missing_number(&data);
println!("Пропущено: {}", missing); // Ожидается 42
}
[dependencies]
rand = "0.8"
a ^ a = 0, 0 ^ b = b.
Читать полностью…
📌 napi-rs — мост между Node.js и Rust. Это фреймворк для создания нативных расширений Node.js на Rust через Node-API, без необходимости работать с node-gyp или другими инструментами сборки C++.
Достаточно добавить аннотацию #[napi] к Rust-функциям и они становятся доступными в JavaScript как обычные модули. Под капотом napi-rs автоматически генерирует binding-код, поддерживает асинхронные операции через tokio и даже предоставляет CLI для удобной сборки. Собранные `.node`-файлы работают на Windows, macOS, Linux и даже Android.
🤖 GitHub
🛡Децентрализованные приложения (dApps) — от идеи до реального продукта
Вы узнаете, как создаются современные приложения на блокчейне — без серверов, посредников и единого центра управления.
Простыми словами разберем:
- Что такое dApps и чем они отличаются от обычных мобильных приложений.
- Как превратить свою идею в работающий блокчейн-проект — пошаговый план.
- Какие инструменты используют разработчики (и как в этом разобраться без технического бэкграунда).
На живом примере вместе пройдем путь от задумки до готового прототипа — вы увидите, как выглядит процесс разработки "под капотом".
👉 Регистрация и подробности о курсе “Разработка децентрализованных приложений”
https://otus.pw/xxlS/?erid=2W5zFJSTFWx
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🎉 С днём рождения, Rust! 🦀
10 лет с момента выхода Rust 1.0 — языка, который подарил миру безопасное, быстое и конкурентное программирование.
Отпразднуем вместе с невероятным сообществом и тысячами проектов, созданных на Rust!
#rust #Rust10Years #программирование
https://blog.rust-lang.org/2015/05/15/Rust-1.0/
🚀 Nova — новый движок JavaScript/Wasбm на Rust. Этот экспериментальный проект пытается переосмыслить архитектуру JS-движков через призму data-oriented design. Вместо классических указателей Nova использует индексы и векторы, чтобы минимизировать накладные расходы и улучшить кэширование.
Пока движок далёк от готовности, но подход к разработке вызывает интерес, например safepoint garbage collector, построенный на особенностях системы заимствований Rust — это попытка максимально приблизить структуру кода к ECMAScript-спецификации.
🤖 GitHub
🦀 Rust-задача с подвохом: “Ловушка безопасного кэша”
📘 Условие
Ты хочешь реализовать простой кэш — если значение уже вычислено, вернуть его, иначе — сохранить и вернуть.
Вот пример:
use std::collections::HashMap;
fn main() {
let mut cache = HashMap::new();
let key = "user_123".to_string();
let result = get_or_insert(&mut cache, &key, || {
println!("Computing...");
"result for user_123".to_string()
});
println!("Result: {}", result);
}
fn get_or_insert<'a, F>(map: &'a mut HashMap<String, String>, key: &str, compute: F) -> &'a String
where
F: FnOnce() -> String,
{
map.entry(key.to_string()).or_insert_with(compute)
}
or_insert_with(compute) и владении ключом..entry() требует ключ во владение (`String`), а key у нас — &str. or_insert_with происходит вызов compute(), который может вернуть ссылку на строку, но Rust не может доказать, что ссылка будет жить достаточно долго.&'a String, полученное из HashMap::entry, не может быть безопасно связано с временем жизни `map`, потому что key.to_string() создаёт временное значение, и lifetime не совместим.map.entry().or_insert_with() выглядит «канонично»
Senior Rust Developer в BlockSniper
Удалёнка | full-time | 400–700K ₽ + премии
Мы лидеры в снайпинге токенов на Solana. Пишем трейдинг-ботов и высокоскоростные стратегии. Уже 4 года в деле, 50 человек в команде, работаем без бюрократии — только результат. Премии от прибыли: топы получают +300K к зп.
💻 Что важно:
— Опыт в Rust, Solana (Anchor, CLI, деплой)
— Знание JS/TS, понимание RPC/DApps/PoS
— Опыт с HFT, трейдингом или ботами
— Умение вести проект от идеи до продакшена
🧩 Ищем тех, кто не боится челленджей:
у нас нужно разбираться, предлагать, выстраивать. Самостоятельность — must-have. Взамен даём максимум свободы, зп и роста.
🎁 Можете быть уверены в:
— Конкурентной зп + доход от прибыли команды
— Полной удаленке, оплачиваемом отпуске и больничном
— Том, что мы вкладываемся в рост: обсуждаем бенефиты, помогаем развиваться
Напиши нашему HR Маргарите 👉 @m_dereviakina, если ищешь место, где можно развиваться, расти и хорошо зарабатывать.
С этим вашим Kubernetes отладка превратилась в квест на выживание!
Часами гребёшься в логах, метрики пляшут как попало, а деплой через Helmfile — вообще отдельный вид искусства.
Чтобы K8s помогал, а не топил в рутине, нужно понять, как он работает под капотом. Иначе — вечные страдания 🥲
➡️ Приходи на курс «Kubernetes для разработчиков» от Слёрма.
Там ты:
👉 Научишься нормально дебажить свои приложения прямо в Кубе
👉 Разберёшься с логами и метриками
👉 Подружишься с Helm’ом
👉 Наконец заведёшь CI/CD как надо
То есть получишь скиллы, чтобы работать с K8s в кайф.
📅 Старт — 26 мая
🔗 Запрыгивай на борт курса «Kubernetes для разработчиков» — пока есть места!
Реклама ООО «Слёрм» ИНН 3652901451
🛡Безопасность в разработке dApps: уязвимости и защита
На уроке мы разберем основные угрозы безопасности в децентрализованных приложениях (dApps) и научимся защищать смарт-контракты от атак. Вы узнаете, какие уязвимости наиболее распространены в Solidity, как хакеры эксплуатируют ошибки в коде и какие методы защиты можно применять. В практической части занятия мы рассмотрим реальные примеры атак на смарт-контракты, проанализируем их причины и предложим решения для их предотвращения.
В результате занятия получите:
- Понимание ключевых уязвимостей в Solidity и способах их эксплуатации
- Практические навыки защиты смарт-контрактов от атак
- Разбор реальных кейсов атак и методов их предотвращения
-Четкое представление о том, как разрабатывать безопасные dApps
👉 Регистрация и подробности о курсе “Разработка децентрализованных приложений”
https://otus.pw/t9GS/
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963
🔥CocoIndex — это современный ETL-фреймворк с открытым исходным кодом, предназначенный для подготовки данных к использованию в системах искусственного интеллекта. Он поддерживает пользовательскую логику трансформации и инкрементальные обновления, что делает его особенно полезным для задач индексации данных.
🔧 Основные возможности
- Инкрементальная обработка данных: CocoIndex отслеживает изменения в исходных данных и логике трансформации, обновляя только изменённые части индекса, что снижает вычислительные затраты.
- Поддержка пользовательской логики: Фреймворк позволяет интегрировать собственные функции обработки данных, обеспечивая гибкость при построении пайплайнов.
- Модульная архитектура: Встроенные компоненты для чтения данных (локальные файлы, Google Drive), обработки (разбиение на чанки, генерация эмбеддингов) и сохранения результатов (PostgreSQL с pgvector, Qdrant).
- Поддержка различных форматов данных: Поддержка текстовых документов, кода, PDF и структурированных данных, что делает CocoIndex универсальным инструментом.
🚀 Примеры использования
- Семантический поиск: Индексация текстовых документов и кода с эмбеддингами для семантического поиска.
- Извлечение знаний: Построение графов знаний из структурированных данных, извлечённых из документов.
- Интеграция с LLM: Извлечение структурированной информации из неструктурированных данных с помощью больших языковых моделей.
## ⚙️ Быстрый старт
1. Установите библиотеку CocoIndex:
pip install -U cocoindex