
Всем привет! Специально для тех, кто хочет освоить эту профессию, мы подготовили обзор основных инструментов, необходимых для создания DevOps-процессов.
Всем привет! Специально для тех, кто хочет освоить эту профессию, мы подготовили обзор основных инструментов, необходимых для создания DevOps-процессов.
Привет, Хабр! Я Михаил Бибик, работаю в СберТехе QA-automation-инженером, пишу автотесты для СУБД Pangolin — это целевая СУБД в Сбере и не только. В прошлом году наша команда искала и нанимала QA-инженеров с различным опытом, в том числе совсем начинающих. Когда я провёл штук 15-20 собеседований, то понял, что могу обобщить некоторые наблюдения и составить простые советы по поводу составления тест-кейсов для начинающих (скорее, очень начинающих) тестировщиков. В этой статье я покажу, как применить теорию тестирования на техническом собеседовании. Для этого разберу реальную задачу с нашего собеседования. Проходите под кат.
Самое главное стоит понимать, что XSD (XML Schema Definition) – это схема, то есть описание данных взаимодействия. Схемы бывают разные, например, наша XSD, которую обычно используют для описания структур в формате XML, или JSON-schema - для описания структур в формате JSON. Использование схем в контрактах API сейчас уже является стандартом де-факто, так как это удобно.
Основные объекты, из которых состоит XSD-схема:
- Элементы;
- Типы;
- Индикаторы порядка.
При разработке веб-приложений не все задумываются о том, сколько памяти потребляет их код. О производительности наших сайтов мы вспоминаем гораздо чаще. К тому же не каждому разработчику интересно «экономить на спичках». Разве может наш код на языке JavaScript требовать много памяти? «Много» — это вообще сколько? 100 мегабайтов — это много?
Меня зовут Антон Непша. Я работаю в Сбере, разрабатываю сайт СберБанк Онлайн и веду Telegram-канал Антон Непша.js. Недавно я выступил на HolyJS с докладом о том, сколько ресурсов потребляют наши сайты, как эти ресурсы распределяются, где хранятся, и как связать информацию о них из снимка памяти с конкретным местом в своём коде.
Если смотреть видео вам удобнее, то доклад есть на YouTube и ВК Видео. В статье вас ждёт текстовый вариант и ссылки на используемые материалы:
Привет, Хабр! Меня зовут Геннадий Круглов, я работаю в команде «Архитектура Банка» в Департаменте корпоративной архитектуры Сбера.
Когда мы сравниваем «архитектуры», на самом деле чаще всего мы сравниваем архитектурные стили. Как и в строительстве, где, например, мы можем отнести здания к готике, классицизму, барокко или эклектике, мы относим архитектуры программных систем к N-Tier, SOA или, допустим, к микроядерной архитектуре. Мы позаимствовали из строительства идеи архитектуры и архитектурных стилей, поэтому продолжим использовать аналогии из строительной сферы.
Монолитной архитектуры как архитектурного стиля не существует. Монолитным может быть изделие или конструкция. Давайте немного погрузимся в инженерию и разберёмся на примерах из строительства и разработки программного обеспечения, что такое изделие и конструкция.
Мы — команда, которая обеспечивает D‑People (data‑аналитиков, исследователей данных (data scientist) и data‑инженеров) Сбера удобными и функциональными инструментами для работы с данными. Наш департамент развивает внутреннюю корпоративную аналитическую платформу (КАП). В ней есть множество удобных инструментов, и в статье мы расскажем об одном из них — позволяющем работать с данными на естественном языке.
Мир видеоигр прошёл долгий путь с его современной графикой и постоянно развивающимися игровыми механиками. Однако наблюдается возрождение любви к классическим видеоиграм прошлого. Это возрождение ретро-игр захватило индустрию, подпитываемое ностальгией, доступностью и признанием непреходящих качеств, которые сделали эти игры такими любимыми.
Давайте вместе почешем ностальгический зуд и вспомним наши первые приставки и игры. И даже не важно, какой из них вы клялись в верности, все они подарили нам огромное количество часов счастья.
Представьте себе мир на грани глубокой трансформации, движимый беспрецедентными инновациями, готовыми произвести революцию во всех аспектах общества. Этот сдвиг, приближающийся к технологической сингулярности, несёт огромную ответственность и высокие ставки для нынешнего и следующих поколений. Готовы ли мы к последствиям и глубоким изменениям, которые может принести будущее, основанное на технологиях?
Привет! На связи снова команда LegalDocs правового департамента ПАО «Сбербанк». В прошлый раз мы рассказали вам о конструкторе извлечения для аналитиков, а сегодня хотим поделиться с вами, как мы сделали «RAG наоборот» — выработали методику автоматизации рутинных задач аналитиков.
При поддержке парижского Института биомедицинских исследований было проведено концептуальное аналитическое исследование практического применения различных методов компьютерного моделирования генных сетей, связанных со старением. В этой статье мы расскажем о некоторых из них.
Решающую роль в скорости процесса старения играют генные регуляторные сети (GRN). Их идентификация приводит к новым возможностям увеличения продолжительности жизни человека. Учёные используют различные подходы компьютерного моделирования GRN, позволяющие приблизиться к пониманию взаимодействия белков и генов в процессе старения.
Всем привет, меня зовут Максим Ажгирей, я руковожу в СберТехе командой разработки, которая занимается развитием инструмента нагрузочного тестирования (НТ) SyTester в линейке интеграционных решений Platform V Synapse.
У SyTester есть две редакции: Enterprise Edition (EE) и Community Edition (CE). Вторая — бесплатная, мы сделали её совсем недавно и разместили на GitVerse, то есть протестировать её может любой желающий. Сегодня расскажу о том, какие проблемы мы смогли решить благодаря этому инструменту, а также об особенностях каждой его версии. Статья будет полезна разработчикам, которым нужно быстро, не тратя время на сложные настройки, провести нагрузочное тестирование, а также специалистам, которым требуется тестировать приложения с очень большими нагрузками (от 100 000 ТПС) и для различных протоколов.
Среди разработчиков бытует поговорка «никаких деплоев в пятницу», оправдавшая себя в 2024 году. 19 июля мир замер от крупнейшего краха, когда-либо ранее зафиксированного. Глобальный сбой был вызван обновлением ПО «CrowdStrike Falcon» от гиганта в сфере кибербезопасности CrowdStrike, которое нарушило работу критической инфраструктуры во многих сферах. Поскольку инфраструктура становится всё сложнее, это однозначно не последний катастрофический сбой. Однако он не был и первым. История полна примеров, подтверждающих «цифровую хрупкость».
Привет, Хабр! Меня зовут Андрей Чернов, я Java‑архитектор в СберТехе, где разрабатываю архитектуру микросервисов. Сейчас я расскажу про нюансы работы с секретами в Java‑сервисах на всеми любимом Spring Boot и про наш опыт такой работы. В современном мире практически не осталось автономных, ни с чем не интегрированных, сервисов. А секреты в первую очередь нужны для безопасных интеграций.
Статья будет состоять из двух частей. В первой расскажу про особенности работы с секретами в Java на Spring Boot — где их брать и как применять к вашему сервису на примере того, как мы делаем это в Platform V Sessions Data (распределенный in‑memory кеш для клиентских сессий, который позволяет снизить нагрузку на внешние сервисы и базу данных). Также расскажу про стандартные варианты обновления секретов «на горячую» (не останавливая, не перезапуская сервисы, и даже не снимая с них нагрузку) и что с ними не так.
Во второй части подробно разберу, как мы обновляем секреты «на горячую». Эти советы помогут вам улучшить работу с секретами, а значит сделать сервисы более защищёнными. Ведь если секреты попадут в руки злоумышленников, те смогут атаковать ваш сервис — вывести его из строя, украсть конфиденциальные данные и т. п. А любая успешная атака чревата для компаний потерей денег, нервов, времени и репутации.
Привет, Хабр! Мы завершаем серию статей о миграции аналитического хранилища данных с платформы Teradata на GreenPlum. В предыдущих статьях мы рассказали о нашем опыте и результатах автоматизированного переписывания SQL‑скриптов с помощью реализованных сервисов миграции кода и переноса архива данных. В этот раз мы расскажем вам о нашем опыте и результатах кросс‑платформенной проверки качества данных во время и после миграции, а также о трудностях и решениях, связанных с этим процессом.
Завершая нашу серию, мы подходим к ключевому аспекту миграции данных — проверке и обеспечению качества данных после переноса. Теперь, когда перед нами стоят два параллельно функционирующих хранилища, возникает вопрос о точности и согласованности данных между ними.
Одни из самых долгоживущих, самых скрытных и самых древних организмов на Земле. Грибы. Существа в скрытом царстве под горой. Они меня всегда увлекали.
В 1998 году внимание биологов привлекла гибель деревьев, чьи корни были опутаны грибницей. Тогда-то они и определили, что скопления опёнка темного в Орегоне не отдельные грибницы, а единый организм. Крупнейшее живое существо на Земле: размером с 880 гектаров и старше 2,4 тысячи лет.
Хочется написать симуляцию этого великолепного царства (прямо в браузере на Python и p5py). Посадить электронные споры, понаблюдать за ростом мицелия и восшедшими плодовыми телами, и проследить за спорами-путешественниками, как они создают новые колонии.
Добро пожаловать в путешествие в Царство Грибов.
Привет, Хабр! Мы — команда ML‑разработчиков Сбера и Sber AI Lab. Хотим рассказать о нашем open‑source инструменте RePlay, который позволяет создавать рекомендательные системы с нуля, начиная с самых ранних DS‑экспериментов и заканчивая промышленной эксплуатацией. Статья будет интересна ML‑инженерам, разрабатывающим промышленные рекомендательные системы.
Мотивацией для создания RePlay послужил тот факт, что все популярные на сегодняшний день RecSys‑фреймворки в основном нацелены на научные исследования и плохо оптимизированы для промышленной эксплуатации: не в состоянии обработать большой объём данных или требуют для этого значительных модификаций. Подробнее о создании библиотеки вы можете прочитать в соответствующей статье с RecSys 2024. По той же ссылке вы найдёте обзорное видео о RePlay.
Здесь же мы сравним RePlay с главными конкурентами — RecBole и Microsoft Recommenders. Разберём возможности, которые предоставляет каждая из библиотек, а затем, на примере SOTA‑модели, построим рекомендательную систему, начиная с ввода данных и заканчивая генерированием рекомендаций и подсчётом метрик. Сравним полученные модели по качеству и длительности обучения и инференса. В конце расскажем об уникальных возможностях RePlay, которые помогут ещё сильнее облегчить путь разработчика, по сравнению с использованием библиотек‑конкурентов
Веб‑технологии, такие как Media Capture and Streams API (или просто MediaStream API), открывают большие возможности для работы с видеопотоком в браузере. Они позволяют легко захватывать видеопоток с веб‑камеры и использовать его для создания мощных и интерактивных веб‑приложений. Однако несмотря на широкую доступность этих API их эффективное использование остаётся непростой задачей.
Меня зовут Артем Шовкин, я RnD‑разработчик в СберТехе. В процессе изучения MediaStream API наша команда столкнулась с рядом интересных вопросов. Как эффективно управлять параметрами видеопотока в зависимости от возможностей устройства и сети? Какие подводные камни возникают при кроссбраузерной реализации? Как лучше всего обрабатывать ошибки при работе с видеопотоком?
Мы решили не просто разобраться в работе API, но и в деталях изучить спецификацию Media Capture and Streams, чтобы понять, как она используется в реальных приложениях. В статье мы также использовали код исходников реализации getUserMedia
.
Материал пригодится разработчикам, которые встраивают в свои решения работу с камерой, особенно полезен фронтендерам, которые столкнулись с задачами по созданию функциональности работы с веб‑камерой и которым нужно добиться качества видео не хуже, чем в нативных приложениях.
Поехали!
К 2030 году количество используемых в мире API составит около 2 миллиардов. Это в 8 раз больше, чем в 2018 году. Рост числа открытых точек увеличивает количество уязвимостей, угроз и прогнозируемых атак. По оценкам экспертов, к 2026–2027 годам рост прогнозируемых атак на API составит 156% от сегодняшнего состояния.
Меня зовут Денис Кириллов, я главный архитектор решения Platform V SOWA в СберТехе. Сегодня я хотел бы рассказать о лучших практиках защиты API в современном мире. Эта тема довольно обширная, поэтому я разделил её на два материала. В первой статье рассмотрим принципы безопасности API, спецификации API и как они влияют на безопасность. Поговорим о проверке объектов на соответствие спецификации и о том, как она помогает снизить риски из списка Тор-10 API Security Risks.
Во второй статье расскажу о проблемах валидации API и совместном использовании механизмов валидации и WAF. Выясним, почему необходим отдельный компонент, который реализовывал бы функцию безопасности по отношению к API. И рассмотрим возможности продукта Platform V SOWA, который мы создали для решения этих задач.
Материал будет полезен специалистам в области информационной безопасности, сопровождения и разработки.
Обратная совместимость — одно из ключевых требований к современным UI‑библиотекам, которое стоит в одном ряду с требованиями к удобству использования компонентов и наличию качественной дизайн‑системы. Более того, она должна обеспечивать не только сохранение работоспособности проекта клиента после обновления библиотеки, но и неизменность самого подхода к написанию кода. Последний аспект может бросать определённые вызовы для команды разработки UI‑библиотеки и создавать уникальные сценарии.
Привет, Хабр! На связи Павел Урядышев, главный ИТ‑инженер Platform V UI Kit в СберТехе. В этом материале я расскажу, с какой необычной проблемой обратной совместимости столкнулась наша команда во время подготовки релиза UI‑библиотеки Platform V UI Kit. Это решение для построения интерфейсов любого уровня сложности: от корпоративных приложений до сайтов.
Печальная картина, когда кандидат на серьёзные позиции скидывает резюме, где навыки идут следующим образом:
• Функциональное тестирование
• Написание чек‑листов
• Анализ документации
• Заведение багов
Вопросов здесь много! Во‑первых, написали не по порядку, сначала идёт анализ документации. Но если серьёзно, то такой список навыков не подходит. Это уровень не джуна, а студента в первый месяц обучения.
Навыки в резюме — это умения, знания и владение программами, которые позиционируют соискателя как профессионала.