Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Пишем меньше — делаем больше: зачем выносить всё в конфигурации

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

У меня дома стоит Bluetooth-колонка в ванной. Руки там вечно мокрые и мыльные, поэтому включить звук дождя или музыку проще по событию, например, по голосовой команде. Конечно, можно поднять Home Assistant или написать небольшой Python-скрипт, который слушал бы датчики и управлял колонкой. Но в тот момент я работал с NiFi и решил проверить, справится ли он с бытовой задачей.

Оказалось, что это не только «enterprise ETL» инструмент, а еще и гибкая платформа, которая умеет работать с MQTT-брокером. Поэтому я настроил через него простую цепочку, и колонкой начал управлять не самодельный скрипт, а NiFi.

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

В Big Data подключение нового источника часто превращается в мини-проект. Требуется неделя разработки, набор уникальных скриптов, собственные форматы, исключения и обходные решения. Но когда пять источников превращаются в пятьдесят, инфраструктура начинает рассыпаться: форматы скачут, API капризничают, схемы дрейфуют, а поддержка становится бесконечным бегом с препятствиями.

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

Привет, Хабр! Я ведущий инженер-разработчик направления BigData & BI К2Тех Кирилл Гофтенюк. В этой статье расскажу, как устроен наш фреймворк на базе ADS.NiFi и Arenadata Prosperity. Покажу, как он работает, зачем нужен такой подход и что нам дал переход от хаотичных скриптов к управляемой архитектуре.

Читать далее

Поиск работы в Telegram: как автоматизировать рутину с помощью JobStalker

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

Поиск работы часто превращается в бесконечный скроллинг по Telegram-каналам: десятки уведомлений, тонны сообщений, чтение длинных описаний вакансий, попытки понять, подходит ли это тебе. А ведь Telegram — один из самых популярных источников свежих предложений о работе, особенно в IT, маркетинге и фрилансе. Но вручную фильтровать всё это — сплошная потеря времени. Здесь на помощь приходят современные технологии: машинное обучение, которое может анализировать текст лучше, чем человек, и автоматизировать процесс.

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

Ссылка на репозиторий

Читать далее

Valve разогревает геймеров: Steam Frame, Steam Machine и новый геймпад на подходе

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

Valve снова удивляет. Казалось бы, Steam Deck ещё не успел покрыться пылью на полках, а компания уже готовит нам целую россыпь новых железок. И не какие-то мелочевки, а полноценный VR-шлем, мини-ПК консольного формата и перерождение легендарного геймпада.

Читать далее

Прогноз нейросети — Когда теория проигрывает практике или почему ROW_NUMBER() не стал королём пагинации PostgreSQL

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

Исследование сравнило два метода пагинации — ROW_NUMBER() и Deferred Join — под нагрузкой до 22 параллельных сессий. Прогноз нейросети предсказывал преимущество ROW_NUMBER(), но реальные тесты показали обратное: Deferred Join оказался на 29,3% быстрее, создавал на 70% меньше ожиданий и лучше масштабировался. Этот кейс демонстрирует, как теоретические оптимизации могут не учитывать реальные ограничения СУБД: работу с памятью, параллелизм и стоимость операций ввода-вывода.

Читать далее

Что выбрать новичку для домашнего веб-сервера: Nginx, Caddy или Apache

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

Каждый раз, когда в айтишных чатах всплывает тема веб-серверов, кто-то пишет: «Apache умер», «Nginx — наше всё», «за Caddy — будущее, просто попробуйте». В статье разберём, в каких случаях веб-сервер действительно нужен, в чём плюсы и минусы популярных решений и как сделать выбор под свою задачу. Детали внутри.

Читать далее

Как мы навели порядок в 200+ микросервисах: тир-лист и модель зрелости сервисов

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

Мы в Ситидрайве строим микросервисную архитектуру. Сегодня у нас 200+ сервисов, за которыми стоят свыше 20 автономных команд — всего больше 150 инженеров. Казалось бы, идеальная модель: каждая команда быстро выкатывает свои фичи без лишней бюрократии. Но была и обратная сторона — нет единого понимания, какие сервисы действительно критичны, как они связаны друг с другом и куда развивать систему дальше.

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

