Социальные сети Рунета
Пятница, 13 сентября 2024

Что делать, если твой заказчик — весы, или Как заговорить на одном языке с бытовой техникой Меня зовут Алексей Плаксин, я системный аналитик в компании KODE и сейчас расскажу вам, как делал реверс-инжиниринг бытовой техники.Однажды к нам пришел крупный бренд бытовой техники, который в том числе производит и продает «умную» технику для дома. Нам нужно было в коротки...

MAIPUем zVirt: практика создания метрокластера на базе СХД Привет, Хабр! Меня зовут Александр Гавриленко, я занимаюсь интеграциями продуктов в инфраструктурах заказчиков Orion soft. За последние 2 года количество задач, связанных с организацией устойчивой виртуальной инфраструктуры на 2 и более территориально распределенных ЦОДа (со...

Один компонент, 20+ фич, A/B-тесты: Поможет ли машина состояний? Сталкивались ли вы с проблемой возникновения багов из-за пересечения включенных фичей в приложении? Или, возможно, была необходимость одновременно проводить большое число A/B-экспериментов в одном компоненте? Некоторое время назад команда Почты Mail.ru решала задачу упр...

Точки отказа в HighLoad-системах Как бороться с типовыми причинами отказа? А самое главное — как их обнаружить? Рассмотрим лучшие элементы инженерной практики, обеспечивающие высокую доступность системы и оперативное расследование инцидентов. Коснёмся памяти, разберём базу данных, поговорим про ТСР-соединен...

Как мы сделали переводчик точнее и дешевле Google и Yandex Всем привет! Меня зовут Никита, я Data Scientist из Raft. Сегодня я расскажу вам о том, как мы решили задачу перевода каталога товаров большого интернет-магазина с русского на арабский язык с применением искусственного интеллекта. Мы рассмотрим различные подходы и идеи, возн...

Регулярные выражения в реальных задачах Привет, Хабр! Меня зовут Татьяна, я разработчик в Росбанке, и в этом посте я расскажу про регулярные выражения. По своему опыту могу сказать, что регулярки — это очень полезный инструмент. Я часто пользуюсь ими, решая задачи по обработке текста в базах данных. Вначале я оста...

DevX: ориентированный на разработчиков подход к измерению и повышению производительности Привет, Хабр! Меня зовут Олег Хромов, в МТС я руковожу центром «Управление разработкой». В статье расскажу, как мы оцениваем производительность IT-специалистов. Универсальные методы работают плохо, поэтому мы пришли к специально адаптированному для IT подходу под названием D...

Решаем задачу асинхронного ввода-вывода с библиотекой Asio Привет, Хабр! Меня зовут Илья Казаков, я C++ разработчик в команде систем хранения данных  компании YADRO, одна из моих задач — реализация эффективных IO-bound программ под Linux. На одном из проектов мы с командой использовали Asio — библиотеку C++ для сетевого и ...

Проектируем микросервисы с Reactive Manifesto Работаете с распределенными системами или только пытаетесь к ним подобраться? Проектировать такие системы с нуля бывает сложно и страшно: чтобы учесть все нюансы, нужен определенный багаж знаний. На помощь приходит Reactive Manifesto — документ, который обобщил опыт цел...

Как выживать среди заказчиков Всем привет! Меня зовут Фефилов Александр, я работаю в QA с 2017 года. По большей части это были компании, которые занимались аутсорсингом, но затем я присоединился к SM Lab.Как вы уже поняли из названия поста, я расскажу о том, как взаимодействовать с заказчиком (а иногда и...

Анализ Docker-образов на соответствие требованиям комплаенс Всем привет! Меня зовут Максим Чиненов, я работаю в компании Swordfish Security, где занимаюсь внедрением, развитием и исследованием инструментов и процессов связанных с практиками Cloud & Container Security.Сегодня мы разберем работу инструмента OCI-image-compliance-sc...

Как совмещать основную работу и проекты на стороне У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!Ме...

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

CI/CD в каждый дом: сборочный цех базовых docker-образов Привет, Хабр.Последнее время DevOps и CI/CD де-факто стали повсеместным стандартом независимо от размера команды, в интернетах хватает статей, почему это важно, в чём собственно идея, полезных практик и других материалов. Я же решил подойти с несколько другой стороны и макси...

Передача и обработка IAsyncEnumerable в Typescript с ASP.NET Core Web Всем привет, Меня зовут Олег и я .NET разработчик в компании Bimeister. Я хотел поделиться своим интересным опытом по связи проекта на ASP.NET Core Web App с использованием IAsyncEnumerable коллекций и современного фронт-енд SPA приложения на Typescript.и Vue.js 3 версии.Все...

Как сделать Kubernetes еще круче: секреты безупречной работы Отказоустойчивость информационных систем необходима для обеспечения непрерывности работы системы и минимизации возможности потери данных в случае сбоев или отказов в работе оборудования. Это особенно важно для критических для бизнеса систем. Мы начали использовать геора...

Как мы наладили процесс разработки внутренних приложений с помощью Appsmith Привет! Меня зовут Алексей, я аналитик данных в команде BI финансового маркетплейса Банки.ру. Сегодня хочу поделиться опытом работы с Appsmith. Это low-код инструмент для автоматизации бизнес-процессов. В статье расскажу, зачем вообще нам понадобился подобный инструмент...

Укрощение примитивов синхронизации: сравниваем решения задачи с построением пула потоков на С и Go Эта статья основана на истории об одном личном челлендже. Задача звучала так: помочь с реализацией взаимодействия компонентов в программном комплексе заказчика. Иными словами, понадобилось IPC для дальнейшего развития продукта. Вызов заключался в том, что в обязательных треб...

Метод SMART. Что это и почему про него важно знать руководителю? Привет! Меня зовут Лера, я в управлении проектами уже 7 лет. Реализовывала проекты на стыке AR/VR/ML-технологий в сервисной компании. Сейчас работаю в EdTech и параллельно занимаюсь менторством начинающих проджектов и руководителей.Прежде чем мы перейдем к основной...

PI-планирование: как с его помощью мы выстроили здоровую коммуникацию с заказчиком Привет! Меня зовут Даша Семенова, я руководитель проектов в AGIMA. Уже пять лет настраиваю процессы у одного большого заказчика. Это еком, ребята продают свою продукцию, а многие из вас ее покупают. А если не покупаете, то точно слышали. В общем, бренд известный и важный для...

Упростить развертывание приложений в облаке — open source инструменты, которые помогут это сделать C помощью cloud-сервисов можно решить множество задач бизнеса — например, организовать централизованное управление корпоративной ИТ-инфраструктурой, разместить клиентские приложения и обеспечить высокую доступность веб-ресурсов при пиковых нагрузках, сократить затраты на сер...

Оптимизация работы с Camunda на основе External task Привет! Меня зовут Андрей, я - ведущий разработчик в "РТК ИТ". В этой статье речь пойдет об опыте перехода на паттерн external task в одной из наших систем.Camunda — это BPM-движок для автоматизации бизнес-процессов. Она представляет собой набор библиотек, которые и позволяю...

Короткой строкой: почему я начал учить английский и пригодился ли язык в работе Всем привет! Меня зовут Павел, я работаю в Альфа-Банке на позиции QA Tech Lead. В этой статье хотел бы поделиться своим видением и опытом использования английского языка в повседневной и профессиональной жизни. Не сказать, чтобы мой английский был на высочайшем уровне, но дл...

Как мы улучшили СУБД промышленного уровня Platform V Pangolin в версии 6.1 Меня зовут Михаил Гелемеев, я лидер команды сопровождения Platform V Pangolin в СберТехе. Platform V Pangolin — реляционная система управления базами данных. Она основана на свободно распространяемой версии PostgreSQL и содержит ряд доработок, обеспечивающих соответств...

Как выбрать и внедрить  OCR-систему для распознавания и сверки документов Приветствую, друзья! Меня зовут Александр Вихарев, и я работаю системным аналитиком в проектах для Fix Price. Одной из самых сложных задач при работе с документацией является сверка документов. Причем сверка трудна и с точки зрения программной реализации, если заниматьс...

Эффективное обновление состояний в БД из сервисов потоковой обработки событий Как хранить сложные сущности в БД? Что нужно сделать, чтобы не перезаписывать весь рекламный баннер для обновления одного лишь заголовка? Рассмотрим как минимум 5 независимых и взаимно совместимых идей для многократного снижения нагрузки на чтение и запись подобных объектов....

Камера как сканер штрих-кодов: проблемы, инструменты и эксперименты Всем привет, меня зовут Никита, я старший разработчик в компании Озон и работаю над iOS-приложением «Пункт Озон».«Пункт Озон» — это мобильное приложение для работников и менеджеров пункта выдачи заказов (далее просто ПВЗ). В приложении множество различных разделов для повсед...

Инклюзивность и цифровая доступность в дизайне: почему это важно для всех Всем привет! Меня зовут Юля Алёхина, я дизайнер в AGIMA. В этой статье поговорим об инклюзивном дизайне, о том, почему он касается не только людей с инвалидностью и как правильно аргументировать важность доступности в общении с заказчиком. Еще расскажу, как наш дизайн-отдел ...

Accessibility картинок. Как сделать изображения доступными? Всем привет! Меня зовут Артём Плаксин, я незрячий специалист по цифровой доступности и работаю в ВК. Почитать о моей работе в офисе вы можете в одном из постов этого блога, а сегодня я хочу поговорить о практической стороне доступности. Этот пост посвящён доступности изображ...

Бизнес-аналитик — мастер переговоров или как не сойти с ума, работая с требованиями Друзья аналитики и ценители данных!Меня зовут Виктория и я считаю, что аналитика - это не просто работа, а образ жизни. 10 лет погружения в мир данных научили меня выжимать инсайты из сухих цифр и видеть скрытые закономерности.Сейчас я также руковожу отделом аналитики в IT-к...

В поиске оптимального подхода к миграциям в Go Привет! Меня зовут Нина, и я Golang разработчик.Однажды, мы поняли, что в нашей компании очень много Go-сервисов, но каждая команда использует свой инструмент и подход. Поэтому мы решили систематизировать и унифицировать инструменты, используемые для создания и применения ми...

Как перенести 1,4 ТБ с MS SQL на PostgresSQL за 13 часов Привет, Хабр! Меня зовут Павел Кузьмин, я работаю ведущим разработчиком в РСХБ-Интех. Однажды в своей работе мы столкнулись с острой необходимостью перенести БД объемом 1,4 ТБ (более 1,5 млрд строк) с MS SQL на PostgresSQL не более чем за 20 часов. Неожиданно для нас, все им...

Мы поменяли воркфлоу дизайнерских задач и теперь понимаем, куда уходит время Привет! Меня зовут Дима Курамшин, я директор по бизнес-процессам в AGIMA. Недавно мы заметили, что некоторые задачи на наших досках застревают на приемке у заказчиков. Например, задачу с нуля мы делаем 10 дней, но потом в колонке Review она может лежать еще столько же или да...

Системное мышление на практике: переход от монолита к микрофронтендам и обратно Меня зовут Олег, я уже 20 лет работаю в ИТ и в основном на Enterprise-проектах. Сейчас работаю в Альфа-Банке на проекте Альфа-Онлайн и хочу поделиться своим видением управления сложностью на больших проектах.Мой опыт работы с десятком комплексных решений показал, что системн...

Об одном способе реализации архитектуры крупного Flutter-приложения Привет! Меня зовут Олег Скирюк, я лидирую контент-разработку в одной из команд билайна. Сам я перешёл в мобильную разработку из веба три года назад, после чего собрал и обучил одну из первых Flutter-команд в компании. Вместе с этой командой мы постоянно экспериментируем и пр...

Знакомьтесь, WOPI! Как настроить работу с документами в браузере Всем привет! Меня зовут Алексей Симонов. Я — разработчик в компании ELMA. Сегодня мы поговорим про протокол под названием WOPI. Он позволяет работать с файлами документов с использованием облачного сервера. Вы выбираете файл который хотите посмотреть или отредактировать...

Утечки памяти в мобильных приложениях: руководство для QA-инженеров Меня зовут Ира и я руковожу отделом тестирования мобильной платформы: наш отдел занимается разработкой инструментов для автоматизации тестирования мобильных приложений Ozon и тестированием внутренних библиотек, которые используются в наших приложениях. Около года назад мы пы...

Пуш-уведомления RuStore Привет! Меня зовут Артем Ковардин, я работаю в VK и мы с командой разрабатываем Push Service RuStore и SDK для него. Если вы занимаетесь разработкой мобильных приложений и хотели бы иметь канал коммуникации с пользователями или же вам просто интересно то, как работают разраб...

Как QA собеседование проходил Привет, Хабр!Меня зовут Тоня. В SM Lab я работаю старшим инженером по обеспечению качества в команде продукта Интра — занимаюсь ручным тестированием и написанием автотестов на Kotlin. В этой небольшой статье хочу рассказать, как я искала работу и проходила собеседования чере...

Хороший ретрай, плохой ретрай, или История одного падения Порой простое и очевидное решение может потянуть за собой хвост проблем в будущем. Например, добавление ретраев.Меня зовут Денис Исаев, и я работаю в Яндекс Go. Сегодня я поделюсь опытом решения проблем с отказоустойчивостью из-за ретраев. Основано на реальных инцидентах в с...

End-to-end тестирование React приложения с помощью Playwright Привет, я Лиза – веб разработчик в одной зарубежной компании. Хочу поделиться тем, как я автоматизировала регрессионное тестирование в рабочем проекте на React с использованием довольно нового фреймворка Playwright. Разберемся, почему именно этот фреймворк, какие подводные к...

Flutter и фриланс в школе Меня зовут Вася, это моя первая статья тут, поэтому не удивляйтесь куче всяких кривых цитат и спойлеров, я учусь в 11 классе, с августа 2020 года работаю с Flutter, а с марта прошлого года занимаюсь коммерческой разработкой мобильных приложений на фрилансе. Сегодня хочу расс...

Как реализовать и оптимизировать UPSERT в Greenplum 6 Привет! Меня зовут Антон Васильев, я работаю инженером технической поддержки компании Arenadata и нередко сталкиваюсь с довольно каверзными задачами и багами. Одной из них была проблема оптимизации механизма UPSERT в Greenplum 6. В этой статье я хочу рассказать, как эта зада...

Call Activity vs SubProcess: В чём отличие? Приветствую моих читателей! Меня зовут Екатерина. Ранее 3.5 года я администрировала bpm-систему, сейчас вот уже более двух лет я работаю системным аналитиком и развиваю нашу собственную bpm-систему. В данной статье хочу рассказать о дилемме, с которой столкнул...

Медленное выполнение команды TRUNCATE: анализ проблемы блокировок спинлока в SQL Server Приветствую всех читателей Хабра! Меня зовут Михаил, я администратор DBA в компании «Автомакон». На данный момент работаю на проекте для «ВкусВилл».Решил затронуть одну из насущных проблем, связанную с работой SQL Server, а именно со спинлоками в нем. Да, даже такой зрелый и...

Go Tarantool: как построить Key-value-хранилище на сотни тысяч запросов в секунду С увеличением сложности ИТ-систем все больше становится очевидной ограниченность привычных реализаций с простой архитектурой компонентов. Особенно это заметно в случае систем, которые должны стабильно работать с большими и интенсивными нагрузками. Чтобы понять это, дост...

Как быстро интегрировать Систему быстрых платежей (СБП) в приложение на Flutter Всем привет! Меня зовут Мурат Насиров, я Flutter-разработчик в Friflex. Мы разрабатываем мобильные приложения и специализируемся на решениях для ритейла. На одном из наших проектов мне пришлось столкнуться с внедрением кнопки оплаты через Систему Быстрых Платежей (СБП). В эт...

Разработка мобильного клиента СДУ «Приоритет» под ОС «Аврора» на фреймворке Qt Всем привет! Меня зовут Илья, и я разработчик ПО в области автоматизации документооборота в компании «Диджитал Дизайн». Так получилось, что изначально я iOS-разработчик, но по воле случая мне удалось поучаствовать в создании мобильного приложения — клиента СДУ «Приоритет» (д...

У вас новый ремонт? Лучше! Рисунок нового ремонта. Как мы из Stable Diffusion сделали дизайнера интерьеров Сейчас технологии машинного обучения и нейронных сетей находят широкое применение в различных сферах, не исключая дизайн и ремонт помещений. Одной из таких технологий является методы генеративных нейросетей, которые позволяют преобразовывать изображения, сохраняя основные эл...

Kubernetes: шпаргалка для собеседования Всем привет! Меня зовут Олег, я работаю исполнительным директором по разработке в Газпромбанке. На разных этапах карьеры я участвовал во многих собеседованиях, а в настоящее время сам собеседую кандидатов на должность инженеров DevOps и системных администраторов в Газпромбан...

Как не давать пустых обещаний себе, команде и заказчику Привет, Хабр!14 лет я работал в международной компании Airbus – компании, занимающейся авиастроением. В IT же мой путь начался совсем недавно – всего лишь чуть больше года назад. Чем отличается управление релизами программного обеспечения и управление проектированием констру...

Поезд «Jira – Kaiten». Путь Х5 Около года назад мы начали миграцию с системы Jira, которая использовалась для управления задачами, на российскую платформу Kaiten. Проект миграции – весьма амбициозный, ведь всего в системе у нас работают около 7 500 пользователей с огромным количеством сложных процессов. В...

Почему FilamentPHP — это хорошее решение для создания CMS Привет, Хабр! Меня зовут Егор Черненок, я работаю PHP-разработчиком в AGIMA. В этой статье расскажу вам о FilamentPHP. В документации говорится, что это набор красивых Fullstack-компонентов для Laravel. От себя добавлю, что он отлично подходит для построения CMS. А теперь по...

Aqueduct: Как мы экономим железо для МЛ-вычислений Привет! Меня зовут Олег Бугримов, я руковожу разработкой в команде Data Science SWAT в Авито. Мы занимаемся инженерией для машинного обучения. Одно из направлений - это оптимизация продового инференса. Наша задача чтобы модельки работали быстро и не потребляли безумное колич...

React Query: стейт-менеджер для любителей кэша Всем привет! Меня зовут Андрей Демьянов. Я тимлид и разработчик в МТС Travel. Совместно с другими командами мы создаем сервис по бронированию отелей в России и всему миру. Развиваемся с нуля, поэтому прямо на себе испытываем необходимость в новых библиотеках, подходах и изме...

[recovery mode] Как вести несколько проектов и не сойти с ума. Очередная статья про тайм-менеджмент Привет! Меня зовут София, я маркетолог проекта Fitil, в блоге которого публикую эту статью. Fitil — это сообщество для знакомств и общения. Мы стартап, а значит, задач очень много.Кроме Fitil я веду ещё два проекта как маркетолог: занимаюсь позиционированием, запусками ...

Реальный кейс для РЕД АДМ и никаких сферических конфигураций в вакууме Привет, Хабр, меня зовут Елена, я работаю в компании «РЕД СОФТ» и отвечаю за функционал централизованного управления конфигурациями РЕД АДМ Промышленная редакция. В прошлой статье я рассказала о механизме работы конфигураций — одного из разделов...

Как мы оптимизировали процессы обеспечения качества Привет! Меня зовут Таня, я куратор в SM Lab. В этом посте я расскажу вам о нашем пути оптимизации тестирования — узнаете, какие на нашем продукте были проблемы в процессах тестирования, как мы их решали, почему не надо отвлекать тестировщиков и в чём польза интуитивного тест...

7 причин моей гибкости. Как работают принципы ITIL Привет, меня зовут Кирилл, в СИГМЕ я работаю в департаменте решений SAP. И речь сегодня пойдет о 7 руководящих принципах ITIL, которые я хочу раскрыть на собственных примерах. Эти принципы не новы, но, как бывает с классикой, — к ней хочется возвращаться. Тем более что обозн...

Обзор Helm Dashboard — графического интерфейса для управления релизами Kubernetes Часто разработчики предпочитают использовать именно визуальные средства, чтобы более эффективно управлять релизами Kubernetes. Один из таких инструментов — Helm Dashboard. С его помощью можно самостоятельно создавать, развертывать, обновлять различные релизы Kubernetes-прило...

Основы управления ресурсами в C Привет, Хабр! Управлении ресурсами включает в себя распределение, использование и освобождение различных типов ресурсов. В языке программирования C автоматическое управление памятью отсутствует, эта задача ложится на плечи разработчиков.В этой статьи рассмотрим основные возм...

Планируем путешествие — задача коммивояжера (TSP) для построения оптимального маршрута С вами Алексей Ложкинс, эксперт по анализу данных и машинному обучению в ПГК Диджитал. Мы разрабатываем цифровые продукты для логистической отрасли, в первую очередь, для ж/д перевозок.В кулуарах московского офиса ПГК мы обсуждаем и нерабочие темы. Топовую строчку в темах не...

Обобщенные фабрики тайпгардов в TypeScript Привет, Хабр! Меня зовут Сергей Соловьев, я разрабатываю интерфейсы международных платежей в Тинькофф Бизнесе. Уверен, многие хотят писать надежный, поддерживаемый, но при этом лаконичный код. Как найти баланс?TypeScript упрощает разработку веб-приложений ценой роста кодовой...

Сообщества вокруг технологии: почему быть бесплатным недостаточно Эта статья может пригодиться тем, у кого есть пет-проект с открытым исходным кодом, который хочется продвигать, но нет опыта работы с коммуникациями. Меня зовут Ксения Романова, по образованию я PR-специалист, работала в маркетинге, затем в Developer Relations. Сейчас я мене...

Построение высокопродуктивной команды: опыт СберМаркета Привет, меня зовут Борис Вольфсон, и я отвечаю за продукт и данные в СберМаркете. Сегодня я расскажу про наш подход к формированию и развитию команд, способных демонстрировать выдающуюся продуктивность. Подробно остановлюсь на традиционных методах и нестандартных инструмента...

Prosci на практике — системное управление изменениями Всем привет! Меня зовут Максим, я тимлид деливери-менеджеров в Тинькофф Кассе. Расскажу, из чего состоят изменения, а также про одну методологию работы с ними. Будет кейс, как мы применяли ее на практике. Будет немного про провалы изменений, про структурный подход и факторы ...

Самый быстрый фреймворк на Диком Западе: ускоряем Django-rest-framework вместе с Rust Всем привет! Меня зовут Роман Кабаев, я инженер в отделе разработки инструментов тестирования компании YADRO. Вместе с коллегами мы разрабатываем собственную тест-менеджмент систему с открытым исходным кодом TestY.На этапе запуска TestY в качестве фреймворка для разработки м...

Как мы нашли новый подход к передаче сервисов в промышленную эксплуатацию Привет, Хабр! Меня зовут Анна, я начальник управления поддержки проектов и клиентских сервисов в X5 Tech. Последние 16 лет я работаю в области сопровождения, и для меня одним из самых загадочных этапов в поддержке всегда был процесс приёма нового функционала. Ты как будто бе...

Как я разрабатывал веб-сервис по бронированию зарядных станций для электромобилей (часть 2) Всем привет, на связи снова Арсений Елисеев! Продолжаем работу над созданием веб-приложения для управления бронью ЭЗС, которое мы начинали ранее: …. Сейчас мы обратим внимание на практические аспекты: построение математической модели метода, его программная реализация и экон...

Анатомия «электронки»: разбираем структуру письма в формате eml/MIME Привет, меня зовут Елена Тихомирова, я работаю системным аналитиком в Платформе Сфера, разработке Холдинга Т1. Если по велению души или начальства вы хотите заняться автоматизацией обработки электронных писем, но не знаете, из чего именно состоит письмо, — эта статья для вас...

Пошаговая инструкция создания нового вида контроля в «1С: Управление холдингом» Привет, Хабр! Меня зовут Донскова Елена, я работаю разработчиком на проектах внедрения 1C в IBS, занимаюсь разработкой нового функционала и модифицирую типовой функционал для удовлетворения потребностей бизнеса. Сегодня я расскажу о том, как создать новый вид контроля в сист...

10 ошибок новичка-продакта: взгляд со стороны нанимающего менеджера Устроиться на первую работу в IT непросто: конкуренция на стажерские позиции у продакт-менеджеров высокая (например, мы только на одну вакансию получили 400 откликов). Но раскрою секрет — нанимающий менеджер сразу отсеит большую часть соискателей. Меня зовут Евгения Бар...

Как мы разгрузили руководителей проектов и освободили время для «профильных» задач Руководители IT-проектов (РП) на рынке труда в остром дефиците: по данным hh.ru на 1 вакансию приходится 1,9 резюме. Поэтому часто в компаниях один РП ведет по 5-6 проектов. При такой загрузке успеть все и сохранить качество практически невозможно.Решить проблему с загрузкой...

Релиз-менеджер — почему он вам нужен Привет! Меня зовут Ксения, я уже больше 7 лет занимаюсь релизами и сейчас работаю релиз-менеджером в RuStore. Сегодня хочу рассказать больше об этой роли, в каких случаях он вам нужен (спойлер, не всегда) и когда её можно переложить на другого сотрудника.  Читать далее

Как показать номер версии на экране загру… Привет, Хабр! Меня зовут Сергей, и я 3 года работаю Android/iOS разработчиком. Написал с нуля приложение для фитнес-клубов (Google Play/App Store — если интересно, код под NDA, его не могу показать) и дорабатываю малоизвестный банк. За это время накопилось много интерес...

Архитектура мобильного приложения в разрезе высоких нагрузок и построения экосистем Привет, Хабр! Меня зовут Валерий Разномазов, я системный аналитик в РСХБ. Сегодня поговорим про архитектуру мобильного в разрезе высоких нагрузок и построения экосистем. В этой статье я собрал свой 10-летний опыт по этому направлению и готов его обсудить с вами. Чи...

Как мы автоматизировали тендерные процедуры за счет интеграции SAP с ЭТП Всем привет! Меня зовут Олег Усов, я работаю старшим консультантом SAP MM в Fix Price. Хочу рассказать, как мы проводили интеграцию SAP с электронной торговой площадкой (ЭТП) и системой электронного документооборота (СЭД) для автоматизации ряда процессов по участию в закупка...

Разделение презентационного слоя фичи на модули в Android приложении Привет, Хабр! Я, Алексей, ведущий разработчик в платформенной команде Альфа-Бизнес Мобайл. В этой статье речь пойдет про приложение Альфа-Бизнес и об одной из архитектурных проблем, с которой сталкиваются на любом среднем/крупном проекте, рассмотрим несколько способов, котор...

ABC-XYZ анализ на Python. Управление ассортиментом и схемами поставок Управление ассортиментной матрицей и складскими запасами является нетривиальной задачей для бизнеса, требует аналитики и научного подхода к решению задачи. Одним из методов управления ассортиментом и закупками является ABC-XYZ классификация. Рассмотрим ее реализацию на Pytho...

Расчетная архитектура платформы для A/B-тестов Mail.Ru Привет Хабр! Меня зовут Андрей Каймаков, я работаю в продуктовой аналитике Mail.ru в VK. Сейчас практически каждая IT-компания (да и не только IT) знает про A/B-тесты и понимает важность проверки новых фичей с помощью этого метода. Когда фичей становится много, то A/B-тесты ...

Интеграция Keycloak в приложение Spring Boot 3 с использованием протокола OAuth2.0 В современном мире веб-разработки обеспечение безопасности пользовательских идентификаторов и управление доступом к ресурсам становятся все более важными задачами. Один из мощных инструментов, предоставляющих полноценное решение для этих задач, это Keycloak, современная сист...

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

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

Система мета-сборки GN: краткий обзор и подходы Привет! Меня зовут Александр, я работаю в VK в команде браузера Atom. В его основе лежит open source-движок Сhromium. Сегодня хочу поговорить о системе мета-сборки GN. Её используют в крупных проектах Google (Chrome, Fuchsia, а также связанных с ними), и, например, когда раз...

Библиотека на Go для работы с RuStore API Привет, Хабр!Меня зовут Энрике, и я работаю Go-разработчиком в RuStore. Сегодня хочу рассказать про библиотеку на Go для комфортной работы с API магазина приложений RuStore. Иногда авторизация через API и получение JWE-токена занимают больше времени, чем хотелось бы. С ...

О, вы из Англии? Локализация Ozon Seller на iOS Всем привет! Меня зовут Андрей, и я делаю iOS-приложение для продавцов Ozon Seller. Наша команда поставляет фичи, красит кнопки, работает над перформансом и  всячески улучшает пользовательский опыт работы продавцов на Ozon.Нашим приложением активно пользуются юзеры из р...

Временное хранилище данных на Apache Druid: почему это эффективно сработало для загрузки табличных файлов Всем привет! Меня зовут Амир, я Data Engineer в компании «ДЮК Технологии». Расскажу, как мы спроектировали и реализовали на Apache Druid хранилище разрозненных табличных данных.В статье опишу, почему для реализации проекта мы выбрали именно Apache Dr...

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

Четыре всадника демотивации Всем привет! Меня зовут Светлана Уварова, я работаю в МТС Диджитал архитектором. Сегодня я расскажу о Зле, которое может сокрушить целые ИТ-команды. Стоит только одному человеку поддаться ему, как оно перекидывается на его коллег. Поставленные цели не достигаются, новая функ...

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

Как мы управляем инфраструктурой на более 1000 серверов при помощи Ansible Привет, Хабр! Мы системные инженеры X5 Tech — Алексей Кузнецов и Борис Мурашин. У нас за плечами больше 15 лет опыта, в том числе поддержка сервисов Rapida, CyberPlat, TeleTrade, сопровождение стека BigData и внедрение кластеров Hadoop. В этой статье мы расскажем, как выбира...

Redmine vs рост бизнеса: как мы решали проблемы масштабирования поддержки в Orion soft Представьте ситуацию: ваш бизнес растет, количество проектов увеличивается, а система управления ими перестает быть удобной. И допилить ее — не вариант. Как выбрать оптимальное решение на замену, учесть все нюансы, подготовиться и безболезненно перейти на новую систему?В это...

[recovery mode] Безопасность android-приложений. Реверсим OWASP MASTG Crackme 1 Всем привет! Меня зовут Максим и я занимаюсь исследованиями источников данных. В своей работе периодически приходится сталкиваться с исследованием android-приложений. В этой статье я хочу показать базовые методы реверс-инжиниринга и исследования android-приложений на примере...

Главные KPI для эффективной работы команд Всем привет!Меня зовут Петр и я работу в одном из крупных банков, буду рассказывать об управлении ИТ в крупной организации. Сегодня первой темой станет система KPI для управления командами. Расскажу зачем вообще нужны KPI, какой путь прошла наша компания, и в конце открою с...

Рассказ о моей системе личной продуктивности (и о софте, который я создал, чтобы её практиковать) Когда речь идет о личной продуктивности, то как правило имеется в виду управление действиями - задачами и проектами, временем. Однако, в наше время ни одна более или менее серьезная задача не может быть выполнена без работы с информацией и эффективность работы с ней существе...

Обновление кешей сервисов в реальном времени с помощью YDB CDC на примере Yandex Monitoring Меня зовут Егор Литвиненко. Я старший разработчик Yandex Observability Platform. Летом 2023 года я рассказывал на Saint Highload в Санкт-Петербурге про наш путь внедрения YDB CDC для обновления данных в сервисах, чтобы решить проблему инвалидации кэшей.В этой статье будет вс...

Обзор Llemma: новая математическая open-source модель Привет! Меня зовут Дарина, и я занимаюсь фундаментальными исследованиями в MTS AI. Основной фокус нашей работы сейчас — обучение больших языковых моделей, их тестирование и оптимизация.Сегодня хочу сделать обзор на недавно вышедшую статью LLEMMA: an open language model for m...

Управление процессами КИСМ Норникеля выходит на новый уровень Проект выбивали более трех долгих лет, одних только поездок, встреч и презентаций было более десятка. В ходе проекта возник интересный случай. Одной из унаследованных систем, из которой надо было подтянуть данные оказалась наша же система, поставленная заказчику в далеком 20...

Одна платформа, чтобы править всеми: как CMP упрощают работу с системами виртуализации Привет, Хабр! Меня зовут Дмитрий Гоголев, я менеджер по развитию CMP-платформы Cloudlink. Участвую в интеграции нашего ПО у заказчиков и разработке новых фич.Мы в Orion soft каждый день общаемся с компаниями, которые ищут замену привычным решениям для виртуализации. Однако д...

Как мы считали экономику продукта «Семья» через uplift CLTV Всем привет! Меня зовут Владлен Севернов. Я работаю ML-инженером в команде CLTV билайна. В этой статье я поделюсь с вами моим опытом решения задачи uplift-моделирования для оценки экономики продукта «Семья» с точки зрения CLTV.Что мы подразумеваем под CLTVПодробнее про CLTV ...

Как работает дедупликация данных в потоке Kafka-to-Kafka? Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в цикле статей.В предыдущей части «Как исп...

Современный С++ в разработке девайсов Привет, Хабр.Меня зовут Андрей Белобров. Я тимлид одной из команд, разрабатывающих приложения для умных девайсов Сбера.На прошедшей недавно конференции Салют, OS DevConf! я выступил с докладом, в котором рассказал, как мы с командой разрабатываем приложения на С++ для умных ...

eSIM и протоколы спецификации GSMA SGP.02: кейс МТС Привет, Хабр! Меня зовут Алексей Степанов, я работаю аналитиком в проектах IoT Connected Car и eSIM M2M в «МТС Диджитал».Среди наших клиентов — совершенно разные компании. Производители умных счётчиков для воды, терминалов для эквайринга, и даже автомобилей.В этом посте расс...

Ваш плеер работает неправильно, или Как мы учили свой движок выбирать наилучшее качество видео 21 августа команда Yandex Cloud в формате Technical Preview открыла пользователям облака доступ к сервису для хранения, обработки и трансляции видео Cloud Video. Это инфраструктура для работы с видео, которая включает хранилище для контента...

Перспективы, вызовы и тренды на ИТ-рынке: итоги дискуссии К2Тех на ЦИПР-2024 На конференции ЦИПР-2024 К2Тех провел сессию «Внедрять нельзя откладывать. Построение ИТ-инфраструктуры сегодня» с лидерами ИТ-рынка — крупными заказчиками и вендорами. В ходе диалога участники сессии обсудили  текущую ситуацию в отрасли, актуальные вызовы и перспективы...

QA под капотом. Тестируем и настраиваем 1С-Битрикс Привет, Хабр! Меня зовут Анастасия, я QA-специалист SimbirSoft и работаю на проектах с 1С-Битрикс. Не единожды я могла наблюдать, насколько эффективно бывает допустить QA-команду внутрь CMS, чтобы достичь бизнес-целей клиента. И на примере нескольких кейсов из разных проекто...

COFFEE MEET-UP: Знакомства и кофе в одной чашке Всем привет! Меня зовут Алиса и в этом году я закончила 10 класс и IT Школу (Samsung Innovation Campus), где в рамках обучения я разработала свое первое крупное Android приложение.  Сегодня я расскажу вам о моем проекте Coffee meet-up от задумки до реализации и тестиров...

Коротко про алгоритмы и структуры данных Привет, Хабр! Меня зовут Ричард, я работаю в команде kPHP в VK, занимаюсь разработкой kPHP, плагинов для IDE, а также другого инструментария, делая жизнь разработчиков проще. В своей работе мне приходится иметь дело с PSI деревьями, AST, самопис...

Господин сенатор, шаттл подан: как мы переносим тысячи секретов в StarVault за секунды Казалось бы, простая задача: перенести секреты между хранилищами Vault. Но на практике возникают сложности. И их столько, что мы в Orion soft разработали свою утилиту для миграции – StarVault Shuttle.В этой статье я расскажу, почему мы остановились на таком решении и как раб...

Сделали библиотеку компонентов, но пришлось переделывать. Почему так вышло и чем дело кончилось Привет, Хабр. Меня зовут Артем Арефьев, я руковожу Frontend-разработкой в направлении продукта для учеников в Учи.ру. Фронтендом занимаюсь уже 11 лет, шесть из которых работаю у нынешнего работодателя. Еще принимаю участие в проектах Open Source (например, внес вклад в проек...

Как объединить фронтенд с бэкендом и не сломать веб-приложение Привет! Меня зовут Артём Шумейко, я Python-разработчик и создатель одноименного канала на YouTube. Представьте: у вас есть проект с фронтенд- и бэкенд-частью. Первый работает на одном порту и отображает данные, после — передает бэкенду. Второй работает на другом порту, прини...

Из врача в тестировщики: как прийти в ИТ после 20 лет на скорой Всем привет! Меня зовут Юрий Маркин. Мне 46 лет. Совсем недавно я начал работать тестировщиком в компании IBS. Вся моя предыдущая профессиональная жизнь была связана с медициной. Но даже после 20 лет работы в одной сфере можно кардинально сменить направление деятельности.&nb...

Работа с аренами: почти избавляемся от GC Меня зовут Максим Горозий. Я тимлид в Т-Банке, работаю над нашей образовательной платформой, которая служит для разных направлений бизнеса. В ИТ больше 10 лет и успел поработать в двух GameDev-компаниях, где управление памятью занимало весомое время в оптимизации производите...

Проектирование архитектуры через User Stories, часть 1. Вовлекаем в процесс заказчика Всем привет! Я — Ира Саблина, системный аналитик в Creonit. Мы разрабатываем цифровые продукты на заказ. Большая часть моей работы — это создание сервисов с нуля. На чужих проектах я часто вижу, как результатом проектирования становится сотня артефактов, в которых заказчик н...

Как мы решали задачу оптимизации доставки грузов с использованием численных методов на примере метода имитации отжига В статье хотим поделиться своим опытом реализации алгоритма решения задачи маршрутизации на основе метода имитации отжига в Norbit CDS – умной системе управления доставкой. Проанализировав материалы, можно обнаружить различные предлагаемые способы решения VRP-задач (Veh...

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

Какой должен быть уровень технической грамотности у менеджера проектов? Всем привет. Меня зовут Марина Заботина, работаю аккаунт-директором в диджитал-агентстве. У нас в штате 320 человек. Хочу поднять вроде бы простую, но холиварную тему о том, какой уровень технической грамотности должен быть у менеджера проектов (ПМ).Когда я сама только начин...

Мифы о работе тестировщиков, на которые всегда один ответ: «Ага, конечно. Ты полностью прав» Привет! Меня зовут Кирилл, я работаю тестировщиком в R‑Style Softlab. Ни для кого не секрет, что работа тестировщика в области информационных технологий окутана мифами и непониманием со стороны обывателей. Я вспомнил несколько самых распространенных ...

«Ревизорро» в IT: тестируем суммаризацию текста в GigaChat и YandexGPT После появления на рынке API для беседы с ChatGPT 3.5 каждый второй заказчик решения на основе машинного обучения (ML) хочет внедрить у себя ИИ, который может красиво и содержательно общаться на русском языке.Меня зовут Екатерина, я IT-архитектор команды SimbirSoft, специали...

[recovery mode] Почему я и мой стартап променяли США на Голландию? Всем привет. Меня зовут Алекс, я уехал из России в 2015, по-серьезному жил в 3 странах (Швеция, Израиль, США), но в итоге выбрал Нидерланды для жизни и работы. Я переехал сюда по стартап-визе в 2022 году, развиваю свой небольшой стартап, работаю в системе нидерландских фасил...

Распределённые системы на службе ФССП России. Часть 2. Суперсервис «Цифровое исполнительное производство» Привет, Хабр! Меня зовут Дима. Я работаю в отделе разработки систем межведомственного взаимодействия РЕД СОФТ. Представляю вам вторую статью про импортозамещение в АИС ФССП России, в которой я расскажу о проектировании сложных территориально распределённых информационных сис...

Работа с кодом на C++ в Swift Привет, Хабр! Меня зовут Иван Мясников, я CTO проекта «Виртуальный ассистент» в МТС Диджитал. Встраивание кода С++ в приложения для iOS — достаточно трудная задача. Еще сложнее собрать SDK для дальнейшей поставки в сторонние приложения, используя логику на С++ совместно со S...

Что такое продуктовый подход и особенности использования его элементов в государственном банке Привет, Хабр! Меня зовут Олег Брандин, я главный архитектор в РСХБ‑Интех. Сегодня расскажу вам свое понимание пути от ИТ‑стратегии и ЦиЗ СЦТ (Цели и задачи Стратегии цифровой трансформации) до формирования продуктовой команды и защиты бюджета в реалиях го...

Проектирование отказоустойчивости IT-систем ❓Как проектировать системы, которые будут толерантными для различного вида отказов и ошибок?Что такое отказоустойчивость и стабильность?Под отказоустойчивостью будем понимать свойство системы, которое позволяет максимально сохранять работоспособность при отказе отдельных кон...

Как спектральный анализ улучшает оценку задач и снижает стресс в команде разработки Привет! Меня зовут Илья, я руководитель команды индивидуальных интеграций CDEK. В рамках этой статьи хочу поговорить о спектральном анализе — инструменте для аналитики и прогнозирования задач команд разработки. По итогу мы с вами разберемся, ког...

Классифицирую клиент-серверное взаимодействие от А до Kafka Всем привет, меня зовут Александр Карташов, я Java-бэкенд разработчик в Альфа-Банке. Работаю в проекте альфа-бизнес мобайл, мобильное приложение для юрлиц. В рамках проекта мне часто приходилось интегрироваться с разными банковскими системами, с разными стеком технологий, та...

Notion умер, да здравствует Obsidian Пару дней назад у меня, как и у многих пользователей, появилось предупреждение об уходе Notion из России. Я начал срочно искать альтернативу сервису, которым я пользовался более 5 лет.В Notion я хранил личные задачи и заметки. Notion был базой знаний моей жизни. Он повидал б...

Команда нагрузочного тестирования? Дайте две! Почему иногда подрядчик бонусом к внутренней команде — это хорошая идея Привет! Меня зовут Юля Шамина, я руководитель IT-проектов в СберМаркете. Хочу поделиться нестандартным по всем меркам кейсом, как мы подготовили наши сервисы к высоким предновогодним нагрузкам за 3 месяца благодаря челленджу внутренней команды нагрузочного тестирования. ...

Работа с TCP IP на IBM Mainframe Не так давно я проводил корпоративное обучение на тему того, как работать с мейнфреймом IBM. Хочу рассказать об этом в нескольких статьях. TCP/IP (Transmission Control Protocol/Internet Protocol) представляет собой набор сетевых протоколов, обеспечивающих связь между компьют...

Spring Cloud Gateway. Единая точка входа или отказа: путь к non-blocking API gateway Привет, Хабр! Меня зовут Никита Летов, я техлид бэкенд-разработки сервисов дистанционного банковского обслуживания Росбанка для физических лиц, или как модно сейчас говорить, ретейла. В этом посте я расскажу, что такое входная точка в приложение, когда в ней появляется необх...

Как не заскучать в 1С-разработке Многие считают 1С особым замкнутым миром. А методы работы в нем — неприменимыми в «нормальном» программировании. Это давно не так. Конечно, у каждого решения есть свои плюсы и минусы. Но я уверен: если вы не любите 1С, то вы просто не умеете его готовить. Меня зовут Вла...

Распределенный SQL в Picodata Недавно мы выпустили новую значительную версию Picodata — распределенной in-memory СУБД с открытым исходным кодом. Это продукт на основе Tarantool c поддержкой плагинов на Rust и некоторыми другими интересными особенностями, о которых можно почитать в статье Picodata: просто...

Какие ML-платформы нужны бизнесу, и кто их может сделать Привет, Хабр! Меня зовут Виктор Кантор, я директор Big Data МТС. Около 14 лет я работаю с технологиями, связанными с Machine Learning, Big Data, Data Science. Но есть одна проблема, с которой я постоянно сталкиваюсь. Например, поставлена задача, которую нужно решить при помо...

Реализация многооконного приложения на Vue 3 В наше время чуть ли не каждое приложение использует браузерный клиент. Это просто в написании, это кроссплатформенно, это легко в использовании. Браузерные решения уже активно используются и в промышленной сфере: аналитиками, операторами. WEB-приложения для управления промы...

Как я заглянул внутрь фильтров «БАРЬЕР Компакт ОСМО 100 М» и выяснил, что делает воду чистой и вкусной Здравствуйте, уважаемые читатели Хабра. Меня зовут Олег (@Interfer), я проджект в крупной российской ИТ-компании. А еще я муж и отец замечательной девочки, которой недавно исполнилось пять лет. Уже много лет моя семья для питья использует только бутилированную воду, а д...

Всё что вы хотели знать про ACL в Active Directory В данной статье я постарался максимально полно и глубоко рассказать про построение и внутреннее использование ACL (Access Control List) внутри Active Directory. В этой статье нет рассказов про "null DACL" и "empty DACL" и тому подобного. Если читатель хочет изучить все более...

Запуск проекта в Kubernetes за 60 минут: инструменты, GitLab, Terraform Привет, Хабр! Меня зовут Илья Нырков, я архитектор в VK Cloud. В своей работе встречаюсь с желанием партнеров (это и крупный энтерпрайз, и различные стартапы) использовать Kubernetes, но их останавливает сложность поднятия, конфигурирования кластера, деплоя в нём приложени...

Redux vs Mobx кого же выбрать для React-приложения в 2024 году? Привет, Хабр!Сегодня я хочу поделиться с вами своими размышлениями о том, какой стейт менеджер лучше использовать для разработки приложений на React в 2024 году. Как вы знаете, React — это одна из самых популярных и мощных библиотек дл...

Безопасность CI/CD. Часть 2. Давайте рассмотрим как защитить ваши пайплайны Приветствую, читатели! Меня зовут Моисеев Андрей, в ИБэшечке  я уже в совокупности более 5 лет, а сейчас работаю DevSecOps в компании Bimeister. За время своей рабочей деятельности у меня получилось сформулировать некоторые полезные паттерны безопасности, которыми я хот...

PostgreSQL — один за всех? Как работать с нетипичными данными в реляционной системе Смотрим, как вездесущий PostgreSQL справляется с нестандартными для реляционной системы управления базами данных (СУБД) ролями: хранением и поиском временных рядов, пар «ключ — значение», эмбеддингов для больших языковых моделей и многомерных кубов. Отвечаем на вопрос: дейст...

DevOps на IBM: как мы навели порядок в 700 системах, перейдя от bash к IaC В инфраструктуре заказчика имелся большой зоопарк систем, не объединенных единой логикой. Надо было навести порядок и наладить автоматизацию, особенно после того, как в этом уже поучаствовали сотрудники различных подразделений и сторонних компаний, не особо озабоченных едино...

Как мы упростили работу с данными с помощью пайплайна: пошаговый план Привет, меня зовут Руслан Шкарин. Я Senior Software Engineer и это моя первая статья в DIY-медиа вАЙТИ от beeline cloud. Расскажу, как занимался построением пайплайна для сбора и анализа логов системы в реальном времени для сервиса, который обходил сотни ...

Без компромиссов. Как добиться одновременно высокого качества в редактировании и инверсии изображений с помощью StyleGAN Всем привет! Меня зовут Денис Бобков, я сейчас обучаюсь на совместной магистерской программе ВШЭ и ШАД под названием «Современные компьютерные науки», а также работаю исследователем в AIRI в команде Controllable Generative AI лаборатории FusionBrain....

Typescript ENUM — баланс использования Привет Всем. Меня зовут Михаил. В НЛМК нахожусь на должности Frontend-разработчика.  Занимаюсь разработкой внутренних информационных систем на React + Typescript. В этой статье поговорим про тип enum (перечисление) в Typescript, о случаях когда его можно и нужно исп...

Кот в мешке: как приручить дикий бинарник Всем привет. Меня зовут Василий. Я работаю SRE в Яндекс Маркете. Недавно у нас прошли тренировки по DevOps от Young&&Yandex. Сегодня я разберу финальное задание, как и обещал участникам тренировок. Оно состоит в том, чтобы развернуть инсталляцию приложения из готовог...

На что стоит рассчитывать на первой работе: путь стажера (data engineer) Меня зовут Виктор и на данный момент я заканчиваю стажировку и перехожу на должность младшего инженера по работе с данными в компании Sapiens solutions. В этой статье я хочу поделиться опытом и дать несколько рекомендаций людям, которые только начинают свой путь в области ра...

Как мы реализовали Low-code на микросервисах Привет Хабр!Меня зовут Алексей Пушкарёв, я – архитектор продуктовых решений компании ELMA. Наша команда разрабатывает одноименную Low-code платформу.  В этой статье я расскажу, почему мы выбрали микросервисную архитектуру для Low-code системы вместо классической монолит...

Как обеспечить цифровую доступность по всем правилам: опыт Яндекс Капчи Привет! Меня зовут Павел Конон, я аналитик в команде Антиробота в Яндексе. Занимаюсь развитием инструмента капчи в команде Антиробота. Думаю из названия команды понятно, что мы работаем над системой онлайн классификации источников запросов — роб...

Как автоматизировать проверки данных в Airflow с Great Expectations Привет, меня зовут Дима Курганский, и я - MLOps инженер в команде машинного обучения в Банки.ру. Эта статья будет интересна, тем кто понимает принципы работы с Great Expectations и его составляющие компоненты и хочет вывести его на прод с использованием Apache Airflow. Читат...

Простая имитационная модель мобильного робота в ROS и Gazebo В данной работе представлен процесс разработки и симуляции мобильного робота с использованием платформы ROS Noetic и среды Gazebo. Описано создание URDF-модели робота, которая включает в себя детальное описание всех его компонентов. Рассмотрена разработка Docker контейнера, ...

Виджетная система: как масштабировать образовательную платформу без боли и слёз? Почему если веб-проект собирается расти, но пока не понимает, куда и как, — виджетная система может стать спасением. Меня зовут Антон Фокин, я CEO студии QTIM и сегодня я расскажу о нашем опыте. Читать далее

Искусство сетапа: автоматизируем подготовку стека под новые проекты Привет, меня зовут Грант, я фронтенд-разработчик в KTS. В этой статье я хочу поделиться опытом заведения проектов от нашей команды. Читать далее

Два года ждали: новый релиз «FreeBSD для Mac» — операционной системы ravynOS Кто-то слышал об этом проекте, кто-то нет, но это весьма интересная разработка. Команда ravynOS создаёт операционную систему на базе FreeBSD, стараясь обеспечить совместимость проекта с приложениями для macOS. Оболочка при этом также имеет очень сильную схожесть с интерфейсо...

Деплой .NET приложений для самых маленьких. Часть 1. Jenkins В прошлой статье мы рассмотрели способы запуска наших проектов на удаленном VPS. Для этого мы арендовали хостинг, создали шаблонное приложение, перенесли его на хостинг через простое копирование через ssh и через git clone, запустили через dotnet run / dotnet publish, а так...

Тестируем приложение как сын маминой подруги или взгляд на Trace Based Testing Привет! Меня зовут Сергей, я бэкенд разработчик команды SEO в Банки.ру.В этой статье хочу описать свое знакомство с техникой Trace Based Testing (TBT): • расскажу о концепциях, которые чаще всего используются сейчас в тестировании• кратко опишу, что такое distributed ...

Как мы управляем секретами в Банки.ру: Vault HashiCorp и мечта об одной безопасной кнопке Привет! Меня зовут Лев, я руководитель интеграционной разработки в финансовом маркетплейсе Банки.ру. Больше года назад мы начали переход на микросервисную архитектуру. Секретов становилось всё больше: пароли, токены, сертификаты, ключи. А управлять ими было всё сложнее. Коли...

Как мы тестируем серверы Привет! Меня зовут Олег Рябов, я главный эксперт Управления исследований и разработок новых решений компании «Ростелеком-ЦОД» и автор программы и методики испытаний (ПМИ) серверов. В этой статье расскажу, как мы проводим тестирование серверов и какие утилиты и методы использ...

Как мы ловили «‎русских хакеров», которые нечаянно положили сервер заказчиков Привет, Хабр! Меня зовут Евгений Гущин, я — исполнительный директор Smartup. За 20 лет работы в IT у меня было несколько забавных случаев. Сегодня расскажу, как мы героически поймали «русских хакеров». Читать далее

Одно нажатие, весь контроль: WireGuard VPN через Телеграм

Python и Excel глазами НСИ Всем привет! Меня зовут Алмаз. Я специалист по НСИ (нормативно-справочной информации) в компании Bimeister. Хотел бы поделиться своим небольшим опытом автоматизации некоторых рутинных задач при работе с различными файлами и Excel- базами данных.Python.Предыстория.Сейчас дово...

ИНЬ-ЯН в UI/UX дизайне Привет, Хабр! Меня зовут Иван Вербов, я UI/UX дизайнер команды разработки платформы контейнеризации dBrain.cloud. Эта статья адресована моим коллегам-юиксерам, а также всем, кого затрагивают задачи анализа, обсуждения и согласования предложений и результатов работы над диз...

Оса не проскочит: разбираемся в методиках тестирования и сравнения  ̶а̶н̶т̶и̶м̶о̶с̶к̶и̶т̶н̶ы̶е̶ ̶с̶е̶т̶к̶и̶ ̶  WAF Использование WAF для защиты веб-приложений и API уже давно стало необходимостью. И дело тут не только в требованиях регуляторов (152-ФЗ и 187-ФЗ, PCI DSS), но и в здравом смысле, стоит хотя бы посмотреть на количество взломов и утечек за последнее время. На рынке WAF м...

Как быстро запустить мобильное приложение для веб-сервиса: опыт Авиасейлс для бизнеса Привет! Меня зовут Иван Бойцов, я руковожу сервисом для организации командировок Авиасейлс для бизнеса. Недавно мы запустили MVP-версию мобильного приложения, чтобы проверить, нужно ли оно нам, и если да, — в каком виде. Собрали его быстро и с минимальными затратами. Расскаж...

Как использовать ресурсы Kubernetes по максимуму для работы с Go-приложениями Привет! Меня зовут Антон Жуков, я руковожу группой разработки в Сбермаркете. В профессии я уже более 12 лет, с Golang работаю с 2016 года, а с Kubernetes — с 2018 года. В этой статье расскажу об основах Kubernetes, возможных проблемах и решениях, а также о том, как грам...

Одно, чтоб править всеми: как мы сделали хаб для сопровождения СУБД Работа в СУБД — это множество разноплановых задач: создание новых продуктов, плановые обновления, работа с инцидентами. По мере цифровизации компании количество таких задач растёт, очередь запросов наполняется. Всё больше времени уходит не на решения, а на подготовку — сбор ...

Merlion Framework или как упростить работу с временными рядами Единственная причина для существования времени — чтобы все не  случилось одновременно.Альберт ЭйнштейнПривет! Меня зовут Дмитрий, я дата-инженер в SM Lab, и в этом посте хочу рассказать вам о Merlion Framework. В посте мы рассмотрим его архитектуру, полезные функции и о...

Как мы сократили время старта приложения с помощью BDUI: опыт Яндекс Маркета Привет! Меня зовут Алексей Морозов. Я уже несколько лет работаю в инфраструктурной команде Яндекс Маркета. Наша команда делает проекты, которые должны были улучшить скорость приложения, его качество и скорость разработки. Однако раньше такие проекты решали эти проблемы тольк...

UI-паттерны. Зачем и как? Привет! Меня зовут Ксения Толокнова, я продуктовый дизайнер и дизайн-лид с 12+ летним стажем. Пару лет назад я осознала что дизайн-система не всегда справляется со своими задачами, и сегодня я хотела бы обсудить, почему так происходит.Запуск дизайн-системы и её поддержка — д...

Умножение матриц и SMT – почему бы и нет? Привет, Хабр! Меня зовут Евгений Буевич, я работаю в Рунити. Как-то раз у меня возникла непреодолимая потребность умножать матрицы определенного размера, смотреть, что получится и умножать опять до тех пор, пока что-нибудь не получится. Остановился на BLIS, скомпилировал, по...

Джуны — бесплатны. И ещё 7 заблуждений тимлидов о начинающих специалистах Меня зовут Антон Марунько, и я тимлид в продуктовых компаниях уже более 5 лет. Сейчас я – iOS Lead в HiFi-стриминге Звук, а также как консультант помогаю строить и обучать команды в сфере IT и околотехнического профиля. У меня есть и опыт СТО, и кофаундера в ряде проектов. В...

DVC — прекрасный инструмент для DataScience Привет Хабр, меня зовут Дмитрий Несмеянов, я являюсь руководителем направления разработки ML-инфраструктуры "ЛОКО-банка". Сегодня я хочу рассказать про DVC: инструмент, который многие, незаслуженно, обходят стороной. Была хорошая статья от Райффайзен Банк, в этой статье я по...

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

Отслеживание утечек памяти в iOS-приложении со SwiftUI в Runtime Всем привет! Меня зовут Фарид, я занимаюсь iOS-разработкой в компании Банки.ру.Рано или поздно каждый проект сталкивается с проблемой утечек памяти: растёт её использование, в отдельных сценариях приложение ведёт себя странно или вовсе аварийно завершается. Начинается долгий...

CMS за 0 рублей: как мы начали использовать Strapi Всем привет! Меня зовут Александр, я фронтенд-разработчик в KTS. Сегодня я расскажу о системе Strapi, разберу сценарии ее использования на конкретных примерах и поделюсь способами упрощения работы в ней. Читать далее

Мониторинг на Python: как сохранить метрики в мультипроцессном режиме Привет, Хабр! Меня зовут Никита, я backend-разработчик команды клиентских сервисов. В Selectel мы строим и поддерживаем IT-инфраструктуру для компаний, которые развивают свои цифровые продукты. В нашем департаменте около 20 приложений, большая часть из которых работает на F...

Совместимость серверов «Тринити» с платформами виртуализации: «РУСТЭК» Привет! Меня зовут Эрик Игнатов, я — ведущий инженер «Тринити».  С недавнего времени у нас в R&D-отделе появился план по тестированию достижений народного промысла русских инженеров. В него входит в том числе порядка 12 отечественных решений для серверной виртуализа...

Интероперабельность с нативным кодом через платформу .NET Привет, Хабр!Часто некоторые проекты требуют от нас все более новых подходов к решению задач. Одна из таких задач - эффективное взаимодействие управляемого кода .NET с нативным кодом, которое позволяет по максимуму использовать ресурсы ОС и другого ПО, написанного не на .NET...

Как стать SRE-инженером в 2024 году Традиционным ИТ-командам трудно успеть за быстрым ростом масштабов и сложности приложений. Растут и требования, которые предъявляют к приложениям пользователи. В этих условиях крайне важно поддерживать бесперебойную работу инфраструктуры. На помощь приходят SRE-инженеры...

Как небольшой команде переехать на ClickHouse: на какие грабли мы наступили и о каких фишках не знали Привет, Хабр!Меня зовут Петр. Я работаю инженером по данным в Okko и обожаю ClickHouse. Примерно в середине прошлого года мы начали переезжать с PostgreSQL на ClickHouse. Одной из главных причин переезда была низкая производительность: среднее время аналитического запро...

Как мы удвоили разрешение фотографий с помощью камеры Flutter на iOS Привет, меня зовут Сергей, и я мобильный разработчик в компании Brickit. Некоторое время назад мы наконец мигрировали приложения для iOS и Android на общий код на Flutter. Мы были в восторге от результата, но сам переход был далеко не гладким. Одной из важных частей этой ава...

Как мы решали задачу сегментирования бизнес-объектов Привет! Меня зовут Владимир, я руководитель управления разработки и тестирования в СИГМЕ. Сегодня хочу рассказать, как наша команда дорабатывала CRM-систему заказчика. Она используется для контроля всевозможных коммуникаций с клиентами — от звонков на горячую линию и перепис...

Интеграция видеоплеера YouTube во Flutter Hola, Amigos! Меня зовут Вова Зевеке, я Flutter-разработчик в Amiga. В одном из проектов передо мной стояла задача — интегрировать видеоплеер во Flutter- приложение, с которого можно было бы смотреть видео с YouTube. Казалось бы, подключаем  пакет youtube_player_flutter...

Человек-подделка: какие бывают дипфейки лиц и как их детектировать Привет, Хабр! Меня зовут Александр Паркин, я руководитель исследовательских проектов в Vision Labs. Сегодня хочу рассказать, какие бывают дипфейки лиц и как их детектировать. Фальшивых лиц становится всё больше и они выглядят всё убедительнее, поэтому без надежных инструмент...

Оптимизация Скорости и Доступности с помощью Сети Доставки Контента (CDN) в Microsoft Azure Привет Хабр!В мире быстро развивающихся технологий быстродействие и доступность играют ключевую роль в обеспечении удовлетворения потребностей пользователей. В этой эпохе, где каждая миллисекунда имеет значение, использование современных инструментов для оптимизации скорости...

Мой первый опыт с VyOS. Часть 1 Привет хабр!Меня зовут Берик, я работаю системным администратором в IT холдинге SAMGAU, где отвечаю за IT инфраструктуру. Хочу написать серию статей где поделюсь своим опытом по использованию VyOS. Читать далее

Делаем HMI-панель из планшета для системы автоматизации на контроллере Wiren Board Система автоматизации обычно работает автономно без участия пользователя, но единая точка контроля и управления системой всё равно нужна: вмешаться в работу автоматических алгоритмов, внести изменения в параметры или просто проверить, что система работает верно.В комплекте с...

Чем занимаются бизнес-аналитики и как их нанимают: рассказывают работодатели и специалисты Бизнес-аналитик работает на стыке бизнеса и IT — помогает крупным компаниям разобраться в процессах и улучшить их, выступая звеном между заказчиком и командой разработки. Более точное определение дать сложно, потому что задачи, навыки и инструменты бизнес-аналитика в разных ...

О Важном в управлении проектами Всем привет! Меня зовут Андрей Софронов и я тимлид продукта “ЭДО и S2P”. Хочу поделиться с тобой своим опытом и наблюдениями о том, что важно в управлении проектами, как можно посмотреть на проект и свою деятельность в целом, что следует учесть, что помнить и о чем позаботит...

Apache Avro — на светлой стороне Кафки Добрый день, Хабр!Меня зовут Сергей Игнатенко, я — девлид в поезде «Операционная платформа» ВСК. Хочу сегодня рассказать об опыте использования SchemaRegistry и Avro в Kafka.Начну с базовой схемы работы с Kafka, которая, возможно, будет знакома многим, но важна для понимания...

Основы Jetpack Compose: как обеспечить стабильность вашего кода Привет, меня зовут Вера, я Android‑разработчик в Яндекс Диске. Мы в Диске сейчас активно работаем над переездом на Compose с использованием дизайн‑системы. Про стабильность в Compose есть немало статей, однако ошибки продолжают cовершаться, поэт...

МегаФон поможет «Газпром межрегионгаз» в цифровизации и контроле за поставками газа МегаФон будет помогать «Газпром межрегионгаз» в цифровизации поставок газа, внедрении умных счетчиков и систем телеметрии. Сотрудничество стало возможным по итогам совещания на Петербургском Международном Экономическом Форуме (ПМЭФ), в котором приняли участие генеральный ди...

NativeScript в мире кроссплатформенной разработки Давайте знакомиться! Меня зовут Игорь. Я разработчик кроссплатформенных мобильных приложений в компании Smartex. В этой статье я расскажу о NativeScript, основных преимуществах платформы и ее недостатках.Материал будет полезен не только разработчикам, которые уже пишут прило...

[recovery mode] Просто об архитектуре в Android В нашем скромном мире разработки Android есть общепринятый подход к проектированию приложений - Clean Architecture, который рекомендуется Google. Несмотря на множество статей, посвященных этому стандарту, вопросы и споры вокруг того, как "правильно готовить" Clean Architectu...

Разбираемся с работой брокеров, или Что такое гарантия доставки сообщений и как с этим жить… В эпоху мгновенной коммуникации, гарантия доставки сообщений становится не просто плюсом, но и неотъемлемой частью репутации сервиса. Как быть уверенным, что ваше сообщение дойдет до адресата именно тогда, когда это нужно? Привет, Хабр, меня зовут Сергей Коник, я работаю в С...

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

Почему нельзя сделать прогноз CLTV с помощью одной модели Или как превратить набор продуктовых моделей склонности и оттоков в полноценный инструмент прогнозирования продуктового состояния клиента.В чём специфика задачи оценки СLTV в банке? К каким математическим задачам она сводится? Как их решить и почему стандартные способы, напр...

200 таблиц в одном дашборде: как мы создаём проект визуализации данных медицинской статистики Хабровчане, приветствую! Меня зовут Андрей Иванов, я системный аналитик в сфере медицины и здравоохранения. До 2005 года работал врачом, потом руководил медицинским информационно-аналитическим центром. Спустя время возникла настоятельная потребность научиться делать самостоя...

Продюсеры и консьюмеры с Apache Kafka в Python Салют, Хабр!Apache Kafka - это распределенная платформа потоковой обработки, предназначенная для построения систем обработки данных. Kafka позволяет публиковать, подписываться, хранить и обрабатывать потоки данных в реальном времени. Все это дает нам очень высокую пропускную...

Использование Postgres и JSONB для хранения товаров, характеристик и цен Всем привет! Меня зовут Александр, в данное время я на фрилансе занимаюсь проектом по созданию очередного маркетплейса. В процессе работы мы столкнулись с далеко не новой проблемой организации хранения информации о товарах, имеющих различные характеристики и цену, зависящую ...

Make It Right! Максимум пользы, минимум проблем: рекомендации по написанию API автотестов на Python Привет, Хабр! Меня зовут Катерина, я инженер по автотестированию в команде онлайн-кинотеатра PREMIER и сегодня я хотела бы поделиться с вами своим опытом в написании API автотестов на Python. Я работаю в сфере автотестирования уже довольно давно и на практике встречаю проект...

LLaMA 2, RWKV, Santacoder и другие LLM на iOS Однажды я решил изучить язык Swift и разработать свое первое приложение для iOS. Для этого я решил создать реальный проект, который заключался в оптимизации нашумевшего LLaMA.cpp под iOS. Я поставил перед собой задачу обеспечить запуск 3B и 7B моделей на&...

Clickhouse, Grafana и 3000 графиков. Как построить систему быстрых дашбордов Меня зовут Валя Борисов, и я — аналитик в команде Ozon. Задача нашей команды — создавать инструменты для мониторинга и анализа скорости. Наши усилия направлены на то, чтобы в реальном времени следить за тем, как быстро работают наши сервисы и платформа. Благодаря инстру...

SwiftUI: архитектура State-Model-View В документации по UIKit компании Apple можно найти объяснение, что “структура приложений основана на шаблоне проектирования Model-View-Controller (MVC)”.В материалах Apple по SwiftUI объяснений и даже просто ссылок на паттерны проектирования, похоже, нет. Попробуем сначала р...

Использование resilience4j со Spring Boot resilience4j библиотека, предоставляющая набор инструментов для повышения надежности и отказоустойчивости java приложений прежде всего в микросервисной архитектуреРассмотрим какие в ней есть инструменты, как их использовать в Spring Boot приложении с помощью аннотаций, как н...

Релиз без ошибок. Невозможное возможно? Привет! Меня зовут Сергей, я технический эксперт в компании Bercut. Когда-то увлекался Delphi и J2ME, издал несколько книг на эти темы, а сейчас создаю высоконагруженные приложения для баз данных.Первой СУБД, с которой я познакомился — случилось это в далеком 2002 году, ...

Мечтают ли компьютеры строить дома? или Как заставить нейросети определять ремонт в квартирах и улучшать объявления Как для большинства выглядит процесс постройки дома? Котлован, песок, цемент, какие-то блоки, снующие люди и техника, шум, пыль на пару лет и вот, дом готов. На самом деле всё давно не так. Точнее, так, но это, как говорится, frontend. Но строительство уже давно процесс не ф...

Пишем свой Swift макрос без лида, ИТ-курсов и кредитов Привет, Хабр! Меня зовут Сергей, я iOS-разработчик. В повседневной работе я использую множество проверенных инструментов, а в свободное время мне нравится исследовать новые возможности и расширять свои горизонты за пределами используемых в продакшене технологий.Сегодня я хот...

OpenStreetMap в Flutter-проекте: что такое flutter_map, как его внедрить и чем дополнить Всем привет! Меня зовут Анна Ахлёстова, я Flutter-разработчик в Friflex. Ранее мы обсудили, как использовать инструменты yandex_mapkit в Flutter-проекте. В этой статье рассмотрим еще один плагин для работы с картографическими сервисами – flutter_map, изучим его возможности, ...

[Перевод] Cовместное использование GitHub Actions, Docker и GitHub NPMvPackage В современном мире разработки программного обеспечения GitHub остается самой популярной платформой для хранения Git-репозиторий и управления ими. Помимо своей фундаментальной роли в управлении версиями, GitHub предлагает дополнительные функции, включая возможность размещения...

Оптимизируем параметры запуска приложения Spark. Часть первая Привет! Меня зовут Андрей Чучалов, я работаю в билайне, и в этом посте я расскажу про оптимизацию параметров запуска приложений в Spark, поиск проблем и повышение производительности. Разберем запуск приложений Spark в базовой и расширенной версиях, покажу методы расчёта осно...

В чем силиум, брат? Обзор ключевых фишек Cilium и его преимущества на фоне других CNI-проектов Привет! Меня зовут Даниил, я DevOps-инженер в KTS.Сегодня я расскажу о Cilium – единственном опенсорсном CNI-плагине для Kubernetes с технологией eBPF под капотом.Помимо CNI, Cilium предоставляет множество фич, которые также используют eBPF и в совокупности покрывают почти в...

[Перевод] От теории к практике: создаём веб-приложение для решения задачи коммивояжёра В таких сферах, как исследование операций (Operations Research) и наука о данных (Data Science) чрезвычайно актуально сближение теории и её практического применения в виде программных проектов. Теоретические выкладки формируют базу программ для оптим...

Опыт использования AI для QA: тестировщикам приготовиться на выход? Всем привет, меня зовут Илья. И я использую в своей QA работе уже полгода различные инструменты ИИ. Хочу поделиться своим опытом и наблюдениями, как ИИ может повысить эффективность работы. И стоит ли бояться тестировщикам их замены железными мозгами и руками? Читать далее

Топ-3 причины, почему вы должны использовать Copilot Всем привет! Меня зовут Анатолий Барцев, я frontend-разработчик в команде Модерации Циан. Я решил протестировать Copilot, чтобы оценить, полезен ли он для реальной разработки. В статье расскажу, какие выделил для себя плюсы использования, а также покажу, как GitHub Copilot п...

REDIS: такой простой и такой сложный Меня зовут Андрей Комягин, я СТО компании STM Labs. Мы занимаемся разработкой очень больших распределённых высоконагруженных систем для различных отраслей и в своей работе широко используем open-source решения, в том числе СУБД Redis. Недавно я подробно рассказывал об этой с...

Скелет, анимация, текстура: всё о создании 3D-модели человека по фотографии Всем привет! Меня зовут Ольга, я студентка второго курса НИУ ВШЭ магистерской программы «Системный анализ и математические технологии». В прошлом году я прошла отбор в совместный образовательный проект VK Education и НИУ ВШЭ — Инженерно-математическую школу (ИМШ), где стала ...

PVS-Studio помогает оптимизировать проекты на Unity Engine Недавно анализатор PVS-Studio начал выдавать предупреждения о возможностях оптимизации кода в проектах под Unity Engine. Какие они, эти предупреждения? Как анализатор понимает, какой код стоит оптимизировать? Почему это сделано именно для Unity? Ответы в заметке. Читать дале...

«Импульс» в профессию инженера: какие задачи решают стажеры в YADRO Получить опыт работы в сложной инженерной специальности сегодня проще, чем когда-либо. Герои этого материала — студенты и недавние выпускники технических вузов, которые прошли летнюю стажировку Импульс от YADRO в 2023 году и остались работать в компании. Ребята решают реальн...

Один QA в поле воин? Всем привет.Меня зовут Пронин Евгений, я Senior QA Engineer. Я работал в студии ITTerritory в полноценном отделе тестирования с несколькими коллегами, также имел опыт как единственный инженер на проекте в студии Nakusi Games. Я расскажу о своем опыте и поделюсь некоторыми н...

Как мы создали приложение знакомств, чтобы находить «половинку» в 8 раз быстрее Всем привет! Меня зовут Константин, и я основатель Radaro.В статье я расскажу, что не так с популярными приложениями знакомств, и как наша команда сделала сервис знакомств без свайпов и переписок, который бережет время и работает на результат. Читать далее

Используй Силу, Люк: Single Pane of Glass в Мире SRE Привет, Хабр! Меня зовут Кирилл, я работаю в IT более 13 лет. Сначала инженером по внедрению, потом DevOps, потом SRE, также работал руководителем группы сопровождения. Сейчас SRE в VK Рекламе, поэтому знаю, как важно делать правильные инструменты для анализа проблем. В...

Когда одной ARIMA мало. Прогнозирование временных рядов нейросетями Привет, Хабр! Меня зовут Никита, я работаю в Мегафоне аналитиком больших данных. В этой статье я хочу поговорить про временные ряды, а если конкретнее, про использование нейросетей для их прогнозирования. В статье мы не только разберем две актуальные архитектуры для про...

Как я столкнулся с Tarantool-ом: разбор подводных камней на примере микросервисного pet-проекта Привет, Хабр! Меня зовут Сергей Скубач, я работаю в VK и разрабатываю облачное хранилище WorkDisk. Мы используем Tarantool в своём продукте, так как его разрабатывают и развивают наши коллеги. Я впервые столкнулся с Tarantool именно в VK, и для более глубокого понимания реши...

Как Wazuh помог наладить круглосуточный мониторинг и реагирование на ИБ-события Представим ситуацию. Вы хотите выстроить процесс реагирования на ИБ‑инциденты в компании. Для этого нужно вовремя фиксировать атаки на вашу инфраструктуру. Вы решаете собирать логи и мониторить все, до чего можете дотянуться: хосты, межсетевые экраны...

Знать всё на свете нереально, но… Как система опросов помогает нам развивать HR-бренд Привет! Меня зовут Валерия Климова, я HR-директор в компании AGIMA. По сути, у меня и моей команды две большие задачи: 1) чтобы люди к нам приходили, 2) чтобы люди у нас оставались. Я верю, что ни того, ни другого невозможно добиться без данных — но вот вопрос: где эти данны...

Как использовать blue-green-деплой: руководство по выкату одного и нескольких приложений В статье я задеплою приложение в blue-green, а также покажу, как работает смена между blue и green на практике. Cначала рассмотрим реализацию деплоя приложения в blue-green-стратегии, а затем попробуем werf bundle для деплоя нескольких приложений из одного репозитория. Будем...

Подключаем модуль TM1638 к Arduino без библиотеки SPI Изначально поставка задачи была такой. У меня была в наличии плата TM1638. Нужно было научиться с ней работать (ну и проверить работоспособность самой платы) для того, чтобы использовать её в одном интересном проекте (о нём в другой раз). Под рукой оказалась платка Arduino N...

Как оптимизировать всего один бизнес-процесс и получить полноценную автоматизированную систему управления доступами В современном мире эффективное управление доступом к информационным системам (ИС) становится ключевым фактором успеха для больших предприятий. Недавно наша команда «ЛАНИТ-Интеграции» столкнулась с интересным вызовом в этой области, работая с крупной промышленной компанией, к...

SQL HowTo: итоги по строкам и столбцам «в одно действие» Немного отвлечемся от простых SELECT и посмотрим на реальной бизнес-задаче построения различных "тепловых карт" и "шахматок", как знание возможностей SQL может облегчить жизнь и разработчику, и его базе. Читать далее

Автоматизируем сеть Яндекса с Милошем: сервис конфигураций оборудования Задумывались ли вы о том, как изменить конфигурацию сразу на нескольких сетевых устройствах? Что, если нужно сделать это на всей сети с сотнями и тысячами единиц оборудования? А что, если приходится делать это каждый месяц на железе от пяти разных производителей? Очевидное р...

Введение в MLflow MLflow - это инструмент для управления жизненным циклом машинного обучения: отслеживание экспериментов, управление и деплой моделей и проектов. В этом руководстве мы посмотрим, как организовать эксперименты и запуски, оптимизировать гиперпараметры с помощью optuna, сравниват...

Экзоскелет «Норникеля»: как он таким стал Всем привет! Меня зовут Владислав Давыдов, я главный менеджер центра развития цифровых технологий компании «Норникель».Возможно, вы уже знаете, что «Норникель» ведет разработку промышленного экзоскелета. У вас могли возникнуть закономерные вопросы: Почему экзоскелет именно т...

Виртуальная инфраструктура и облачные сети: как создать единую систему в разных зонах доступности Поскольку все больше корпоративных рабочих нагрузок переносится в облако, компании ищут способ связать облака и распределенные офисы.Задача состоит в том, чтобы безопасно и с минимальной задержкой перемещать данные между частной сетью и облачной инфраструктурой. Сегодня...

Связь системных ограничений и UX-дизайна: как устроено взаимодействие в системном подходе Привет! Меня зовут Настя, я UX-дизайнер в отделе технологических проектов «Леруа Мерлен». Мы занимаемся разработкой внутреннего технологического портала — это единый фронт, где продуктовые команды могут получить услуги других команд в режиме Self-Service. Мы предоставляем ин...

Астрофтография: от советского объектива до автоматизированного управления телескопом Привет, Хабр! Меня зовут Евгений Сергеев, я работаю инженером-программистом в АСКОН, а в свободное время увлекаюсь астрофотографией. Именно ей будет посвящена статья. Я не буду затрагивать слишком много технических деталей, поскольку невозможно все охватить в рамках одного м...

Визуализируй это: как я обучаю джунов и ставлю задачи через диаграммы и графики Привет, меня зовут Сергей, я ведущий разработчик в DDoS-Guard и человек из мемов xkcd, который любит всё экстраполировать, истовый фанат визуализации данных. Диаграммы и графики решают кучу моих проблем с онбордингом джунов и объяснением задачи исполнителям. В этой стат...

Mojo: убийца Python и будущее Ai? Всем привет! Меня зовут Вадим, я Data Scientist в компании Raft, и сегодня мы погрузимся в Mojo. Я уже делал обзор данного языка программирования и рассмотрел его преимущества, примеры использования, а также провел сравнение с Python.Теперь давайте посмотрим, как обучить про...

Работа с хранилищами в Kubernetes: руководство для инженеров Как DevOps-инженер я часто сталкиваюсь с необходимостью глубокого понимания тонких аспектов Kubernetes. Одним из таких ключевых элементов является управление хранилищем данных. Хотя этот элемент иногда остаётся в тени других задач, его важность для успешного развёртывания ...

Опыт автоматизации управления FPGA-стендами для распределенной команды: отказ от готового решения и работа над ошибками В software-разработке с автоматизацией обычно все неплохо: более-менее понятно, как настроить CI и автоматизировать отдельные этапы CI-конвейера. Есть множество готовых решений и практик. Но, когда речь заходит об автоматизации тестирования на «железе», появляется множество ...

Создание и использование BOM в Gradle В каждой компании (а если она крупная, то, скорее всего, в каждом подразделении) должна быть выстроена культура использования BOM (bill of materials) для управления версиями зависимостей. В этой статье я хочу поделиться своим видением того, как это может быть организовано, а...

Как превратить любовь к чтению в стартап? Привет, хабравчане! Меня зовут Семён я разработчик мобильных приложений с десятилетним стажем. А еще я очень люблю читать фантастику и фэнтези. Хорошую книгу я читаю за 2 дня. А потом пол года ищу следующую. Последние лет пять я почти ничего не читаю, потому что не могу найт...

Как подключиться к Flutter приложению в режиме нативного debug на ОС Аврора Привет, Хабр! Меня зовут Юрий Петров, я Flutter Team Lead в Friflex и автор ютуб-канала «Юрий Петров | Всё об IT». Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. А также мы делаем  свой вклад в развитие экосистемы Аврора + Flutter. В эт...

Вы за это заплатите! Цена Чистой Архитектуры Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 м...

5 приёмов, чтобы управлять ожиданиями клиентов относительно качества и сроков (от продаж к тестированию) Управление ожиданиями клиентов – один из ключевых аспектов успешного взаимодействия в любой сфере. Я точно знаю, что принципы управления ожиданиями клиентов – будь то сроки доставки, качество обслуживания или выполнение поставленных задач – остаются универсальными для люб...

Отладка в SQL Developer Привет! Меня зовут Алексей Маряхин, я разработчик на Oracle. В этой статье продолжим знакомиться с темой отладки PL/SQL-кода.  В предыдущей статье мы изучили возможности отладки в PL/SQL Developer. В этой предлагаю рассмотреть ещё один инструмент — SQL Developer (версия...

I2C датчик INA219 + Python + Repka Pi: измеряем ток, напряжение и мощность во встраиваемых системах управления Когда вы создаете проект промышленной установки, робота, дистанционно управляемой модели ровера или аналогичный проект с микрокомпьютером, встает задача контроля состояния систем электропитания. Вам нужно проверять напряжение на аккумуляторах, потребляемый ток и мощность....

Построение платформенного продукта в Авито Мы в Авито разработали свою внутреннюю платформу для разработчиков. Несмотря на то, что создание платформенного продукта — довольно затратная история, в итоге мы видим сплошные плюсы. Она растит скорость и качество разработки, делает системы стабильнее, помогает инженерам со...

Swift UI: от сомнений к успешному внедрению Всем привет, меня зовут Фарид Хусаинов, я тим-лид команды мобильной разработки Банки.ру. Мы делаем iOS-приложения компании Банки.ру, а именно – наше основное приложение и приложение, посвященное страхованию.Два с половиной года назад мы приняли решение перевести наше мо...

Протокол SMTP. Пишем SMTP-сервер на C Недавно я захотел подкачать свои знания языка C. Я решил написать небольшой проект используя только стандартную библиотеку языка. Чтобы извлечь ещё больше пользы из данного проекта, я решил изучить новую для меня технологию. Этой технологией стал протокол прикладного уровня ...

Интеграционная платформа в The Platform: что умеет, как работает и зачем ей Workflow Engine Всем привет! Меня зовут Александр Бардаш, я главный архитектор интеграционных платформ в МТС. Сейчас наша команда работает над интеграционной платформой в рамках The Platform, которая объединит все существующие типы интеграций экосистемы и позволит ими управлять. Давайте дог...

Реальность существует и это надо учитывать Я полгода собирался написать эту статью и одной из причин постоянного откладывания её написания было то, что я не знал как её начать. Поэтому, начну банально.Привет, меня зовут Михаил Елисейкин, я более 20 лет в IT, более 20 лет изучаю историю техники, и сейчас хочу сказать,...

Уязвимость VSCode и «объективный» взгляд на Git Привет, Хабр!Меня зовут Владислав Кормишкин, я аналитик-исследователь угроз кибербезопасности в компании R-Vision. Сегодня я хотел бы рассказать вам об одном из самых популярных редакторов кода — VSCode, и о том, как злоумышленники могут использовать его в своих целях. На се...

Кратко про Raft и Paxos: путь к надежным распределенным базам данных Привет, Хабр!Консенсус позволяет нескольким узлам или процессам согласовать некоторое значение или последовательность действий, даже если часть системы выходит из строя или ведет себя непредсказуемо.Среди множества подходов к решению проблемы достижения консенсуса в распреде...

В России появился аналог Speedtest Центр мониторинга и управления сетью связи общего пользования (ЦМУ ССОП, организация Роскомнадзора) разработал приложение «Просеть» — российский аналог зарубежного приложения Speedtest. С его помощью пользователь сможет определить скорость интернет-сое...

[recovery mode] 9 лучших канбан-досок для работы и личных дел в 2024 Канбан-доски помогают обеспечить гибкость и прозрачность процессов в управлении задачами и проектами. Выбор подходящего инструмента может существенно повлиять на продуктивность команды, упрощая планирования и отслеживание прогресса. В этой статье рассмотрим 9 сервисов для ра...

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

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

Обзор и гайд по Tortoise ORM: собрал в одну статью все, что надо знать об инструменте и своем опыте работы с ним Привет, Хабр! Меня зовут Даниил Лихачев, я Python backend developer в диджитал-продакшене Далее. Сегодня я хотел бы представить вашему вниманию асинхронную библиотеку для работы с базами данных под названием Tortoise ORM. Это обзорная статья, чтобы показать, что из себя пред...

Отделяй и делегируй или Как безболезненно разгрузить менеджера Всем привет!Меня зовут Ваня Назаров, я работаю менеджером проектов в Ozon Tech.Одна из основных моих обязанностей — поддержание функции руководителя департамента одного из направлений работы всего Ozon.В этой статье я хотел бы ответить на вопрос: на что нужно обратить вниман...

FUSE: как написать свою файловую систему Меня зовут Максим, я ведущий разработчик в VK. Занимаюсь инфраструктурой доставки электронной почты в проекте Mail.ru. Наша команда разработала и довела до эксплуатации файловую систему (ФС) на FUSE в рамках проекта распределённой почтовой очереди. В проекте требовалось реал...

Atomic CSS Deep Dive Здравствуйте, товарищи! Меня зовут Валик и в этой статье мы поговорим про подход Atomic CSS в верстке, разработку инструментов и смежные темы.Кратко вспомним базу - почему Atomic CSS. Рассмотрим популярные решения для работы в этом подходе и сравним их с моим изобретением - ...

“Так ты хочешь кролика или нет?”: как простая автоматизация общения в Авито может принести вдвое больше лидов Привет, Хабр! Меня зовут Владислав, и один из моих проектов — интернет-магазин карликовых кроликов. Сегодня по приглашению коллег из ChatApp, я расскажу, как автоматизировал свой бизнес. Нет, речи ни о каком роботизированном выращивании кроликов не пойдет — только о продажах...

Удаленка для банковских сотрудников: как сохранить данные в безопасности и перевести сотрудников в онлайн Во время пандемии в 2020 году весь мир столкнулся с необходимостью обеспечить своих сотрудников возможностью работать из дома, да и вообще из любой точки мира. Банковская сфера, как и другие секторы, работающие с чувствительными данными, столкнулись с трудностями адаптации с...

Реализация консенсусного алгоритма Raft Привет, Хабр!Когда речь идет о распределенных системах и сетевых приложениях, консенсусный алгоритм становится must have. Эти алгоритмы играют ключевую роль в обеспечении надежности, согласованности и целостности данных в условиях, когда у нас есть несколько участников (узло...

Docker для Angular-приложений: от простого к несложному Привет, Хабр! Меня зовут Артём, я разрабатываю фронтенд систем управления сетью в YADRO. С Docker знаком давно и часто его использую. Но когда столкнулся с задачами, где недостаточно просто скопировать шаблонный Docker-файл и подправить пару строчек, решил больше погрузиться...

Помогаем приложению Kyocera увидеть сканер из-под доменного пользователя Привет, Хабр. Меня зовут Александр, и с недавнего времени я работаю системным администратором в «Петрович-Тех». Не так просто поделиться локальной проблемой, когда регулярно читаешь лонгриды о каких-то масштабных продуктах, в том числе и разделе «системное администрирование»...

Для мобильной ОС «Аврора» хотят создать браузер на основе Chromium Издание «Коммерсантъ» пишет, что компания «Открытая мобильная платформа» (ОМП) планирует разработать для своей мобильной ОС «Аврора» браузер на основе кода Chromium. Компания разместила вакансию инженера-разработчика браузера на сайте...

Вам не нужен time management, вам нужен attention management Привет, меня зовут Ася Исакова, и я организационный психолог. Я уже 10 лет работаю с разными командами, и за это время видела сотни горящих, выгорающих и сгоревших на работе людей. В этой статье я расскажу, как управлять своим вниманием так, чтобы хватало сил на важные дела ...

Unchartevice 3310 — обзор ноутбука для работы Задумавши поменять ноутбук, я первый раз в жизни попытался выбрать ноутбук именно для Linux подобных систем - в итоге купил Unchartevice 3310. Далее предлагаю вам поразмышлять на тему ноутбуков под Linux. Читать далее

Войти в ИТ через тестирование: опыт QA-инженеров hh.ru Привет! Меня зовут Олег Водянов, и я QA-инженер в hh.ru.  Свой путь в тестировании я начал в качестве джуна в далёком 2018 году. Всё, что мне тогда понадобилось для трудоустройства — это прочитать и законспектировать теоретическую информацию с сайта www.protesting.ru, н...

Как ZKP и ZK-Rollups помогают в решении проблемы масштабирования: обзор блокчейна zkSync Привет, Хабр! Меня зовут Рома и я Solidity-разработчик. Вместе с коллегами мы создаем базу знаний по тематике блокчейна и web3-разработке. Меня заинтересовал блокчейн zkSync, т.к. он выделяется среди других Layer 2 решений, но сначала хочу немного рассказать, в чем суть проб...

Атака Kerberoasting без пароля пользователя — миф, или новая реальность? Всем привет!Меня зовут Алексей, я работаю в компании «Визум», и занимаюсь тестированием на проникновение, направления классические – инфраструктура и веб. Данную статью меня сподвиг написать мой друг и коллега – Михаил Л., совместно с которым мы и провели данный небольшой ре...

[Перевод] Большинство оконных приложений — это недоработанные real-time приложения В приложениях пользовательского интерфейса таких платформ, как Windows, Linux и macOS, скрывается ряд недоработок, которые порой снижают их быстродействие до раздражающе медленного. Сюда относятся нюансы работы в реальном времени, блокирование памяти при доступе к диску и н...

Авторизация и управление доступом на основе ролей для фронтенда В этом модуле проекта мы погрузимся в волнующий мир авторизации и управления доступом во фронтенд-разработке. Сегодня я поделюсь с вами моим опытом работы с технологиями Vue 3, Pinia для глобального управления состоянием и TypeScript. Однако, стоит отметить, что основные при...

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

Почему стоит разместить CRM-систему на вашем личном сервере? К использованию CRM-систем многие бизнесмены приходят постепенно, совершая путь от простой таблички «в экселе» до покупки или облачной аренды ПО. Но остается вопрос: что лучше? Поставить CRM офлайн на машинах организации, заплатить за SaaS-решение и не мучаться с настройками...

Конфигурация вместо кода при написании Telegram-бота Привет! Меня зовут Никита и я пишу от имени небольшой команды студентов, разработчиков проекта Cloffer — систему онлайн-заказа для кофеен. Мы решили начать наш путь с написания связки бэкенд + набор телеграм-ботов.Эта статья будет посвящена подходу, который мы использовали д...

Какая бывает мотивация, или «Кто ты из Простоквашино» Привет! Меня зовут Аня, я руковожу проектными менеджерами. Более 8 лет работаю в сфере people management и понимаю, как сходу отличить замотивированного сотрудника от выгоревшего. На любой позиции моей главной задачей было развивать сотрудников, а потом удерживать любым дост...

Решаем трудности адаптации мобильных приложений с Responsive_framework Hola, Amigos! Меня зовут Ярослав Цемко, я Flutter-разработчик в компании заказной разработки Amiga. Сейчас я расскажу об очень крутом плагине, который помог нам решить проблемы, связанные с адаптацией контента под разные дисплеи в одном из наших проектов. Читать далее

Настраиваем серверные платформы с помощью PowerShell-модуля: от проверки конфигурации до монтирования образа Привет! Меня зовут Константин, я ведущий инженер по разработке ПО в компании YADRO. Разрабатываю инструменты сопровождения оборудования, которое мы производим, в том числе серверов линейки VEGMAN. Один из таких инструментов — специальный модуль для PowerShell, кото...

Cервисный дизайн: как мы проектируем функционал обслуживания продуктов При разработке и производстве программно-аппаратных комплексов в первую очередь думают о функциональности для конечного потребителя. Сложная система типа сервера или системы хранения данных (СХД) должна работать без сбоев, не отставать в производител...

Особенности Effector, которые почему-то никто не обсуждает: опыт ВКонтакте спустя год использования Меня зовут Андрес, я руководитель команды разработки внутреннего UI-кита ВКонтакте. А это ещё одна статья про инструменты управления состоянием. Сегодня мы не будем изобретать ничего нового, а поговорим про библиотеку Effector. (Внимание, под катом много картинок.) Что там з...

Apache Superset 2024. Лучшие практики Привет, Хабр! Меня зовут Антон, я работаю аналитиком в отделе бизнес-аналитики и анализа доходности в ОТП Банке. В нашей новой статье мы погрузимся в мир Apache Superset 2024 и откроем вам лучшие практики и продвинутые методы работы с этим мощным инструментом. После прочтени...

Как подружить Visual Studio 2005/2008 с Firebird ADO.NET Data Provider Добрый день читатели Хабра. В данной статье хочу рассказать вам о том, как настроить Visual Studio 2005/2008 для работы с Firebird в визуальном режиме. Недавно столкнулся с задачей написать небольшое приложение под .net с использование БД Firebird. Все хорошо, но стандартн...

Правильные, но (не)простые бэкапы. Как настроить резервное копирование в Kubernetes? Разработчикам и системным администраторам важно обеспечивать надежность и доступность данных в приложениях Kubernetes. Несмотря на высокую степень автоматизации и управления контейнерами, всегда остаются риски сбоев или человеческих ошибок — поэтому необходимо заранее задум...

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

ClickHouse как бэкенд для Prometheus Привет! Меня зовут Михаил Кажемский, я Lead DevOps в IT-интеграторе Hilbert Team. В последнее время к нам часто обращаются заказчики, которым нужна помощь с организацией хранения долгосрочных метрик в российских облаках. Так как для многих эта задача сейчас актуальная, в дан...

Найти работу в IT: миссия 2024 Привет! Меня зовут Полина, и я уже десять лет работаю дизайнером в айти. В основном продуктовый UX/UI, но были и отдельные проекты разного характера.  Расскажу про свой (и друзей) опыт поиска работы два года назад и сейчас, на русскоязычном рынке.  Читать дальше →

Как управлять распределённой системой, не привлекая внимания санитаров Привет! Меня зовут Александр Попов, я tech lead команды маркетплейса 05.ru. Сейчас мы занимаемся бэком маркетплейса и некоторыми другими сервисами на рынке Дагестана. При разработке серверной части маркетплейса мы сразу решили строить её в распределённой архитектуре. Эт...

Replit Agent создает программы за вас или кодинг без IDE Многие слышали про AutoGPT и GPT Engineer — агентные системы, которые позволяют генерировать код по промпту от пользователя. Меня зовут Евгений Кокуйкин. Я руководитель AI продуктов компании Raft. Сегодня расскажу про Replit Agent — AI Copilot для написания кода без знаний в...

C# Тренажер Хочу представить вашему вниманию бесплатный курс C# Тренажер, который недавно опубликовал на платформе Stepik.Курс включает в себя множество практических задач по программированию на языке C#, которые способствуют повышению вашего уровня навыков в этой области. В х...

Экономим на Kubernetes с помощью OpenCost — и другие прелести FinOps Вне зависимости от того, кто вы: небольшой стартап или развитая компания — задача управления затратами особенно важна. Модное понятие FinOps, оно же Financial Operations или Cloud Financial Operations, помогает организациям наиболее эффективно и экономически выгодно использ...

JIRA + AI = LOVE или Как Product manager-у найти друзей и перестать страдать Развитие AI-инструментов на базе современных LLM запустило в последние годы тренд на автоматизацию всего, что прибито меньше, чем на 2 гвоздя, и первыми адоптерами здесь традиционно выступает IT сообщество. Как Луи Пастер некогда ставил себе и друзьям намешанные на голой кол...

Российских врачей и учителей хотят массово снабдить отечественными планшетами Минцифры собирается массово обеспечить российских учителей и врачей планшетами отечественного производства. Как заявил министр цифрового развития РФ Максут Шадаев во время конференции Tadviser Summit, которая проходит сейчас в Москве, снабжать учителей и врачей планшета...

Microk8s, еще один легковесный K8s В современном мире разработки и развертывания приложений, контейнеризация стала ключевым элементом для обеспечения масштабируемости, гибкости и надежности. В этом контексте технология Kubernetes, как ведущая платформа оркестрации контейнеров, становится неотъемлемым инструме...

[Перевод] Организация ML-монорепозитория с помощью Pants Приходилось вам копипастить фрагменты вспомогательного кода между проектами, попадая в ситуацию, когда несколько версий одного и того же набора команд оказывались в разных репозиториях? Или, может, вам надо было делать pull‑запросы к десяткам проекто...

Выгорание на работе: что это такое и по каким причинам происходит Привет, Хабр! Меня зовут Даниил Старосек, я работаю аналитиком на проекте «Единое фронтальное решение» (ЕФР) в Россельхозбанке. В прошлый раз я рассказал о работе в условиях the roof is on fire на испытательном сроке: проект и сроки горят, старший коллега в отпуске, а ты в к...

Укрощение ClickHouse: почему ДанКо делает Visiology намного быстрее Привет, Хабр! Сегодня мы поговорим о том, почему BI-платформам нужен движок, какие сложности создает ClickHouse для аналитиков, когда речь действительно заходит о больших данных, зачем нужно оптимизировать SQL и о многих других вещах, которые часто остаются «за горизонтом» в...

Особый фронтенд на заводе: desktop first, тёмные помещения, промышленные интерфейсы и специфика производственных систем Привет, Хабр! Меня зовут Олег Рогов, я руковожу фронтенд-разработкой НЛМК. У нас команда на 70+ человек, в основном мы делаем интерфейсы для промышленных систем. Например, дизайнеры рисуют схему цеха или огромную таблицу сравнения для коксохима, мы всё это внедряем и потом...

Как искусственный интеллект изменил программирование Ни для кого не секрет, что в 2024 году нейросети стали доступным и удобным инструментом, который где только не используется. Почти каждый сервис сейчас заявляет о наличии функций с AI, но и в разработке, разумеется, различные модели активно применяются. Меня зовут Денис, я о...

Как мы запускали DIY-медиа для ИТ-специалистов Привет, Хабр! Меня зовут Юлия Гусарова, я директор по маркетингу beeline cloud. В октябре мы запустили проект вАЙТИ. В этой статье я и мои коллеги расскажут о том, как мы придумывали концепцию DIY-медиа и чем оно отличается от других площадок. А еще — поговорим о том, как ус...

Protobuf и buf: блеск, нищета и импортозамещение Если для компиляции proto-файлов вы всё ещё используете protoc, самое время перестать и перейти на buf. Разберём, как это сделать и почему это необходимо. Также рассмотрим проблемы доступа к buf.build.Меня зовут Эдгар Сипки, я Go-разработчик в Ozon Fintech. buf — мощная утил...

Step by step: интегрируем интерактивные 2D/3D-объекты в iOS-приложение Привет, Хабр! Меня зовут Степан, я iOS-разработчик SimbirSoft.В очередной раз открыв одно из ежедневных приложений, я обнаружил любопытную фичу: интерактивный 3D-элемент в виде звездочки. Казалось бы, ничего необычного, но это сделало взаимодействие с приложением немного при...

Зачем нужен HR? Кто это и какие есть роли Понимаю тех, кто высказывается на Хабре, что HR в найме - лишнее звено, которое только усложняет процесс коммуникаций. Дескать, хочется дойти до руководства, фигурально выражаясь, “пожать руку” своему потенциальному руководителю напрямую, а HR выступает промежуточным звеном,...

Из чего состоят карьерные сайты: топ-5 фич и 4 месяца разработки Всем привет! Меня зовут Данила Соловьев, я заместитель руководителя направления PHP в AGIMA. Недавно мы разработали собственное коробочное решение — это универсальный бэкенд для карьерных сайтов на Laravel. Мы можем разработать такой за четыре месяца. В этой статье объясняю,...

Делаем PageObject правильно. Удешевляем тестирование и снижаем порог вхождения Привет, меня зовут Коля, занимаюсь тестированием 7 лет, автоматизацией — 6 лет. Так уж сложилось, что не особо люблю WebUI-тесты, но почему-то именно они у меня получаются лучше всего.В один день мне позвонил мой друг Рома и сказал: «Коля, помнишь ты у нас автотесты делал с ...

Connection pool для pqxx В процессе изучения бекэнда, как нового для меня направления в программировании, я столкнулся с необходимостью оптимизации управления соединениями. Поискав в интернете существующие решения для библиотеки pqxx (C++ API для PostgreSQL), я обнаружил, что хотя они и выполняют св...

Технологии интеграции ИТ систем Одной из основных задач для Enterprise архитекторов является проектирование и проведение работ по интеграции различных ИТ систем. Так типичной историей является наличие у заказчика каких-то решений, либо не взаимосвязанных, либо частично связанных между собой и архитектору н...

Создание базового образа с Packer Packer – это инструмент для создания однородных образов виртуальных машин и контейнеров для использования на различных платформах от HashiCorp. C ним можно легко автоматизировать процесс сборки образов на основе одного исходного конф. файла, используя предопределённые шаблон...

[Перевод] Эффект Монреаля: почему языкам программирования нужен Царь стилей Давайте представим нереалистичный сценарий, где вы выбираете язык программирования для проекта, который в перспективе станет очень большим. Допустим, это будет набор сервисов в монорепозитории, над которыми работает более 100 человек. Чтобы сделать этот сценарий ещё менее р...

Изменить цвета и кнопки сервиса — и не сломать дизайн-систему Меня зовут Алексей Афонин, я старший дизайнер продукта в Yandex Cloud. В прошлом году нам понадобилось полностью изменить внешний вид нашего сервиса для бизнес‑аналитики DataLens перед его выходом в опенсорс. Разработчики и дизайнеры интерфейсов часто ста...

В России разработают приложение для управления проектами на ОС «РОСА Мобайл» Компания «Диджитал Маркетс» анонсировала выпуск приложения «Дистанционный офис. Облако» для российского смартфона «Р-Фон», работающего на операционной системе «РОСА Мобайл». Это решение, разработанное в сотрудничестве с НТЦ ИТ РОСА, станет первым полноценным российским инстр...

Ozon Tech Community 1C Meetup Как сделать жизнь 1С разработчика проще? У нас есть ответ.Всем привет, меня зовут Евгений, я руководитель группы разработки финансовых систем 1С. Приглашаю вас на Ozon Tech Community 1C Meetup, 10 октября в Санкт-Петербурге.На встрече обсудим целую палитру тем: от подходов п...

Основные возможности кластеризации Patroni в PostgresSQL Patroni – опенсоурсный инструмент, с которым можно подключить аварийное управление для кластеров Постгресе. Т.е можно автоматически преключать работу на резервный сервер в случае сбоя основного. Patroni может интегрироваться с различными системами распределенной конфигурации...

Синкерим, хешайдим, терминируем: 6 утилит, чтобы ускорить ваши локализации Наша команда Mobile Doc&Loc «Лаборатории Касперского» занимается подготовкой документации и локализации B2C-продуктов компании для мобильных устройств. Основная сложность (и одновременно фишка) нашей работы заключается в том, что необходимо регулярно подготавливать перев...

GPT vs Copilot: кто лучший помощник в написании UI-тестов для iOS? Мы выпускаем обновления приложений Lamoda минимум 4 раза в месяц. С каждым обновлением идут серьезные изменения: новые продукты, внедрение ML-моделей и так далее. У нас налажен процесс тестирования нового кода, но есть нюанс: проверять перед релизом нужно не только новую фун...

Фоновые асинхронные задачи в FastAPI и их мониторинг Привет! Меня зовут Иван, я бэкенд-разработчик в KTS.Сегодня расскажу, как в FastAPI эффективно работать с фоновыми задачами и настроить их мониторинг в Prometheus.В туториалах для фоновых задач в FastAPI обычно предлагают celery и при этом используют синхронный код. Но сегод...

Обзор LSP: что это такое, зачем нужно, как работает Представьте: у вас есть N редакторов или IDE и M языков программирования. Получается, что для их корректной работы вам необходимо поддерживать N*M плагинов. Но что, если таких редакторов и языков много?.. Решением может стать LSP — единый интерф...

Smart LED: Адресная LED подсветка с управлением через Алису В этой статье мы рассмотрим процесс создания умной светодиодной системы под названием Smart LED. Этот проект основан на микроконтроллере ESP8266 и адресной светодиодной ленте.Система Smart LED позволит вам не только наслаждаться красивой подсветкой, но&nb...

НаQA нам QA? Привет, Хабр! Меня зовут Ксения, я руководитель отдела QA в компании ISPsystem. О том, как я собирала команду, можно почитать в моей предыдущей статье. Сейчас в нашем отделе 14 человек. Чем шире становится команда, тем больше ожиданий на нее возлагается относительно кач...

Система иконок на React Очень часто при разработке React-приложения нам приходится работать с большим количеством иконок в проекте. Наверное, каждый разработчик стремится максимально упростить и автоматизировать подобные рутинные задачи. Есть несколько способов работы с иконками в веб-приложениях, ...

CPM vs. BI:  о чем не расскажут продавцы Более восьми лет я специализируюсь на внедрении CPM и BI-систем различных вендоров. Несмотря на то, что во многом их функционал пересекается, мне хорошо понятно, какие задачи решаются лучше, а какие решаются только одним из этих двух классов систем.Написать данную статью мен...

Распределенная трассировка с Jaeger и Clickhouse Привет! Меня зовут Филипп Бочаров, я руководитель центра мониторинга и наблюдаемости в МТС Digital. Мы делаем распределённую трассировку, чтобы контролировать качество наших сервисов и предотвращать аварии. В этой статье разберём, как добиться понятной и прозрачной работы от...

Замедляем разработку. Вредные советы по тестированию в проектах Привет, меня зовут Кристина Климовских, я — Python Developer в команде DataMining. Главная задача моей команды — поддерживать бесперебойный флоу добычи данных для обогащения и актуализации справочника 2ГИС.Ежедневно наши парсеры собирают разношёрстные дан...

ChatGPT плохо отвечает на «простые вопросы». Как это починить? Привет, Хабр! Меня зовут Антон Разжигаев, я аспирант в Сколтехе и участник научной группы Fusion Brain (AIRI), работающей над мультимодальными подходами. В этой статье я расскажу о нашей последней работе — Multilingual Triple Match — системе для поиска ответов на фактологиче...

Как не про…пустить все дедлайны. Таск-трекер в деле Какие подходы к управлению временем вы сейчас используете? Готовы ли вы сказать, что у вас чёткая система по управлению вашими рабочими задачами?Я готов сказать — да, и поделиться как это работает у меня вот уже много лет. Читать далее

ChatOps на практике: создание бота для мониторинга логов Недавно на работе меня попросили придумать рабочую задачку для студентов. Поскольку я работаю в инфраструктурной команде, мои повседневные задачи вряд ли подходят для их домашек или курсовых работ. Чтобы найти подходящую идею, я начал перебирать инструменты, которыми мы с ко...

Как выдавать бесплатные SSL сертификаты с помощью certbot, Nginx и Docker Всем привет! Одна из моих рутинных задач - это подъем новых проектов и микросервисов в облаках. Для этого практически всегда нужны домены и поддомены с наличием SSL сертификата. У меня выработался подход, с помощью которого я автоматизировал процесс выдачи сертификатов с пом...

Защищаем K8s с помощью RBAC Система оркестрации Kubernetes или как ее называют сокращенно K8s на сегодняшний день стала стандартом де-факто в управлении контейнерами. Сейчас на K8s работает множество различных сложных микросервисных приложений. И для их грамотного функционирования важно правильно выпол...

Адаптируем VoiceOver для людей Меня зовут Женя Тютюев, я iOS-разработчик в компании 2ГИС. Хочу поделиться, как адаптировал наше приложение под VoiceOver: — Делюсь историей про сдвиг парадигмы и как перешёл из стадии «делать, потому что Эпл советует» в совершенно новую — «делать для людей». — Ка...

Сколько нужно ядер cpu, чтобы выдержать 30k+ rps? Меня зовут Вадим Ивахин, я техлид в Vi.Tech — это IT-дочка ВсеИнструменты.ру. Я и мои коллеги трудимся над большим количеством проектов и используем в своей работе различные инструменты, в том числе MongoDB. В этой статье я не стану рассказывать о том, что такое MongoDB. Хоч...

Мощь AST в действии, или как переписать код 10 летней давности на ES6-модули и ничего не сломать Всем привет! Меня зовут Кирилл и я работаю фронтенд-разработчиком. Я расскажу о том, как мы перевели несколько тысяч файлов, написанных на JavaScript, с легаси кода, который использовал goog.module, на новые ES6-модули с помощью построения и преобразования абстрактного синта...

Управление проектами в работе и жизни Управление проектами — фундаментальный навык. Из проектов состоит не только наша работа, но и личная жизнь. Строя дачу, организовывая путешествие или покупая продукты к ужину, мы управляем проектами, даже не задумываясь об этом.В проекте всегда есть заказчик и исполнитель. Д...

Проблемы согласованности данных в микросервисах и их решение Привет, Хабр!Микросервисы стали выбором многих благодаря их гибкости, масштабируемости и способности поддерживать сложные приложения в динамично меняющемся мире.Но не всё так просто. Одной из ключевых проблем, с которыми сталкиваются при переходе от монолитных архитектур к м...

Управление цветами в Seaborn: как эффективно визуализировать данные Привет, Хабр. В этой статье я расскажу про своё видение работы с цветом при визуализации графиков. Буду показывать все на примерах — уверен, они вам понравятся.Я покажу не только картинки было-стало, но и приведу примеры кода, а также объясню логику принятия решений: как исп...

1 августа и COBOL: как они связаны? Привет, Хабр! Меня зовут Дарья Фролова, я редактор направления спецпроектов в МТС Диджитал. Хочу предложить вам вспомнить, что сегодня за дата — и я сейчас не про первый день последнего месяца лета. Спойлер: поговорим о Грейс Хоппер и ЯП. Жду вас под катом! Читать далее

GraphQL и микросервисная архитектура: объединяем сервисы в федерацию Меня зовут Владислав Гончаров, я разработчик в команде Platform V DataSpace СберТеха. Расскажу, как мы решаем вопрос с объединением сервисов в GraphQL и микросервисной архитектуре, которая позволяет разбить любое большое приложение на маленькие сервисы. С одной стороны, их п...

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

B2B: как заставить вашу продуктовую стратегию работать Представьте ситуацию: PM проанализировал рынок, разобрал плюсы-минусы текущих продуктов компании, написал стратегию их развития, защитил перед бизнесом. Топ-менеджеры покивали, помечтали, как в будущем году «уууухнем и перевыполним план продаж» и… Все осталось по-прежнему. Ц...

Как мы создавали дизайн-систему: опыт компании Звук Привет, Хабр! Меня зовут Мария Бажина, я Android Developer в компании Звук. Вот уже полтора года я работаю над дизайн-системой, поэтому знаю здесь каждую мелочь. И в этой статье я хочу рассказать, зачем нам нужна дизайн-система и в каком виде она существует в нашем прое...

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

Как департамент утилизации CPU превратился в департамент экономии железа, выдерживающий нагрузку в 1 млн RPS Привет, меня зовут Мария, когда-то я работала на шахте, потом на заводе, а 3.5 года назад пришла в Ozon Tech. Сейчас я старший Golang-разработчик в команде product-facade. Это самый высоконагруженный сервис маркетплейса, но так было не всегда.Хотите узнать, что скрывается по...

Подход, который помог нам точно оценить трудозатраты на разработку дизайн-системы При планировании проекта команде дизайна приходится отвечать на много вопросов. Главные — что делать, как долго и сколько это будет стоить. Ответы есть не всегда и точно не у дизайнеров, которые занимаются отдельными задачами и не видят картину в целом. Меня зовут Александр...

Как я создавал мобильное приложение для хранения прочитанных книг BookDesk Всем привет! Меня зовут Александр, мне 33 года и я React-разработчик (10 лет опыта во фронтенде), я из Беларуси.Я хочу рассказать о моем опыте создания мобильного приложения для хранениях прочитанных книг BookDesk.Все началось еще в 2020 году, когда началась пандемия коронав...

Техники usability — как проектировать сложные системы, чтобы они стали простыми для использования Существует заблуждение, что дизайн — это вопрос вкуса, и у него нет объективных критериев оценки. Но не стоит забывать об условиях использования приложения. Например, таких факторах, как шум, низкое качество, старое тормозное оборудование или программное обеспечение, огранич...

От промптов к дообучению: четыре уровня адаптации open-source моделей Привет, Хабр! Меня зовут Анна Щеникова, я аналитик в Центре RnD в МТС Диджитал. Ко мне часто приходят задачи, где нужно использовать open-source LLM. Сразу же встает вопрос: а как адаптировать имеющуюся модель под конкретный кейс?Мы выделяем четыре уровня адаптации. Для этог...

MaaS, или мониторинг как сервис Привет, Хабр! Меня зовут Валентин Лебедев, я отвечаю за мониторинг в Газпромбанке. Мой опыт в области построения систем мониторинга — более двенадцати лет, из которых последние шесть — строил мониторинг для крупного и сверхкрупного бизнеса. Статья будет полезна специали...

Использование API в FineBI Привет, Хабр! На связи Business Intelligence GlowByte. В данной статье разберем основы интеграции FineBI c внешними системами. С помощью публичных методов API можно использовать интерфейс, управлять системой удаленно и автоматизировать бизнес-процессы. Существует нескол...

Собираем компьютер для работы с большими языковыми моделями Привет, Хабр! Меня зовут Артем Чебыкин, я ML-инженер и автор медиа вАЙТИ. В этой статье я расскажу о том, какой тип компьютера: стационарный, ноутбук или макбук — больше всего подходит для машинного обучения и почему. Также рассмотрим начальный и продвинутый вариант сбо...

Scram для создания аппаратуры. Проект по созданию системы тестирования ADAS или краткая история 8 месяцев нашей жизни Добрый день, уважаемые коллеги и друзья! Уже больше года я работаю в Армении в компании, которая занимается созданием под ключ сложных, комплексных систем. Взяли меня на роль руководителя проектов, чем собственно я и занимаюсь последние 5 с лишним лет. В данной статье я хоте...

Как я написал свой первый классификатор эмоций Всем привет! Немного о себе. Меня зовут Максим, я работаю специалистом по Machine Learning в компании SimbirSoft. Последние два года я углубленно изучал область машинного обучения и компьютерного зрения и сегодня с удовольствием поделюсь с вами опытом разработки личного пет-...

Flutter и ГОСТ TLS Меня зовут Куприёв Андрей, я Flutter‑разработчик в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. В этой статье мы рассмотрим, как реализовать поддержку протокола ГОСТ TLS в приложениях, разработанных на Flutter.Flutter, с ...

Команда любого продукта должна уметь работать с пользователями? Меня зовут Виктор Попов, я — технический владелец продукта CI/CD в Samokat.tech. Мы с командой разрабатываем там комплекс CI/CD  инструментов. Это единый продукт, который должен удовлетворить потребности продуктовых команд. Правда, не так просто разобраться, а удовлетво...

Как оценить задачи без Planning Poker и лишних слов Привет, Хабр!Меня зовут Александр, я занимаюсь релиз менеджментом в ИТ-компании TAGES. Эта работа требует быстрой поставки бизнес-ценности в условиях меняющегося мира. Однако непрерывность регулярных деплоев невозможна без четкого плана. А правильный план, в свою очередь, тр...

Как ломаются большие системы и как их траблшутить — инсайты из интенсива ШАДа Яндекса Привет, меня зовут Руслан Савченко, я руководитель службы разработки динамических таблиц в Yandex Infrastructure и преподаватель в Школе анализа данных. Сегодня я поделюсь актуальными инсайтами о том, как ломаются большие системы и как их траблшутить...

Система рендеринга для космического симулятора в Unity Несколько лет назад я работал над проектом по реализации на Unity реалистичного космического симулятора. Это достаточно нестандартное применение движка, и в ходе работы были решены разные специфические задачи, одна из которых - обеспечение корректного рендеринга объектов кос...

Шпаргалка для QA: как тестировать Flutter-приложения Привет! Меня зовут Юлия Андреева, я QA-специалист в AGIMA. Мы пилим и тестируем много Flutter-приложений. И недавно я заметила, что не все коллеги понимают специфику их тестирования. В этой статье расскажу про основные инструменты и подходы, которые мы используем. Сосредоточ...

Очередной взгляд на собеседования. Часть 1 Регулярно мы видим в интернетах множество размышлений или криков души на тему содержания собеседований в IT. Мол, и интервьюировать не умеют, и задачи дают не релевантные, и вопросы бессмысленные, и, вообще, собесы в IT это ритуал и карго-культ. Сидит там интервьюер и думает...

Как сэкономить миллионы рублей, или перевод документации нейродвижками Всем привет!Меня зовут Александр Денисов. Я работаю в компании Naumen и отвечаю за документирование и локализацию программного продукта Naumen Contact Center (NCC).В этой статье я расскажу о том, как у нас был автоматизирован процесс перевода документации с помощью нейродвиж...

Приключение на 20 минут: как войти (и не выйти) в готовую автоматизацию на проекте Всем привет, меня зовут Никита, и я QA-инженер в компании Bimeister. Мы помогаем промышленным предприятиям с цифровой трансформацией. Грубо говоря, помещаем завод с детализацией до каждой балки в окно браузера. Сейчас я работаю в компании чуть больше полугода, поэтому по све...

Дух романтики «полевых» инженеров: серверы, вулканы и медведи Привет, Хабр! Меня зовут Жора, я старший инженер по серверам и СХД в КРОК. Работа нашей команды, такова, что большую часть времени мы проводим в поездках по объектам заказчиков — это дата-центры и всевозможные серверные, раскиданныех по всей России от Калининграда до Камчатк...

Интерактивные и документированные диаграммы для сложных систем Мой первый on-call выдался нелегким. Недели тренингов и обучения не подготовили меня к тому что придется бегать по Slack каналам различных команд и искать того, кто может что либо знать о какой-то из частей системы. Оказалось что многие страницы в корпоративной Wiki уже не о...

Legacy: поддерживать нельзя переписать Легаси — реальность любого программиста. Объясняем, как софт становится легаси и почему это нормально, а также какие существуют плюсы при работе с легаси. Не всегда стоит относиться к легаси как к проклятию, стоит взглянуть на него как на естественный этап жизненного цикла п...

Айтишникам нельзя не быть креативными, и я сейчас это докажу Всем привет. Меня зовут Антон, я Scrum-мастер IT-отдела компании AppEvent и по-совместительству front-end разработчик. В моей первой статье на Хабр хочу рассказать вам, почему же айтишнику нужно быть креативным и как этот навык вообще можно проявить. Ведь зачастую он являетс...

Обзор современных подходов персонализации диффузионных нейронных сетей Задача персонализации text-to-image модели состоит в донастройке предобученной нейронной сети так, чтобы она могла генерировать изображения заданного объекта в выбранных сценах. Несмотря на то, что подходы к решению этой задачи существуют, для их применения в высоконагруженн...

Кратко про NewSQL Привет, Хабр!

Используем MLOps-конвейер: пример работы с Cloud ML Platform для построения сервиса распознавания лиц Есть два подхода к работе с машинным обучением (Machine Learning, ML): быть человеком-оркестром и задействовать «зоопарк технологий» для каждого этапа, или работать с готовым набором инфраструктурных решений, который позволяет выстроить MLOps-конвейер в рамках одной платфо...

Конверсия 1 собеседование на 500 откликов на западном рынке. Как так вышло и чем грозит? Привет, меня зовут Артур, и это моя вторая публикация на Хабре. Я долго не решался опубликовать эту статью, переписывал её несколько раз и всё-таки в приятный пятничный вечер решил вынести эту тему на всеобщее обсуждение. Мне кажется, тема очень важной и актуальной. Несмотря...

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

Некорректная валидация UI при работе с файловой системой: что может пойти не так и как это починить Привет, Хабр. Меня зовут Александр Пиманов, я ведущий iOS-разработчик в МТС Диджитал. Сегодня расскажу о простой (как мне сначала показалось) задаче — нужно было свалидировать UI в зависимости от того, есть в файловой системе файл с логами или нет. Я быстро с ней справился, ...

Сканирование 300 раз в секунду: как мы решали проблему в SAP ERP Недавно решая проблему заказчика – крупного ритейлера, мы значительно ускорили работу одного из процессов, реализованных в SAP ERP. Периодически задания по загрузке цен работали ооооооооооооооооооооооооооочень медленно, причем задержка составляла не каких-нибудь 10 мину...

Вы кто такие, я вас не знаю, или Как мы делаем JWT-аутентификацию Привет! Меня зовут Данил, я backend-разработчик в Doubletapp. Почти во всех наших проектах есть пользователи, которые могут войти в систему. А значит, нам почти всегда нужна авторизация. Мы используем авторизацию, построенную на JSON Web Token. Она отлично сочетает в се...

Объектно-ориентированный подход при проектировании цифрового офиса сотрудника На современных проектах объектно-ориентированные подходы могут стать универсальным средством построения API, а файлы  YAML — понятной всем нотацией при интеграции. В новой статье рассмотрены оригинальные объектно-ориентированные подходы для проектирования архитектуры ци...

Что делать, чтобы эксплуатация не превратилась в бесконечное тушение пожаров Меня зовут Владимир Медин, я работаю в подразделении SberWorks, которое внедряет практики DevOps и MLOps. Хочу поделиться нашим опытом повышения надёжности enterprise-систем, вводимых в эксплуатацию, особенно впервые. Для кого-то эта статья будет в большей степени спасательн...

Ввод текста движением глаз и коробка для Linux? Как мы собираем запросы пользователей и используем их в разработке Привет! Меня зовут Олег Борискин, я менеджер по продукту мессенджера МТС Линк Чаты. Каждый день нам приходят десятки запросов от пользователей — от связи в мессенджере через спутник до округления иконок на два пикселя. Все это мы собираем, анализируем и используем в работе. ...

Внутренняя кухня Security Operations Center: рецепт контента Привет, Хабр! Меня зовут Кирилл Рупасов. Я руковожу группой инженеров SOC (Security Operations Center) в «К2 Кибербезопасность». Я не понаслышке знаю, как порой непросто создавать контент для Центра мониторинга кибербезопасности. Написать одно правило обычно несложно, а вот ...

Возможности С++: от стандартных алгоритмов до диапазонов (Ranges) Привет, Хабр! Меня зовут Николай, я разработчик С++ в SimbirSoft. В предыдущей статье мы с вами рассмотрели применение стандартных алгоритмов в повседневном коде и их преимущества над обычными циклами. В продолжение этой темы мне хотелось бы рассказать о недостатках стандарт...

Ваша карта не будет бита: как добавить Impact Map, CJM и USM в документ и не пострадать Наверняка у многих бизнес-аналитиков есть цель использовать особые артефакты: Impact Map, CJM (Customer Journey Map), USM (User Story Map). Особые, т. к. не так часто они встречаются в бизнес-требованиях, и даже бывалый аналитик может с непривычки растеряться, если не создаё...

Булгаков, Кастанеда, Эйнштейн. Ищем ответ на вопрос: «А что после смерти?» Статья написана по просьбе одного из читателей. Сначала я хотел ограничиться постом, но понял, что материала много и можно раскрыть тему шире. В статье рассмотрим взгляд науки, искусства и религии на загробную жизнь и обсудим, что стоит за страхом, что «всё нажитое исчезнет ...

Знания как код: архитектурный репозиторий в git на базе PlantUML Привет, Хабр! Меня зовут Максим Приходский, я архитектор R-Style Softlab и сегодня хочу рассказать вам о проекте создания архитектурного репозитория в git на базе PlantUML. Читать далее

[recovery mode] Выбор технологического стека для digital-продукта в 2024 году Стек технологий для запуска нового продукта в компании обычно выбирается исходя из того, с чем команда работала до этого и сколько наработок уже имеется.Однако если вы свободны от необходимости использования какого-либо наследия (набираете новую команду или ищете актуальные ...

Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье.Я бы хотел с в...

Можно ли обойтись без нативных языков, разрабатывая на Flutter и RN? Привет! Меня зовут Дима, я разрабатываю мобильные приложения на Flutter в Пиробайт. Все чаще мне приходится сталкиваться с задачами, в которых требуется обращение к нативному API устройства. Пакетов на pub.dev для решения этих задач мне всегда хватает. Но бывают моменты, ког...

Как использовать Spring в качестве фреймворка для Flink-приложений Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в наши продукты в цикле статей. В ...

Хакатоны в России: август и сентябрь 2024 / Призы и офферы ждут тебя Привет, Хабр! Меня зовут Иван Клюев и я занимаюсь организацией и продвижением хакатонов с 2018 года. Список ближайших хакатонов, на которые открыта регистрация, ты всегда найдешь на сайте "хакатоны.рус". Это некоммерческая организация для помощи участникам и организаторам. З...

Подсветка элементов онбординга. Spotlight onboarding / Highlight element. SwiftUI iOS15+ Всем привет! Меня зовут Саша, я iOS-разработчик компании Ozon. Я занимаюсь разработкой и развитием мобильного приложения продавца. Сегодня хотел бы поделиться опытом нашей команды по кастомизации онбординга для вашего мобильного приложения.Представьте, ваша команда несколько...

Хотел устроиться Python-разработчиком, стал мидлом в QA-отделе — как я искал первую работу Привет! Меня зовут Юра, и в этой статье я хочу поделиться своим опытом поиска работы. И это вряд ли блестящая история успеха — на этом пути нашлось место и самым неожиданным факапам, и офферу от галеры, и отчаянию. Спойлер: на работу я всё-таки устроился, хоть и совсем не в ...

О программировании спустя 2 года опыта Меня зовут Никита, я — Python бэкенд-разработчик из Surf. Месяц назад я закончил первый проект в аутсорс-компании. Признаться, он стал для меня открытием — раньше я работал только в инхаус-продуктах. Это два совершенно разных опыта с разным отношением к продукту, коду, работ...

Формальные методы проверки смарт-контрактов Друзья, приветствую! Меня зовут Сергей Соболев, я представляю отдел безопасности распределенных систем Positive Technologies. В этой статье начну рассказывать про методы и инструменты формальной верификации, их практическое применение в аудите смарт-контрактов, а также про п...

Frontend внутри Bitrix. Использование и написание экстеншенов + SPA приложение на Vue или React В данной статье мы рассмотрим правильный подход к Frontend разработки в Bitrix. А именно разделение на расширения которые сможем подключать в любой момент времени. + напишем SPA приложение на React. Читать далее

Топовые подходы к решению алгоритмических задач Привет! Меня зовут Дмитрий Королёв, я бэкенд-разработчик в Авито. В этой статье я расскажу про ключевые аспекты и концепции работы с наиболее популярными алгоритмами и структурами данных. Это поможет и в реальных проектах, и чтобы глубже понять алгоритмические принципы. Стат...

Автотесты на Java для websocket на SockJS Всем привет. Меня зовут Ирек, и я в профессиональном IT с 2012 года. Прошел путь от специалиста службы поддержки до разработчика. На данный момент занимаюсь автоматизацией тестирования в компании РТК ИТ.В статье хочу рассказать о своём опыте автоматизации тестирования websoc...

FLUX — новая нейросеть для генерации изображений от создателей Stable Diffusion Всем привет!Flux.1 D — это мощная модель для генерации изображений по текстовому описанию. Меня зовут Вандер, я куратор клуба по нейросети Fooocus и нейро-энтузиаст, и сегодня мы разберемся, почему вам точно стоит обратить внимание на свежеиспеченную Flux.Разработчики Flux -...

Исследование: Миграция IT-специалистов в 2022-2023 гг Всем привет. Меня зовут Алёна, я выпускница магистерской программы "Социология публичной сферы и цифровая аналитика" НИУ ВШЭ. В апреле 2024 г. в рамках работы над своей выпускной работой я провела количественное исследование на тему миграции в IT-сфере - кто, куда уезжал за ...

От винта! Рычаги и винты в Unity Всем привет! Меня зовут Григорий Дядиченко, и я разрабатываю разные проекты на заказ. Сегодня хотелось бы поговорить про рычаги и винты, и их реализацию в Unity. Сейчас как раз на хайпе Apple Vision Pro, а подобные штуки бывают весьма полезны в проектах с виртуальной и допол...

Меняем мир с помощью слов: какие инсайты я получил после конференции Techwriter Days Привет, Хабр! Меня зовут Алексей, я работаю техническим писателем в ISPsystem. Недавно я впервые выступил спикером на крупной профильной конференции — Techwriter Days. Сегодня расскажу, зачем это сделал, как готовился и что нового узнал от других выступающих.  Чита...

Как я использую плагины VSCode для обработки Json-файлов в работе системным аналитиком Всем привет! На Хабре много статей про настройку VSCode, но большинство написали разработчики и для разработчиков. Это достаточно крутой и универсальный инструмент, который можно использовать не только для программирования. В этой статье я на своем примере покажу, как его мо...

Из пет-проекта в самостоятельную компанию: Алексей Миловидов о разработке ClickHouse и премии Highload++ Алексей Миловидов — разработчик и создатель технологии ClickHouse. Проект получил больше $2 млрд инвестиций. Эта распределенная аналитическая система управления базами данных с открытым исходным кодом используется компаниями со всего мира. Она столбцовая и позволяет онлайн о...

TMS Test IT: польза и лайфхаки для мануальных тестировщиков Всем привет, меня зовут Антон Огольцов, я отвечаю за процессы тестирования в компании Integro Technologies. Мы являемся системным интегратором, представляющим услуги по разработке, внедрению и поддержке IT-решений для авиакомпаний, аэропортов и наземных служб. Сего...

Рекомпозиция в Compose: что не видно разработчику невооруженным глазом Всем привет! Меня зовут Данила, я Android-разработчик в команде, которая занимается созданием супераппа WorksPad и почтового клиента RuPost Desktop.Все новые фичи в проекте пишутся на Compose, поэтому встал вопрос о повышении собственной квалификации. Нужно было разобра...

Как мы перешли на конфигурацию Microsoft.Extensions.Configuration (IOptions) и стало хорошо Привет, меня зовут Андрей Рягузов, в 2ГИС я разрабатываю внутренние продукты для актуализации справочных данных на .NET.Несколько лет назад для работы с настройками мы в команде пользовались самописным методом. Пока приложения были простыми, нас всё устраивало, однако при ма...

Эволюция в мире UX: как мы создали паттерн проектирования и упростили прогулки пользователей по панели управления Привет, Хабр! Меня зовут Витя, я проектировщик интерфейсов в Selectel. Так вышло, что мне поручили разработать интерфейс формы создания облачного сервера. Задача не из самых простых: конфигуратор достаточно функционален и гибок, но должен оставаться понятным. Было сложно, ...

Quantization Deep Dive, или Введение в современную квантизацию Привет! Меня зовут Василий Землянов, я занимаюсь разработкой ML-инфраструктуры. Несколько лет я проработал в команде, которая делает споттер — специальную маленькую нейросетевую модельку, которая живёт в умных колонках Яндекса и ждёт от пользователя слова «Алиса». Одной из м...

[Перевод] Когда одного Postgres'a мало: сравнение производительности PostgreSQL и распределенных СУБД Общеизвестно, что PostgreSQL - крайне эффективная СУБД с богатой функциональностью. При этом не секрет, что PostgreSQL масштабируется только вертикально и её производительность ограничена возможностями одного сервера.Написано много хороших постов, в которых сравнивают архите...

Шаг за шагом: как добиться синхронности в дизайн-команде за 9 месяцев Привет, меня зовут Артём Говердовский, и я дизайн-директор в Сбер Домклик. В моëм подчинении 49 дизайнеров, среди которых 6 лидов. Хочу рассказать, как у нас получилось переформатировать дизайн-отдел, распределить зоны ответственности, настроить процессы, справиться с л...

Как найти баланс между интересами покупателей и продавцов: опыт разработчиков Яндекс Маркета Привет, Хабр! Меня зовут Илья Ненахов, я руковожу разработкой платформы для продвижения товаров на Яндекс Маркете. Предлагаю взглянуть на площадку немного с другой стороны, а именно — как на механизм, который пытается найти оптимальную точку в пространстве с тремя измерениям...

[Перевод] Буфер обмена веб-приложений и как он хранит различные данные Если вы достаточно давно пользуетесь компьютером, вы, скорее всего, знаете, что буфер обмена может хранить различные данные (картинки, текст с форматированием, файлы и др.). Как разработчика, меня начало раздражать то, что у меня нет точного представления, как буфер обмена х...

Как работать с динамическими блоками в nanoCAD и переносить объекты из AutoCAD Все привыкли к тому, что первый инструмент проектировщика — это AutoCAD, который доминирует в мире черчения и проектирования с момента создания с 1980-х годов. Известность AutoCAD в сообществе САПР сравнима с известностью Photoshop в с...

Дизайнера обидеть может каждый: 4 правила из художки, которыми я пользуюсь в работе Привет! Меня зовут Юля Вакуленко, я дизайнер в AGIMA. Хочу вам рассказать о том, как знания из художественной школы помогают мне с решением рабочих задач.Нет, эта статья не ответит на вопрос «Должны ли дизайнеры уметь рисовать?». Но если вы всё-таки об этом спросите, я скажу...

Symfony под капотом: Symfony Messenger и механизм повторной обработки сообщений при ошибках Привет! Меня зовут Ваня, последние несколько лет я занимаюсь backend-разработкой в Сравни. Моя команда разрабатывает интеграции с сервисами наших партнёров, код пишем на PHP и Symfony Framework.При работе с интеграциями мы часто имеем дело со сбоями в сторонних сервисах, и н...

Мой топ нейросетей для дизайнера Всем привет, меня зовут Денис, я тимлид команды дизайна в DLS, а также ревьюер в Яндекс Практикуме на курсах «Дизайнер интерфейсов» и «Дизайнер мобильных приложений». В этой статье я хочу поделиться подборкой нейросетей для коммуникационных и графических дизайнеров, которые ...

Почему навигация в Google, Booking и Spotify именно такая, и какую лучше выбрать вам При работе над паттерном навигации моя команда выяснила интересный факт — мало материалов для дизайнеров. Я провела своё исследование: поговорила с разработчиками, проанализировала множество приложений и заглянула в гайдлайны.В статье покажу три самых популярных вида навигац...

Как мы лечили раздвоение встреч в конференциях на базе Jitsi Привет! Меня зовут Дима. Я из команды бэкенда Яндекс Телемоста — сервиса для проведения видеовстреч, который входит в Яндекс 360. Перед нами стоит задача не просто предоставить сервис, а предоставить отказоустойчивый и надёжный сервис, который работает 24/7 и ...

Как я за один заход хакнул половину американских сетей фастфуда Консоль бодро оповестила меня о завершении работы скрипта. Его задача заключалась в поиске учётных данных для доступа к Firebase, которые лежали в открытом доступе и принадлежали одному из сотен недавно появившихся ИИ‑стартапов.Скрипт шёл по&nbs...

Бэкап, бэкап и еще раз бэкап Речь сегодня пойдет об отказоустойчивости и даже о катастрофоустойчивости.Почему вроде бы правильно настроенное архивирование базы данных не всегда помогает спасти систему в случае инцидентов? Этим вопросом я, наверное, многих даже задел за живое. Одних тем, что сама постано...

Эффективность на максимум: как выбрать оптимальное сетевое хранилище (NAS) для корпоративной среды В современном мире, где объемы данных растут экспоненциально, а требования к их доступности и безопасности становятся все жестче, выбор оптимального сетевого хранилища (Network Attached Storage, NAS) становится критически важной задачей для профессионалов и продвинутых польз...

От каждого по способностям. Как мне удалось прокачать инженерную культуру своей команды, не будучи тимлидом Привет, Хабр! Меня зовут Кирилл Веркин, я Senior QA в СберМаркете. Эта статья о том, как за 1,5 года моя команда прокачала уровень инженерной культуры с нуля до самого высокого среднего балла в компании среди 105 команд. (Да, у нас есть уровни инженерной культуры!) Хочу...

Ускоряем Android-приложения с помощью Baseline Profiles Привет, меня зовут Даниль Гатиатуллин, я инженер юнита Performance в Авито. В этой статье я рассказываю, что такое Baseline Profiles, как он ускоряет запуск программы и каким приложениям он принесет больше пользы. В качестве примера возьму наш эксперимент, который ускорил вр...

database/sql: плохой, хороший, злой Многие Golang-разработчики  пробовали работать с БД в Go, и у каждого — свои боли. В этой статье разберём библиотеку database/sql как безотносительно конкретной СУБД, так и применительно к YDB. Рассмотрим трудности эксплуатации при использовании драйвера database/sql на...

Расширяем возможности мобильного приложения на WebView. Опыт Ozon Банк Привет, Хабр! Меня зовут Георгий, я руководитель команды Ozon Банк iOS. Я занимаюсь разработкой и развитием мобильного направления финансовых продуктов Ozon.Сегодня хочу поделиться опытом нашей команды по запуску мобильного приложения на WebView.  Часто разработчик...

Прививка от созависимости. Зачем нужен DI и как он работает в iOS-приложениях hh.ru Всем привет! На связи Яша Штеффен — iOS разработчик из hh.ru. Думаю, любой, кто долгое время писал код для платформы, был свидетелем эволюции работы с зависимостями. На ранних этапах и в простых проектах все создавалось и настраивалось внутри ис...

Customer Journey Expert Двести лет тому назад, когда «рыночное» предложение было значительно ниже спроса и «процветала» монополия, на целый город мог приходиться один кузнец или пекарь. Конкуренция отсутствовала. Поэтому «путь клиента» к покупке был простым, линейным и безальтернативным. Но конкуре...

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

«Как человек реагирует, как образуется команда», — нештатные ситуации с МКС смоделируют в эксперименте SIRIUS-23 По словам директора Института медико-биологических проблем РАН Олега Орлова, нештатные ситуации, произошедшие на Международной космической станции (МКС) в течение последних лет, будут смоделированы во время эксперимента SIRIUS-23. Напомним, годовой изоляционный эксперим...

Настройка CI/CD для самых маленьких разработчиков Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позв...

[Перевод] Как проанализировать риски: 4 шага Оценка потенциальных рисков и их влияния на бизнес-операции играет ключевую роль в обеспечении успеха проектов и стратегий организации. Риск-менеджеры проводят анализ, используя различные методы и расчеты, чтобы определить вероятность возникновения рисков и разработать планы...

Прекратил работу RomHacking — еще один сайт с образами игр для ретроконсолей. Почему они уходят? Привет, Хабр! Это Антон Комаров из МТС. Когда я был школьником, просто обожал Sega Mega Drive, Dendy и PS1. Правда, у меня была только Sega, в игры для других консолей я играл у друзей. Потом поступил в институт, приставки подзабросил: учеба поглощала почти все время. Чуть о...

Все, что вы хотели знать про иерархию инжекторов в Angular Привет. Меня зовут Дмитрий, я фронтенд-разработчик в компании «Цифровая индустриальная платформа». В своей работе мне часто приходится использовать Dependency Injection (DI) в Angular. Это мощный и популярный инструмент, который упрощает работу с зависимостями в наших прилож...

[recovery mode] Делаем JavaScript компилируемым с помощью llvm.js В данной статье мы рассмотрим мощный проект - llvm.js и расскажем, что он представляет из себя. Также мы научимся создавать компилируемый язык программирования на основе JavaScript. Хотя в этой статье мы сфокусируемся именно на JavaScript, ознакомившись с процессом, вы сможе...

QA Documentation. Как я автоматизировал самую нелюбимую часть работы — написание ReleaseNotes Уже два года я работаю специалистом по тестированию, и многие коллеги меня поймут - одна из самых ненавистных и рутинных задач - это написание тестовой документации. И конечно я цепляюсь за каждую, даже самую маленькую возможность автоматизировать этот процесс. И в этой стат...

Playground. Как сэкономить время на настройке локальной среды Привет, Хабр! Меня зовут Никита, и я Go-разработчик. В свободное от работы время я интересуюсь платформенной разработкой, а в рабочее — практикую в команде PaaS в СберМаркете. Моя специализация — локальное окружение разработчика и тулинг. Главная метрика, на которую работает...

Разворачиваем стенд для UI-тестирования iOS на базе Selenoid Всем привет! Меня зовут Павел, я технический лидер тестирования в направления мобильной разработки. В моей прошлой статье я описывал, как мы разворачивали тестовый стенд для тестирования Android на базе Selenoid, и почему выбор пал именно на этот инструмент.Следующим этапом ...

Backup. Файловое резервное копирование бюджетного VPS Предыстория. В своё время, когда мне надо было найти решение этого вопроса на Хабре, казалось, что все статьи состоят из установки и настройки Veeam Backup, Proxmox Backup и прочих коммерческих решений для блочных устройств. У меня запросы поскромнее. SLA и 3-2-1 не требуютс...

[recovery mode] Как Канбан-метод повлиял на команды банка Всем привет! Меня зовут Дмитрий. Я работаю senior Agile‑коучем в ОТП Банке. Использую практики Канбан‑метода в своей работе с 2019 года и хочу поделиться с вами своим опытом. В статье используются данные, собранные при работе с сервисной IT...

Многорукие бандиты в задаче ритейла В настоящее время набирают популярность модели Reinforcement Learning для решения прикладных задач бизнеса. В этой статье мы рассмотрим подмножество этих моделей, а именно многоруких бандитов (multi-armed bandits). Также мы:- обсудим, какие задачи теоретически могут быт...

Давайте поговорим о Kubernetes Всем привет! Меня зовут Андрей, я DevOps инженер.Когда я начинал изучать Kubernetes (K8s), я перечитал много статей, и, что в статьях, что в документации, информация была сильно разрознена, обрывочна. Сложно было скомпоновать информацию в единое целое. На тот момент, мне бы ...

K8sGPT: Революция в управлении кластерами Kubernetes Стремительно растущая конфигурация K8s с современными трендовыми технологиями AI продолжает видоизменять трансформацию способов управления инфраструктурой и приложениями. В этой статье мы более детально обратимся к платформе K8sGPT, которая занимает центральное место в перев...

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

Как мы создали и развиваем лабораторию R&D Привет, меня зовут Александр, я руковожу Управлением исследований и разработки новых решений в «Ростелеком-ЦОД», если коротко — лабораторией R&D.Сейчас лаборатория хорошо прокачана и продуктивна, но так было не всегда. В этой статье я расскажу, как мы ее создавали, к чем...

Asterisk + UniMRCP + VoiceNavigator. Синтез и распознавание речи в Asterisk. Часть 4 Часть 1 Часть 2 Часть 3 В четвертой части, как и было обещано, рассмотрим ограничения и недостатки Asterisk как голосовой платформы и особенности его взаимодействия с VoiceNavigator. Голосовая платформа – это программно-аппаратный комплекс с функциями синтеза и распоз...

Кейпад для управления умным домом — проект выходного дня После апгрейда обычного дома до «полуумного» появилась очень простая, но неочевидная проблема в виде удобства управления домом. У тебя может быть самый крутой в мире дашборд с кучей кнопок, датчиков и остальных интересных элементов, но управлять всем этим с телефона банальн...

Деплой Flutter-приложений и особенности платформ Всем привет! Меня зовут Александр Омельяненко, я Flutter-разработчик в AGIMA. Сегодня расскажу про релиз приложений в сторы. И поскольку работаю с кросс-платформой, речь пойдет как про Android, так и про iOS. Уверен, каждый участник команды должен понимать, что происходит с ...

Готов ли Swift OpenAPI Generator для продуктивного кода? Привет! Меня зовут Андрей, я iOS-разработчик приложения «Пункт Ozon». С помощью него сотрудники пунктов выдачи Ozon выдают посылки, принимают возвраты, проводят инвентаризации. Мы хотим упростить работу с OpenAPI-спецификациями, внедрив кодогенерацию для автоматического...

Как мы в РСХБ построили ИБ-платформу с использованием OpenSource-инструментов Привет, Хабр! Меня зовут Михаил Синельников, я DevSecOps TeamLead в РСХБ‑Интех. В сфере ИТ тружусь с 1999 года, в РСХБ попал в 2021 году. Ранее работал в качестве ведущего специалиста и руководителя направлений информационной безопасности в ...

Построение AppSec в огромном Enterprise и опыт его применения в бирюзовой компании Речь пойдёт о трудностях работы инженеров по безопасности в крупной компании – как команда выстроила AppSec и как выбранный подход помог сделать безопаснее “бирюзовую” команду и огромный Enterprise в целом. Это история о самоорганизации, зрелости и уменьшении количества...

Как найти и удалить 2 Тб ненужных файлов, которые не видит СУБД? Дорабатываем pg_orphaned PostgreSQL, как и все СУБД, основанные на его открытом коде, устроен так, что всю информацию хранит в большом количестве отдельных файлов. И они при разных обстоятельствах могут потеряться. Например, бывает так, что при заполнении таблицы или обработке транзакции происходит ...

UML: обзор основных типов диаграмм, диаграмма объектов. Часть 3 Хабр, привет! В прошлых статьях про UML (Часть 1, Часть 2) мы узнали что такое язык моделирования UML и зачем он нужен, а также рассмотрели диаграмму классов и диаграмму компонентов. Сегодня я хочу продолжить тему проектирования процессов и остановиться на диаграмм...

Умный коттедж 500 м² на Home Assistant: автоматизируем только нужное Бюджет на автоматизацию умного коттеджа большой площади может быть совершенно разный, кто во что горазд.Но что, если подойти с умом и выбрать только действительно нужное, ограничившись светом, шторами, датчиками и климатом?Наша новая статья посвящена именно такому проекту, п...

Как использовать html-элемент <dialog>? Привет, Хабр! Меня зовут Александр Григоренко, я фронтенд-разработчик. В основном, занимаюсь разработкой приложений на React, но также постоянно экспериментирую с различными технологиями.В своей работе я часто создаю собственные или использую уже готовые UI-компоненты. Пробл...

ИИ в 3D: Где мы сейчас и какое будущее нас ждёт? (Часть 2) В предыдущей статье мы уже затрагивали задачу реконструкции 3D-объектов по их 2D-изображениям. В этой же углубимся в реконструкцию с головой! Вообще говоря, как мне кажется, сейчас мы рассмотрим гораздо более концептуально интересные методы, а именно - HSP и Mesh R-CNN. Это ...

Как бороться с всадниками выгорания: личный опыт и пара советов Привет, Хабр! Меня зовут Данил Старосек, я работаю аналитиком на проекте «Единое фронтальное решение» (ЕФР) в РСХБ‑Интех. В прошлом материале я описал основные, на мой взгляд, причины появления и развития выгорания на работе. Сегодня хочу поделиться&...

Nifi — когда record-oriented не оправдывает себя Добрый день. Меня зовут Иван Клименко, и я архитектор департамента поддержки продаж компании Arenadata. В основном занимаюсь продуктом Arenadata Streaming (ADS) — это масштабируемая отказоустойчивая система для потоковой обработки данных в режиме реального вре...

Книга: «Hypermedia-разработка. htmx и Hyperview» Привет, Хаброжители! Опытные программисты, выросшие вместе со Всемирной паутиной, не уделяли идеям гипермедиа особого внимания. А молодые веб-разработчики не знают ничего, кроме одностраничных приложений и фреймворков, используемых для их создания. Устаревшая технология, ...

От хаоса к порядку. Как мы внедряем стандарты в CDEK Привет, Хабр! Меня зовут Олег Бондарь, я архитектор решений в CDEK. В этой статье расскажу о стандартах — сводах правил и требований, которые позволяют всем участникам процесса быть в общем контексте, действовать единообразно и совершать меньше ...

Продуктовый подход к pet-проекту или как я разработал музыкальное веб-приложение Что вам может дать продуктовый подход к pet-проекту? Если смотреть на pet-проект не как на лабораторную работу, а как на будущий продукт, начинаешь лучше понимать весь цикл разработки. При таком подходе ты сперва выступаешь в роли заказчика: определяешь, какую задачу пользов...

Просветлённый выживший: кто такой фичекрайний и зачем это всё разработчику? Меня зовут Игорь Буняков, я был фичекрайним за реалистичные дороги в 2ГИС. Недавно они вышли в навигаторе, а позже будут доступны в режиме карт на мобильных устройствах и на 2gis.ru. Реалистичные дороги оказались невероятно большими, невероятно сложными, невероятно красивыми...

Быть или не быть тимлидом: разбираем на пальцах Привет, Хабр! Меня зовут Дима Соломонов, я тимлид в команде Яндекс 360. 11 лет работаю разработчиком, из них 3 года управляю командами от 3 до 10 человек. Кроме того, 6 лет я преподавал программирование начинающим IT-специалистам и был ментором, поэтому опыт в управлении ком...

Как работать с нейросетью Midjourney, чтобы получать желаемый результат Привет, Хабр! Меня зовут Алина, я дизайнер в Friflex. Отвечаю за красоту мобильных и веб-интерфейсов и делаю иллюстрации для медиаканалов компании. Midjourney — одна из самых известных моделей искусственного интеллекта в области создания изображений. С её помощью можно ...

Давайте писать качественный код: важность статического анализа кода Привет, Хабр! Меня зовут Данил. Я frontend-разработчик департамента корпоративных систем ЛАНИТ, который очень любит порядок в коде. На мой взгляд, именно выразительность и чистота кода позволяют ему лучше работать и дольше жить.В этой статье я структурировал информацию о пол...

Безумные вещи, которые я делал как аналитик, или Как я катался на погрузчике и перебирал капусту в магазине Недавно оглянулся назад и понял, что у меня накопилось очень много ярких и веселых ситуаций на работе, которые я почему-то ещё не рассказал, и хочу сделать это сейчас! Как говорится: «И я стрелял, и в меня стреляли».Одно из моих прошлых мест работы — компания ритейлер продук...

Kubernetes Networking: сервисы, Ingress и Network Policies Когда я впервые столкнулся с задачей масштабирования сложного приложения в Kubernetes, то был полон оптимизма. Однако вскоре стало ясно, что управление сетевым трафиком и безопасностью в такой динамичной среде — это непросто. Наше приложение начало страдать от потерь пакет...

Как настроить GitHub Actions и не заплакать: пошаговая инструкция Как настроить GitHub Actions и не заплакать: пошаговая инструкцияПривет всем! Меня зовут Виталий, я фронтендер в Mish. Решил недавно освоить полноценный автоматический деплой проекта, чтобы все работало само. Расскажу и вам, что из этого получилось.В статье буду разговариват...

Почему умение дебажить один из самых важных навыков для разработчика Привет! Меня зовут Абакар и я работаю главным тех лидом в Альфа Банке. Меня часто посещает вопрос — «А какой навык всё-таки самый полезный для разработчика?». Понятное дело, что ответ на этот вопрос обязан быть комплексным и скилл сет разраба не должен ограничиваться одним н...

Культура и внутриком: с чего начать? Культура напоминает воздух — он везде, но невидим, и сложно сходу понять, как им управлять (не будем считать управлением хаотичные размахивания руками в попытках поднять ветер). При всём этом вы сразу ч у в с т в у е т е, есл...

DR, SDN, V2V: обзор свежего релиза платформы виртуализации zVirt 4.1 Хабр, привет! На связи Алексей Зотов из К2Тех, и сегодня я хочу поговорить об одном из российских решений для виртуализации. Сегмент этот в каком-то смысле уникален. Если в целом по рынку заказчик выбирает между 5–6 отечественными продуктами для решения задачи импортозамещен...

Универсальное восстановление в Кибер Бэкапе Привет, Хабр!  Сегодня поговорим об одном из наших инструментов, входящих в систему резервного копирования Кибер Бэкап (и в наш продукт для индивидуальных пользователей Кибер Бэкап Персональный). Его задача - обеспечить возможность восстановления образов машин на «нерод...

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

Использование открытых форматов для строительных проектов набирает обороты. Забудьте об использовании API и плагинов В 2024 году ни одна крупная компания в мире, работающая с CAD (BIM) данными, не получает доступ к данным из CAD (BIM) программ через API или плагины. Все крупные компании, работающие с форматами CAD (BIM), работают с определенными SDK а форматы, содержащие данные о строитель...

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

Как пропатчить планшет под OpenSuSE Всем привет, меня зовут Иван. Хочу поделиться опытом, который может пригодиться тем, кто захочет сделать такую же странную вещь, как и я, — установить OpenSuse на планшет с Windows.Наступила осень, на улице холодно и мокро, велосипед поставлен на зимовку. Хочется сидеть...

Удаленка схлопывается? Как сохранить для себя этот режим работы Во время и сразу после ковида удаленка была на подъеме - компании массово отказывались от офисов, аналитики публиковали исследования, согласно которым все внезапно стали эффективными. Сейчас тренд сменился на противоположный. Сотрудников, в том числе из ИТ, возвращают в офис...

Где и как использовать сниффер для тестирования веб-приложений на примере Proxyman Когда я только начинала работать тестировщиком, снифферы трафика казались мне чем-то далеким. В голове было что-то типа: "Ну, это для тестировщиков мобилок и для разработчиков. Мне оно не надо". Но потом я постепенно начала их использовать и поняла, что сниффер это маст хэв ...

Как устроена наша PIM-система, и почему мы не используем ни реакт, ни микросервисы Пара слов обо мне. У меня никогда не было серьезного плана делать свой продукт, открывать под это дело компанию, погружаться в custdev и вот это вот всё. Днем я работал в сеньёр девелопером, по вечерам - делал pet-проекты типа онлайн версии настольной игры или онлайн-редакто...

Тесты: 100% покрытия и юниты не нужны Мы покрываем код тестами, когда хотим быть уверенными, что в негативных сценариях он сработает надёжно. Хочется, чтобы тесты были не бланковой заглушкой, а полезной нагрузкой, которая позволит считать, что наше поведение достаточно валидное. Так мы можем обеспечить корректно...

Почему я никогда не устанавливаю лаунчеры из Google Play на свой Android-смартфон и никому не советую Операционная система Android предлагает широкие возможности кастомизации. В частности, каждый человек в праве изменить рабочий стол на телефоне, установив сторонний лаунчер. Мне никогда не нравились подобные приложения, хотя их популярность в Google Play просто зашкаливает....

Как я разрушил свои стереотипы об автотестах, или Мой путь от Appium до Kaspresso Всем привет!Меня зовут Сергей Дударев, я руководитель направления автоматизированных тестов в департаменте мобильной разработки «Лаборатории Касперского». В этой статье хочу рассказать, как я прошел путь от Appium до open-source-фреймворка Kaspresso, с чего начинал, какие де...

Excel vs Grafana: Автоматизация дежурств Привет, Хабр! Меня зовут Ахмед, я Deputy CTO в Сравни. Сегодня расскажу вам об опыте управления дежурствами в ИТ-команде.Представьте: вы нашли баг на проде; хотите рассказать о находке коллегам, которые отвечают за эту функциональность. Идёте в рабочий мессенджер, пишет...

HypEx и мэтчинг. Эксперимент без A/B-тестирования? Привет, Хабр! Меня зовут Дмитрий Тихомиров, я работаю в блоке «Финансы» в команде разработки HypEx (Hypotheses and Experiments) — open source-библиотеки для Python. Наша команда хотела придумать ёмкое название для фреймворка, чтобы оно отражало суть происходящего и помогало ...

Как заглянуть под капот Composable функции Возникал ли у тебя когда-нибудь вопрос о том, как посмотреть, во что Compose Runtime превращает наши Composable-функции, например, когда ты сделал оптимизацию и хочешь понять, что она работает так, как ты ожидаешь? Если да, то ты по адресу. Привет! Меня зовут Абакар, работаю...

Шифрование в Kubernetes: основы Многие приложения работающие в Kubernetes обрабатывают конфиденциальную информацию, требующую защиты от несанкционированного доступа. Kubernetes предлагает удобные способы для защиты данных. Рассмотрим основные из них в этой статье, а именно — шифрование в покое, шифрование ...

Ограничения в телеграм-бот (Bot API), о которых никто не расскажет Привет! Меня зовут Оля, я программист учебного центра компании «Тензор».В декабре 23-го мне поступила творческая задача разработать телеграм-бот для проведения новогоднего марафона-тренинга по личностному росту.В этой статье расскажу о проблеме, с которой столкнулась при раз...

Миграции схемы данных YDB с Flyway и распределенные блокировки Ранее мы рассматривали интеграцию YDB c Liquibase, теперь поговорим о результатах поддержки инструмента Flyway для управления миграциями схемы данных YDB.И дополнительно разберем, как мы реализовали распределенную блокировку в Flyway. Читать далее

Паттерны автоматизации и архитектура автотестов Добрый день, меня зовут Виктория и я много лет занимаюсь автоматизацией. В этой статье я хотела бы рассказать о паттернах автоматизации, которые использую, а также о такой штуке, как архитектура проекта. Читать далее

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

Шахматные задачи Уже много лет, начиная с 1966 года, во всем мире 20 июля отмечают Международный день шахмат. В честь недавно прошедшего праздника мы решили написать статью, в которой поговорим о шахматных задачах из курсов "Поколение Python".Так получилось, что шахматные задачи являются одн...

Как мы загрузочный экран приложения в полезный для пользователя инструмент превратили. Кейс онлайн-кинотеатра KION Привет, Хабр! Меня зовут Михаил Фандуберин, я Product Owner, отвечающий за авторизацию и онбординг в KION. В прошлом августе я написал статью о повышении конверсии регистраций на примере страницы входа онлайн-кинотеатра KION. Сегодня расскажу о другом проекте — работе со ста...

Метаморфозы сознания. Про ревью и комментарии в технической документации Привет! Меня зовут Дмитрий Миронюк, я старший технический писатель в компании Bercut. До этого работал системным администратором, специалистом внедрения и поддержки, программировал IP-телефонию, успел поработать тимлидом. Но как в итоге стал техническим писателем расскажу в ...

«Follow the sun» как принцип поддержки Меня зовут Максим Журавлев, я управляющий директор ДИТ «Занять и Сберегать», лидер сообщества инженеров сопровождения Сбера. В этой статье я хочу рассказать про надёжность высоконагруженных ИТ-систем и принципы, которым мы следуем.Гаджеты, мобильные приложения и различные ци...

C++20 в bare-metal программировании, работа с регистрами микроконтроллеров Cortex-M Сегодня я хотел бы обсудить тему, с которой так или иначе сталкивался почти каждый программист встраиваемых устройств без использования настоящих операционных систем, а именно прямое управление периферийными узлами микроконтроллера. A конкретнее, я&...

Материалы для подготовки к собеседованию на позицию Data Scientist. Часть 2: Классическое машинное обучение Привет! Меня зовут Артем. Я работаю Data Scientist'ом в компании МегаФон (платформа для безопасной монетизации данных OneFactor).В предыдущей статье я поделился материалами для подготовки к одному из самых волнительных (для многих) этапов - Live Coding.В этой ...

Как мы реализовали аутентификацию трафика для MSA на базе монолита Привет, Хабр! Меня зовут Салахутдинов Дмитрий, я принципал инженер в СберМаркете. Занимаюсь развитием Ruby-платформы и масштабированием системы через декомпозицию монолита на сервисы.В статье хочу поделится опытом внедрения аутентификации на базе монолита. Это первая пробле...

Обзор Polygon zkEVM: как работает L2 решение для Ethereum Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов в команде MetaLamp, мой основной стек – Solidity. В этой статье я подробнее расскажу про решение для масштабирования с нулевым разглашением (Zero-knowledge proof), а именно – о блокчейне второго уровня Pol...

Мы построили бесконечный винный фонтан своими руками, потратив всего 6000 рублей. Рассказываю, из чего он сделан Привет! Меня зовут Леша Штанько, я работаю системным администратором, интегратором и пишу автоматизации в Google App Scripts на JS в AGIMA. Но есть у меня и еще одна ипостась — я активный участник нашего винного клуба. Мы с ребятами дегустируем вина, изучаем их специфику и и...

Apache Flink: динамическое определение выходного топика в Kafka Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Мы начали использовать фреймворк Apache Flink, и я решил поделиться на Хабре своим опытом внедрения этой технологии в цикле статей.В предыдущей статье — «Apac...

Рассчитываем рейтинг товара на основе оценок пользователей с KafkaStreams и OpenSearch Всем привет! Меня зовут Александр. Последний год тружусь фрилансером на проекте по созданию очередного маркетплейса. Мои задачи включают разработку скоринговой системы продуктов, которая бы позволяла формировать выборку товаров по популярности на основе нескольких показателе...

Реформа проектного управления: как устроена целевая модель для наведения порядка в процессах Привет, Хабр! Меня зовут Данил, я директор по развитию стратегических проектов в СТД “Петрович”. Давайте поговорим о проектном управлении на длинной дистанции – как теоретическая целевая модель процессов реализуется на практике. Представьте ситуацию: коллеги хотят запус...

Создание мультиязычного вебсайта: для Китая и других регионов В этом обзоре я делюсь собственным опытом разработки многоязычных веб-сайтов на английском, китайском, русском и немецком языках.Мы будем говорить про языковые версии сайта, которые действительно будут работать в соответствующих регионах, а не сделаны автоматическим переводч...

Как оптимизировать код на С для x86-процессоров: подсистема кэша и памяти, инструкции AVX-512 Меня зовут Андрей Бакшаев, я ведущий инженер-программист в YADRO. Моя команда занимается разработкой и оптимизацией математических библиотек под архитектуру x86. До этого я 15 лет работал в Intel. Значительная часть моих задач заключалась в том, чтобы реализовывать некоторые...

5 незаметных, но очень полезных функций macOS Хоть два года назад мне и пришлось перейти на Windows, но где-то в глубине души я очень скучаю по операционной системе macOS. Всё дело в том, что в ней так много разных небольших фишек, что отказаться от них очень сложно. Чего стоит только предпросмотр любого документа по н...

FastStream — новый убийца Celery? FastStream - это относительно новая блестящая игрушка в руках Python'истов, которая создана специально для работы с брокерами сообщений.В Python сложилось устойчивое убеждение, что если мы работаем с MQ - то нам нужен Celery, но он слегка устарел. Именно поэтому люди пытаютс...

Все материалы на данном сайте взяты из открытых источников или присланы посетителями сайта и предоставляются исключительно в ознакомительных целях. Права на материалы принадлежат их владельцам. Администрация сайта ответственности за содержание материала не несет. (Правообладателям)