Обновить

Моя лента

Тип публикации
Порог рейтинга
Уровень сложности
Предупреждение
Войдите или зарегистрируйтесь, чтобы настроить фильтры
Статья

Джентльменский набор образов — пособие для администраторов

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели16K

Всем привет! С Вами вновь на связи Евгений Листраткин, ведущий инженер команды администрирования клиентских сервисов в Selectel. Наша работа — DevOps as a Service. Трудимся и в дата‑центрах других компаний, и вообще на любых площадках.

В работе любого DevOps-инженера есть неизбежная рутина — из раза в раз разворачивать одни и те же типовые сервисы, которым часто с головой хватает базовых настроек. Ansible или Puppet — типичное решение.

Но неужели писать плейбуки ради одного бинарника или готового файла Docker Compose?!

Давайте разберем быструю альтернативу — развертывание инфраструктуры из готовых образов с предустановленным ПО. Материал будет полезен DevOps-инженерам, сисадминам и тимлидам — избавит от рутины, сэкономит время команды, научит раскатывать типовые среды без написания лишнего кода.

Читать далее →
Статья

Как мы мигрируем навигацию на Compose в Android-приложениях с 400+ экранами

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели5.7K

Привет, Хабр! Меня зовут Константин Дубинко, я — Android-техлид в  hh.ru. Сейчас мы заканчиваем большой переезд навигации в двух Android-приложениях — для соискателей и работодателей. В этой статье я покажу, как у нас там устроена навигация, почему мы решили отказаться от Fragment-навигации и как превратили хаотичную миграцию с «островками» новой архитектуры в управляемый процесс с метриками и понятным планом работ. Заодно расскажу, какие решения сработали, какие — нет, и что я сделал бы иначе, если бы начинал заново.

Читать далее
Статья

Finetune Lora Qwen3vl и прочие приключения

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели5.8K

У меня была видеокарта NVIDIA A100, максимальный объём памяти 79,254 Гб. Нужно было извлечь ключевую информацию (задача Qwestion Answering) из 6000 многостраничных документов. Всего было 15 полей разного типа:

Фродо_Бэггинс_паспорт — серия и номер паспорта в Средиземье Сэмуайз_Гэмджи_инн — ИНН, полученный в Мордоре
Хоббит_номер_страховки — номер страхового полиса (эльфийского) Мериадок_Брендибак_пол — пол
Хоббит_диаметр_кольца — диаметр кольца Всевластия
Перегрин_Тук_вес — вес
Гэндальф_Серый_длина_посоха — длина посоха в сантиметрах Майар_количество_упоминаний — количество упоминаний в документе его имени Арагорн_дата_рождения — дата рождения
Леголас_Эльф_количество_стрел — количество стрел
Гимли_фио — ФИО полностью
Боромир_дата_смерти — дата смерти
Саурон_количестов_пальцев — количество пальцев после войны
Орки_количество — сколько орков указано документе
Волки_количество — сколько волков указано в документе

Ну, понятное дело, все поля обфусцированы (на самом деле это обычные юридические документ, причем их форма различается в зависимости от того, кто их делал). Особенность была в том, что все поля могут быть расположены на одной странице документа или размазаны по всему документу, а страниц может быть до 80.

Читать далее
Статья

Как мы перепридумали голосовую активацию для Яндекс Дропс и уместили новую модель в 200 килобайт

Время на прочтение8 мин
Охват и читатели19K

Голосовая активация в умных колонках — задача в целом решённая: несколько микрофонов, стабильное питание от розетки, хороший процессор. А вот перенести то же самое в наушники оказалось совсем другой историей.

Крошечный аккумулятор, мало памяти, чип с жёсткими ограничениями по тактовой частоте, да ещё и с кое‑какими неожиданным сюрпризами на уровне SDK. Всё это потребовало переосмыслить с нуля архитектуру споттера (компонента, который распознаёт обращение «Алиса» прямо на устройстве). 

Меня зовут Григорий Афанасенко, я работаю в команде голосовых технологий Яндекса. Сегодня мы запустили Яндекс Дропс — первое носимое ИИ‑устройство с Алисой AI. В этой статье я расскажу, как мы адаптировали споттер под железо наушников, какие решения пришлось принять, где мы наступили на грабли и что планируем делать дальше. 

Читать далее
Новость

Microsoft позволила отключить Bing в поиске Windows 11

Время на прочтение2 мин
Охват и читатели5.3K

Microsoft в ответ на негативные отзывы пользователей позволит им полностью отключить Bing в поиске Windows 11. Также компания заявила, что поиск будет отдавать приоритет локальным, а не веб-результатам, даже если ввести всего два символа.

Читать далее
Статья