Читать далее

Vulristics: как я создал инструмент анализа уязвимостей и теперь использую его практически ежедневно

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

Хабр, привет! Меня зовут Александр Леонов. Я ведущий эксперт PT Expert Security Center и среди прочего отвечаю в компании за ежемесячные подборки наиболее критичных (трендовых) уязвимостей, обзоры которых мы каждый месяц публикуем на Хабре.

С 2020 года я развиваю проект Vulristics. Изначально это был мой личный инструмент для анализа уязвимостей из ежемесячных обновлений Microsoft Patch Tuesday. Но постепенно я расширял его функциональность. Теперь утилите можно подавать на вход любой набор идентификаторов CVE и БДУ.

Главная задача Vulristics — оценивать и приоритизировать уязвимости. Для этого утилита анализирует несколько ключевых факторов: наличие признаков публичной эксплуатации, наличие публичного эксплойта, тип уязвимости, популярность ПО, а также оценки CVSS (Common Vulnerability Scoring System) и EPSS (Exploit Prediction Scoring System).

Под катом — история создания Vulristics и рассказ о том, как этот инструмент экономит часы ручной работы, помогая аналитику не утонуть в потоке уязвимостей.

Читать далее

Георейтинг: новый взгляд на доступность социальных объектов в городах России

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

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

Именно здесь на сцену выходит Георейтинг — инновационный проект, разработанный командой Геоинтеллект. Это мощный инструмент анализа, который превращает абстрактные данные о расстояниях в живые, наглядные инсайты. Запущенный недавно, Георейтинг уже вызывает интерес среди специалистов и обычных пользователей, обещая стать незаменимым помощником в повседневной жизни. 

Города растут, районы меняются, а людям по-прежнему нужно простое и честное понимание: удобно здесь жить или нет?

До сих пор такую оценку каждый делал сам: «вроде недалеко», «дойти можно», «там есть садик, но как далеко?». Георейтинг убирает эти догадки: теперь доступность района — это цифры и визуализация.

Кому это нужно?

Читать далее

Внешний мониторинг доступности IT-приложений

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

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

Сегодня мы расскажем, как решали эту задачу для себя, и выложим код в Open Source, который вы сможете применить для простого мониторинга своих проектов. И да, мы знаем про существование специализированных сервисов для решения этой задачи, но всегда веселее написать свой скрипт.

Читать далее

Проксируй это: как ускорить A/B-тесты и не попасть в ловушку метрик

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

В A/B-тестах хотелось бы смотреть на главную метрику, ту самую North Star, которая показывает успех продукта. Но на практике она почти всегда медленная, шумная и бесполезная для быстрых решений. Например, вы запускаете тест новой системы рекомендаций, ждёте неделю, две, а LifeTime Value не двигается. И непонятно, это потому что нет результата или ещё рано делать выводы.

Чтобы не тратить месяцы на догадки, можно воспользоваться прокси-метриками — быстрыми, чувствительными показателями, которые реагируют раньше, чем бизнес-метрика «успевает моргнуть». Проблема в том, что это решение часто требует дополнительные ресурсы.

Привет, Хабр! Меня зовут Артем Ерохин, и я Data Scientist в X5 Tech. Я прочитал современные исследования, пропустил их через свой опыт и собрал концентрат подходов к работе с прокси-метриками. Постараюсь передать только суть. Разберемся, зачем нужны прокси, как с ними не выстрелить себе в ногу, где заканчивается польза и начинается самообман.

Читать далее

Как спроектировать AI ассистента для поддержки и не слить бюджет. Часть 1: От идеи до выбора архитектуры

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

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

Покажу как спроектировать агента который решает проблемы и можно внедрять в продакшен. Буду рассказывать на примере юридической поддержки, но подход универсальный. Поговорим про RAG и GraphRAG, про развёртывание и выбор модели. Статья будет полезна как для больших компаний так и для маленьких - разница только в том где вы будете хранить и обрабатывать данные с LLM.

Читать далее

Ищем выход из лабиринтов RISC-V ISA: ускорение инференса с тензорным компилятором и JIT-ассемблером

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

