Обновить

Планируем GPU-нагрузку в Kubernetes: от стандартных механизмов до кастомных решений

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

Привет, Хабр! Меня зовут Макарий, и как Senior SRE в Yandex Cloud я не только участвовал в разработке Managed Service for Kubernetes, но и всегда любил в свободное время посмотреть, что интересного понавыпускали для «кубика». Kubernetes, как де‑факто стандарт оркестрации контейнеров, предлагает базовые механизмы для управления вычислительными ресурсами. Однако стандартный планировщик Kubernetes (kube‑scheduler) разрабатывался с учётом общих принципов балансировки нагрузки и не специализирован для уникальных особенностей рабочих GPU‑нагрузок.

Предлагаю рассмотреть весь спектр возможностей — от встроенных механизмов шедулинга K8s до специализированных планировщиков, таких как Volcano, Apache YuniKorn и KAI‑Scheduler. Проанализирую конкретные сценарии, в которых каждый из этих инструментов демонстрирует свои преимущества, и предложу рекомендации по выбору оптимального решения для ваших рабочих GPU‑нагрузок.

Читать далее

Знакомство со Stencil или уроки шаблонного общения

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

Что любят все разработчики? Конечно, автоматизировать рутинные повторяющиеся действия! Я расскажу, как в этом может помочь язык Stencil, широко известный в узких кругах iOS-разработчиков.

Читать далее

if err != nil: почему мы (не) любим обработку ошибок в Go? Обзор предложений по её улучшению

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

Привет, Хабр! Меня зовут Павел Агалецкий, я ведущий инженер в платформе Авито. Эта статья на одну из самых холиварных тем, о которой вы могли слышать или читать множество раз. При обсуждении Go, особенно новичками или представителями других языков программирования, камнем преткновения обычно становится проверка ошибок — if err != nil.

Рассказываю, какие есть особенности и нюансы, сравниваю обработку ошибок в Go и других языках. Говорим о подходах к изменению обработки ошибок и обсуждаем последний proposal от Яна Тейлора. А еще разбираемся, почему все предложения отклонялись.

Читать далее

Руководство по восстановлению удаленных сообщений и медиаданных в Telegram

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

Удаление сообщений и файлов в Telegram часто воспринимается как необратимый процесс, но способ вернуть потерянные данные все же есть.

В статье подробно описан процесс восстановления удаленной информации, включая ключевые шаги и инструменты, которые помогут в этом.

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

Восстановить!

Почему Go такой странный, и ещё 8 холиварных тем про Golang

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

Привет, Хабр! Это Вадим из команды AvitoTech. Весной мы собрали в московском офисе более сотни разработчиков, чтобы обсудить самые актуальные для Go-комьюнити темы: начиная со сложностей при переходе на язык Go и заканчивая извечным вопросом о пользе хард- и софт-скиллов. Выбрали девять самых «горячих» тем, поговорили с модераторами соответствующих дискуссий дринкапа, выделили главное и принесли вам в этой статье. Призываем ваши мнения в комментарии!

Читать далее

Как мы построили речевую аналитику для кол-центров и начали анализировать тысячи звонков

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

Привет! Я Артём Юрченко — DS-инженер в команде Недвижимости Авито. Наши кол-центры совершают до 30 000 звонков в день, и вручную можно проверить лишь небольшую часть из них. Расскажу, как мы начали строить систему речевой аналитики и разработали первую модель, которая автоматически находит в звонках возражения клиентов и анализирует, как операторы их отрабатывают. 

Статья будет полезна DS-инженерам, аналитикам и продакт-менеджерам, которые работают над продуктами построения речевой аналитики.

Читать далее

Зависимости, которых не существует: как фильтрация искажает данные и что такое коллайдеры

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

График, который вы видите очевидно показывает отрицательную зависимость между a и b, однако этой зависимости не существует. Да, зависимости между a и b нет, а видите вы коллайдер - одну из самых коварных ошибок статистики. Коварную потому, что прячется за здравый смысл. Мы делаем вполне разумные действия, а получаем связи между независимыми данными.

Разбираем на пальцах как появляются коллайдеры и как не попасть в их ловушку.

Читать далее

Аналог Windows Recall на Линукс без ИИ

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

Собрал себе простой аналог Windows Recall на Linux, показываю что у меня получилось и как это работает.

Читать далее

Policy as Code в Apache Kafka: опыт внедрения Open Policy Agent

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

Статья рассматривает внедрение Open Policy Agent (OPA) для управления авторизацией в кластерах Apache Kafka на bare metal‑серверах.

