Reading view

Мы списали uv со счетов. А потом он ускорил наш CI на 80%


Мы списали uv со счетов. А потом он ускорил наш CI на 80%

В Python-сообществе вокруг uv уже несколько месяцев шум: быстрый резолвинг, один инструмент вместо зоопарка утилит и обещание ускорить привычный workflow. Звучит хорошо — пока не проверишь на своём стеке.

Мы так и сделали. Взяли один микросервис: Python 3.14, 37 прямых зависимостей, 153 пакета в lock-файле, приватные пакеты и внутренний Nexus. Ожидание было простым: если uv действительно быстрее Poetry, миграция окупится сама.

Локально получилось наоборот. Резолвинг — да, быстрее. Установка по готовому lock-файлу — нет, иногда даже медленнее. Эксперимент закрыли и остались на Poetry.

Через несколько недель пришлось вернуться. Не из любопытства, а из-за алерта Trivy и сюрпризов Poetry 2 с корпоративными индексами. И вот тогда uv показал себя совсем в другом месте — в CI.

В статье разберем:

- почему локальный бенчмарк uv vs Poetry нас обманул;
- как Poetry 2 сломал привычную разработку без VPN;
- зачем мы писали парсер poetry.lock requirements.txt и почему это оказалось костылём;
- как точечная замена Poetry на uv sync в пайплайне сократила время с 5:10 до 2:50;
- почему в итоге uv стал единым стандартом и локально, и в CI.

Коротко: если инструмент не выиграл с первого прогона — это ещё не значит, что он бесполезен. Часто вы просто мерили не то узкое место.

Читать далее
  •  

Как я написал простой HTML-сайт, который избавляет от ручного поиска и конвертации бренд-иконок

Каждый раз, когда верстаешь новый проект, лендинг или дэшборд, Дизайнер просит поставить на плашки ссылки со свежими логотипами сервисов, соцсетей или технологического стека. Начинается отдельная каста разработки и дизайна: найди официальный брендбук, вытащи оттуда SVG (Не факт что он там будет) или иди на сторонние агрегаторы, где половина файлов кривые, а скачивание запрятано за скрытой рекламой "Скачать Яндекс". Когда мне это полностью надоело я создал свой сервис - ГдеИконка (GdeIkonka)

Читать далее
  •  

ICML 2026: большая конференция глазами исследователя генеративных моделей

Привет, Хабр! Меня зовут Арсений Иванов, в AIRI в команде «Вычислительный интеллект» я занимаюсь генеративными моделями на основе диффузионных процессов, а также являюсь студентом университетов Сколтеха и ВШЭ. В июле я побывал на ICML 2026, где в том числе представлял две работы на конференции. 

Для меня это была первая очная конференция уровня A*, поэтому поездка была одновременно важной научной возможностью и совершенно новым опытом. Она получилась очень насыщенной и по науке, и по нетворкингу. Сейчас, когда эмоции уже улеглись и мысли устаканились, захотелось поделиться своими впечатлениями и размышлениями о увиденном.

Читать далее
  •  

Часть I. Знакомство с UNO. Как синтаксическая типизация стала основой нового языка разметки

Вспомните себя в те времена, когда вы только знакомились с информационными технологиями. Что вы чувствовали, начиная работать с XML, JSON, TOML, YAML и другими языками разметки?

Лично мне поначалу было крайне сложно работать с HTML, особенно без подсветки. Позже пришлось разбираться с кавычками и скобками JSON, которые виделись мне сущим кошмаром. Впоследствии я осознал гениальность этих языков, но осадочек остался. Поэтому время от времени я возвращался к мысли о создании понятной для человека языка Универсальной Нотации Объектов. И получилось. Познакомьтесь, пожалуйста, это UNO — и ваше участие в его развитии будет весьма полезно.

Как появился UNO

Однажды мне потребовалось завести небольшие структурированные описания некоторых сущностей в обычных текстовых файликах. Предполагалось, что их будут заполнять и обычные люди, не знакомые с IT. Что ставило под сомнение выполнимость задачи. Сдаваться? Да ни в коем случае, вызов принят. Тем более, задача воспринималась как тренировка мышления.

Что же это за UNO такой?
  •  

Своя Linux-based ОС на Rust и QML: опыт создания Platinum OS One

Полгода назад я решил не кастомизировать очередной Armbian под конкретную плату, а собрать полноценную ОС: свой build-движок уровня Cargo, свою оболочку на QML поверх вложенного Wayland-композитора — и универсальность как главную ставку: одна система для одноплатников, планшетов и ПК. Первая плата — Orange Pi Zero 3W.

В статье — архитектура, где различия между устройствами живут в данных, а не в коде движка; реальный прогон сборки образа с точными цифрами по каждой из 14 стадий; и то, что обычно не показывают в анонсах — три production-краша с разобранными причинами (SIGSEGV в движке QML, AppArmor против snap-песочницы, macOS tar, портящий Wayland-модуль) и три находки первой живой загрузки на настоящем железе.

Читать далее
  •  

Linux Capabilities: новый root, объяснения и примеры работы

Изначально с Capabilities я лично столкнулся в своем проекте ServeHub-2, когда настраивал контейнеры в docker-compose. Если быть более конкретным, я настраивал WG-easy с использованием AmneziaWG, которому нужны были привилегии, связанные с загрузкой модулей ядра и настройками интерфейсов. До этого я слышал о Capabilities, но не знал что это такое, поэтому решил подробнее в этом разобраться.

Сначала разберу общее понятие, что вообще такое Capabilities (далее буду кратко писать CAP), потом постепенно перейду к примерам.

В конце статьи приведу дополнительные материалы, на которые я опирался при написании этой статьи, их также будет полезно почитать/посмотреть, если остались какие-то вопросы или если просто интересно разобрать тему грубже.

Читать далее
  •  
❌