В этой статье я хочу поделиться личным опытом эволюции UI-тестов в AQA-проекте. Речь пойдет о том, как из типичных простыней с assertEquals(), множественными прямыми вызовами методов страницы и деталями реализации можно прийти к более выразительному и читаемому подходу - внутреннему DSL поверх Page Object.
Автоматизация рабочих процессов была горячей темой примерно всегда. Как только появляется возможность решать какую-либо задачу более эффективным способом, сразу же возникает идея об оптимизации этого самого, казалось бы, уже совершенного способа.
Серверная виртуализация, как и zVirt в частности, не стала исключением среди других рабочих процессов. Пользователи желают решать задачи быстрее, операторы хотят уменьшать количество шагов и ручных операций, время доставки виртуальной машины потребителю — основная функция серверной виртуализации — должно уменьшаться. И снижение влияния человеческого фактора — благодатная почва для оптимизации.
Меня зовут Михаил Фучко, я архитектор SDN и технический менеджер Terraform-провайдера виртуализации zVirt. В этой серии статей я расскажу о пути, который проделала наша команда в процессе разработки собственного провайдера инфраструктуры для Terraform. Поговорим об успехах и трудностях, о том, всегда ли можно положиться на решение с открытым исходным кодом, и о том, как запущенные десять лет назад «бумеранги» возвращаются, но не тем, кто их запустил.
Это первая часть цикла статей. В ней мы определимся с объектом автоматизации, обсудим ее основные концептуальные подходы и попытаемся сформировать глобальное видение результата. Для новичков в применении Ansible и Terraform данная статья может служить еще и небольшим введением в тематику. В последующих статьях сосредоточимся на инфраструктуре провайдера, поддержке ресурсов и их жизненных циклов и т.п.
Читать далееПривет, Хабр! Меня зовут Кияшева Екатерина. В начале марта я активно занялась поиском работы после творческого отпуска и сама столкнулась с радикальным изменением рынка:
- Нет откликов: открыть резюме на пару дней больше не работает.
- Фильтрация на hh.ru, на мой взгляд, сильно забагована. Автопоиск сбрасывает часть фильтров. В рассылку попадают вообще не интересные вакансии, а интересные не попадают. В чате поддержки отвечает бот, так что сообщить девелоперу о баге невозможно.
- Статистика по вакансиям показывает резкий пик откликов с первого дня публикации. До поздних откликов рекрутеры похоже не добираются.
Все это вгоняет в уныние: рассылать резюме всем подряд не хочется, а держать руку на пульсе в таких условиях утомительно. Я написала ИИ-помощника, который сам мониторит сайт по расписанию, выбирает только интересные вакансии, анализирует компанию и вакансию, сопоставляет требования вакансии со скиллами в резюме и приносит результаты в личный чат. Таким образом, о вакансиях можно узнавать своевременно, рассматривать их с первичной аналитикой на руках.
Читать далееGit стал таким же привычным явлением, как электричество в розетке. Его можно использовать совершенно по-разному — он либо сделает вашу жизнь удобнее, либо причинит боль и доставит кучу проблем.
Привет, меня зовут Макс Мартынов и я ведущий разработчик в Атвинте. В этой статье расскажу про наш подход к Git workflow, в котором баги одной фичи не блокируют деплой другой. Существует множество подходов и наш, конечно, не единственно верный.
Читать далееКаждый год мы проводим исследования рынка труда, в том числе, конечно, сферы ИТ. И делимся результатами с Хабром — у нас в блоге можно посмотреть предыдущие, за 2023 и 2024 годы. А сегодня предлагаем читателям свежие сводки.
Мы разобрались с тенденциями рынка ИТ-вакансий, провели параллели с общей ситуацией на рынке труда в РФ, выяснили, что происходит с удалёнкой и какие навыки остаются наиболее востребованными в ИТ, как изменились зарплаты и у кого они продолжают расти, кто получает больше ожидаемого, а кому приходится пересматривать запросы.
Отдельно посмотрели на ситуацию глазами работодателей: почему кадровый голод сохраняется даже при перенасыщенности рынка, с какими трудностями сталкивается бизнес, планируют ли компании расширять команды и чего ждать от отрасли в ближайшем будущем.
Узнать подробностиУ любой большой системы есть неписаные правила. Формально они нигде не закреплены, но именно по ним в итоге и живет организация.
В прошлой статье я рассказал о своем 12-летнем опыте работы в системе ФНС и о том, как на определенном этапе столкнулся с характерной для больших госорганизаций установкой: «прикинуться дурачком и не высовываться», что бы с тебя не спросили и не поручили лишней работы.
«Не высовываться» это очень точная управленческая формула. В ней зашито все и отношение к инициативе, к ответственности, к карьерному движению и вообще к человеку внутри большой структуры. Не бери на себя лишнего. Не создавай напряжения и не будь заметнее, чем от тебя требуется.
Это вполне рабочая модель поведения, которая внутри системы действительно поощряется. Причем, как справедливо заметили в комментариях к предыдущей статье, касается это не только ФНС.
И моя проблема была не в том, что я этого не замечал. Просто довольно долго я считал, что
Читать далееМожет ли фронтальная панель сервера повлиять на его охлаждение? Такой вопрос обязательно возникает при проектировании серверов, особенно в системах с высокой плотностью размещения и повышенной температурой входного воздуха.
Чтобы проверить это на практике, мы провели стресс-тест сервера OpenYard RS201I на базе процессора Intel третьего поколения и сравнили его работу в двух сценариях ― с установленным безелем и без него.
Узнать большеСледуя традиции древних видящих, статьи КЭИ (Клуб Электронных Игр) из журнала ТМ, фактически, содержали две части. «Обучение для правой стороны» давалось в виде повести Михаила Пухова «Путь к Земле» и серии «космических программ», позволявшим вместе с героями повести совершить перелёт с Луны на Землю.
«Обучение для левой стороны» постепенно раскрывало возможности ПМК в состоянии «повышенного осознания» - во время использования «недокументированнных операций».
Находки исследователей советских ПМК были не менее впечатляющими, чем открытия шаманов древней Мексики. Поэтому, с моей точки зрения, они вполне заслуживают чести называться советскими видящими.
Настойчивые и неуклонные исследования советских видящих привели их к открытию «электронного океана». Вот цитата из того памятного номера:
Читать далееКогда у вас один‑два сервиса и несколько интеграций, внешний API легко держать под контролем. Но если их десятки и каждый хочет выставиться наружу, приходится придумывать свой велосипед.
Меня зовут Юрий Коберман, я технический продакт в Точка Банк. Мы в команде несколько раз меняли систему работы с API. Начинали с одной команды, которая писала всё вручную, и постепенно пришли к универсальному инструменту, с помощью которого сервисы могут выходить наружу самостоятельно без очереди и потери качества. Подробности — в этой статье.
Читать далееВсем привет, я Артем Герасимов, владелец продукта SimpleOne SDLC. Чуть больше года назад я пришел в компанию в момент, когда продукт только прошел стадию MVP, которую мы делали быстро, чтобы проверить гипотезу. Гипотеза подтвердилась, появились клиенты, но вместе с ними пришел беспорядок: запросы терялись между почтой и чатами, сроки срывались, процессы перестали работать.
В этой статье расскажу, как мы за год превратили стартап-проект в управляемый продукт — с конкретными решениями, ошибками и чек-листом действий, которые можно применить в любой команде разработки.
Читать далееИтак, Вы – руководитель разработки (главный инженер, архитектор и т.п.) большой системы. После здравых размышлений Вы (обосновано) выбираете для системы микросервисную архитектуру. Далее Вы (и опять обоснованно) разделяете систему на микросервисы, продумываете API, рисуете стрелочки и диаграммы и можно программировать.
Можно? Наверное, но лучше сначала рассмотреть принципы владения данными, обеспечения передачи данных потребителям, поддержки версионирования контрактов данных.
В этой статье мы рассматриваем два принципа: «Данными владеет только владелец» и «Локальность данных». Понимание принципов, понимание возможностей проектирования доступов к данным позволит Вам спроектировать устойчивые и надежные системы.
Читать далееЭто текстовая версия доклада с Java Rock Star Meetup, с которым выступал Дмитрий Фатов (@FatOFF ) — руководитель разработки Газпромбанка с опытом разработки приложений более 13 лет. Дмитрий работал как backend-, так и fullstack-разработчиком на языках Java, Kotlin, JS, TS, 1С и имеет большой опыт работы с SQL-базами данных.
Читать далееНедавно мы добавили в Lissa Health общую оценку состояния организма - индекс здоровья. Он агрегирует все загруженные анализы и выдает понятную картину: что в норме, что требует внимания, какие системы и органы просели. Логичным продолжением стал биологический возраст - показатель, который пытается ответить на вопрос, насколько реальный износ организма соответствует тому, что написано в паспорте.
При тщательном изучении стало понятно, что тема неоднозначная. С одной стороны - десятки приложений в App Store, которые за 5 минут расскажут, что вам "на самом деле 28". С другой - научные работы, где авторы осторожно пишут про генетику и "mortality risk prediction". Между этими полюсами - большая серая зона, в которой мы и попытались разобраться.
Ниже - результаты этого разбора: что наука действительно умеет измерять и что за этим стоит.
Читать далееПроблема N+1 стара как мир. Инструментов много: Debugbar хорош локально, Telescope тяжеловат для продакшена. Мне хотелось решения, которое будет «стучать» в Slack или Telegram именно тогда, когда проблема случилась на проде, и при этом сразу показывать пальцем на виновную строку кода.
Читать далееРеставрация старых фото с помощью ИИ Nano Banana. Практическое руководство: как восстановить старое фото, сделать бережную колоризацию и лучшие промпты для нейросети, которые сохранят внешность.
Читать далееВсем привет! На связи Карпенко Савелий, специалист по тестированию на проникновение из группы по борьбе с уязвимостями в компании ТехВилл.
В рамках нашей работы мы регулярно тестируем Active Directory (AD). Это центральный сервис аутентификации и управления доступом во многих корпоративных сетях. С практической точки зрения ошибки в конфигурациях AD часто становятся главной причиной взлома, среди проблемных аспектов можно назвать неверное назначение прав, доступов и использование устаревших механизмов аутентификации. Наличие недостатков в конфигурациях даёт атакующему возможность последовательно поднимать уровень своих привилегий. Ниже собраны типовые ошибки конфигурации, которые чаще всего встречаются на проектах, и показано, как они складываются в цепочки компрометации.
На практике аудит и тестирование обычно начинаются с исходных учетных данных, которые предоставляет заказчик. Если их нет, проникновение в инфраструктуру часто происходит через внешние веб-сервисы и ошибки на периметре (утечки паролей, небезопасные публикации, уязвимости бизнес-приложений). В российской практике одним из наиболее частых векторов для входа считается инфраструктура 1С, из-за повсеместного использования и различного уровня поддержки здесь чаще встречаются и слабые настройки, и типовые уязвимости.
Читать далееКаждый год Pinterest выкатывает отчёт Predicts, и каждый год я ловлю себя на мысли: ну ладно, опять набор красивых мудбордов. А потом проходит полгода, и я вижу эти же паттерны у клиентов, в лентах, в брифах. Совпадение? Восемь из десяти прогнозов Pinterest сбываются, и это уже не про удачу, а про данные.
Отчёт построен на анализе поисковых запросов за два года, с сентября 2023 по август 2025. Охвачены все возрастные когорты: Gen Z, миллениалы, Gen X и бумеры. И вот что важно - это не экспертное мнение одного редактора, а срез реального поведения сотен миллионов пользователей. Люди ищут, сохраняют и планируют. Pinterest видит это раньше, чем Instagram или TikTok.
* Организация Meta, а также её продукты Instagram и Facebook, признаны экстремистскими на территории РФ.
Изучить "тренды pinterest 2026"Всем привет! Меня зовут Катя, я развиваю Gramax — базу знаний для ИТ-команд.
Мы в команде давно и настойчиво говорим об одном: документация — это не довесок к разработке, это ее часть. Писать доку нужно до кода, вместе с кодом, а не после — когда контекст уже размылся, а решения давно забыты. Считаем, что это инженерная культура, без которой появляется куча проблем: медленный онбординг, повторяющиеся споры об уже принятых решениях, техдолг.
Один из примеров такой документации — Architecture Decision Records — короткие структурированные документы, которые фиксируют одно конкретное архитектурное решение вместе с контекстом, рассмотренными альтернативами и принятыми trade-off'ами. Ключевое слово — конкретное. ADR — это не архитектурный обзор системы и не проектная документация. Это ответ на один вопрос: «почему мы решили именно так, а не иначе?»
На эту статью меня вдохновил испанский ИИ-слоп и тред на Hacker News вокруг вопроса «как вы фиксируете ПОЧЕМУ инженерных решений, а не только ЧТО?». В статье напомню, зачем нужен ADR и какие есть стандартные проблемы. Также приведу выжимки из кейсов, в которых описаны любопытные ИИ-автоматизации.
Читать далееЗнаете это чувство, когда сидишь на очередном спринт-планировании, команда пытается оценить таски, а планинг покер тормозит так, что успеваешь кофе сварить, пока карточка загрузится?
Вот у меня в AGG TEAM такая же история была. Мы пробовали:
Читать далееРоботы создают эмбрионы. ИИ научился читать ДНК. Клетки мозга пилотируют дроны. Кажется, мы пересекли какую-то черту, но об этом никто особо не объявлял Это свежие заметки о жизни на пороге сингулярности.
Этот выпуск тематический. Его центральная тема — биотехнологии будущего и их влияние на общество. Один номер, одна рамка и две стороны медали: корпоративная и анархистская, плюс множество ссылок про то, как люди ломают и чинят биологию. Читайте по порядку или сразу листайте до дайджеста — выбор за вами.
Читать далее