Кейс: как мы внедрили более 80 роботов на действующем распределительном центре X5 без остановки склада

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.2K

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

В этом кейсе расскажем о роботизации распределительного центра (РЦ) «Новая Рига» X5 –  крупнейшем логистическом объекте торговой сети «Пятёрочка». Проект стал одним из самых масштабных внедрений мобильной робототехники в российском ритейле: на объекте был развернут комплекс из более чем 80 роботизированных устройств под управлением единой системы WCS Automacon.

Читать далее
Статья

ИИ в веб-разработке: сначала проверьте уровень решения, потом код

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели5.7K

ИИ не всегда ошибается в коде. Часто проблема появляется раньше, в выборе уровня решения.

На трех примерах из веб-разработки показываю, почему рабочий ответ ИИ еще не значит, что его стоит брать в проект: импорт товаров из Excel, мобильное меню на MODX и компонент для Schema.org-разметки.

Читать далее
Статья

Когда сотрудник тормозит команду: как говорить с ним прямо, но без давления

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели10K

Сотрудник снова тормозит обсуждение, команда ходит по кругу, сроки сдвигаются — а прямой разговор кажется слишком жёстким. В статье разберём, как обозначить проблему без давления, услышать опасения коллеги и сформулировать ожидаемое поведение так, чтобы разговор всё-таки привёл к желаемым изменениям.

Разобрать подход
Статья

Компьютерное обучение

Уровень сложностиПростой
Время на прочтение22 мин
Охват и читатели9.3K

Убеждение в том, что компьютеры произведут революцию в образовании, укоренилось задолго до эры микрокомпьютеров; в 1960-е годы оно быстро распространилось по американским университетам. Для этого созрели как политические, так и технические условия: запуск Советским Союзом «Спутника» в 1957 году и программы Линдона Джонсона «Великое общество» послужили катализаторами для притока огромных объёмов федеральных средств в сферу образования и, в частности, в научные исследования в этой области. Между тем, технология разделения времени, позволявшая нескольким пользователям одновременно получать доступ к одному большому и дорогому компьютеру, сделала возможным одновременное обучение целых классов студентов с помощью компьютера (хотя это всё ещё было очень дорого, учитывая стоимость компьютеров в то время).

Читать далее
Новость

VideoLAN представила открытый проект быстрого декодера AV2

Время на прочтение2 мин
Охват и читатели6.4K

Компания VideoLAN анонсировала проект dav2d — открытого, кроссплатформенного и бесплатного декодера AV2, ориентированного на скорость. Он основан на популярном декодере dav1d.

Читать далее
Статья

SOLID в Python без воды

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели8.1K

Открываешь чужой код на Python, а там — Java. Абстрактные базовые классы в местах, где хватило бы простой функции, фабрики фабрик и нагромождение паттернов, усложняющих чтение бизнес-логики. Знакомая картина?

Многие разработчики механически переносят архитектурные привычки из строго типизированных языков в Python, создавая переусложненный неидиоматичный код. В этой статье мы возьмем классические правила SOLID и переведем их на язык динамической типизации (Pythonic way). Разберем на реальных примерах, где принципы спасают проект, а где слепое следование им скатывается в карго-культ.

Читать далее
Статья

Как я приручил Wazuh: от сотен ложных срабатываний к рабочему набору правил

Время на прочтение5 мин
Охват и читатели6.7K

Wazuh – это open-source SIEM, который собирает логи, детектирует подозрительную активность и умеет на неё реагировать. Инструмент хороший, но дефолтный набор правил – как швейцарский нож: вроде и режет, и открывает, а под конкретную задачу всё равно приходится подтачивать. Он рассчитан на «среднюю» инфраструктуру и без адаптации генерирует много шума.

Моя задача сводилась к тому, чтобы отделить этот шум от значимых событий, не потеряв при этом сами атаки. В этой статье – методология и грабли, на которые я наступил. Будет полезно тем, кто настраивает Wazuh впервые, и тем, кто хочет разгрузить аналитиков от потока ложных тревог.

Читать далее
Статья

Открытое использование (public domain): когда истекает патент и как работать с общественным достоянием

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7.2K

Патент — это временная монополия. Государство даёт изобретателю исключительное право на коммерческое использование технологии в обмен на ее публичное раскрытие. Когда срок действия данного права истекает, технология переходит в общественное достояние и становится доступна всем без исключения. В этом и смысл — чтобы изобретения раскрывали и потом внедряли уже свободно. Разбираемся, как получить такой легальный инструмент для копирования, улучшения и коммерциализации чужих разработок.

Читать далее

Ближайшие события

Новость

Microsoft заблокировала доступ к десяткам своих опенсорсных проектов на GitHub

Время на прочтение2 мин
Охват и читатели16K

