World of Warcraft за два десятилетия оброс таким количеством дополнений, что сама история игры превратилась в череду эпох — со своими взлетами, провалами, экспериментами и возвращениями к корням. Каждое из них меняло не только механику и баланс, но и настроение всей вселенной: одни расширяли лор и задавали тон на годы вперед, другие — оставляли ощущение упущенного потенциала или неверного поворота в дизайне.
В нашей подборке постараемся честно оценить вклад каждого дополнения в эволюцию игры и понять, почему одни аддоны до сих пор вспоминают с теплом, а другие — с раздражением.
Читать далееКогда я рассказываю знакомым, что перешла в IT без технического образования за короткий срок, реакция обычно одна: «Как ты это сделала?» Ответ не в магии, не в чуде, не в удаче. А в том, как я перестроила своё мышление и перестала действовать по инерции.
10 лет я работала переводчиком и преподавателем английского. Это были годы практики, навыков коммуникации и управления группами людей, выступлений на отраслевых конференциях. Я даже делала свои образовательные продукты. Оказавшись перед выбором, я поняла - то, что у меня есть сейчас, перестаёт меня устраивать. Хочется задач, которые заставляют думать, которые масштабнее, которые приносят не только деньги, но и чувство движения вперёд. Да и сфера переводов сейчас, к сожалению, перестала быть перспективной ввиду геополитических причин и развития ИИ.
Сразу скажу: я не пришла в IT как новичок наугад. Я начала с вопросов, и первый из них был простой: какая именно роль может подойти мне, учитывая мои сильные стороны? Я не хотела быть программистом или тестировщиком - это совсем не для меня. Зато я могла опираться на то, что умею: слушать людей, формулировать мысли, чувствовать контекст проектов, управлять задачами. Так я вышла на роли проджект-менеджмента, продакт-менеджмента и бизнес-анализа.
Читать далееСамые интересные новости за неделю для практикующих инженеров: вайбкодер случайно получил доступ к 7 000+ пылесосам, вышли Sonnet 4.6 и Gemini 3.1 Pro, Haiku со скиллами обошла Opus без них, Claude Code Security и потеря $1,78 млн из-за кода от Claude.
Читать далееОтвечая на этот вопрос, я разобрал следующие темы?
Где и почему агенты работают хорошо?
Где агенты делают только хуже?
Что значит "подготовить проект" к эпохе агентов
Пара тупых, но работающих советов как работать с Claude Code
Советы, что делать если ты разработчик, тимлид, владелец продукта
Как я думаю, куда всё это приведет
Многие современные ноутбуки оснащаются сканерами отпечатков, но что делать, если ваш рабочий ПК или старый ноутбук такой возможности не имеет? Китайские маркетплейсы предлагают огромное количество USB-сканеров по цене 1000–2000 рублей. Однако при попытке использовать их в Linux пользователя ждёт сюрприз: официальные драйверы отсутствуют, а встроенная поддержка libfprint часто не работает.
В этой статье я расскажу, как заставить работать сканер Chipsailing CS9711 (ID 2541:0236) в Ubuntu и других дистрибутивах. Мы скомпилируем форк libfprint с поддержкой этого устройства, настроим демон fprintd и подключим аутентификацию по отпечатку в KDE (а также дадим подсказки для других окружений).
Читать далееВ начале проекта он кажется всемогущим демиургом. Но это ощущение проходит быстро и навсегда. Вот математическое доказательство того, почему ИИ никогда не заменит программистов.
Читать далееХабр, привет!
На связи ведущий специалист Экспертного центра Positive Technologies Александр Леонов. Каждый месяц я рассказываю о трендовых уязвимостях в самых разных и широко используемых по всему миру продуктах и сервисах. Это такие уязвимости, которые активно применяются в атаках или с высокой степенью вероятности будут эксплуатироваться злоумышленниками в ближайшее время. В этой статье подведу итоги 2025 года и расскажу обо всех наиопаснейших уязимостях.
Читать далееПо мере роста продукта регрессионное тестирование быстро становится узким местом: количество сценариев растет, время проверки увеличивается, а цена ошибки перед релизом становится выше. В нашем случае переход к E2E-автотестам стал способом ускорить регресс и основой стабильных, предсказуемых релизов. В статье делимся тем, как мы выстроили покрытие регресса автотестами и встроили его в рабочие процессы команды.
Немного о проекте
Проект представляет собой распределенную систему, состоящую из двух web-порталов на React, порядка двадцати микросервисов на .NET и нескольких интеграций со сторонними системами. Все компоненты участвуют в одном сквозном бизнес-процессе, а релизы выходят регулярно — в среднем раз в две недели.
QA-инженер подключился к проекту уже после начала активной разработки. В этот момент мы осознанно отказались от наращивания объемной ручной тестовой документации и сделали ставку на E2E-автотесты.
Почему Е2Е?
Поддержание ручного регресса в актуальном состоянии задача важная для стабильного развития, но требует существенных затрат времени, вычитки и сверки с обновлениями. Часть кейсов теряют ценность, нужно время на их обнаружение. E2E-автотесты, напротив, становятся частью системы: они запускаются регулярно, отражают реальное состояние продукта и дают оперативный и понятный сигнал о готовности к релизу.
Для нас автотесты стали стратегическим инструментом. Они заменили собой классический ручной регресс и со временем начали выполнять роль индикатора качества — как для команды разработки, так и для менеджмента и заказчиков.
Читать далееTL;DR:
1,005 миллиарда веб-страниц
25,5 часа
$462
По какой-то причине уже долгое время никто не писал о том, что требуется для краулинга большой части веба: последним обнаруженным мной источником был пост Майкла Нильсена за 2012 год[1].
Очевидно, что за это время много изменилось. Всё стало больше, лучше и быстрее: у CPU появилось намного больше ядер, на смену жёстким дискам пришли твердотельные накопители NVMe, скорости ввода-вывода которых сравнимы со скоростями RAM, существенно выросла ширина сетевых каналов, существенно расширился список типов инстансов EC2 и так далее. Но в чём-то ситуация и усложнилась: гораздо бóльшая часть веба стала динамической, а контент теперь более тяжёлый. Как поменялось состояние Интернета? Теперь узкие места стали другими, и для создания своего Google по-прежнему нужно около 41 тысячи долларов? Мне захотелось это узнать, поэтому я собрал и выпустил собственный веб-краулер1 в условиях похожих ограничений.
Читать далееПараллельный запуск автотестов — это как ускоритель: экономит часы, но если не знать подводных камней, превращает прогон в хаос. Тесты зелёные локально, красные на CI? Падают без причины, а перезапуск «лечит»? Знакомая история. В этой статье делюсь реальными кейсами из боевых проектов: почему статические поля убивают стабильность; как «гонка данных» маскируется под рандомные падения и многое другое
Читать далееПривет, Хабр!
Если вы работаете с GitLab и у вас больше одного окружения — вы наверняка знаете этот ритуал: открываешь Settings → CI/CD → Variables, начинаешь вбивать переменные вручную, на пятой ошибаешься, на двадцатой теряешь счёт, на пятидесятой начинаешь сочувствовать тем, кто хранит секреты прямо в коде.
Я написал glenv — CLI-инструмент на Go, который синхронизирует .env файлы с GitLab CI/CD переменными через API. Под катом — история о том, почему существующих решений не хватило, как это устроено внутри и несколько примеров использования.
Читать далееВведение
Привычные нам проекты в области технологии производств обычно представляют собой некую комбинацию из графической составляющей и документации, не имеющие общей базы. Чертежи и документы проекта формируются отдельно друг от друга, что зачастую приводит к высокому проценту ошибок разработчика при переносе данных. Не говоря уже о количестве ресурсов необходимых для формирования документации. ПО «PROMPROEKTOR» – это принципиально новый подход к разработке проектной документации.
Можете убедиться в этом сами на примере процесса сборки технологической схемы...
УбедитьсяЛет десять назад объектное хранилище было экзотикой. Крупные компании обходились NFS‑шарами и надеждой, что RAID не развалится в самый неподходящий момент. Средний бизнес в целом не понимал, зачем это нужно. Но сегодня все изменилось. S3 API стал таким же стандартом, как REST или JSON. Мы в Диасофте построили «Фабрику данных» (Digital Q.DataFactory) в архитектуре Data Lakehouse на основе S3 Архипелаг, которая объединяет гибкость Data Lake с надежностью хранилища данных. В этой статье расскажем, как построили слой хранения.
Читать далееВ первой части статьи мы рассказывали о предпосылках автоматизации рекрутинга Fix Price, о том, как строилась и развивалась система и как она работает сегодня. Во второй части сосредоточимся на инженерной стороне проекта и архитектурных решениях, которые обеспечили его масштабируемость и устойчивость.
Читать далее«Однажды у нашей старенькой стиралки где-то нарушилась логика, и она решила, что отжим нам не нужен. Вопреки нашим ожиданиям, вместо полусухих вещей мы получили мокрые».
С этой поломки началось исследование Северина фон Внук-Липински и Хайо Нёренберга, в ходе которого они им удалось восстановить работу диагностического протокола стиральной машины Miele, получить доступ к скрытым функциям и извлечь прошивку платы управления.
В этой статье разберем их доклад Hacking Washing Machines с конференции 39C3 и проследим, как мелкая бытовая неисправность привела к полноценному реверсу стиралки, а затем — к созданию свободной утилиты, которая заменяет закрытый фирменный софт для ремонта техники Miele.
Читать далееОсенью 2025-го у нас ушёл мидл. Типичная история — нашёл +80к в каком-то финтехе, ему там обещали «плоскую структуру и свободу принятия решений» (спойлер: через три месяца он написал мне что хочет вернуться, но мы уже наняли замену). Замену, кстати, нашли не быстро. Провели штук двадцать собесов, может больше, я со счёта сбился после пятнадцатого.
Рынок такой: половина не может обход дерева написать (я серьёзно, я уже думал может я что-то не так спрашиваю, но нет), трое врали про опыт настолько плохо что мне неловко было за них, и один спросил можно ли работать из Бали при условии что созвоны в девять утра. Нельзя, у нас on-call.
Короче, появился кандидат. Назову его Дима.
Читать далееНе доверяй и проверяй: как PAM-системы работают в архитектуре Zero Trust
По данным «Солара», в 2026 году продолжится рост кибератак на привилегированные учетные записи. Скомпрометировав их, злоумышленники действуют внутри сети как легитимные администраторы. В таком случае традиционная модель «безопасного периметра» бессильна, потому что она не видит угроз изнутри. Поэтому организации начинают переходить к архитектуре нулевого доверия – Zero Trust – и внедряют PAM-системы. О том, как устроена эта связка и почему без PAM Zero Trust остаётся лишь теорией, рассказывает Антон Залесский, бизнес-архитектор группы развития продуктов по управлению доступом ГК «Солар».
Читать далееMySQL, который выживает: отказоустойчивый кластер с Orchestrator
Разбираем настройку HA-кластера с Keepalived и Orchestrator для тех, кто предпочитает контроль облачным black box-решениям.
Хабр, привет!
Почему проблема отказа мастера в кластере MySQL до сих пор актуальна? Потому что сегодня 10 минут простоя у крупных заказчиков – это ЧП, а человеческий фактор в кризисной ситуации – главный источник риска. Многие проекты, мигрируя на MySQL 8.0, заново проходят путь настройки отказоустойчивости. И далеко не все готовы доверить свою основную базу данных облачным managed-сервисам, иногда нужен полный контроль на своей инфраструктуре.
Читать далееВ процессе своей трудовой деятельности, начиная от заместителя руководителя по ИТ в крупной образовательной организации и заканчивая ведущим инженером одной из компаний РФ, стоящих на острие современных решений кибербезопасности – меня всегда озадачивал вопрос отказоустойчивости периметрального решения компании или учреждения. При этом хотелось попасть в идеальный баланс между целесообразностью выстраиваемой архитектуры и отсутствием избыточности решения.
Говоря про периметральные NGFW, если отбросить вопрос их корректной настройки инженером и штатного функционирования бекендов, основным способом обеспечения отказоустойчивости является построение кластера из нескольких экземпляров устройств, которые функционируют как единое целое. При этом существуют два принципиально разных варианта реализации – это кластер Active|Passive (A|P) и кластер Active | Active (A|A).
Сегодня я хотел бы поговорить о том, какой тип кластеризации подходит больше к какому типу сети/компании/контекста использования, а также какие преимущества и недостатки имеются у каждого из них.
Кластеризация в режиме Active|Passive представляет собой технологию объединения двух NGFW устройств (каждое из которых будет называться нодой) в единый логический элемент сети (кластер) для обеспечения высокого уровня отказоустойчивости и доступности.
Фактически за счет дублирования физического устройства при этом устраняется проблема «единой точки отказа», когда при выходе из строя узла (как самого NGFW, так и сетевого интерфейса, линка к сетевому интерфейсу) кластер продолжает обрабатывать трафик без прерываний прозрачно для пользователя и сервисов, приложений.
Читать далееВспомните нулевые — браузерные страницы мигали баннерами и интерактивными элементами, игры запускались прямо во вкладке, а Flash Player был знаком почти всем. Но в 2020 году Adobe завершила его поддержку и начала блокировать Flash-контент. Так и закончилась эта история, а что было бы, если всё пошло иначе? Историю Flash и альтернативный сценарий разбираю в статье.
Читать