В рамках статьи проанализированы ограничения стандартных ACL и предложено решение на основе Open Policy Agent (OPA), обеспечивающее декларативное управление доступом через Policy as Code (PaaC). Особое внимание уделено обновлению OPA Kafka Plugin: создан pull request, в котором устранены уязвимости привносимые в OPA библиотекой Guava и реализован переход на более производительную библиотеку Caffeine. Описан процесс интеграции OPA с Kafka, включая автоматизацию доставки политик через Bundle API и S3-хранилище.

Читать далее

Великий крестовый поход в мире контента: стратегия human-first против AI-first

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

Привет, Хабр! Меня зовут Андрей Аврамчук, я редактор блога МТС. За последние два года с интересом наблюдаю, как старые правила, принципы создания материалов либо очень сильно меняются, либо перестают работать. И за все это спасибо GenAI.

Досталось всем, но текстовый контент оказался самым уязвимым. С одной стороны, звучат призывы к внедрению GenAI в рабочие процессы, перестройку пайплайнов и срочное изучение LLM, RAG и вот этого всего. Мол, раз мир меняется, то и нам надо перестраиваться вместе с ним, иначе останемся в хвосте. С другой — возмущения падением качества контента и призывами остановиться. Только люди, только хардкор.

В результате возникает точка бифуркации, где никто до конца не понимает, что будет дальше и какие навыки теперь действительно нужны. Вроде бы логично использовать инструмент, который ускоряет производство, и все выглядит так, будто подход AI-first стал новой нормой. И тут возникает парадоксальная ситуация: с резким развитием технологий важность их владения падает, уступая место компетенциям, о которых мы почему-то забыли. 

В этом материале расскажу, что сейчас происходит в мире контента, какие тренды незримо на него влияют, где и кого AI-first-подход заведет в ловушку. Покажу, куда это все катится и с чем придется столкнуться авторам и редакторам.

Читать далее

Интеграция бытового тепловизора с FPV-квадрокоптером

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

Привет, сегодня будет ещё одна статья о любительском дроностроении.

Дисклеймер: автором решения являюсь не я, а британский блоггер @catch22mania, решивший использовать вместо обычных (дорогих и имеющих суженный угол обзора) тепловизионных камер для FPV связку Raspberry Pi Zero 2W с тепловизором Infiray P2 Pro. Замысел показался мне интересным и я реализовал его вслед за автором, тем более, что по стечению обстоятельств у меня было всё необходимое.

Читать далее

Мобильная связь под Невой: как я прошел 500 километров по тоннелям петербургского метро, чтобы там появилась связь

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

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

Меня зовут Сергей Бородин, я эксперт в отделе развития сети МТС в Санкт-Петербурге. Занимаюсь планированием, реализацией и технической поддержкой систем, обеспечивающих работу мобильной связи внутри зданий и сооружений. Это торговые комплексы, бизнес-центры, аэропорты, стадионы. Итак, под катом — немного фото и мой рассказ, зачем нужна связь в тоннелях и как я накрутил по синей и оранжевой веткам метро 500 километров пешком.

Читать далее

C#: использование Unit test с Apache Ignite

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

Привет всем! Меня зовут Артём, я работаю в t2 разработчиком .Net и по собственному опыту знаю, что одним из ключевых показателей качества кода является покрытие кода тестами. В этой статье поговорим конкретно о Unit-тестах и разберёмся, как покрыть юнит тестами код, имеющий зависимости от внешнего ресурса со статическими методами.

Интересно? Пойдём под кат!

VictoriaMetrics, разделяй и агрегируй! Оптимизация хранения метрик

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

Так ли нужно хранить 3 ТБ метрик за 180 дней? Устали от компромисса между детализацией мониторинга и размером storage?
В статье разберём, как разделить метрики на два независимых потока без Multi Retention из Enterprise-версии. Solution inside: простое, но эффективное решение с сохранением детализации для оперативного мониторинга и разумным использованием дискового пространства. Идём организовывать хранение сырых метрик на 30 дней и агрегированных — на 180!

Интересно? Переходите под кат!

Зумеры на работе: почему мы уходим на обед и не возвращаемся. Якобы просто так

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

Всем привет! Меня зовут Соня, я продакт-оунер в молодежном продукте МТС: формирую стратегию, занимаюсь дискавери и оптимизирую CJM. Параллельно учусь в Вышке. Мне нравится работа: нет рутины и конфликтов, руководитель эмпатичный, а задачи дают возможность расти.

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

Со стороны это воспринимается как слабость, высмеивается и становится предметом мемов и шуток. Недавно я наткнулась на пост с такой фразой:

«Есть большое количество новоиспеченных разработчиков/аналитиков/тестировщиков/продактов (дополните список) с весьма скромным опытом (и нередко сомнительным качеством работы), которые готовы работать только 2–3 часа в день, принимать ванну из смузи, играть в плойку, на которых категорически нельзя повышать голос, которые требуют себе огромную зарплату, которые, чтобы прийти на офлайн-интервью, просят прислать за ними вертолет».

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