Привет, Хабр! Меня зовут Илья Знаменский, я ведущий инженер в группе оптимизации алгоритмов искусственного интеллекта в AI-дивизионе YADRO

Популярность RISC-V растет стремительными темпами, и на рынке появляется все больше новых отладочных плат. Моей команде поставили задачу: узнать, как эти платы будут справляться с простыми AI-нагрузками (задачи запуска LLM-on-device не стояло). В процессе работы мы внесли вклад в развитие собственного тензорного компилятора и создали библиотеку математических ядер, которая позволила существенно увеличить производительность инференса моделей на RISC-V. С какими трудностями мы столкнулись и что в итоге из всего этого получилось — читайте в статье.

Читать далее

Android-смартфон как веб-камера под Linux

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

Врываюсь я тут как‑то на онлайн‑собес в приличную контору с намерением выглядеть серьёзно и трезво. Но вебка моего ноута решила навалить хоррора и выдала такую шакальную картинку, будто я подключился к созвону не из дома, а из колодца Самары Морган. Ощущение, будто каждый кадр несёт астматичный голубь‑стажёр пока видео пытается догнать хотя бы цифру 3 в слове «30 FPS».

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

Что? Твоя вебка на ноуте тоже скулит «Верните мне мой 2007»? Или ты статный Linux‑PC‑боярин, у которого камер столько же сколько друзей в реальной жизни? Не беда — если у тебя под рукой есть более‑менее приличный Android‑смартфон, значит ты зашёл в правильную дверь.

Читать далее

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

Нет времени объяснять — это БАЗА: чек-лист защиты корпоративной инфраструктуры

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

Сложно ли взломать вашу инфраструктуру? Во время аудита у меня на это уходит от 15 минут до 8 часов.

И это не потому, что у клиентов нет SOC, NGFW, WAF, MFA и других атрибутов безопасности — тот же SOC весьма успешно рапортует о взломе… когда всё уже сделано.

И не потому, что я супер-хакер — используются стандартные инструменты и инструкции, доступные любому «скрипт-кидди».

Чаще всего причина в том, что не настроена БАЗА — та самая рутина, про которую не принято и не модно вещать со сцены. И через которую всех обычно и ломают.

Ниже — список требований для оценки уровня вашей защиты:

Читать далее

Создание своего ядра на C. Часть 2

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

В этой статье мы продолжим наш путь создания простого, но функционального ядра операционной системы на языке C.

Читать далее

Как Helm развёртывал, развёртывает и будет развёртывать

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

Привет, Хабр! Меня зовут Миняйлов Лев, я DevOps-инженер в ИТ‑холдинге Т1.

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

Читать далее

Managed OpenSearch Yandex Cloud. Автоматизация и управление кластером

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

Привет, Хабр!

Сегодня предлагаю обсудить Managed OpenSearch Yandex Cloud. Поговорим о том, как автоматизировать управление кластером, чтобы сократить расходы на разработку, и как улучшить качество поиска на русском языке, используя доступные в сервисе инструменты морфологии.

Читать далее

Масштабируемые GitLab Runners в AWS: как избавиться от ручного управления и снизить затраты

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

Мы избавились от «вечно живущих» EC2‑инстансов, настроили масштабируемые GitLab Runner’ы через Fleeting и Autoscaler и при этом сократили расходы на CI‑инфраструктуру. Делимся рабочими конфигами, подводными камнями и практическим гайдом по настройке.

Читать далее

Гайд по форматированию строк в Python: от % до f-строк и обратно

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

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

За годы развития Python прошел путь от C-style форматирования (%) до мощных f-строк (Python 3.6+). Но означает ли это, что о старых методах можно забыть?

Читать далее

OWASP Top Ten: как оценивали веб-угрозы 20 лет назад и сейчас

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

Первый список OWASP Top Ten был выпущен в 2004 году. И с того момента появилось 7 обновлений, последнее из которых представлено в ноябре 2025 (пока в статусе Release Candidate). Эксперты WMX проанализировали все выпуски, чтобы разобраться, как с каждым годом и даже десятилетием менялась оценка угроз.

Путь осы