Microsoft заблокировала доступ к десяткам своих проектов с открытым исходным кодом на GitHub. Компания расследует то, как хакеры могли взломать эти проекты и внедрить в их код вредоносное ПО для кражи паролей.

Читать далее
Статья

Как мы ускорили сбор аудиторий в 45 раз: с 6 минут до нескольких секунд

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели6K

К маю 2026 года средний сбор аудитории в нашей системе занимал 2 часа 50 минут. Проблема состояла из двух частей. Первая: 96.5% этого времени процесс стоял в очереди. Вторая: даже добравшись до исполнения, расчёт занимал 6 минут — десятки задач внутри DAG выполнялись над множествами в миллионы строк, и основным инструментом были JOIN.

Мы последовательно устранили обе проблемы — 20 изменений, разбитых на шесть этапов. Ниже описан каждый шаг и итоговый результат.

Все числа «до» и «после» получены одним и тем же SQL‑запросом по Postgres — это воспроизводимый замер.

Домен обобщён: конкретная компания не имеет значения. Это платформа, которая по булевым условиям («траты > 5000 ₽ за последние 3 месяца» И «покупки в категории Рестораны») собирает множество клиентских идентификаторов из 10-миллионной базы и доставляет его во внешние системы.

Погрузиться
Новость

FSP показала блок питания Cannon 3300W мощностью 3300 Вт с поддержкой шести RTX 5090

Время на прочтение1 мин
Охват и читатели6.7K

Тайваньская FSP Group презентовала на выставке Computex 2026 блок питания для ПК мощностью 3300 Вт — Cannon 3300W. Продукт предназначен для систем обработки искусственного интеллекта, рабочих станций и многопрофильных конфигураций, а не для обычных игровых ПК.

Читать далее
Статья

Обзор «1С: Шины» и не только: 17 российских ESB спустя 100+ часов изучения

Время на прочтение4 мин
Охват и читатели6.5K

На связи Сергей Скирдин, технический директор ИТ-интегратора «Белый код». Два года я изучаю российский рынок шин данных. За это время удалось связаться с более 40 вендорами, с половиной из них мы встретились, чтобы написать обзор. Каждый такой материал — это вопросы разработчикам, демонстрация решения, изучение документации. Недавно я объединил все обзоры в один большой, чтобы было удобнее знакомиться с разными продуктами. Рассказываю, в чем идея и что у меня получилось сделать за 2 года.

Читать далее
Статья

Усиление прочности 3D печати деталей — за счёт внутренней их архитектуры

Время на прочтение11 мин
Охват и читатели14K

iDig3Dprinting

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

Первым побуждением в этом процессе является «залить наглухо, на 100% — и гори оно всё…» (грешен, сам практикую :-B). 

Однако, есть и гораздо более интересные варианты, которые позволяют добиться достаточно впечатляющих результатов…

Читать далее
Статья

CalDAV в дикой природе: как «простой календарь для себя» превратился в клиент для семьи, друзей и четырёх облаков

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели5.7K

Протокол CalDAV существует с 2007 года (RFC 4791), и за это время он стал стандартом де-факто для синхронизации календарей. Казалось бы, стандарт — значит, всё одинаково. На практике же каждый крупный провайдер реализовал его по-своему, зачастую отходя от стандарта.

Для меня всё началось с простой задачи: автоматизировать управление своими календарями. Один pet-проект, один провайдер — ничего сложного. Но когда я решил попробовать поддержать второй, третий, четвёртый — оказалось, что CalDAV у каждого свой. В этой статье я расскажу, с чем вы столкнётесь, если решите написать клиент, работающий одновременно с Google, Apple, Яндексом и Mail.ru.

Читать далее
Статья

Как мы встроили React в 20-летний Ruby-монолит, сделали Канбан и ушли в Open Core. Релиз Redmarc v0.5 Beta

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.1K

Интернет полон историй безупречного успеха: «Мы взяли модный фреймворк, переписали систему с нуля, и всё стало летать». Но реальный мир корпоративной разработки – это legacy. Это системы вроде Redmine, которые живут десятилетиями, хранят в себе терабайты критических данных, и чья миграция обойдется бизнесу слишком дорого.

Мы в команде ArcFront решили, что хватит терпеть интерфейсы из 2006 года. Вместо того чтобы убегать на платные облачные трекеры, мы совершили хирургическую инъекцию. Мы внедрили молниеносный React SPA прямо в ядро старого Ruby-монолита. Без микросервисов. Без CORS.

Рассказываем, как мы заставили старого пса выучить новые трюки: от архитектуры инъекции и парсинга Textile до психологии интерфейсов и нашего официального перехода на бизнес-модель Open Core.

Читать далее