Читать далее

«Никогда такого не было, и вот опять»: разбираем атаку c эксплуатацией уязвимости в подключаемом модуле Bitrix

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

Привет, Хабр! Меня зовут Никита Полосухин, я старший системный аналитик центра мониторинга и реагирования на кибератаки RED Security SOC. В этом материале я хочу снова поднять тему важности своевременных обновлений и актуализации версий CMS и их компонентов. В мире ИБ про это знают почти все, но вот коллегам из администрирования и бизнеса, я думаю, может быть полезно увидеть, почему хотя бы раз в год надо уделять время проверке и устранению уязвимостей.

В СМИ периодически появляется информация об массовых атаках на сайты на базе Bitrix с использованием уязвимостей в сторонних модулях — например, недавно компания предупреждала об уязвимости в подключаемых модулях от eSolutions и «Маяк».

Мы в центре мониторинга и реагирования на киберугрозы RED Security SOC тоже регулярно видим такие атаки. В этой статье покажем, как они выглядят in the wild, как их выявлять и блокировать их развитие.

Читать далее

Плох тот Джун, который не мечтает стать Сеньором. Но еще хуже тот, кто мечтает бездумно и без поддержки коллег

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

Привет, Хабр! Меня зовут Артем Грищенко, я middle iOS-разработчик продуктов Future Crew в МТС. Если ты начинающий разработчик — скорее всего, у тебя есть мечта: вырасти, перестать быть «новичком» и почувствовать уверенность в своих силах. Чаще всего говорят: «Это долгий процесс, наберись терпения». И действительно, путь у каждого свой. Но у всех карьерных путей есть общее: рост возможен только при увеличении зоны ответственности. Об этом часто забывают, годами просиживая на одном месте. 

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

Читать далее

Управление командой в эпоху перемен

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

В реальном бизнесе команды редко живут «в домике», где ничего не меняется годами. Хочешь ты того или нет, извне постоянно поступают новые вводные. Это непрерывный конвейер: только адаптируешься к последним изменениям, переживешь их, как курс снова меняется. Начинается вынужденный переезд на другие сервисы, запускается масштабирование, глобально перестраивается рабочий процесс и т. п.

Задача руководителя в этих условиях — уменьшить стресс сотрудникам да и самому себе.

Меня зовут Екатерина, я руковожу саппортом в МТС Линк. Специфика поддержки — любые изменения увеличивают количество вопросов от пользователей. То есть нам надо не только самим не сойти с ума, но и снять негатив у клиентов, которые не всегда понимают ситуацию. В этом материале поделюсь своим опытом, как мы готовимся к изменениям и как нам это помогает их преодолевать. Перемены неизбежны, но простые действия и предварительная подготовка позволят чувствовать себя комфортно и сохранить команду.

Читать далее

Как допилить GitLab CI/CD и перестать переписывать пайплайны

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

С подключением, хабровчане! Меня зовут Роман Волков, я Senior DevOps в МТС Web Services. Последние несколько лет мне приходилось создавать и адаптировать конвейеры на базе GItLab-CI, изменяя процесс автоматизации под каждую новую команду, стек, продукт и окружения эксплуатации. Чтобы облегчить жизнь себе и коллегам, я сделал небольшой внутренний фреймворк — FundaPipe, значительно упрощающий создание, развитие, переиспользование и применение самих конвейеров разработчиками.

Читать далее

CognitiveOS: операционная система с модульной архитектурой для интеграции LLM в роботов

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

Роботы развиваются — всем хочется, чтобы они стали умнее и могли размышлять, запоминать, учиться, рассуждать и кооперироваться. А еще реагировали на команды типа: «Стань в Дьюрин день у серого камня, когда прострекочет дрозд и заходящее солнце бросит последний луч на дверную скважину».

Все это уже умеют LLM. Например, трансформенные модели GPT, Claude или Gemini могут принять на вход изображения, распознать и описать на них объекты — это позволяет использовать их для восприятия окружающей среды.

Встроить одну или несколько LLM в робота — задача интересная и сложная. Ее можно реализовать с применением масштабируемой модульной когнитивной архитектуры. Она позволяет интегрировать новые способности через модули, которые добавляются, отключаются или апгрейдятся без необходимости переписывать систему целиком.

Меня зовут Артем Лыков, я ведущий RnD-разработчик в МТС Web Services. В Лаборатории интеллектуальной космической робототехники Сколтеха мы реализовали CognitiveOS — когнитивную операционную систему для роботов. В этом материале я познакомлю вас с ней и расскажу, какие проблемы она решает, как устроена и как позволяет справляться с реальными задачами.

Читать далее