Социальные сети Рунета
Воскресенье, 27 ноября 2022

Что там по автотестам на Android в 2022? Всем привет!Меня зовут Женя, и я люблю автотесты. Причем люблю так сильно, что даже стал соавтором Kaspresso, OpenSource библиотеки для написания автотестов под Android, и автором ряда докладов и статей про тесты (Kaspresso: фреймворк для автотестирования, который вы ждали, ...

Telegram Bot на службе у автоматизации тестирования. Или как, попивая чай с плюшками, запускать автотесты с телефона В этой статье я поделюсь своим опытом создания Telegram Bot-а для автоматизации тестирования. Читать далее

От кода «на коленке» к эффективному CI/CD: строим общий Pipeline as Code командой в 100+ человек Много команд, много продуктов, каждый автоматизирует релизный цикл, у каждого свой набор скриптов. Дублирование, отсутствие обмена практиками и повторное изобретение колеса приводит к тому, что команды тратят много времени на построение своего CI/CD. И все это поддерживает м...

Kotlin Extensions для Android проекта Всем привет! Меня зовут Николай Попов. Сегодня я поделюсь с вами опытом использования одной из самых классных фишек языка Kotlin, а именно — функции расширения или Kotlin Extensions. Эти функции позволяют расширять базовый класс без необходимости наследования или использова...

Осознанная автоматизация тестирования в геймдеве Привет, меня зовут Антон Фурсов, и я занимаюсь автоматизацией тестирования в Pixonic. Сегодня поговорим про уже набившую уже всем оскомину автоматизацию тестирования. В последнее время стало модно внедрять ее везде и всюду, но в геймдеве она до сих пор встречается не так час...

Приглашаем на онлайновый митап про автотесты для огромных инфраструктур В среду, 30 ноября, в 16 часов (МСК) мы проведем онлайновый митап под названием «Автотесты для огромных инфраструктур». Наши коллеги-SDET`ы (Software Development Engineer in Test) из разных команд «Лаборатории Касперского» расскажут про свои успешные практики. Читать дальш...

Как мы изменили подход к локализации приложения и перевели его на казахский за 4 недели Представьте, что вы перевели свое приложение на английский. А что, если ваше приложение работает в 47 странах, большая часть из которых говорит на разных языках и диалектах? Возникает проблема выстраивания единого процесса локализации и проверки переводов в каждом конкретном...

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

Тест на стрессоустойчивость: как мы переписывали более 200 автотестов после переезда на новый Angular Всем привет! Меня зовут Ульяна, я тестирую сервисы Selectel. На Хабре уже не одна компания рассказывала о том, как у них устроена система тестирования новых продуктов и фич. Интересно, что, несмотря на некоторые общие тенденции, это всегда разные истории. Кто-то автоматизир...

[Перевод] Нужны ли нам микросервисы? Сегодня особую популярность получила микросервисная архитектура веб-приложений. У такого подхода есть много известных сторонников. К ним относятся Facebook, Uber, Groupon, Klarna, Amazon, Netflix, eBay, Comcast и другие. Но насколько необходим подобный подход в каждом конкре...

Площадки для стартапов. Куда можно разместить ссылку на свой проект Привет Хабр! Меня зовут Боровков Евгений, и я предприниматель. Сегодня я хочу поделиться с вами подборкой реестров и справочников, где можно рассказать о своем продукте, проекте или стартапе, без необходимости писать длинные лонгриды. Читать далее

Allure TestOps: «Нестандартный» сценарий использования Привет. Меня зовут Николай, я QA Automation Engineer в мобильной платформенной команде Delivery Club. Эта статья будет о том, как мы интегрировали Allure TestOps (далее Allure TO) в регрессионное тестирование нескольких мобильных приложений и ушли от TestRail. Альтернативу T...

Как запустить UI-автотесты в любом Chromium-браузере Привет, Хабр! Меня зовут Кристина Курашова, и я отвечаю за качество в VK Assistant. Написала тут небольшую инструкцию для тех, кто тоже запускает UI-автотесты в браузерах на основе Chromium (не только Chrome). Надеюсь, она сэкономит вам время. Welcome! Читать далее

Простые highload паттерны на Go Привет, Хабр! Меня зовут Агаджанян Давид, хочу поделиться некоторыми инженерами рекомендациями, которые часто на моем опыте помогали держать highload нагрузку не прибегая к хардкору. Примеры будут на Go. Эти подходы довольно хорошо известны, но как мне кажется они недооценен...

Система автоматизации тестирования и доставки обновлений в РЕД ОС Здравствуй Хабр, меня зовут Сергей, я работаю в компании РЕД СОФТ в отделе разработки операционной системы РЕД ОС. Сегодня расскажу про автоматизацию процессов тестирования дистрибутива РЕД ОС. Для автоматизации таких задач мы создали систему Tooster. О том, какие задачи она...

Релокация — не просто переезд Сегодня многие россияне столкнулись с необходимостью переезда в другую страну. Дело это непростое, поэтому опыт тех, у кого все сложилось удачно, безусловно полезен.Меня зовут Тимур Рахматуллин и я программист c более чем 10 летним опытом. Год назад наша IT-команда перемести...

[recovery mode] Как мы развивали бэкенд War Robots, в процессе заDDoSив самих себя — и чему научились после этого Привет! Меня зовут Андрей Михеев, я занимаюсь развитием бэкенда War Robots (это мобильный PvP-шутер, в котором с помощью больших роботов можно выяснить, кто круче). Игре уже почти 9 лет, и за это время мы повидали всякого.Круто, когда у вас в команде есть большой опыт в разр...

B-Tree индекс и его производные в PostgreSQL Меня зовут Азат Якупов, я люблю данные и люблю использовать их в разных задачах. Сегодня хочу поделиться своим опытом относительно B-Tree индексов в PostgreSQL. Рассмотрим их топологию, синтаксис, функциональные B-Tree индексы, условные B-Tree индексы и включенные B-Tree инд...

Гексагональная архитектура и DDD на опыте интернет-магазина Спортмастер. Часть 1 Всем привет! Меня зовут Денис Ежов, я тимлид команды интернет-магазина Спортмастер (далее ИМСМ) и по совместительству бэкенд-разработчик. Так сложилось (и так говорят), что гексагональная структура и DDD — это дорого и сложно. Но так ли это на самом деле? Мы в ИМСМ внедрили ...

Распространяй и властвуй: приглашаем на открытый Frontend Meetup Привет, Хабр

Разделяй и не страдай: что выбрать для микрофронтенда? Привет! Меня зовут Алексей. Я занимаюсь проектированием фронтенд-составляющей ИТ-систем в архитектурном комитете SimbirSoft. Последние два-три года во фронтенд-сообществе активно обсуждается и используется термин «микрофронтенд» (далее МФ). Разные компании делятся своими под...

Использование GitHub в обучении студентов. Автоматизация проверок. Часть I В конце декабря 2020 года я написал несколько статей на Хабре по своему опыту использования GitHub в обучении студентов (ссылки на них будут в конце сей статьи).Сегодня же хочу рассказать об автоматизации проверки кода студентов. Примеры будут про C#, т.к. это мой основной я...

Оптимизируй это: как сервисы автоматизации помогли нам упростить инфообмен между разными системами Меня зовут Максим Кирилов и я - главный инженер в блоке обеспечения и контроля качества выпуска изменений в «РСХБ-Интех» (IT-компании АО «Россельхозбанка»). Наше подразделение специализируется на ЕСПП (Единой Системе Приёма Платежей), а непосредственно моя команда занимается...

Легкая автоматизация кроссплатформенных тестов с Kotlin DSL Привет! Я - Урманчеев Станислав, QA Automation Engineer на проекте «Лояльность» в Mир Plat.Form (НСПК). Хочу поделиться с читателями Хабра нашим опытом в создании и развитии фреймворка для автоматизации тестов на Appium.Какие проблемы мы собрали по пути, к чему пришли в итог...

Переезжаем с Oracle и Microsoft SQL Server на Platform V Pangolin: опыт Сбера Привет, Хабр! На связи Михаил Семёнов, лидер дивизиона баз данных в СберТехе, Артём Лаптев, руководитель эксплуатации продукта Platform V Pangolin в SberInfra, и Вячеслав Гавришин, руководитель команды развития Platform V Pangolin в SberInfra. В этой статье мы поделимся...

Есть ли жизнь на Go после C#? Всем привет! На связи Пётр, Go-разработчик в команде Ozon, которая занимается управлением товарами торговой площадки. Всё, что загружают продавцы, обрабатывается нашими сервисами. Девять месяцев назад я сменил основной язык программирования с C# на новый для меня Go. В стать...

[Перевод] Микросервисная архитектура, ее паттерны проектирования и особенности Микросервисная архитектура – одна из самых полезных архитектур в индустрии программного обеспечения. При правильном подходе она может помочь в создании лучших программных приложений. Из этой статьи вы узнаете, что такое микросервисная архитектура, какие шаблоны проектировани...

[Перевод] 5 способов развёртывания микросервисов Микросервисы — это самый масштабируемый способ для разработки программного обеспечения. Но это громкое заявление мало что значит, если мы не выберем для себя правильный способ развёртывания микросервисов: процессы или контейнеры? Запускать на своих серверах или использовать...

Работа с требованиями и данными при проектировании интерфейсов Данная статья — короткий ликбез о процессе проектирования интерфейсов, не включая этап реализации финальных макетов. Что в него входит и почему все происходит именно в такой последовательности. О том, как организовать информацию по задаче, чтобы она помогала, а не мешала про...

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

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

Как QA-инженер может влиять на unit-тесты Привет! Меня зовут Алёна Луцик, я QA-инженер в команде Авито. За время работы я много раз убеждалась, что разработчик и тестировщик смотрят на код по-разному. Зачастую перед тестировщиком стоит задача покрытия функциональности автотестами без избыточных проверок, с собл...

Полезные плагины VS Code для разработки кроссплатформенных приложений с использованием React Native и Flutter Каждый разработчик кроссплатформенных приложений с использованием фреймворков React Native и Flutter выбирает наиболее удобный для себя редактор кода. Я — один из таких разработчиков. Меня зовут Александр Дудукало, я куратор направления “Веб-разработка” в Skillbox. Лично я п...

Как автоматизировать рутинные операции с помощью Jupyter, Python и Selenium Привет, Хабр! Меня зовут Николай Суворов, я руководитель направления в МТС Digital. Занимаюсь продуктом МТС Premium – это единая подписка на сервисы МТС и партнеров. Сегодня я расскажу о нашем опыте создания робота для автоматизации повторяющихся действий сотр...

Роль аналитика в проекте по распилу монолита Привет! Меня зовут Виктория Кабыткина, я работаю старшим системным аналитиком в компании Lamoda. По своему опыту как в банковской сфере, так и в сфере e-commerce, могу заметить, что во многих компаниях существует тенденция избавляться от монолита и переходить на микросервисн...

Ехали-ехали и, наконец, приехали: наш переход на 1С:ERP за 2 месяца и причем тут Scrum Привет, Хабр! Меня зовут Дмитрий, работаю Руководителем проектов 1С в IT-компании Lad и сегодня хочу рассказать о том, как наша команда переводила небольшой завод с Infor M3 ERP на “1C:ERP Управление предприятием 2”. Ну переводили и переводили, скажете вы, все переводят. Мы ...

Android Debug Bridge для тестировщика без SMS и регистрации Привет, Хабр! Меня зовут Александр Карпенко, я QA Engineer в inDrive. Я подготовил эту статью для начинающих QA-специалистов. Ниже расскажу, как использовать Android Debug Bridge (ADB) в тестировании мобильных приложений и нужен ли вообще этот инструмент.  Читать далее

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

Добрый ментор: как я стал мамой пятерых ангелочков (часть 1) Всем привет, меня зовут Виталий, я тимлид в KTS. Последние несколько лет я идентифицирую себя не только фронтенд-разработчиком и лидом, но ещё и наставником нескольких сотрудников: от стажёров до синьоров.В этой статье в 2-х частях я поделюсь своим опытом наставничества, и, ...

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

Как мы улучшали функциональность онлайн-кинотеатра на tvOS Всем привет, меня зовут Валерия Рублевская и я iOS-разработчик на проекте онлайн-кинотеатра KION в МТС Digital. Это третья часть рассказа о фиче Autoplay и сегодня мы поговорим о нюансах ее реализации на tvOS. Хотите подробностей? Добро пожаловать под кат! Читать далее

CI/CD и еще один CD. Разбираемся в терминологии pipelines в контексте автоматизации тестирования В IT индустрии используется большое разнообразие инженерных культур и практик, таких как Agile, бережливое производство (lean software development), DevOps. Все они так или иначе нацелены на бесперебойную доставку ценности за счет повторяемых коротких итераций. Неотъемлемой ...

Создаём npm пакет, совместимый с CJS, ESM, написанный на TypeScript Здравствуйте! Меня зовут Евгений, я бакенд разработчик в компании ClickON. Хотелось бы поделиться опытом создания npm пакета, который умеет встраиваться в CommonJS, ESModule проект. Опишем подводные камни, попытаемся сделать универсальный пакет, прикрутим алиасы. Читать дале...

Функциональные возможности Fiddler как инструмента для анализа и подмены HTTPS-трафика Привет, Хабр! Сегодня расскажу о применение мощного и удобного инструмента для анализа и мониторинга HTTP(S) трафика Fiddler. По сути, Fiddler – это прокси для отладки приложений и сайтов. Разработчик и тестировщик могут использовать Fiddler для отладки веб-трафика и тестиро...

Unity WebGL + React Всем привет. Меня зовут Григорий Дядиченко, и я технический продюсер. Сегодня хотелось поговорить про Unity, веб, как его дружить с мобильными телефонами, какие есть удобные трюки и приколы, и причём тут React. Если вам интересна тема веб проектов на Unity, добро пожаловать ...

PerfOps — быстрее и дешевле через сервисный подход В самом начале у нас в Самокате была задача — внедрить практику нагрузочного тестирования на каждый релиз, чтобы минимизировать проблемы с производительностью на проде. А еще сделать это не потратив все деньги мира, ну и желательно внедрить это не за пятилетку. И вот где-то ...

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

Как побороть Stale Element Reference Exception при E2E тестировании современных SPA-приложений Всем привет, меня зовут Денис, я Software Developer Engineer in Test (SDET) в компании Bimeister. Я занимаюсь разработкой софта для тестирования — это фреймворки, автоматизированные тесты, настройка CI Pipeline’ов и многое другое.В статье расскажу, как мы...

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

Фаззинг по-русски на практике: crusher, Astra Linux Привет, Хабр! Меня зовут Дима, я занимаюсь тестированием безопасности операционной системы Astra Linux в группе компаний «Астра». В статье я расскажу о фаззинг-тестировании, которое помогает обнаружить слабые места программ методом подачи на их входные интерфейсы различн...

Оформляем приложения по ГОСТ 7.32 в MS Word и не только В статье предложены некоторые приемы форматирования текста, которые могут существенно облегчить оформление документов, разрабатываемых по ГОСТам, техническим писателям и всем, кто занимается разработкой таких документов. Подходы к автоматизации форматирования текста Приложен...

Из гусеницы в разработчика: каков был мой путь в программирование Всем привет! Меня зовут Наташа, я работаю фронтенд-разработчиком в отделе внутренней автоматизации в ГНИВЦ. Пишу эту статью, чтобы познакомиться и поделиться с вами мыслями, которые посещали меня в начале моего профессионального пути.Начнём с того, что у меня техническое обр...

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

Создаем сложные интерфейсы и спецэффекты на базе Qt. Часть I Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой desktop-версии в команде VK Teams. Каждый день нашим мессенджером пользуются миллионы людей, поэтому мы уделяем особое внимание интерфейсу пользователя. Он должен быть не только функциональным и отзывчивым, ...

Как найти первую работу продактом [1/3] Привет! Меня зовут Миша Гуляев, я работаю менеджером продукта в Авито. Также веду канал Продактом быть, где делюсь своим опытом в PM.2 года назад я работал Android-разработчиком в VK, и захотел перейти в продакт-менеджмент. Оставлю за скобками мотивацию сего перехода, так ка...

Как мы придумали и запустили площадку для лидеров продукта «PL Lean Coffee» Всем привет! Меня зовут Наталья Карпежникова, я работаю в ИТ с 2012 года, была и аналитиком, и тестировщиком, и проджектом, и лидером продукта. А сейчас в Спортмастер Лаб я все еще лидирую продукт, но большую часть времени занимаюсь развитием сообщества лидеров продуктов.Зач...

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

Как создать игру в 2022. Моя история создания игр Привет. Меня зовут Саня и мне 14 лет, я учусь в 9 классе в Москве. В этой статье я расскажу, как создал свою игру и поделюсь своим опытом в разработке. А также расскажу, как создать игру новичку в 2022 году. Читать далее

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

Разработка, основанная на приемочных тестах (ATDD) Работая с продуктовыми командами разработки, я чаcто наблюдал два сценария написания требований к разрабатываемому продукту, и у обоих сценариев есть перекос в одну или в другую сторону:1. Большой фокус в требованиях уделяется функциональной и технической части, то есть тому...

Экспресс до стора: как мы запускали релизный поезд Всем привет! Меня зовут Николай, я тимлид android-команды СберМегаМаркета. Сегодня расскажу вам, как мы меняли релизный процесс в компании.С чего все начиналосьКогда мы начинали разработку android-приложения нашего маркетплейса, процесс релиза выглядел очень просто: разработ...

Параллельные вычисления в Apache Spark Всем привет!Иногда кажется, что для решения проблемы недостаточно простого выполнения расчётов в Spark и хочется более эффективно использовать доступные ресурсы. Меня зовут Илья Панов, я инженер данных в одном из продуктов X5 Tech, и хочу поделиться некоторыми подходами пара...

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

Как ориентир на лучшие мировые методики развития корпоративной архитектуры помогает улучшать процессы в «Норникеле» Всем привет! Меня зовут Александр Чуглин, я руководитель управления корпоративной архитектуры в Норникеле. У нас >1000 информационных систем и >4000 точек интеграции между ними, и всё это постоянно меняется. В таких масштабах важно правильно выстроить архитектуру предп...

Создание системы документирования, или как мы от «ворда» к docs as code за месяц переходили Привет, Хабр! Меня зовут Юрий Никулин, и я руководитель направления документирования Cloud. Сегодня расскажу, как мы перешли с документирования в Word на подход docs as code и почему в качестве языка разметки выбрали reStructuredText. Читать далее

WireMock – швейцарский нож в арсенале тестировщика. Часть 1 Всем привет! Меня зовут Анатолий Калмыков, и я отвечаю за качество создаваемых решений в «Ростелеком ИТ». Сегодня я расскажу вам про WireMock – это одновременно и утилита, и библиотека на Java для создания HTTP заглушек над веб-сервисами. Он создает HTTP-сервер, к которому м...

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

Что делать, если нужно срочно вывести государственную услугу на портал Госуслуги Привет, Хабр! Меня зовут Софья, я работаю в РЕД СОФТ. Не так давно наша компания ускорила в два раза вывод государственных услуг на портал www.gosuslugi.ru, используя РЕДШЛЮЗ и Визуальный конструктор услуг. В этой статье я расскажу, как нам это удалось.Уверена, что каждый из...

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

Кибербезопасность в массы: как мы в Positive Technologies проводили крупнейшие мероприятия по инфобезу Привет, Хабр! Меня зовут Герман Холмов, долгое время я работал в Positive Technologies в должности Digital Marketing Director. На Хабре многие знают эту компанию, а если нет - то вот ее блог. Но речь сейчас не о компании, а об организации двух онлайн-ивентов для специалистов...

Зачем сопоставлять управленческую и технологическую зрелость компании? Привет, Хабр! Меня зовут Алексей Чванов, работаю бизнес-архитектором в команде Retail Solution GlowByte. Предположу, что осталось уже совсем немного компаний, которые не вкладывают ресурсы в автоматизацию своих бизнес-процессов. Это очевидный тренд последних десятилетий, это...

Из Сибири с любовью. Work & travel айтишника за Урал Всем привет! Меня зовут Ксения Бычкова, я руководитель отдела тестирования в REG.RU. Лето 2022 выдалось для меня особенно насыщенным. Хочу поделиться с вами историей своего путешествия, а также нюансами, которые стоит учесть в дороге с непродолжительными остановками во множе...

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

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

Как не отказаться от тестирования фича-веток при переходе на микросервисы В современном мире приложение — это огромная связка микросервисов. Функционально её протестировать сложнее, чем монолит. Кто-то решает это единым staging’ом и чатиком синхронизации: «займу auth на полчасика». Другой уходит с головой в shift-left или тестирует в canary. Разбе...

«Просроченные карты»: как продлить срок действия банковских карт и возможно ли сделать их бессрочными? Привет, Хабр!Меня зовут Александр, в Мир Plat.Form я занимаюсь карточными платежными приложениями и терминальными технологиями, а сегодня хотел бы рассказать о продлении срока действия банковских карт.Ни для кого не секрет, что международные платежные системы прекратили обсл...

С Photoshop на Figma: как UI-команда Rush Royal поменяла основной рабочий инструмент Всем привет, меня зовут Евгений Иванов, я дизайнер интерфейсов в студии IT Territory. В этом тексте я расскажу, как перенести рабочий процесс UI-дизайна в Figma на примере готового проекта, какие подводные камни при этом встретятся, в чем плюсы и минусы этого перехода. Читат...

Это телефонный разговор: как мы учили модели прогнозировать успех звонка из банка Кто-то гадает по звёздам и кофе, кто-то — по фото, а нам в ВТБ пришлось обучить модель предсказания по телефонным звонкам. А заодно пройтись по граблям обработки текстов и звука, выяснить, какие фичи можно извлечь из аудио, как привлечь ML и прикрутить к нему нейросеть, — и ...

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

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

Паттерн Outbox: как не растерять сообщения в микросервисной архитектуре Привет! Меня зовут Михаил Боровиков, я тимлид команды, которая отвечает за систему процессинга заказов Lamoda — Orders Management. Эта система, словно «сердце» Lamoda, через которое проходит самый важный для бизнеса шаг — оформление заказа.Раньше система представляла из себя...

Миграция приложения из Docker Compose в Kubernetes. Как, зачем и с какими проблемами я столкнулся Зачастую, приложение, у которого происходит существенный рост пользователей оказывается не готово к этому. Требования к быстродействию и доступности растут, а инфраструктура и архитектура приложения не позволяют их обеспечить.Стоявшая передо мной задача: улучшить инфраструкт...

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

Найти работу. Продуктовый подход Привет. Меня зовут Костя, и я отвечаю за дизайн в Агиме. Больше 9 лет я нанимаю дизайнеров. И сам, конечно, много раз искал работу в прошлом.Меня все время забавляет, что мы, дизайнеры, это классические сапожники без сапог. Имея навыки повышения конверсий и достижения целей,...

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

Что умеет умный ИТ-секретарь Мы в CTI занимаемся сложными интеграционными проектами и автоматизацией процессов. Делаем это ещё с тех времён, когда вместо какой-нибудь «Алисы» энтузиасты вручную собирали умные розетки на базе ESP8266 или Arduino, а понятие Internet of Things (IoT) не приобрело широкую по...

Как мы выбирали корпоративный мессенджер и почему остановились на Discord Всем привет, меня зовут Виктор Щепкин, я руководитель проекта в Allods Team. В этом тексте я расскажу, как мы искали рабочий мессенджер и в итоге остановились на Discord. Также опишу, как устроен наш сервер, и поделюсь подробным описанием функций, которые мы используем. Чита...

Чек-лист: как управлять качеством разработки на проекте Всем привет!Меня зовут Иван Антипин, я занимаю должность технического директора в компании AGIMA. 18 и 19 августа на конференции AGIMA Partners’ Weekend я рассказывал, как мы в AGIMA управляем сроками и качеством в разработке. Я не могу поделиться своим докладом с конференци...

Почему недостаточно Arduino, чтобы автоматизировать производство? Сегодня доступен целый ассортимент электронных конструкторов, которые можно использовать для автоматизации пет-проектов. Хочется самодельный робот-пылесос или 3D-принтер — пожалуйста, есть Lego, Arduino или Raspberry Pi. Их просто купить и легко запрограммировать. Почему же ...

Love, Spring and HTTP Bugs Привет, Хабр! Мы команда Marketing Management GlowByte, занимаемся автоматизацией маркетинговых процессов в крупных компаниях. Решили написать небольшую статью, которая будет интересна неравнодушным к Java. Хотим поделиться на первый взгляд простыми особенностями поведения б...

Превью сайта с разметкой Open Graph: как автоматически рендерить картинку Всем привет! Меня зовут Николай Каменев, я фронтенд-разработчик в Почтатехе. Мы разрабатываем UI для порталов и приложений Почты России.Я хочу поделиться коротким гайдом, как автоматически рендерить og:image-изображения для превью сайтов. Читать далее

Путь стартапа. От идеи до рабочего бизнеса. 18 шагов опыта Привет, меня зовут Максим Кульгин. Написал из нашего опыта, как с минимальными вложениями (насчитал прямых затрат на 95 500 руб.) можно сделать ИТ-бизнес в России. В этой статье вы не найдете такие термины, как: 'выгорание', 'питч', 'custdev', 'ментор', 'product ma...

Trunk Based Flow — кто такой и зачем нужен Привет! Меня зовут Павел Лакосников, я Team Lead Backend Engineer в Авито. Сегодня расскажу про свой любимый подход к разработке Trunk Base Development, сравню его с другими моделями ветвления и подсвечу его достоинства и нюансы.Краткий обзор трёх моделей ветвления: Central ...

User Story Mapping как подход к проектированию Меня зовут Наталья Кобякова, я ведущий аналитик в Ak Bars Digital. В этой статье я расскажу, почему для проектирования функциональности наших продуктов вместо стандартных ТЗ мы используем методологию User Story Mapping и как это помогает нам вести разработку быстро и качеств...

Практическое применение async/await в Unity Использование async/await позволяет сделать код легче для понимания, убирает необходимость в функциях обратного вызова и протаскивании необходимых данных (или их сохранения в полях объекта).Требования и ограничения async/await с примером реализации для UI. Читать далее

Event Storming: что будет, если запереть 10 человек в одной комнате Меня зовут Александр Донсков и я архитектор в компании REG.RU. Сегодня я расскажу о том, что такое Event Storming и что будет, если запереть 10 человек в одной комнате (в том числе виртуальной). Цель статьи не столько в том, чтобы рассказать, как это работает, сколько п...

Использование GitHub в обучении студентов. Автоматизация проверок. Часть II Это продолжение статьи про автоматизацию проверок работ студентов (первая часть).Сегодня продолжу рассказывать про автоматизацию проверок работ студентов: проверку правильности решения (прохождение unit-тестов). И пока ещё примеры будут связаны с C#. Понимаю, что для многих ...

[Перевод] Разработка Rails приложений с использованием Hotwire (Введение) Если вы разрабатываете SPA приложения на Ruby on Rails, вы, скорее всего, используете какой-нибудь классный JS-фреймворк для быстрого обновления пользовательского интерфейса без перезагрузки страницы. И без JS фреймворка на фронтенде действительно мало что можно сделать, это...

Как кастомизировать UI артефакты для Selenide + Selenoid + Allure (with TestOPS) Распространённая связка из JUnit5, Selenide и Allure для UI-автотестов работает стабильно и надёжно. Но до момента, пока тестов становится много, их длина увеличивается, а итоговые видеофайлы по результатам тестом превышают час. Главный инженер-тестировщик Группы «Иннот...

Яндекс выложил в опенсорс бету фреймворка userver Сегодня мы анонсируем выход в опенсорс фреймворка userver для создания высоконагруженных приложений. Для нас это важный способ поделиться опытом в разработке микросервисов, который мы накопили. Вот ссылка на GitHub-репозиторий c исходным кодом, документацией, примерами, шабл...

[Перевод] GitHub Copilot — он вам не нужен Я его попробовал и уверяю вас: он вам не подходит. И у меня есть несколько очень веских аргументов, почему это именно так…Вот серьезно. Разработчики программного обеспечения во всем мире пишут прямо-таки религиозные документы о чистом коде, парадигмах разработки программного...

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

Все библиотеки имеют фатальные недостатки, или Как мы изобретали Retrofit-подобный велосипед для JSON-RPC протокола Привет, Хабр! Меня зовут Юра Кучанов, работаю Android разработчиком в Garage Eight и сегодня хочу рассказать о том, как мы делали Retrofit-подобную библиотеку для JSON-RPC протокола. Началось всё с того, что нам потребовалось для общения сервера и Android приложения использо...

Как работает Autoplay в онлайн-кинотеатре Привет! Меня зовут Алексей Мельников, я продакт в KION (онлайн-кинотеатр от МТС Digital), занимаюсь фичами, связанными с искусственным интеллектом. Весной мы писали о фиче пропуска титров. Судя по карме, статья хабровчанам понравилась и это мотивировало нас на написание...

[recovery mode] Platform V Incident Manager и обработка связанных инцидентов: упрощаем жизнь командам сопровождения Привет, Хабр! Меня зовут Евгений Янес, я ведущий руководитель IT-направления в СберТехе — компании, которая строит Platform V, цифровую платформу Сбера для разработки бизнес-приложений. В статье расскажу, как мы создали Platform V Incident Manager — продукт для автоматизации...

20 млн рублей в год на парсинге сайтов Меня зовут Максим Кульгин, моя компания (xmldatafeed) занимается парсингом сайтов в России порядка четырёх лет. Ежедневно мы парсим более 500 крупнейших интернет-магазинов в России. Теперь делимся опытом с вами. Так как тема парсинга часто привлекает внимание и выз...

Шардированный кэш на базе Memcached Привет! Меня зовут Андрей Барболин, я Senior Software Engineer в команде Order Management System. Сегодня я расскажу вам, как мы сделали шардированный кэш и под стресс-тестами добились 30 миллионов операций в секунду, а также про первую open source библиотеку от AliExpress Р...

Как не разбиться на Soft Launch: разбираем самые частые ошибки Soft Launch позволяет игровой компании проверить, готова ли игра к полноценному запуску. Это пробный запуск для определенной территории, чтобы понять, что стоит поменять и нужно ли вообще выпускать игру. Всем привет, меня зовут Анастасия Кузина, я бренд-менеджер в команде MG...

IopReadyDeviceObjects: медвежья услуга от ядра и как с ней сосуществовать Всем привет! Столкнулся я недавно с одной интересной и не вполне понятной с первого взгляда проблемой в KMDF драйвере, разработкой которого я в данный момент занимаюсь. Опыта в этой сфере у меня не много - это первый проект на KMDF которым я занимаюсь. В деталях описывать пр...

Пишем собственный ColorWheel на основе представления (View) в Android Эта статья рассказывает о моём опыте создания пользовательских представлений под Android. Со временем это всё переросло в целую библиотеку.Как-то одним вечером мне в голову забралась идея о создании собственного настраиваемого View компонента для выбора цвета в обёртке уже г...

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

Увеличение запросов на автоматизацию бизнеса зафиксировано Hopper IT Российские предприниматели стали прибегать к автоматизации бизнес-процессов на 52% чаще. Такую статистику приводит цифровая лаборатория Hopper IT. По ее данным, именно настолько выросло количество запросов на автоматизацию с начала специальной военной операции по сравнению с...

3D для каждого. Риггинг и анимация Для не посвящённых, меня зовут Хигерович Людмила. Я биотехнолог по профессии, а по хобби художник и 3D-моделлер со стажем. Многие приёмы в 3D мне в свое время приходилось осваивать самой, а кое-чему даже учить других.  Читать дальше →

Цифровые двойники как инструмент цифровой трансформации Пандемия COVID-19 и всплекс релокации 2022 года привели к необходимости пересмотра способов организации бизнес-процессов и методов прогнозирования бизнес-моделей для многих организаций. Наиболее подготовленными к этим изменениям были компании, которые занимаются разработкой ...

Как достичь производительного рендеринга в браузере Один великий китайский философ сказал: «каждый разработчик должен понимать, как исполняется его программа». Что ж, давайте разбираться. Говорить будем про рендеринг и его производительность.Меня зовут Глеб Михеев, я CTO Skillbox Holding, а также руководитель программного ком...

Многопоточный бекап и рестор в СУБД Ред База Данных Добрый день. Меня зовут Сергей, я работаю системным архитектором в компании "РЕД СОФТ". При эксплуатации СУБД Ред База Данных или Firebird возникает необходимость выполнить операцию резервного копирования и восстановления. На БД размером сотни гигабайт бекап и рестор занимае...

Архитектура универсального проекта Django В ходе последних лет моей разработки проектов Django я понял, что почти все они имеют одно строение:API, Apps, Config, Library, Utils, Workers...В статье, помимо схемы архитектуры проекта Django, которую я использую в реальных промышленных проектах, подробно расскажу как это...

Принятие решений на основе данных и опросов пользователей: всё от А до Б Всем привет! Меня зовут Александр Григорьев и я работаю в компании «Интерсвязь». Это уральская компания, которая занимается услугами связи, домофонии и IT-продуктами. Я работаю продуктовым аналитиком в домофонии и хочу рассказать про опыт аналитики в разработке «осязаемых» п...

Средние highload паттерны на Go Привет, Хабр! Меня зовут Агаджанян Давид и ранее я опубликовал статью «простые highload паттерны на Go», в которой были рассмотрены простые подходы увеличения пропускной способности отдельно взятого экземпляра приложения без хардкора. Мне импонируют простые подходы, так...

[Перевод] 5 бизнес-процессов в повседной работе менеджера продукта, которые можно автоматизировать готовыми no-code-решениями Как использовать no-code-инструменты автоматизации, чтобы сделать рутинные задачи по управлению продуктом более эффективными?No-code инструменты автоматизации рабочего процесса — это крупный бизнес, который за последние несколько лет превратился в многомиллиардную индустрию....

Сделай так, чтобы оно больше не падало Привет, меня зовут Ярослав Иссинский, я руководитель Технической платформы в группе «М.Видео-Эльдорадо». Сегодня я хочу рассказать про переход в публичное облако на примере крупной ритейл-компании. Читать далее

Docker на роутере MikroTik: как развернуть и не утонуть в багах Привет, Хабр! Меня зовут Ярослав, я стажер инженерно-технического отдела в Selectel. В своих пет-проектах уже давно использую роутеры MikroTik. Но я никогда думал, что на них станет возможным развернуть Docker. Релиз стабильной версии RouterOS 7.5 изменил мое мнение: теперь...

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

Основные изменения React 18 Привет, меня зовут Кристина, я фронтенд-разработчик в Домклик. Хочу рассказать немного про основные изменения React 18. Читать далее

Разработка на Angular под SmartTV: история одной фичи Всем привет. Меня зовут Ярослав Карманников, я разработчик команды SmartTV/Web в онлайн-кинотеатре KION МТС Digital. Это четвертая часть сериала, посвященного фиче Autoplay в нашем кинотеатре. Сегодня обсудим нюансы реализации фичи на платф...

Создаём сложные интерфейсы и спецэффекты на базе Qt. Часть II Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой desktop-версии в команде VK Teams. В первой части я рассказывал о том, как использовать маски и создавать сложные многослойные окна. Под катом этой статьи мы продолжим исследовать возможности Qt Framework, ра...

Бесчеловечная работа с документами Даже в век цифровых технологий мы пока не можем обходиться без бумажных документов. Но содержание бумажного документа всё равно должно переместиться в информационную систему. И хорошо бы этот процесс миграции данных с бумаги в цифру сделать максимально быстрым. В связке комп...

FAQ: наш опыт получения государственного гранта (4 млн рублей) на развитие IT-бизнеса Привет, меня зовут Максим Кульгин, поделюсь с вами нашим опытом получения и НЕ получения гранта (мы подавали два проекта) от государства. Я решил сделать статью в виде ответов на основные вопросы, которые получал, т. к. так проще структурировать информацию. Ниже только наш о...

Штука для намотки трансформаторов. Без Arduino В одном из проектов понадобилось намотать под сотню трансформаторов. Это стало поводом пересмотреть нелюбовь к моточным изделиям, которая тянулась ещё со школы, где, помогая в кабинете физики, вручную перематывал большую катушку для опытов Фарадея. Зелёную, как сейчас помню....

[Перевод] Микрофронтенды: микросервисы для фронтенда Популярность микросервисной архитектуры во многом связана с тем, что она позволяет распределять проект между небольшими автономными командами, которые могут действовать независимо друг от друга. К сожалению, по своей природе микросервисы работают только в среде бэкенда. Даже...

Мои собеседования (Golang developer) Привет, меня зовут Олег, я разработчик со стажем почти 10 лет.Разработкой начал заниматься ещё со старшей школы, изучал C/C++ (очень пригодилось при написании скриптов в injection для ультимы онлайн). Профессионально начал работать разработчиком приблизительно с 2014, основн...

Собрать за 60 секунд: кейс автоматизации получения данных из десятков подразделений Привет, Хабр! Меня зовут Сергей Корнеев, и я хочу рассказать о том, как мы организовали сбор данных в компании “Россети”. На момент запуска проекта я работал в “Россети.Цифра” и руководил внедрением BI-платформы. Нам с командой удалось решить проблему ручного сбора данных на...

Как мы решили выпускать собственный продукт через CustDev и у нас получилось В развитии крупных компаний-аутсорсеров наступает момент, когда они уже обросли опытом и компетенциями и хочется куда-то все эти «накопления» инвестировать.Меня зовут Екатерина. Я – аналитик, специалист по продвижению компании ИНТЕРВОЛГА. Сегодня я расскажу, как мы реши...

Как я остался работать в «Сириусе» Привет, друзья!В первой своей статье на Хабре я описал, как преподавал в ИТ-колледже "Сириус" ИТ-архитектуру детям. Рассказал как устроен учебный процесс, поделился своими эмоциями от общения со студентами и преподавателями. В этой статье я хочу рассказать продолжение истори...

[Перевод] Руководство APPIUM по тестированию мобильных приложений для Android и iOS Appium — это свободно распространяемый фреймворк с открытым исходным кодом, предназначенный для тестирования пользовательского интерфейса мобильных приложений. Он помогает тестировать нативные, гибридные и веб-приложения и проводить автоматизированное тестирование на физичес...

От 50 тыс до 1,7 млн пользователей за два года Всем привет! Меня зовут Денис, разработчик приложения Smart Timetable для школьников и студентов. Два года назад мы полностью обновили приложение и все расписания пользователей обнулились. Читать далее

Аналитические дашборды не помогают принимать решения, или Где на самом деле брать инсайты из данных Привет! Меня зовут Ольга Татаринова, я руковожу отделом аналитики в Agima.ai. Один из самых частых запросов, с которым к нам приходят клиенты, такой: «Сделайте нам дашборд c бизнес-KPI. Мы хотим найти какие-то инсайты в наших данных, чтобы понять точки роста». Проблема с так...

Памятка для UX-дизайнера на все случаи жизни: как взяться за задачу и довести ее до конца Всем привет, меня зовут Александр Никитин, я дизайнер интерфейсов в Pixonic. За время работы я вывел для себя несколько общих советов, которые могут пригодиться другим UI/UX-дизайнерам. В этой статье я расскажу, как берусь за задачу, на какие этапы делю свой рабочий процесс ...

JavaScript в связке с Selenium WebDriver. Опыт использования Одной из очень спорных и обсуждаемых тем в автоматизации тестирования является выбор языка программирования. Особенно, когда речь идет о связке с самым популярным инструментом автоматизации – Selenium WebDriver, ведь он  имеет официальную поддержку пяти языков: Java, C#...

Umbrella-sharing: как система проката зонтиков сделала нас фанатами Android разработки Всем привет! Нас зовут Антон и Дима, мы ученики 11 и 9 классов. В 2022 году мы окончили «IT Школу Samsung». Нам предложили рассказать про опыт разработки нашего первого большого проекта — системы проката зонтиков. С этим проектом мы одержали победу в нескольких конкурсах, а ...

Настройка среды для работы с Deep Learning в браузере, используя Облачную операционную систему Привет Хабр! Меня зовут Ильдар. Сегодня я расскажу вам как настроить Visual Studio Code Server с плагином Jupyter ноутбук для работы с нейронными сетями в браузере на выделенном сервере используя Облачную ОС. Читать далее

Как мы зарелизили новую корзину и победили проблему разваливающихся заказов Привет! Меня зовут Катя Антипова, я старший продакт в М.Видео-Эльдорадо. Сегодня я расскажу вам о том, как мы обновляли корзину в мобильном приложении и на сайте М.Видео и решали одну их сильных «головных болей» наших клиентов. Читать далее

Туда — не знаю куда и как. Что делать, если вашей компании нужно поменять основной инструментарий Ситуация, когда компания враз лишается привычных сервисов и нужно срочно менять технический функционал, нынче крайне актуальна. Причем не поймешь, как проще: когда «партия сказала “надо”» и «срок — вчера» или когда цейтнота нет, но зато нужно доказать руководителю необходимо...

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

Как правильно внедрить Self-service-аналитику и для чего вам это Привет, Хабр! Я Лена Маеркина, CPO в AGIMA. Сегодня хотела бы поделиться опытом, который упросит жизнь продактам и сделает продукт удобнее для пользователей. Как вы поняли, речь пойдет о Self-service-аналитике. Погнали! Читать далее

Как мы навели порядок в C++/Qt проекте с помощью Conan О себеПривет, Хабр! Я Тимлид/Архитектор в компании Монитор Софт. В прошлом C++ разработчик, сейчас все еще удается иногда выходить в поля)). Хочу поделиться нашим опытом использования Conan. С момента описываемых ниже событий прошло года 4, и в целом наше решение уже прошло ...

Трудности перевода в разработке: как делать интернациональные проекты и говорить с пользователями на одном языке В современных приложениях и сервисах часто нужна интернационализация (i18n, от англ. internationalization). Она позволяет создавать интерфейсы с учётом культурных и языковых особенностей пользователей из разных стран. Это требует не только простого перевода, но и некоторых т...

Что общего между локализацией багов и расследованием преступления? Всем привет! Меня зовут Иван, я QA-инженер релизной команды в inDriver. В этой статье хочу вольно порассуждать о схожести моделей когнитивной деятельности в тестировании ПО и расследовании уголовных дел. Мне кажется, у этих сфер много общего — например, оба процесса представ...

Запуск ML скриптов в облаке с помощью dstack. Бонус – про запуск open-source проектов Привет! На прошлой неделе мы выложили на GitHub утилиту для запуска ML скриптов в AWS. В этом посте я бы хотел рассказать, об этой утилите, а также с какими трудностями мы столкнулись при ее разработке. Во второй части статьи, я бы хотел поделиться нашим опытом запуска ...

Недельный геймдев: #79 — 24 июля, 2022 Из новостей: Google позволил разработчикам приложений использовать в Европе свои платёжные системы, Unity планирует наконец-то в ближайшее время пререлиз Entities 1.0, Epic Games присоединились к O3DE Development Foundation, Houdini 19.5.Из интересностей: бесплатный генер...

Привлекаем внимание технологов (и не только «Норникеля»)! Визуализация ML-модели на «архивных» данных Идет очередной этап работы датасаентиста… обучена ML-модель, которая снизит издержки, повысит эффективность, сделает жизнь лучше, ничего не изменит, зато звучит модно. И вот настало время презентовать результаты ее работы. Если вы, как и я, работаете в промышленности, т...

[Перевод] Чего вам не говорили про сокеты Чтобы эффективно писать приложения, общающиеся через сокеты, мне пришлось понять кое-что, чего мне не сообщал никто и что не написано ни в какой документации. Если у вас есть опыт написания приложения с использованием сокетов, то вся эта информация должна быть для вас очев...

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

Что почитать для Unity разработчика: Рендер Всем привет. Меня зовут Григорий Дядиченко. Сегодня хочется составить некий список литературы, который как мне кажется было бы полезно почитать каждому, кто решает задачи рендера и занимается графикой в Unity. Разные книжки (и часть лекций) рассчитаны на понимание разных час...

Похищаем сохраненный в Chrome пароль с помощью XSS Меня зовут Артем Мышенков, я ведущий инженер по технической защите информации в команде безопасности REG.RU. Наша команда занимается тестированием систем компании на безопасность и поиском уязвимостей.В этой статье я расскажу о том, как с помощью XSS-атаки в сочетании с Clic...

Как мы удерживали нагрузку десятков тысяч подключений для Warface Всем привет, меня зовут Алексей Капустин, я старший программист в Allods Team. В этой статье я расскажу о серверной архитектуре Warface — как она устроена изнутри, как мы пришли к кроссплатформенному мультиплееру, про метагейм, масштабирование и многое другое. Читать далее

Как ускорить адаптацию сотрудников с помощью продуктового онбординга? Опыт Selectel Привет, Хабр! Меня зовут Лена Насыбуллина, я методист в Selectel. В этом тексте расскажу, как мы в компании знакомим новичков со сложной продуктовой B2B-линейкой и ускоряем выход сотрудников на «производственные мощности»‎. Опишу процесс по шагам, поделюсь конкретными рез...

Как создать переводчик, который переводит лучше, чем Google Translate Помню, как еще в школе на Basic я писал программу-переводчик. И это было то время, когда ты сам составлял словарь, зашивал перевод каждого слова, а затем разбивал строки на слова и переводил каждое слово в отдельности. В то время я, конечно же, не мог и представить, как силь...

От Web до Desktop за 2 недели: технология Electron на практике Если у вас есть компьютер и вы используете его по назначению, то скорее всего вы так или иначе работали с приложениями на Electron (даже если об этом не знали).Меня зовут Сергей Володин, я руковожу командой разработки VK WorkMail. В этой статье я расскажу, как на основе Elec...

Что нужно знать системному аналитику уровня Middle и Senior: план развития Hard Skills Решил составить для себя план развития (я в IT с 2007, как аналитик - с 2017). Что получилось: некий чек-лист с перечислением 13 блоков (от работы с требованиям до безопасности) с описанием, что обязательно и желательно знать/уметь.С чего все началось. Я недавно менял работу...

Как структурировать проект на Golang: гайд от backend-разработчика Всем привет, меня зовут Авксентий, я backend-разработчик в inDriver. Думаю, каждый начинающий разработчик сталкивался с проблемой, как правильно выстроить архитектуру и структуру проекта. Ведь организация кода проекта — постоянно развивающаяся проблема, а следование стандарт...

12 мобильных офлайн-игр, чтобы научить ребенка программировать Привет, Хабр!  Учить детей программировать с помощью мобильных игр – это уже классика. Собрала для вас подборку 12 игр и каждую протестировала. Есть варианты для дошкольников и школьников. Приложения работают в офлайн-режиме, поэтому можно отключить интернет и спокойно ...

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

Использовать ли Reusable Workflows в GitHub Actions? CI система GitHub Actions достаточно свежа по сравнению со своими конкурентами, но продолжает радовать сочетанием легкости использования и постепенным расширением функционала. На мой взгляд, шаблонизация используемых пайплайнов это безумно важная составляющая, и в конце 2021...

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

Как выглядит импортозамещение ПО «из нашего окопчика» в солнечном Волгограде Привет читателям Хабра! Меня зовут Степан, я руководитель ИНТЕРВОЛГИ. Мы (в основном) находимся в Волгограде и пишем коммерческие сервисы для средних и крупных компаний. С государством почти не работаем. Иностранной выручки у нас менее 1%, поэтому вопрос «а как мы будем рабо...

Простой mp3-плеер с графическим интерфейсом на Go Мы продолжаем рассматривать разные платформенные применения Go (ранее мы посмотрели как использовать Go для микроконтроллеров, веб-приложений, разработки API, создания мобильных приложений) и сегодня поговорим об использовании Go для создания приложений для настольных компью...

«Мы KTS, а не BTS»: как разработчики делали ребрендинг Привет! Меня зовут Сергей, я управляющий партнер в KTS: мы занимаемся разработкой цифровых сервисов для бизнеса. Недавно мы провели ребрендинг: рассказываю, сколько с ним мучились и что в итоге получилось.  Читать далее

Как запускать SQL в Go с максимальным комфортом Писать SQL руками или использовать ORM — тема очень спорная, и я опишу, как использовать первый подход максимально эффективно. А какой из подходов выбрать, думаю, каждый сам для себя уже решил. Читать далее

Учим Алису здороваться Хочу поделиться опытом добавления некоторой вольности Алисе (внутри колонок поддерживающих локальный API). Идея заключается в том, чтобы Алиса реагировала на присутствующих людей. Для этого их необходимо идентифицировать, например, с помощью распознавания лиц. В статье будет...

Первый опыт написания полноценной программы Каждый начинающий программист мечтает реализовать свой собственный проект. Не написать простенький код, по заданию преподавателя, а воплотить в жизнь свои идеи. Так и я, изучая C++ 3-4 месяца, решился попробовать разработать макет электронного журнала для преподавателей. Чи...

Пишем Hex Viewer для Flipper Zero Примерно месяц назад основная поставка Flipper'ов таки доехала до России. Вопреки моим ожиданиям, это не вызвало волну публикаций про создание приложений под него. Хорошие публикации есть (например, эта и вот эта), но массовости нет. Слишком долго ждали и перегорели? Пишут д...

Призраки, шаманы и шамановоды: как мы конструируем геймплей для игры Rush Royal Привет, Хабр! Меня зовут Катя Невзорова, я старший программист в департаменте Игры. В этом материале я решила поделиться тем, как мы с командой делаем геймплей для игры Rush Royal. Читать далее

Совсем другая история: как мы проводим A/B-тесты в офлайне и чем они отличаются от классических онлайн-экспериментов Всем привет! Меня зовут Костя Гусев @nevoy, и в М.Видео-Эльдорадо моя команда развивает внутренние и партнёрские продукты. Перед тем, как поменять ассортимент или цены на полках 1 300 розничных магазинов, мы должны убедиться, что новое товарное предложение, как минимум, не п...

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

5 шагов до крупного заказчика: что сделать SaaS-приложению, чтобы начать работать с enterprise Привет, Хабр! Меня зовут Андрей, в Selectel я руковожу отделом продуктов клиентской безопасности. Мы предоставляем и развиваем защищенную IT-инфраструктуру, помогаем клиентам хранить данные в соответствии с лучшими практиками и стандартами. Мы видим, что число компаний, ра...

Дегустация Argo Rollouts: обзор решения, часть 1 Всем привет! Меня зовут Евгений Симигин, я занимаюсь внедрением DevOps-практик в Центре компетенций по разработке облачных и интернет-решений МТС Digital. В этой статье – обзор Argo Rollouts, я покажу несколько примеров применения и отмечу интересные места в документации. Х...

Как мы платежный шлюз тестируем Всем привет! Сегодня мы поговорим об интеграционном тестировании платежного шлюза, но перед этим расскажу немного про нашу команду и наш проект. Мы (ContactPay) — самостоятельный финтех-стартап внутри QIWI, строим высокопроизводительный отказоустойчивый платежный шлюз и соот...

Чего ждут коллеги разных уровней от тимлида Обычно под требованиями и ожиданиями от тимлида подразумевают набор навыков, знаний и обязанностей. Его формализуют в виде матрицы компетенций и используют, чтобы объяснить, что должен уметь руководитель команды. При этом мало говорят о том, чего ждут и что хотят получить от...

SLA против дебиторки: как качество сервиса влияет на уровень задолженности жителей за ЖКУ Меня зовут Евгений, я – директор по продукту в IT-компании, которая занимается цифровизацией ЖКХ и автоматизирует рутинные процессы в управляющих организациях. Взыскание задолженности за коммунальные услуги - головная боль всех управляющих компаний. Лучше предотвращать ...

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

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

Что должен знать дата-инженер. Роадмап для джуниора Привет, username! Меня зовут Иван Васенков и я джуниор дата-инженер в дирекции данных и аналитики Lamoda. Но к этой профессии я пришел не сразу: окончив университет, я начал работать аналитиком данных, затем стал BI-разработчиком, а уже после этого — дата-инженером.На моем п...

Gartner: Глобальные продажи средств RPA в этом году вырастут на 20% Спрос обостряет конкуренцию между поставщиками RPA-решений, которые начинают дополнять свои стандартные предложения более продвинутым набором инструментов. Согласно отчету Gartner, в условиях роста потребности компаний в автоматизации повторяющихся задач ожидается, что в ...

Приключения онлайн-кинотеатра Premier в Android TV, или Как мы javascript внедряли Привет, Хабр! Меня зовут Артем, и вот уже два года, как я работаю над онлайн-кинотеатром PREMIER. Эта история началась, как и многие другие, со слов тимлида: “Артем, есть интересная задачка”.Ситуация была следующая: библиотека, над интеграцией которой велись работы, не имела...

Event-driven архитектура в Kubernetes Kubernetes, как система оркестрации, позволяет автоматизировать процесс развертывания сложных приложений и восстанавливать ожидаемое состояние кластера после сбоев. В общем случае приложение представляет собой резидентно запущенные контейнеры, которые обрабатывают запросы кл...

Знакомство с Apache Airflow: установка и запуск первого DAGа Привет! Меня зовут Алексей Карпов, я прикладной администратор (MLOps) отдела сопровождения моделей машинного обучения в Альфа-Банке. Хочу поделиться опытом в работе с Apache Airflow. Расскажу, как установить интерпретатор Python и сам Airflow, а также как отладить его работу...

Как агенты сбора метрик защищаются от потерь данных при работе с remote write протоколом Привет. Меня зовут Григорий Рочев. Хотел бы поделиться сравнением Prometheus like агентами для сбора метрик (нигде я такого определения не встречал, но почему бы их так не назвать?). Рассматривать буду prometheus в режиме agent mode, grafana agent, VictoriaMetrics agent (дал...

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

Удобный клиентский сервис для центров обслуживания на ELMA ChatDesk О чем? В период кризиса роль центра обслуживания (ОЦО) как бизнес-партнера компаний сильно возрастает. Грамотное перераспределение ресурсов ОЦО позволяет оптимизировать расходы компании, что дает бизнесу возможность сконцентрироваться на проработке стратегии развития и тра...

Сканим с ansible Данная статья вольное рассуждение о том, как можно использовать инструменты из разных областей для проведения автоматизации рутинных задач, в том числе и для проведения отдельных действий при пентесте. В статье будет описан процесс создания проекта на Ansible, который можно ...

Как мы меняли шину данных, а создали интеграционную платформу Привет, Хабр! Меня зовут Евгений Лукин, я работаю в СберТехе и занимаюсь развитием интеграционных продуктов.Сегодня поговорим об импортозамещении в банке с миллионами клиентов. Это интересный опыт, который, как мне кажется, будет полезен любому бизнесу. Ниже — мой рассказ о ...

Год на Airtable: как настроить процессы в компании с помощью low-code решения и стоит ли? Привет, Хабр! Я — Антон Иванов, работаю продакт-менеджером в двусторонних платформах. Как правило отвечаю за опыт поставщиков, вместе с командой успел помочь разработать с нуля и удвоить выручку на второй год после запуска у трех мобильных  приложений и у двух веб-верси...

Шерудим под капотом Stable Diffusion Вероятно вы уже слышали про успехи нейросетей в генерации картинок по текстовому описанию. Я решил разобраться, и заодно сделать небольшой туториал, по архитектуре модели Stable Diffusion. Сегодня мы не будем глубоко погружаться в математику и процесс тренировки. Вместо этог...

Как я написал telegram бота на Rust для отслеживания рейтинга при поступлении в вуз Привет, меня зовут Илья, я сейчас сдаю вступительные экзамены в магистратуру. Столкнулся при поступлении с проблемой, что результаты экзаменов в рейтинговом списке появляются не сразу, а постоянно его открывать и находить себя на странице - после раза двадцатого надоело. Пос...

Жизненный цикл гипотезы Всем привет! Меня зовут Аксёнов Павел. Я работаю CPO (директором по продукту) цифровой платформы Самолет Плюс и преподаю управление продуктом в OTUS. А еще у меня есть опыт работы на Head позициях в Яндекс, Ozon и Mail. За весь свой опыт и в управлении проектами, и в управле...

Адаптируем Android-приложение для незрячих людей. Часть 2: Jetpack Compose По данным ВОЗ, в мире более миллиарда человек обладает с той или иной формой инвалидности. Поэтому Accessibility, или доступность, — важная штука в разработке программного обеспечения, особенно под мобильные платформы. Адаптировать View-интерфейс для людей с ограниченными во...

Что такое Shared UI, как он нам помог и причём тут микросервисы Всем привет! Меня зовут Дима, я frontend-разработчик в Альфа-Банке. Сегодня я расскажу про Shared UI, что это такое и как мы пришли к созданию такого сервиса в интернет-банке, что это такое, как мы вообще придумали такой сервис. Читать далее

Как и почему мы переехали из SAP в 1C c интеграцией в Directum RX Сегодня многие компании вынуждены мигрировать на российский софт, в связи с санкционными ограничениями или требованиями регуляторов. У нас есть похожий опыт, хотя сам процесс миграции произошёл до введения санкций, а обязательств по импортозамещению у нашей компании нет. Мы ...

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

«Яндекс» выложил в открытый доступ Userver — инструмент для разработки приложений с микросервисной архитектурой Компания использует его, например, в «Яндекс Go», «Лавке», «Доставке», «Маркете» и других сервисах.

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

OAuth в iOS В большинстве случаев мобильное приложение должно уметь авторизовывать пользователя для доступа к данным, и зачастую это должно происходить с помощью сторонних сервисов. В таких случаях используется OAuth2.0 — протокол, позволяющий авторизоваться в другом сервисе без необход...

Из чего строят Cloud Native приложения в 2022 году Все больше разработчиков выбирают микросервисную архитектуру уже на стадии проектирования, а монолиты методично распиливают. Это длительная и непростая работа, поэтому разработчики стараются еще на стадии проектирования определиться с архитектурой. В этом материале мы пог...

Без одной faangи или как я проходил собеседования Привет, Хабр! Меня зовут Рустам, работаю программистом 9 лет. 7 лет работал в Контуре и около 2 лет в Яндексе. В этой статье расскажу про свой опыт подготовки и прохождения собеседований в большие технологические компании, поделюсь рекомендациями.Пробовался в Facebook, Apple...

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

Что учесть в разработке супераппа. Рассказываем на примере приложения «Мой Beeline» Привет, меня зовут Санжар, я iOS-техлид в Beeline Казахстан. В iOS-разработке 6+ лет, сейчас занимаюсь развитием мобильного приложения «Мой Beeline». В статье поделюсь опытом становления супераппа «Мой Beeline». Это один из наших флагманских продуктов, мы уделяем ему мн...

Как не попасть в ловушку ненужного обучения В наших головах прочно засела установка, что учиться надо всегда. Компании транслируют life-learning подход (обучение на протяжении всей жизни), в соцсетях продвигаются разного рода курсы, на собеседованиях спрашивают: «Чему вы научились за последнее время?»‎ Выходит, что ...

Как проводить код-ревью: главное из вебинара В декабре Яндекс Практикум провёл открытый вебинар о том, как устроен процесс код-ревью в коммерческой разработке и образовании. Руководитель отдела разработки поисковых интерфейсов в Яндексе Сергей Бережной и старший код-ревьюер на курсе «Веб-разработчик» Айгуль Маликова ра...

Управленческие метрики в IT в Циан: полезные, вредные, наши Я часто слышу, что метрики — не для IT: не в строчках же кода считать эффективность. Но мы в Циан уже несколько лет используем метрики в оценке разработки и знаем, как их использовать во благо.Меня зовут Алексей Чеканов, я CTO в Циан. Я расскажу, что такое хорошие и плохие м...

Как мы сделали WebRTC-видеозвонилку и что перепробовали: P2P, SDK от Voximplant и VK Звонков Привет, меня зовут Кирилл и я инженер, который превозмогал ковидные времена вместе с компанией JUG Ru Group. Мы делаем технические конференции, и в пандемию сделали собственный сайт для проведения онлайн-конференций. Тогда нам понадобились качественные видеозвонки на WebRTC,...

[Перевод] Никто не бесил меня больше, чем Google Play Team Меня зовут Дэниел Рид. Я пишу код уже более двадцати лет. Я сооснователь и ведущий разработчик SaaS-компании, предоставляющей ПО для управления фитнесс-студиям, например, студиям йоги. Наше базовое приложение хостит все студии в одном месте, однако за дополнительную цену м...

Отсрочка для работников ИТ-компаний и ИТ-аккредитация: как это работает Всем привет! Меня зовут Алина Акиншина, я генеральный директор IT-компании Онлайн Патент. Мы ведем блог здесь, на Хабре, и сегодня решили написать в нем про наш собственный опыт —о том, как мы прожили последние 2,5 недели после 21 сентября, и что все еще может быть полезно д...

Как мы продвигали Tinkoff Black в Telegram Ads Меня зовут Маша Реджепова, я специалист по таргетированной рекламе в Тинькофф. Занимаюсь продвижением дебетовой карты Tinkoff Black.В статье расскажу про успешный кейс по запуску рекламы в Telegram Ads. Реклама на этой площадке отличается от привычного формата— нет баннеров ...

Проект «Экспансия»: 3D-печать смесевого ракетного топлива 3D-печать смесевого ракетного топлива —мы сделали это. Спустя сотню экспериментов, несколько волн отчаяний и стадий принятия неизбежного. Сделали и запатентовали. И в ходе процесса не взорвались, не сгорели и даже не угорели, но последнее не точно.Разработанная технология ад...

VK Видео: архитектура сервиса на основе пользовательских метрик Когда говорят о выборе архитектуры IT-системы, почти всегда упускают один ма-а-аленький нюанс: мы делаем продукты для пользователей, не для себя. А пользователям совершенно неважно, какая у сервиса архитектура. Никто в отзывах не ставит звёздочки за event-driven подход или к...

Принципы юнит-тестирования. Часть вторая Привет! А вот и вторая часть поста про принципы юнит-тестирования. Если в первой мы обсудили влияние тестов на разрабатываемые продукты и познакомились с теорией юнит-тестирования, то в этой обсудим некоторые практические моменты. Внутри поста — структура юнит-тестов, стили ...

VR разработка вместо антидепрессантов Хочу поделиться своим опытом выхода из выгорания, возможно кому либо будет интересно. Надеюсь у меня получится помочь Вам решить для себя проблемы "я ж прогать начал чтобы игры делать, а не инвестиционные платформы", "время разрабов-одиночек прошло", "ничего нового не придум...

Как мы помогли топовому банку России стать первым Привет, Хабр! Сегодня мы, команда Risk and Compliance компании GlowByte, хотим рассказать о большом проекте с топовым банком России, который завершили буквально месяц назад. В общей сложности история длилась более 2 лет. Речь пойдёт о внедрении новой автоматической системы у...

Онлайн-встреча «Мастер-класс по созданию сайтов и веб-интерфейсов для начинающих» Если вам интересно научиться создавать красивые сайты, но вы – новичок и не знаете, с чего начать, то приглашаем вас на наш мастер-класс. Мы познакомим вас с основными инструментами для разработки пользовательской части, расскажем про этапы создания сайтов и вместе создадим ...

Data Science Pet Projects. FAQ Привет! Меня зовут Клоков Алексей, сегодня поговорим о пет-проектах по анализу данных. Идея написать эту статью родилась после многочисленных вопросов о личных проектах в сообществе Open Data Science (ODS). Это моя третья статья на Хабре, до этого делал разбор алгоритма SVM ...

Процесс рендеринга Vue Добрый день! Меня зовут Александр, я работаю frontend-разработчиком в компании Nord Clan. В прошлой статье мы рассмотрели процесс компиляции Vue, а теперь надо как-то «пристроить» результат этой самой компиляции в процесс рендеринга.Дизайн лого: Марина Четвертакова Читать д...

Как в Тинькофф создавали Data Catalog В чем главная задача аналитика? Думать головой и принимать решения. А правильные решения можно принять только при наличии нужных данных. Но как найти данные в большой компании? Раньше мы решали эту проблему с помощью ручного ведения документации о данных в Confluence, но с р...

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

Как ГЛОНАСС испортил мне кровь и причем тут BI Привет, Хабр! Этот будет пост о том, как тяжело может идти принятие решения об импортозамещении популярной западной системы. Речь пойдет о замене для PowerBI, который мы только-только начали использовать. Под катом — история с самого начала (в кратком изложении), а также мно...

Digital Q.Archer от «Диасофт» позволяет быстро создавать приложения в микросервисной архитектуре Компания «Диасофт» представила технологическую платформу Digital Q.Archer для быстрого создания приложений в микросервисной архитектуре. Платформа входит в состав экосистемы цифровой трансформации Digital Q и позволяет многократно ...

В IT в 30. Как я стал solo Kaggle Grandmaster, устроился на работу, но так и не стал программистом Всем привет, меня зовут Крамаренко Владислав. В этом году мне исполнилось 30 лет, а также случилось много событий, в том числе и позитивных. Во первых, я устроился на вторую в жизни работу(и первую в айти), а во вторых, стал грандмастером. Это сложный путь, на котором было н...

Челленджи деплоя, сетевых политик и планировщика: как мы внедряли ML-платформу Kubeflow Kubeflow — фреймворк на базе Kubernetes, который помогает быстро запускать модели машинного обучения. Мы в VK решили внедрить его в свои рабочие процессы и столкнулись с некоторыми трудностями. Меня зовут Федюнин Андрей, я системный инженер в команде платформы, которая пр...

Работа с ASO: как тестировать тренды и не получить иск ASO — это настройка страницы мобильного приложения в сторе, за которой скрывается работа с артом, иконкой, описанием, ключевыми словами и многим другим. Цель проста — привлечь как можно больше пользователей. И не важно игровой у вас проект или нет.Под катом разберемся, что т...

Как я организовал автоматический деплой для своих пет-проектов Всем привет) Это мой первый пост на хабре, и сегодня я расскажу про небольшой pet project (git-trigger) , который я недавно написал для сборки своих проектов на сервере. На данный момент я использую его в нескольких своих проектах для автоматической сборки и пока не было зам...

Размер имеет значение! Часть 2 Как бы мы себя не обманывали - Размер имеет значение! И конечно, мы будем говорить о размере нашего андроид приложения, куда мы добавляем кучу классных features, и даже не задумываемся как это может негативно повлиять на размер приложения. Поэтому мы научимся обнаруживать ре...

Как подготовить и провести A/B-тестирование. Базовый роадмэп для новичков Хабр, привет! Меня зовут Полина Окунева, я работаю ведущим аналитиком в компании GlowByte в команде Advanced Analytics, а также автор курса по A/B тестам. Сегодня в статье я предлагаю интересующимся небольшой гайд по A/B-тестам.Когда я начала погружаться в тему A/B-тест...

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

Какие технологии, процессы и решения мы используем при разработке на Unreal Engine 4 — опыт Allods Team Всем привет, меня зовут Виктор Щепкин, я работаю Team Lead’ом в студии Allods Team. В этом тексте я расскажу про особенности работы с Unreal Engine, а также подробно опишу, какие решения и процессы мы используем при разработке проектов:— как мы применяем Unreal Engine Module...

Как переехать из Slack в Mattermost — личный опыт Как переехать из Slack в Mattermost — личный опыт Приветствую, уважаемые читатели Хабра. Меня зовут Иван, я руковожу направлением омниканальных решений в Лиге Цифровой Экономики. На старте одного из проектов около шести лет назад мы с заказчиком решили, что будем вести все п...

Квантовый компьютер: технология будущего, которой мы пока не умеем пользоваться Привет, Хабр! Меня зовут Андрей Тотмаков, я технический директор Platforma. И сегодня я хочу рассказать о крайне странном устройстве, которое выходит за рамки понимания обычного человека.Да, я говорю о квантовом компьютере. Постараюсь объяснить простым языком, как он работае...

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

Как мы сделали матчер: тайтлы, БЕРТы и две сестры Всем привет! Меня зовут Андрей Русланцев, я — Senior Machine Learning Engineer в команде матчера в AliExpress Россия. Я расскажу о том, как мы сделали матчер: какие проблемы нам пришлось решить, какие модели мы использовали, как выглядит наш текущий пайплайн, и почему наш ма...

Молодежь нынче пошла не та, или поиск системного аналитика «за 200» Всем привет!Меня зовут Коля, и я периодически собеседую кандидатов на позицию системного аналитика. За последние два месяца провёл порядка 20 десятков собеседований. В основном были кандидаты с опытом 1.5-3 года, на пути к уровню Middle и с зарплатными ожиданиями 150-200 тыс...

Текстовое кунг-фу: советы от мастера UX-дизайна Привет, меня зовут Булат Давлетов, я продуктовый дизайнер в «БАРС Груп». Эта статья будет не про копирайтинг или дизайн, а про удобство работы с текстом за компьютером каждый день. Читать далее

На твой телефон пришло новое сообщение Привет! Сегодня я хочу затронуть тему SMS, а точнее, поделиться опытом их «приручения» в Android на примере собственного пет-проекта. Читать далее

Наступая на грабли. Опыт написания Kubernetes Operator’а Недавно мной, совместно с коллегой, был реализован оператор для Kubernetes’a - Vector Operator. (Вот тут описано как мы пришли к решению, что там нужен свой оператор для Логирования в Kubernetes).В рамках данной статьи я опишу разные интересные Задачи/Проблемы с которыми мы ...

Миграция с vue-class-component на vuejs/composition-api В статье хочу поделиться опытом переписывания существующих классовых компонентов vue на новый синтаксис vue-composition-api.Немного о нашем стеке. Наше приложение написано на nuxt2 + vue-class-components + typescript. Из-за стека переезд на новый nuxt затруднился тем, что пр...

Маркетинговое планирование по модели SOSTAC Всем привет, меня зовут Николай Шипачёв. С 2014 года я занимаюсь комплексным интернет-маркетингом. Моя миссия: помочь клиентам решать бизнес-задачи, максимально эффективно использовать рекламный бюджет и увеличить прибыль компании за счёт комплексного маркетингового подхода....

Лучшие практики модальных окон. Компоненты дизайн системы Меня зовут Андрей Насонов, я работаю UI/UX-дизайнером и руковожу дизайн-отделом. В 2008 году я начал заниматься графическим дизайном, а в 2015 году перешел в веб-дизайн. В этой статье я описываю работу модального окна для десктоп-версии сайтов. Читать далее

Конструктор триггеров в Telegram. Или как мы сделали простейшего, но полезного бота Привет! Меня зовут Боровков Евгений и я предприниматель. В этой статье я расскажу про свой pet-проект. Или как я решил проблему вечного поиска информации прямо в уютном Телеграммчике. Читать далее

«Пиши, сокращай» для объявлений на поиске: применяем правила инфостиля (с примерами) «Пиши, сокращай» М. Ильяхова и Л. Сарычевой – настольная книга того, кто профессионально занимается текстами. Копирайтеры, редакторы, журналисты, многие маркетологи и стратеги либо читали ее, либо проходили корпоративное обучение по ней, либо, по крайней мере, смотрели видео...

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

Универсальный ускоритель инженера: как расти быстрее с помощью проектов Источник: Shutterstock.comЯ прошел путь от сервисного инженера, инженера-проектировщика до руководителя группы проектирования сетей передачи данных. Сейчас занимаюсь работой со стажерами-инженерами, а еще обучаю наших сетевых специалистов автоматизации, о чем уже расска...

«Рабочие места» для цифровых кочевников: реализация прагматичного API Ещё один небольшой pet-проект: про кафе и коворкинги на солнечном Кипре. "Рабочие места" для цифровых кочевников ヽ(。_°)ノДелюсь процессом разработки, фичами и граблями. Общий подход к разработке прагматичен и аналогичен предыдущему проекту. Читать далее

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

UX-исследования на коленке: как недорого проверить гипотезы по тексту Привет! Меня зовут Мария, и я UX-писатель в IT-компании Karuna. До этого я работала редактором и контент-менеджером в геймдеве и немного в банковской сфере, где впервые начала задумываться о необходимости UX-исследований — проще говоря, проверок продуктовых гипотез. К большо...

Соберёмся? Вторая проверка проекта MSBuild MSBuild – популярная сборочная платформа с открытым исходным кодом от Microsoft, которую используют разработчики по всему миру. В далёком 2016 году мы уже проверяли проект при помощи PVS-Studio и нашли несколько подозрительных мест. Давайте посмотрим, что удалось обнаружить ...

Брюнетки против блондинок или как на мониторе показать цвет свечения светильника? Метод демонстрации на мониторе цветности свечения светильника в соответствии с требованиями проекта национального стандарта «Методы определения неоднородности цветности», и шаблоны в MS Excel. Читать далее

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

[Перевод] PayPal позволяет обходить 2FA нажатием одной кнопки — и утверждает: «Это сделано для вашей защиты» Сегодня утром меня разбудили неожиданные SMS Кажется, я поделился своим кодом. Странно. Не припоминаю, чтобы я пользовался PayPal во сне. Однако такое происходит. Кто-то периодически вводит ваш email на сайте и нажимает «Forgot password». Подробности — к старту нашего курс...

Как системное мышление приводит на работу в ИТ Младшим тестировщиком у нас работает Анастасия, бывший специалист по отслеживанию подозрительных операций в банках, проводившая международные расследования. Ещё один тестировщик — Наталья, девушка из службы авиационной безопасности, которой очень нравилось искать странные ве...

Уйти нельзя остаться — что делать, когда очень хочется уволиться Согласно статистике, в РФ работу меняют в среднем раз в 3,5 года, а в США — раз в 4,1 года. Но статистика — всего лишь цифры, в неё попадают и те, кто меняет работу каждые 3-6 месяцев, и те, кто остается с компанией по 10-15 лет. Если прямо сейчас вы уже занесли ручку над за...

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

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

Cнова про llvm Исследования любого приложения достаточно рутинный и длительный процесс. Без использования инструментов и автоматизации разобрать даже самые простые алгоритмы написанные на некоторых языках программирования практически невозможно. (Go рантайм без символов). Справиться с этой...

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

Шифруем CoreML ML модель, как и многие другие формы интеллектуальный собственности, можно украсть и использовать для своих целей без ведома авторов. В случае с CoreML большинство моделей зашиты внутри приложения. Достаточно взять Jailbreak девайс, прочитать содержимое бандла и вытащить мод...

Параллелизм, асинхронность, многопоточность – Reactor почти всё сделает за Вас Реактивные паттерны программирования становятся всё более востребованы при реализации высоконагруженных сервисов. Вот уже и в Spring законсервировали RestTemplate. В тоже время, реактивные фреймворки предоставляют инструменты, позволяющие с минимальными затратами на кодирова...

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

RevBits EPS достиг максимального рейтинга обнаружения при тестировании ICSA Labs за 3-й кв Компания RevBits объявила о том, что ее продукт RevBits Endpoint Security (RevBits EPS) достиг идеального рейтинга обнаружения в 100% в рамках тестирования ICSA Labs Advanced Threat Defense (независимое подразделение Verizon) за 3-й квартал 2022 года с нулевой долей ложнопол...

Virtual Infrastructure для разработчиков и сисадминов: обзор сервиса #CloudMTS Привет, Хабр! Разнообразие софта, программных сред, мощностей и конфигураций железа постоянно увеличивает требования к рабочему месту. При работе над несколькими проектами одновременно требования удваиваются.  Многие сейчас занимаются текущими делами удаленно, без привы...

Technical Governance для IDP на 7000 разработчиков Всем привет, меня зовут Дмитрий Гаевский, я руковожу созданием внутренней платформы для разработчиков в Тинькофф. Последние два года стали знаковыми для российской ИТ-отрасли с точки зрения «распаковки» тем о таких платформах. Крупные технологические компании начали делиться...

ViRush 2022: давайте обсудим реальность и перспективы российского BI Привет, друзья и коллеги! Сегодня я хочу пригласить вас всех на ViRush 2022. Это ежегодная конференция, на которой мы рассказываем о наших достижениях и планах, делимся опытом и раскрываем перспективы развития платформы Visiology. В этом году мы представим и вживую покажем с...

Открытый проект по тестированию файловой системы exFAT и SD карт на встраиваемых устройствах с помощью MATLAB Для тестирования выбрана аппаратная платформа на базе чипа STM32H753VIH с частотой ядра 480 МГц. Подключение к SD карте выполнено через интерфейс SDMMC с частотой 60 МГц. В качестве драйвера работает стандартная библиотека STM32H7xx_HAL. Используется промежуточное программ...

Только 4% компаний полностью подготовились к реализации новых требований законодательства о персональных данных Результаты опроса КРОК показали, что на конец августа 2022 года лишь 4% компаний полностью адаптировали процессы обработки персональных данных к новым требованиям. 28% опрошенных ответили, что успели подготовиться частично. Более 20% организаций не планируют в ближайшее врем...

Приручение черного дракона. Этичный хакинг с Kali Linux. Часть 1. Подготовка рабочего стенда Приветствую тебя, дорогой читатель в самой первой вводной части серии статей «Приручение черного дракона. Этичный хакинг с Kali Linux». Идеей, побудившей меня к написанию данной серии статей является мое желание поделиться собственным опытом в области тестирования на проник...

Развертывание Spring Boot приложения с помощью Nginx, Let's Encrypt и Docker Compose Привет, Хабр! В своей первой статье я бы хотел поделиться опытом в развертывании Spring Boot приложения. Но для начала небольшое отступление, которое должно ответить на вопросы зачем и почему.Недавно я столкнулся с задачей разработать Telegram бота. Казалось бы, что тут слож...

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

«Кто согласовал такую фигню?» — будни переговорщиков из IT Привет, Хабр! Я работаю исполнительным директором в HFLabs, а до того, как им стать, больше восьми лет занимался продажами в B2B. Моя первая сделка началась с того, что меня позвали на переговоры с вице-президентом банка. Я подумал: не с моей же рожей к вице-президентам ходи...

(Микро)фронтенды и микросервисы с помощью Webpack Привет! Меня зовут Максим, я фронтенд-разработчик компании Тинькофф, лид команды фронтендов, которые пилят международные проекты. Я работал как фронтом, так и бэкером — это дало мне релевантный опыт и в микрофронтендах в том числе.Статья будет о фронтендах, но сначала предла...

Что такое клиринг, как он работает и реализован на примере платёжной системы «Мир» Покупки с помощью карты стали неотъемлемым атрибутом современной жизни. В прошлом году жители нашей страны совершили более 21 миллиарда операций банковскими картами. На примере работы клиринговой системы ПС «Мир» рассмотрим, что делается, чтобы справляться с регулярно возрас...

Python в атомной энергетике: сообразительные нейроморфы, предсказание поломок и анализ нормативки Атомная энергетика — отрасль наукоёмкая. Python со своими инструментами для анализа данных и построения ИИ как раз подходит АЭС, здесь с ним можно решать амбициозные задачи на острие науки о данных. Поэтому Хабр решил разузнать побольше про Python в Росатоме. И попросил меня...

Неочевидное про Fragment API. Часть 2. (Не) создаем инстанс Всем привет! Меня зовут Максим Бредихин, я Android-разработчик в Тинькофф. А это — вторая статья серии об интересных моментах из Fragment API, о которых вы, возможно, не знали.Готовьте вкусности, сегодня я расскажу, как (не) создавать новые инстансы фрагментов. Читать далее

Динамическая маршрутизация на основе FRRouting Приветствую, дорогой читатель!Меня зовут Евгений, я занимаюсь развитием сетевой инфраструктуры в Домклик. Сегодняшняя статья будет охватывать только применение динамической маршрутизации на основе FRRouting (FRR), но, возможно, в будущем я напишу продолжение о том, как конфи...

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

[Перевод] Девять порочных практик React. Разбираем частые ошибки Слово React регулярно слышат разработчики во всем мире. С момента своего создания эта библиотека стала невероятно популярной. Одно из главных преимуществ React в том, что она крайне вариативна в использовании, и это при определенных подходах делает ее довольно мощной и прост...

Как перестать быть сутулой собакой: мой путь к здоровой спине Всем привет! Меня зовут Максим, я управляющий партнёр в KTS и сегодня делаю каминг-аут: я сутулый. Компрессионный перелом позвоночника в детстве пошатнул здоровье моей спины, а работа за компьютером его добила. Рассказываю и показываю, как я справился с этой проблемой. Чита...

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

Как упростить жизнь за 312 коротких шагов: проектируем GraphQL API в микросервисной архитектуре Звук – HiFi-сервис с большой командой инженеров. Мы используем передовые технологии и современный стек, и экспериментируем, чтобы решать сложные, нестандартные задачи. Одна из технологий  – GraphQL. Эта статья изначально создавалась как гайд по работе с GraphQL для инже...

Bottom sheet: Custom transitioning Современные требования к дизайну мобильных приложений всё чаще подкидывают задачи по отображению контента со сложным поведением. Для его реализации необходимо понимание того, как работают кастомные презентация и транзишены. В этой статье я расскажу, как мы решили задачу по с...

«ЭМБЕР» и Masterdata теперь партнеры: совместная экспертиза откроет новые возможности «ЭМБЕР», разработчик систем и приложений на отечественной платформе AMBER, и системный интегратор ИТ-решений Masterdata заключили соглашение о совместной реализации проектов по автоматизации бизнес-процессов на базе BPM-платформы …

От геймдизайнера до СЕО за 10 лет, уход в инди и запуск курсов Рад познакомиться, меня зовут Эдуард Кумыков и в этой статье я хочу поделиться с вами опытом, который я получил пройдя нелегкий путь от простого геймдизайнера до СЕО игровой студии и по итогу решил уйти в независимость.За десять лет работы в компаниях я руководил командами и...

Несмотря на новые вызовы, наши требования к докладам DevOpsConf 2023 все так же высоки Привет, Хабр! Меня зовут Дмитрий Зайцев. Я руководитель ПК конференции DevOpsConf. А ещё CTO/CIO @flocktory.com. Помогаю компании делать платформу реферального маркетинга для половины магазинов рунета, которая не падает в черную пятницу. Вместе с сообществом делал техническу...

Технологии NiFi & Kafka: применение (часть 1) Добрый день, меня зовут Рустам Ахметов, я архитектор ГК Юзтех и интеграционной шины данных UseBus. В этой статье я расскажу о нашем опыте разработки продукта и выборе технического стэка. Хочу добавить, что я буду давать лишь поверхностный Helicopter view на продукты и их ана...

Краткая история тестирования ПО и реалии работы тестировщика в Сбере И снова здравствуйте! Сегодня у тестировщиков профессиональный праздник, с чем мы всех причастных и поздравляем! Ну и заодно предлагаем поговорить о тестировании программного обеспечения - о чем же еще? Для начала вспомним историю тестирования, её эволюцию и продвижение к со...

Челночный арт-пайплайн Storyngton Hall: как мы исследуем, концептим, собираем локации и персонажей Всем привет, меня зовут Вадим Удальцов, я 3D-художник студии BIT.GAMES. В этом тексте я расскажу, как устроен арт-пайплайн Storyngton Hall. В создании арта для игры принимает участие достаточно много людей — на протяжении всего процесса мы задействуем около 25 сотрудников на...

Готовим Android к пентесту — WSA edition Мы в Digital Security часто проводим анализ Android-приложений, поэтому пришло время поделиться некоторыми накопленными знаниями и сделать обзор по тому окружению, который мы используем каждый день.Существует множество вариантов для настройки пентестерского окружения, которы...

Как интернет на MacBook Pro M1 восстановить Доброго времени! В этой статье я хотел бы поделиться своим опытом как раздать интернет на MacBook Pro M1 в условиях, когда сдох Wi-Fi модуль. Читать далее

Реализация Интернета вещей для промышленного оборудования простыми методами На основе полученного опыта и личных предпочтений, хотелось реализовать проект в минимально необходимой конфигурации, без излишеств и легко развертываемый на любом сервере с Debian. При этом без экзотики, на основе MQTT и прочая. Так как обычно приходится осуществлять поддер...

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

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

Настоящий Product Backlog Refinement: 4 этапа правильной работы над фичами Привет, Хабр! Я Екатерина Колесникова, Agile Coach в inDriver. Когда я пришла в команду, заметила проблемы в процессе Product Backlog Refinement. Я предложила новый сценарий этой церемонии — и он сработал. В этой статье поделюсь опытом проведения PBR без скучной теории о «пр...

Как мы используем Greenplum в платформе данных Тинькофф Меня зовут Дмитрий Немчин, я руковожу отделом, который отвечает за движки хранения и обработки данных в платформе данных Тинькофф. Несколько лет назад мы поняли, что продукты, на которых работало хранилище, перестали нас устраивать. Объемы росли, понадобилось масштабируемое ...

Сам себе data scientist или зачем нужен анализ данных менеджеру по продажам Всем привет! Меня зовут Михаил Тимофеев, я работаю специалистом в отделе телемаркетинга в Ростелекоме. Когда начинал работать менеджером по продажам, меня постоянно мучали вопросы: почему клиент отказался, где моя зона роста, что делать, чтобы продавать больше? И т...

Категоризация веб-ресурсов при помощи… трансформеров? Привет! Меня зовут Анвар, я аналитик данных RnD-лаборатории. Перед нашей исследовательской группой стоял вопрос проработки внедрения ИИ в сервис фильтрации веб-контента SWG-решения Solar webProxy. В этом посте я расскажу, зачем вообще нужен анализ веб-контента, почему из мно...

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

[Перевод] SQL и NoSQL. Правда ли одно лучше другого? Базы данных (БД) существуют с первых дней программирования, а появились они ещё раньше. Это — неотъемлемые части любых приложений. Хорошо спроектированная БД — это один из важнейших компонентов, влияющих на производительность программных проектов. Из-за этого множество архит...

От проекта до умного дома: будни интегратора Добрый день, и с вами снова Дмитрий. Ранее я уже рассматривал, как можно управлять умным домом без навыков программирования на основе визуального софта Node-RED или Sprut.Hub. Сегодня я зайду уже с аппаратной стороны и рассмотрю процесс установки умного дома от создания прое...

Компания IBS завершила проект по нагрузочному тестированию системы Guidewire для «Росгосстраха» IBS провела для компании «Росгосстрах» нагрузочное тестирование комплекса программного и технического обеспечения Guidewire, используемого для автоматизации страховой деятельности. По результатам проекта подтверждено стабильное …

Колхоз. Большая история фермы устройств Яндекса Все новые сервисы Яндекса, а также апдейты к существующим приложениям и сайтам нужно тестировать: на айфонах, андроидах, десктопах, умных колонках, телевизорах. Раньше часть тестировщиков работали на личных телефонах и компьютерах, а часть — использовали для тестов корпорати...

Kafka как интеграционная платформа: от источников данных к потребителям и в хранилище (часть 1) НЛМК- большая компания, производственные активы которой располагаются в разных регионах России и за рубежом. Перед нами стояла задача спроектировать и внедрить новую интеграционную платформу, которая могла бы быть использована для организации информационного обмена, учитывал...

Создаём своё объектное хранилище за чаc Привет! Меня зовут Артем Гаврилов и я работаю в Tarantool. Сегодня я расскажу, как быстро создать объектное хранилище на основе платформы in-memory вычислений Tarantool и распределённой файловой системы IPFS (InterPlanetary File System). Мы рассмотрим пример шардирования с...

Как мы CRM Битрикс24 с кучей всего интегрировали У нас был сложный сайт с личным кабинетом клиентов, устаревшая, переписанная 1С-ка, десяток маркетинговых сервисов, и телефония на Asterisk.Единственное, что вызывало у меня опасение — это учётная система, написанная на .net. Ничто в мире не бывает более беспомощным, безотве...

Выжить, или зачем мы делали взаимодействие с контурной подсветкой Phillips Добрый день, меня зовут Алексей, наша команда занимается разработкой игр и приложений.Текущий год внес большие перемены в игровую индустрию. Многие игровые компании покидают Россию, чтобы не лишиться заработков на зарубежных площадках и, как следствие, своего бизнеса. Есть т...

Конструктор клиент-серверных протоколов Здравствуйте, это моя четвёртая статья на хабре, на этот раз я выйду за область ML решений и познакомлю вас с другим своим проектом.В процессе работы над различными проектами, рано или поздно возникает необходимость реализации клиент/серверных протоколов передачи данных, это...

Чтоб два раза не вставать: продажи программистскими методами Сегодня – никаких сказок. Только факты, цифры и кейсы. Про продажи глазами и руками программиста. Точнее, с применением подходов из программирования. Лично мне кажется, что эти подходы суть – здравый смысл. Странно, что не все так делают. И интересно, согласитесь ли вы с эти...

Microsoft начала тестирование нового пользовательского интерфейса для Xbox – он появится в 2023 году Компания Microsoft приступила к тестированию изменений в интерфейсе Xbox Home. Изменения будут нести настройки макета и дизайна, это позволит упростить поиск игр и программ на консоли или переход в область настроек. В ближайшие месяцы компания будет много экспериментировать ...

Как и сколько платить копирайтерам, редакторам и главредам, чтобы они не сбежали при первом оффере со стороны Привет! Меня зовут Алексей Рожков, я руковожу агентством контент-маркетинга «Сделаем», поэтому варюсь в копирайтерско-редакторской тусовке. И такое ощущение, что весь рынок хороших контентщиков — это человек 100, которые бегают из проекта проект. На какой проект ни посм...

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

Выгрузка HDFS FSImage в Hive для мониторинга и аналитики: руководство к действию Привет, Хабр! Меня зовут Борис Мурашин, я системный архитектор развития платформы больших данных в Х5 Tech. В статье делюсь своим опытом работы с кластером Hadoop: рассказываю, как с помощью сторонней библиотеки мне удалось организовать оперативную выгрузку образа файловой с...

Plastic SCM + Unreal Engine Доброго времени суток! Меня зовут Евгений, я разработчик геймдев студии. Как и в любой разработке, мы используем системы контроля версий. Моей любимой является Plastic SCM, вместе с тем я почти не встречал команды её использующие. Обидно. Попробую исправить это недоразумение...

Параллельный импорт, местное производство и колебание цен: что происходит на рынке смарт-приставок? Привет! Меня зовут Евгений Торчинский, а это — моя первая проба пера на Хабре. Я работаю с технологиями практически всю свою сознательную жизнь, хоть и начал свою карьеру с позиции оператора колл-центра. Я совмещал эту работу с учебой в Пермском Политехническом Универси...

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

Что такое осень? Это Школа Всем привет! Меня зовут Анастасия Артамонова, я - руководитель направления IT-обучения и развития Мир Plat.Form, и вы уже могли читать мою статью в этом блоге. С чего хотелось бы начать в этот раз: мир меняется, меняются обстоятельства и времена года. Развивается Мир Plat.Fo...

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

[recovery mode] SOLID на практике в автоматизации тестирования Как на практике реализовать все принципы и упростить разработку тестирования BDD ?Примером будет интеграционное тестирование, но вам ничего не помешает реализовать для End2End Читать далее

Ускорение обновления информации на сайте в 100 раз за счет рефакторинга системы хранения и передачи данных Меня зовут Максим, я руководитель проектов в ИНТЕРВОЛГЕ. Мы с командой уже несколько лет развиваем сеть B2B/B2C интернет-магазинов нашего клиента. Хочу сегодня рассказать про рефакторинг. И кода, и потоков данных.Не всегда легко объяснить бизнесу зачем нужно чинить то, ...

E2E-тестирование подключения по WalletConnect между DApp и мобильным приложением Metamask Тестирование приложений через сквозные (end-to-end) тесты сейчас довольно популярно. Этот вид тестирования позволяет оценить работоспособность приложения со стороны пользователя. Поэтому компания, в которой я работаю, внедряет этот вид тестирования в проекты.Летом 2022 года ...

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

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

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

Эта утилита упрощает установку Windows 11 — можно создать локальную учётную запись и обойти все проверки Rufus 3.20 помогает обойти проверку компьютера на соответствие обязательным требованиям Windows 11.

Пишем продвинутый планировщик с использованием React, Nest и NX. Часть 2: аутентификация Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. В прошлой части мы разобрались, как настроить и запустить проект, а сегодня продолжим создавать наш планировщик и поэтапно разберём создание аутентификации с помощью библиотеки Passport...

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

Динамический импорт модулей в Python Давайте представим ситуацию, когда вам нужно установить на все виртуальные машины (агенты сервера сборки) определенный пакет Python. Но вы не можете изменить образ агента, а загрузка, к примеру из pypi.org или github.com непроверенных пакетов, ограничена. Как тут не вспомнит...

Компания Ростсельмаш сливает данные своих клиентов Компания Ростсельмаш, сливает данные своих клиентов. Сегодня хочу поделиться своим мнением и опытом использования, сервисом картирования от компании Ростсельмаш.У компании есть сервис под название Agrotronic. Который позволяет отлеживать данные по картированию. Для того, чт...

Практический Metric learning В этом посте мы поговорим о задаче metric learning, подходах к её решению, и разберём их на практике, используя open-source проект OpenMetricLearning. В качестве бонуса покажем, как с помощью простых эвристик можно догнать текущие SotA модели. Читать далее

Как мы делали МЦОД для самого холодного региона России Привет, Хабр! Меня зовут Федор Клименко, я СЕО компании GreenMDC – мы занимаемся разработкой и производством модульных дата-центров. И иногда доставляем и собираем наши МЦОДы в экзотических регионах. Например, в марте запустили МЦОД в Якутске, где зимой столбик термометра оп...

Распределенная трассировка: подключить всех и не умереть Всем привет! Меня зовут Филипп Бочаров, я руководитель центра мониторинга и наблюдаемости в МТС Digital. Мы с командой делаем платформу Наблюдаемости – это набор сервисов, который позволяет сделать работу других продуктов МТС прозрачной и понятной. Сегодня я расскажу про рас...

Как работают глаза и что надо учитывать, создавая тёмную тему приложения Тёмная тема — уже не просто тренд в дизайне, а правило хорошего тона. Позаботьтесь о комфорте пользователя, если вы уважаете его желание провести ночь с вашим приложением, вместо того, чтобы хорошо выспаться. Далеко не все пользуются тёмной темой, но однажды ослепнув от...

Докеризированные команды и make, как стандартная точка в проект. Быстрый способ запуска разработки проекта на php В публикации опишу подход к использованию контейнеров docker и make который я практиковал последние несколько лет в своих рабочих командах и личных pet-проектах. Подход сформировался в процессе поиска минималистичного и унифицированного способа запуска проектов на php. Чтобы...

Цветные функции: ищем плохие архитектурные паттерны Когда у языка нет цветовой дифференциации функций… то у языка нет цели?Я уже много лет занимаюсь компиляторами и языками в целом. Хочу поделиться интересной мыслью, которая когда-то пришла мне в голову. Почему-то такого я нигде не видел.Если немного расширить понятие функции...

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

[Перевод] Целенаправленный дизайн микросервисов В своем стремлении перейти на микросервисы я столкнулся с аналогичными проблемами. Чаще всего я работал с клиентами и корпорациями, чей «микросервисный» дизайн приводил к единому моносервису. По сути, монолитное приложение было заменено действительно большим RESTful API.Я ре...

Roomy bots объявляет о начале работы как самостоятельная бизнес-единица Ранее продукт разрабатывался как инструмент для ускорения процессов в собственном BPM-решении родительской компании CSBI (Компьютерные системы для бизнеса), занимающейся реализацией комплексных ИТ-проектов с 1992 года. Опыт внедрений показал зрелость инструмента как полноцен...

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

Flutter jank shaders — история проблемы и пути решения Меня зовут Андрей, я Flutter-разработчик в команде Центра развития финансовых технологий (ЦРФТ) Россельхозбанка. Сегодня поговорим о «jank shaders» — дёргающейся анимации при первых запусках приложений на Flutter — и о том, как можно постараться её исправить.Несколько лет на...

Рассматриваем под лупой отладчик Delve для Go-разработчиков Отладка не должна быть частью разработки, потому что она непродуктивна и отнимает много времени. В идеале код нужно сразу делать чистым, понятным и покрывать тестами. Но хотя современные подходы к разработке ПО не подразумевают дальнейшей отладки, мы каждый день продолжаем с...

В России заблокирован сайт SoundCloud Доступ к сайту аудиостриминговой платформы SoundCloud в России ограничен по требованию Генпрокуратуры РФ, это следует из данных сервиса Роскомнадзора для проверки ограничения доступа к сайтам. Доступ к странице soundcloud.com заблокирован сегодня в соответствии с регла...

Telegram бот с offline распознаванием голосовых и генерацией аудио из текста Всем привет! После прочтения постов про голосового ассистента и  сервис Silero, мне стало интересно поиграться с offline распознаванием аудио в текст, а также с обратным преобразованием текст в аудио. И как все начинающие разработчики я сделал своего Telegram бота. Прос...

Как мы адаптировали «1С: Предприятие» под работу в облаке VK Cloud Результаты теста Гилева — одна из основных метрик производительности платформы «1С: Предприятие». На результаты теста обращают внимание как поставщики облачных услуг, так и клиенты, которым нужно решение с лучшими параметрами.  Меня зовут Тимур Явкин, я архитектор облачны...

Ретроспектива. Doin’ It Right Привет! Меня зовут Лёша Дидух, я тимлид команды личного кабинета в Skyeng. Это текстовая адаптация моего доклада про ретроспективы на DUMP-2022 в Екатеринбурге. Когда я пришёл в компанию пару лет назад, то немножко обалдел от разницы в подходах ...

Пишем тесты производительности под Webflux Добрый день! Меня зовут Александр Леонов, я руководитель группы разработки одной из распределённых команд Usetech. Сегодня я хочу рассказать вам о том, как написать карманный тест производительности на неблокирующий код Webflux. Статья рассчитана на разработчиков, которые ра...

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

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

Spring Data JPA: метод save и границы его применимости Привет! Меня зовут Семён Киреков, я Java-разработчик и тимлид в Центре Big Data @МТС Digital и Java-декан в МТС Тета — образовательном стартапе в рамках МТС. На митапе Росбанка и Jug.ru я рассказывал о том, как устроен метод Save в Spring Data JPA, почему он может вызва...

Learn, Learn and Learn… Чем отличается образование в России, Великобритании и США? Иногда я пишу посты, в которых нет сильной ML-специфики - например, про менеджмент или свой опыт. Немудрено, что именно за них я получаю больше всего респектов от своих друзей, не особо связанных с DS. Респекты я пол...

Приглашаем на C# Meetup: обсудим дилемму кота Матроскина Меня зовут Дима Орлов, я руковожу группой разработки «Путь закупки» и пишу на C# больше 10 лет. Приглашаем на митап, посвященный C# — одному из основных языков, используемых в Ozon. У нас сотни микросервисов на C#, обеспечивающих работу сайта, склада, систем логистики и плат...

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

Компания Celonis представит новые перспективы в сфере реализации бизнес-процессов на конференции Celosphere 2022 9-10 ноября в Мюнхене Компания Celonis, мировой лидер в области управления исполнением, объявила о проведении конференции Celosphere 2022 с участием ведущих мировых экспертов в области анализа бизнес-процессов и управления исполнением в Мюнхене (Германия) 9-10 ноября. Уникальная тщательно продума...

[Перевод] Pre-Commit хуки, о которых DevOps-инженер должен знать, чтобы управлять Kubernetes Контролировать качество исходного кода как можно раньше в жизненном цикле проекта - хорошая практика. Давайте разберемся, как применять этот принцип в работе с Kubernetes.В целом, компании всегда ищут способы увеличить свою продуктивность на всех уровнях: инфраструктура, люд...

Экспресс-курс по моделированию бизнес-компетенций В последние годы в кругах корпоративной и бизнес архитектуры все громче звучит идея моделирования бизнес-компетенций (business capabilities). О планировании на основе бизнес-компетенций написано много материалов, но очень немногие руководители корпораций используют эту конце...

Два сервера GAGAR>N и несколько жизненных тестов: насколько хороша новая платформа? Привет, Хабр! Сегодня мы расскажем о нашем опыте тестирования серверов GAGAR>N. Интерес к этим решениям, построенным на российской платформе сегодня достаточно высокий. И, договорившись с производителем, мы решили проверить, на что способны эти серверы, действительно ли о...

Как и почему перешли с Python на Go в основном сервисе рекомендаций Авито Привет! Меня зовут Василий Копытов, я руковожу группой разработки рекомендаций в Авито. Мы занимается системами, которые предоставляют пользователю персонализированные объявления на сайте и в приложениях. На примере нашего основного сервиса покажу, когда стоит переходит...

Как изменились условия релокации за последние полгода Привет, меня зовут Аня Стороженко и я основатель сервиса по релокации в Европу и Великобританию Relo.aeВ этой статье я расскажу, как поменялась IT-релокация с началом СВО и о том, как в сложившихся условиях искать работу за рубежом!Long story short. Мы запустили сервис более...

Как я сделал полноценный проект из ничего от одной Bitcoin платёжки на Python В этой статье хочу рассказать, как можно из обычных вещей сделать нечто большее и новое используя python, qt и bitcoin библиотеки. Читать далее

Наш опыт получения гранта 4 млн рублей от государства. Деньги на счету Привет, меня зовут Максим Кульгин, поделюсь с вами нашим опытом получения гранта 4 млн. от фонда содействия инновациям (ФСИ, фонд Бортника) на наш новый ИТ-проект. Т.к. деньги гранта вчера поступили нам на счет, то появился материал сделать новую, более прикладную статью.Мат...

Я у мамы киберпанк: опыт имплантации NFC+RFID чипа Каждому знакома проблема отсутствия карты доступа (электронного ключа, брелока, бэйджа и т.п.) в нужный момент. Когда офисный ошейник окончательно вывел меня из себя, я задумал решить проблему радикально. Читать далее

Как мы автоматизировали работу с Kafka: через тернии к Cruise Control В 2022 году искушённого хабрачитателя уже не удивить очередной статьёй о том, как готовить Kafka. На эту тему уже есть куча полезных материалов. Например: тут, тут, тут и тут. А вот информации об инструментах, входящих в экосистему Kafka, ещё не так много.  Когда у...

[Перевод] Python Path — Как использовать модуль Pathlib (с примерами) В каждой операционной системе существуют свои правила построения путей к файлам. Например, в Linux для путей используются прямые слэши (“/”), а в Windows — обратные слэши (“\”).Это незначительное отличие может создать проблемы, если вы занимаетесь проектом и хотите, чтобы др...

Проектируем интерфейс корзины в интернет-магазине: 138 гайдлайнов Вы часто встречаете интернет-магазины, в которых нет корзины? Наверное, нет – корзина есть практически у всех, и через нее проходит практически весь трафик.Как сделать работу с корзиной максимально удобной для клиента?Разбираем 138 гайдлайнов в этой статье. Читать далее

[recovery mode] Уменьшение размера файла в СУБД Ред База Данных / Firebird без операции backup & restore Добрый день. Меня зовут Сергей, я работаю системным архитектором в компании "РЕД СОФТ". Как я уже писал в прошлой статье, одна из проблем при эксплуатации СУБД Ред База Данных и Firebird — это уменьшение размер файла, выполнить которое возможно исключительно через backup и r...

«МойОфис Почта 2». Как и для чего мы переработали нашу почтовую систему В рамках релизов 2.0, 2.1 и 2.2 — все они вышли в этом году — мы представили переработанные и усовершенствованные продукты МойОфис. Одним из лидеров по числу внесенных изменений стала «МойОфис Почта 2» — почтовая система для корпоративных пользователей, которая включает в се...

Получаем доступ к консоли VM с помощью virsh Сегодня использование виртуальных машин повсеместно. Кто-то на них держит продакшн-сервисы, кто-то тестовые хосты, кто-то раскатывает на них лабораторные работы.Я сижу на Linux и для виртуализации использую KVM. Иногда у меня нет возможности подключиться к VM через ssh, такж...

Как PaaS Авито помогает регулировать потребление ресурсов CPU и RAM Привет! Меня зовут Антон Губарев, я инженер PaaS (Platform-as-a-Service) в Авито. Платформа как сервис позволяет продуктовым командам разработки не тратить время на рутинные инфраструктурные задачи, в том числе такие как определение  оптимальных значений request/limit C...

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

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

10 типичных «софтовых» ошибок на собеседовании Собеседование — одно из наиболее стрессовых событий в жизни. По статистике, IT-специалисты меняют работу раз в 2–3 года. И каждый раз приходится заново проходить интервью с HR, tech lead и будущими руководителями. Директор по ИТ-архитектуре Группы «Иннотех» Артём Головачев п...

Продвинутые методы Uplift-моделирования Всем привет! Меня зовут Окунева Полина, я ведущий аналитик компании GlowByte. Сегодня я хочу рассказать о задаче Uplift-моделирования — частном случае такой большой сферы как Causal Inference, или причинно-следственный анализ, — и методах ее решения. Задачи такого типа важны...

Как мы строили реактивный игровой сервер на Vert.x Всем привет, меня зовут Алексей Жуков, я старший программист в студии IT Territory. В этой статье я расскажу, как мы строили игровой сервер для Rush Royale. Объясню, почему создание сервера в геймдеве — это не так просто, как кажется на первый взгляд, а также опишу плюсы и м...

Сломать систему. Реинжиниринг портала с «китайскими» пользователями Привет! Хочу поделиться практическим опытом реинжиниринга нашей системы под названием «Портал поставщика» – рассказать о том, как мы выстроили процесс работы в команде, как наладили общение с бизнесом, какие поймали подводные камни и какие удалось выработать интересные решен...

Оценка (не)покрытия кода по результатам динамического анализа Создание любого ПО сопровождается ошибками. Программисты ошибаются в выборе типов, ошибаются в реализации алгоритмов. Аналитики ошибаются в формулировке требований к ПО, и из этих ошибок рождаются ошибки в функционировании готового продукта. Любой (ну ладно, почти любой) про...

[Перевод] Bottom Sheet API в SwiftUI Два года назад я написал пост, посвященный созданию кастомного bottom sheet в SwiftUI. Сегодня же необходимости писать его вручную с нуля больше нет, по крайней мере, если вам не нужно какое-нибудь супер-уникальное поведение. SwiftUI теперь предоставляет новый API для отобра...

Паттерны проектирования в Dart В последние годы растет популярность фреймворка для кроссплатформенной разработки приложений Flutter, а вместе с ним вторую жизнь получил и язык программирования Dart. Dart создавался как потенциальная замена JavaScript и мог бы занять нишу, которая сейчас принадлежит TypeSc...

Кто такой ИТ-бизнес-партнёр и чем он занимается Привет! К определению сущности ИТ-бизнес-партнёра зачастую возникает больше вопросов, чем к названиям большинства других должностей. Для рядового сотрудника порой куда понятнее, чем занимается тот же scrum-мастер или agile-коуч. А вот с ИТ-бизнес-партнёром всё иначе: кто-то ...

[Перевод] Принцип «Fail Fast!» в разработке приложений В этой статье описан принцип "Fail Fast!". Что это? Зачем он нужен? Как этот принцип поможет нам писать лучший код?Всякий раз, когда в запущенном приложении происходит ошибка, есть три возможных подхода к её обработке:Ignore! - ошибка попросту игнорируется, приложение п...

[Перевод] Перестаньте использовать SQLite в Unit-тестах TLDR; Использование Sqlite в Laravel (или любых других PHP приложениях) для Unit-тестирования может привести к false positive результатам тестов. Тот код который пройдет тесты, не заработает после переезда в production и использования других БД, например, MySQL. Вместо этого...

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

Проверка JavaScript-движка Rhino, или как встретились единорог с носорогом Имеется большое разнообразие языков программирования, но больше всего наши пользователи хотят, чтобы анализатор PVS-Studio поддержал один из самых популярных языков – Javascript. Одним из проектов, который можно использовать для написания статического анализатора JavaScript...

Чтение в фокусе: 5 золотых правил, которые мне помогли Книга — предмет настолько универсальный и всеобъемлющий, что у каждого найдётся свой уникальный и самобытный способ с ней взаимодействовать. Такие способы, правила и методы есть и у меня. С годами они накапливались и менялись, в результате все они сложились в своеобразную си...

12 Способов Отладки и Диагностики FirmWare В этом тексте перечислены основные способы отлаживать и диагностировать проекты на микроконтроллерах. Для аналогии буду каждому методу отладки метафорично приводить в соответствие аналогию из медицины Читать далее

Что под капотом «СберАвто» — ИТ-инфраструктура и стек онлайн-сервиса для покупки автомобилей Сегодня мы кратко расскажем о подходах, стеке, фреймворках и облачных решениях, на которых построена наша технологическая платформа. Передаем слово Юрию Буйлову, техническому директору «СберАвто». Читать далее

Анонс компании DAO TTS DMCC сделал Сергей Санников Презентацию своего проекта провел основатель и СЕО компании Сергей Санников. Начавшая работать 3 мая 2022 года компания сегодня готовится к проведению в Дубае конференции в декабре текущего года, где будет организовано знакомство инвесторов с управляющей командой компании и ...

[Перевод] Предохранители для данных: как автоматические выключатели повышают Data Quality Представьте, что бизнес-метрика неожиданно резко вырастает или проседает. Как понять, реальное это изменение или проблема с качеством данных? Команда VK Cloud перевела статью о том, как в компании Intuit решают этот вопрос с помощью предохранителей для пайплайнов данных. ...

Как в Финляндии учат программистов. Tampere University of Technology Год назад я закончила Bachelor's Programme in Science and Engineering по специализации ICT в Tampere University of Technology. Как это было :)В этом посте я в основном концентрируюсь на учебе с точки зрения содержания в контексте IT-сферы и программирования и сильно меньше н...

Wi-Fi в институте | Подготовительный этап, часть первая Приветствую, инженер! Меня зовут Артём Ковальчук, я сетевой инженер системного интегратора X-Com, входящего в одноименную Группу компаний. За плечами относительно небольшой опыт в сетях и сертификат Cisco CCNA.Мы запускаем цикл статей, где я поделюсь опытом, как выглядит жив...

[Перевод] Превращаем старый телефон на Android в веб-сервер Есть ли у вас старый телефон на Android? Наверняка есть! В мире накопилось безумное количество всевозможного электронного мусора, и в среднем гражданин развитой страны меняет телефон каждую пару лет, поэтому старые телефоны, вероятно, один из самых распространённых видо...

Пишем try-catch в C не привлекая внимания санитаров Конструкция try-catch есть во всех широко используемых сегодня языках, кроме C. Не в силах мириться с вопиющей несправедливостью, попробуем написать свою реализацию этой конструкции Читать далее

Продолжаем разгонять FizzBuzz После написания первой статьи про FizzBuzz (которая неожиданно для меня стала выбором редакции на Технотексте 2021) у меня появлялись мысли о том, как еще можно ускорить, но все время было не до того. И тут мне прилетает перчатка. Читать далее

Ростелеком берёт кредит на создание уже немодной «экосистемы» "В каталоге Wink по итогам реализации проекта должны появиться музыка и игры, последние — через облачный гейминг. Проект также предусматривает возможность публикации пользовательского контента (UGC), но из документа неясно, о чем именно идет речь".

Граффити в стиле ЛАНИТ: день рождения в ярких красках Нашей группе компаний исполнилось 33. Мы – большая творческая команда, в которой много молодежи. А она мыслит нестандартно, формирует нетривиальный подход к делу. Поэтому в свой праздник также хотелось рассказать о себе как-то оригинально. Но как создать портрет такой органи...

Где искать баги фаззингом и откуда вообще появился этот метод Подход фаззинг-тестирования родился еще в 80-х годах прошлого века. В некоторых языках он используется давно и плодотворно — соответственно, уже успел занять свою нишу. Сторонние фаззеры для Go были доступны и ранее, но в Go 1.18 появился стандартный. Мы в «Лаборатории Каспе...

В России наблюдается повышение интереса к автоматизации бизнеса Российские предприниматели стали прибегать к автоматизации бизнес-процессов на 52% чаще. Такую статистику приводит цифровая лаборатория Hopper IT. По ее данным, именно настолько выросло количество запросов на автоматизацию с начала специальной военной операции по сравнению с...

Бизнес стал больше автоматизировать несмотря на кризис Российские предприниматели стали прибегать к автоматизации бизнес-процессов на 52% чаще. Такую статистику приводит цифровая лаборатория Hopper IT. По ее данным, именно настолько выросло количество запросов на автоматизацию с начала специальной военной операции по сравнению с...

[Перевод] «Оживляем» наше iOS-приложение с помощью Live Activity В то время как Android-устройства в целом ушли в направлении простых вырезов в экране под фронтальную камеру или даже подэкранных фронталок, Apple создала совершенно новый пользовательский опыт благодаря своему новому пространству для размещения камеры — «челке» (the notch)....

Как быстро реализовать поиск на корпоративном портале Привет, меня зовут Антон Щербак, я разработчик корпоративного портала Selectel. Это внутренняя система, где можно узнать новости компании, поучаствовать в Selectel Game (это наша собственная геймификация рабочих достижений) и, конечно, найти необходимого коллегу или структу...

У вас WPA Enterprise PEAP/TTLS? Тогда мы уже у вас Доброго времени суток, коллеги! Меня зовут Роман и эксперт отдела анализа защищенности (в простонародье — пентестер). До того, как перейти в это направление, я 10 лет был системным администратором (преимущественно Windows систем). Скажу вам честно, мне очень нравится симбиоз...

Требования к программному обеспечению для СМК (QMS) и комплаенс Программное обеспечение для управления качеством предприятия и комплаенс (с англ. Enterprise Quality Management Software сокр. еQMS) предлагает методы, процессы, структуру и ресурсы, необходимые для улучшения производства и ERP-операций, при этом эффективно и экономично спра...

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

[Перевод] Как REST выродился в собственную противоположность Меня все сильнее раздражает, сколько людей готовы записывать в REST API любой интерфейс на основе HTTP. Сегодня приведу в качестве примера SocialSite REST API. Это же вызовы удаленных процедур (RPC). Он просто выкрикивает RPC. Связность между элементами на экране настолько с...

Навигация в Swift UI: что изменилось с появлением iOS 16 Одно из самых проблемных мест SwiftUI — работа с навигацией. Отсутствие доступа к стеку навигации, невозможность разделить UI-слой и слой навигации, сложность создания диплинков — всё это затрудняло работу многим разработчикам, использующим SwiftUI в своих проектах. В iOS 16...

[Перевод] Массажер для головы на базе платформы Стюарта Целью этого проекта было превратить массажер головы в автоматизированное устройство, которое бы само делало мне массаж. Изначальной задумкой было просто использовать линейный привод или один шаговый двигатель с резьбовой шпилькой для реализации движения вверх/вниз. Однако м...

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

Внедрение GraphQL на фронтенде без переломов Всем привет! Меня зовут Илья, я фронтенд-разработчик в hh.ru. В статье расскажу, как внедрить GraphQL на фронте, не переломав всё на своем пути. В проекте мы используем React и Redux, для асинхронных запросов у нас есть собственная библиотека, а бэкенд работает на Java. Для ...

Запуск MFC-приложения на не-x86 архитектуре нативно при помощи Winelib и подключение к нему плагина на Qt Занимался я недавно портированием одного старого win32 MFC MDI приложения, до сих пор разрабатываемого с использованием Microsoft Visual Studio 6.0 (среда разработки 1998 года выпуска), на Linux. При чем необходимо было, чтобы под Linux собирался нативный бинарник в формате ...

Как настроить удобную синхронизацию между Notion и календарем через ICS на JS без сервера Реализация автоматического импорта событий из календаря Notion в свой Google Calendar. Также, под катом, ссылка на npm пакет, упрощающий данную процедуру и пример запуска данного решения без аренды своего сервера. Читать далее

Зоопарк ML-моделей или лучший справочник на Хабре Привет, Хабр! Меня зовут Ирина, я работаю ML инженером в Brand Analytics. Моя работа тесно связана с NLP, ведь мы ежедневно получаем огромное количество текстовых данных со всего интернета. Сегодня я хочу поговорить о теме, которая беспокоила меня еще с тех времен, когда я т...

Как мы делали свой Typeform с тотализатором, но без куртизанок, а ещё случайно изобрели велосипед Всем привет. Меня зовут Дима, и пока мой конструктор опросников не захватил рынок, лишив три сотни испанцев из Typeform работы, средств к существованию и крыши над головой, придется самому немного рассказать о том, что такое WebAsk, почему я решил создать именно такой проект...

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

Vue, React или Angular: какой стек используют в России. Проанализировал 180 сайтов Благодаря лени узнал, какие фреймворки используют компании на российском рынке. Проанализировал e-comm, банки, интернет-магазины, сайты застройщиков, стриминговые сервисы, телекоммуникации и другие сферы. В конце статьи ссылка на таблицу. Читать далее

Машинное обучение в Streamlit: делаем это понятным для бизнеса Привет, Хабр! На связи Рустем, IBM Senior DevOps Engineer & Integration Architect.В этой статье я хотел бы рассказать об использовании машинного обучения в Streamlit и о том, как оно может помочь бизнес-пользователям лучше понять, как работает Data Science. В этой лабора...

Превращаем HTML table в GridComponent. Часть I. Frontend Привет хабровцы и любители фронтенда!Это моя первая статья, в которой я хочу поделиться своими первыми шагами в мир frontend разработки на VueJS. И в качестве примера для изучения я решил реализовать вариант грида со стандартным набором функционала: сортировкой, фильтрацией ...

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

Как связать админку продукта и его базу знаний (и обойтись без доработок продукта) Всем привет! Сталкивались ли вы с ситуацией, когда в вашей админке пользователям трудно интуитивно разобраться, возможности быстро исправить это нет, а существующую документацию по ней никто не читает? Знакомы ли вам частые вопросы вида "А как это настроить?" или "А можно ли...

[Перевод] Обработка окон и вкладок браузера в Selenium PHP Один из распространённых сценариев работы с веб-приложениями заключается в открывании нового окна (или вкладки) браузера после выполнения пользователем определённого действия. Многие веб-разработчики используют HTML-тэг __blank, приказывающий браузеру при нажатии на ссылку ...

Data Driven тестирование или как параметризовать Selenium тесты с использованием MSTest При автоматизации E2E тестирования часто приходится писать много тестов для проверки определённого поведения, например, валидация числового инпута. Один из способов — дублировать метод и изменить значения параметров, но при большом количестве тестовых данных дублир...

Обзор серверов Gooxi SL101. Опыт установки и первые впечатления Наш системный инженер Владимир Емельянов и его коллега – ведущий инженер по виртуализации рассказали мне о серверах Gooxi и поделились первыми впечатлениями. В статье рассказываю, как у них прошел процесс монтирования, какие были сложности с подключением комплектующих и наст...

Как нанять много технических специалистов: личный опыт и кейсы Сбера Привет, Хабр!Мы – блок «‎Сеть продаж»‎ – отвечаем за физическую сеть Сбера: банковские отделения, пункты выдачи заказов, банкоматы, работу выездных сотрудников и многое другое. В статье делимся своим опытом найма на позиции junior/middle/senior технических специалистов. Этот...

Секретный прогноз IT-экосистемы (сбывшийся на 82%), чтобы понять к чему готовиться Меня зовут Константин Кичинский, я технологический эксперт Kaspersky Product Studio – продуктовой студии в «Лаборатории Касперского». Наша команда занимается поиском и инкубацией свежих идей, стартапов и проектов, и нам важно отслеживать, что происходит на рынке в целом. Я р...

Как джуну найти работу: лайфхаки от HR Привет, Хабр! Меня зовут Анна Галимова, я HR бизнес-партнер в МТС Digital. В этой статье я расскажу о том, что делать, если вы специалист уровня junior и хотите найти хорошую работу в IT. Я дам советы: расскажу, на что смотреть при выборе работодателя, как подготовиться к со...

Анимации и вибрации: как задизайнить фидбэк слайдера оплаты Кофе — продукт, который можно покупать и пить несколько раз в день. Заказ в приложении Дринкита должен быть супер-пупер быстрым. В идеале, чтобы можно было даже не запускать его, а заказывать из виджета на домашнем экране.Мы ускоряли оплату разными способами. Сначала сделали...

Не работай «в стол»: руководство для эффективного аналитика Привет, Хабр! Меня зовут Денис, я работаю продуктовым аналитиком в Delivery Club. Наша команда за последние полгода провела около сотни продуктовых исследований данных, которые способствовали появлению нескольких десятков продуктовых гипотез по улучшению нашего продукта. За ...

Windows 11 работает, как волшебная, на 12-летнем процессоре Intel О своём опыте установки и настройки современной ОС с жёсткими системными требованиями на явно не соответствующие компоненты поделился участник сообщества с псевдонимом paul_is_on_reddit. Читать полную статью

Анатомия интерфейсов в Go В процессе знакомства с Go я нашел в документации пример: Читать далее

Ликбез по тревоге: узнаем ее в лицо Сегодня мы поговорим про то, что такое тревога, откуда она берется, какие есть эволюционные предпосылки. Ответим на вопрос "как распознать тревогу?" и узнаем, чем полезная или адаптивная тревога отличается от неполезной, дезадаптивной. Читать далее

[Перевод] Экзибит, прокачай мой трансформер или Основные идеи по улучшению модели трансформера с 2018 по 2020 год (часть 1) В июне 2021 года вышла статья “A Survey of Transformers” - обзор различных нововведений, сделанных с применением архитектуры “трансформер” после ее появления в материале “Attention is all you need”.Этот материал особенно актуален сейчас. Приведенные подходы и архитектуры нач...

Электронный саксофон: зовите меня SAXILENT Однажды вполне успешный руководитель проектов решил, что для полного счастья ему не хватает научиться играть на саксофоне.А начав учиться и играть, я неожиданно осознал, что саксофон очень громкий, и было бы так здорово, если бы получилось сделать что-то типа синтезатора, но...

Автоматизируем теплицу на Linux Сельское хозяйство – инерционная отрасль, в которой новые технологии приживаются долго. Кажется, что автоматизация может увеличить урожайность и повысить производительность труда. Но как это работает на самом деле?Меня пригласили в биотехнологический комплекс РУП "Институт о...

Войти в IT: Служба поддержки как карьерный трамплин Сегодня хотел бы поговорить, а может быть и подискутировать с вами о том, насколько легко новичкам войти в “высшую лигу” ИТ-сферы, и какую роль в этом процессе может играть опыт работы в техподдержке. Этот пост в первую очередь для тех, кто еще не считает себя маститым ИТ-шн...

Введение в метаклассы В стандартной библиотеке языка программирования C++ существует много классов, наделенных если не абсолютно одинаковыми свойствами, то очень похожими.Так, стандарт вводит отдельное требование BitmaskType, описывающее свойства, какими должны обладать битовые маски в стандартно...

Технологическая платформа Digital Q.Archer от «Диасофт» позволяет быстро создавать приложения в микросервисной архитектуре Компания «Диасофт» представляет технологическую платформу Digital Q.Archer для быстрого создания приложений в микросервисной архитектуре. Платформа входит в состав экосистемы цифровой трансформации Digital Q и позволяет …

Как мы развиваем культуру UX-исследований в Сравни Привет, Хабр! Мы Сабина Бадирханова и Светлана Юдина из UX-лаборатории Сравни и сегодня хотим поделиться нашим опытом создания и развития направления UX-исследований в компании. Мы расскажем, с чего всё начиналось, к каким результатам удалось прийти и как получилось встроить...

Как использовать макросы в Confluence, чтобы систематизировать и оформить документацию по продукту и процессам? Привет, Хабр! Меня зовут Таня Дудо, и я уже 6 лет помогаю людям и командам обмениваться знаниями внутри компаний. Для этого использую Confluence. Да-да, ту самую wiki-систему, которую часто называют неудобной и несовременной. Сегодня выступлю ее адвокатом-обозревателем: рас...

[Перевод] Практическое руководство по реализации наблюдаемости в DevOps В ходе этой статьи мы развернём следующий стек инструментов наблюдаемости Grafana: Loki (логи); Promtail (агент логов); Tempo (трассирровка); Prometheus (метрики); Cortex и Grafana Mimir (долгосрочное хранилище для данных Prometheus); Alertmanager (обработка оповещений Pr...

Яндекс выложил в открытом доступе инструмент для ускорения разработки мобильных приложений Команда Яндекса публиковала в открытом доступе DivKit — фреймворк, позволяющий ускорить разработку мобильных приложений и быстрее обновлять интерфейсы. Исходный код DivKit опубликован на GitHub под открытой лицензией Apache 2.0.  DivKit можно использовать в ...

Сертификаты K8S или как распутать вермишель Часть 2 Всем привет. Меня зовут Добрый Кот Telegram. От коллектива FR-Solutions и при поддержке @irbgeo Telegram : Продолжаем серию статей по сертификатам k8s. Читать далее

Что такое Mediapipe, или Как мы делали инференс в реальном времени на Android и iOS Привет! Я Андрей Татаринов, директор AGIMA.AI. Мы занимаемся проектами в области машинного обучения и анализа данных. В этой статье расскажу, как мы использовали фреймворк Mediapipe для iOS и Android, запускали его на десктопе, писали кастомные калькуляторы и в поддержку соо...

[Перевод] Как завалить экзамен Kubernetes CK{A,S} В начале 2021 года я пытался сдать экзамен Certified Kubernetes Administrator (CKA) и с первой же попытки завалил его. В этом году я также пытался сдать экзамен Certified Kubernetes Security Specialist (CKS) и снова провал!С моим новоприобретенным опытом я могу поделиться не...

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

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

[Перевод] Распространенные ошибки при написании плагинов Joomla 4 Перевод недавней статьи профессионального PHP-разработчика, руководителя Akeeba Ltd и ведущего разработчика Akeeba Backup для WordPress, Joomla! и standalone Николаса Дионисопулоса.В статье он делится своим опытом отладки плагинов Joomla 4, написанных разными разработчиками...

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

Пять задач, которые приходится решать при трудоустройстве начинающим Java-разработчикам в 2022 году Хабр, привет! Меня зовут Даниил Пилипенко, я программный директор факультета backend-разработки направления «Программирование» Skillbox, директор центра подбора IT-специалистов SymbioWay. Сегодня разберём практические задачи, с которыми могут столкнуться Java-разработчики ju...

Потери данных при репликации в аналитическое хранилище — автоматические сверки и мониторинг качества данных Данные из боевых баз в нашей архитектуре асинхронно попадают в аналитическое хранилище (Clickhouse), где уже аналитики создают дашборды для продуктовых команд и делают выборки. Базы здоровые и под ощутимой нагрузкой: мы в день отправляем флот самолётов средней авиакомпании...

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

Tabletop Simulator — редактор колод Я занимался созданием стола для карточной игры в Tabletop Simulator (TTS) и ощутил нехватку удобного инструмента для управления колодами. Из того что можно найти на youtube есть два способа: первый - это вручную в любом графическом редакторе сеткой расставлять карточки; втор...

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

Discriminated Unions в C# Всем привет. Среди многих интересных концепций, имеющихся в F#, меня привлекли Discriminated Unions. Я задался вопросом, как их реализовать в C#, ведь в нем отсутствует поддержка (синтаксическая) типов объединений, и я решил найти способ их имитации.Discriminated Unions - ти...

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

Как настроить хранение логов кластера Kubernetes в бакете S3 и зачем это нужно Стандартный способ хранения логов Kubernetes на ноде неудобен: память ограничена, данные разбросаны, а многие аналитические инструменты просто не получится применять. Чтобы сделать хранение и работу с логами удобнее для разработки аналитических инструментов, логи можно перен...

Побег из урановых рудников технической поддержки — Дима, посмотри, пожалуйста, тикет по саппорту, ЭТО ОЧЕНЬ СРОЧНО!!!Было время, когда ответы на такого рода сообщения занимали большую часть рабочего времени нашей дежурной смены от команды разработки. К счастью, постепенно ситуацию удалось исправить. Подходами, за счет...

Типы таблиц в PostgreSQL: clustered, foreign, partitioned и inherited tables Меня зовут Якупов Азат, я дата-архитектор Quadcode, и с вами продолжение саги о типах таблиц в PostgreSQL. В этой части речь пойдёт про кластеризованные, внешние, партицированные и наследуемые таблицы. Посмотрим на примеры их создания, области применения, плюсы и минусы их и...

Отмена релокейта в Болгарию, плесень и ремонт, или как я переехал в деревню Всем привет. Меня зовут Павел Кишеня, я работаю в REG.RU системным администратором. Два года назад я переехал из Минска в область, деревню Лещёвцы. В этой статье я расскажу, как и почему я переехал, какие здесь условия для работы и жизни и причем здесь плесень. Читать далее

Kincony KC868-A8S: Wi-Fi, Ethernet, Bluetooth, 433 МГц, RS485 и GSM в одном флаконе Сегодня на обзоре Кольцо Всевластия Моя Прелесть контроллер Kincony KC868-A8S — это модернизированная версия рассмотренного ранее контроллера KC868-A8. Модернизированная настолько, что по сути это уже совсем другой контроллер с гораздо более широкими возможностями, главной...

Как я помогаю себе справляться с незавершенными делами У вас была ситуация, когда не получалось завершить какое-нибудь дело? Это мог быть рабочий проект, ремонт в спальне или желание сбросить ненавистные лишние килограммы? Если да, то замечали ли вы, что если мы начинаем (или хотим начать) дело, но не доводим его до финала, посл...

Недельный геймдев: #80 — 31 июля, 2022 Из новостей: создатель отменённой Limit Theory поделился исходниками, AMD релизнула Raytracing Analyzer 1.0, Godot начали готовить к 4.0 и с 3 августа заморозят новые фичи и родмеп, исследователи из Disney предложили решение проблемы бороды при захвате движений лица, в St...

Красота в консоли Если верить статистике MacOS то топовые приложения которые я использую для работы это Chrome, VS Code, iTerm и VK Teams. При этом в консоли я провожу от часа до трех ежедневно. На самом деле время в терминале больше, потому что часть того что трекается как VS Code тоже явля...

Как мы кастомизируем Yandex Tracker под собственные проекты Yandex Tracker — аналог Jira, который так же предназначен для совместной работы над проектами и управления процессами внутри компании. Когда мы стали использовать его для внутренних проектов, нам захотелось его немного кастомизировать. Например, сервис не может автоматически...

Тинькофф запустил ИТ-платформу для автодилеров Dealer Solution System - сервис для дилеров по автоматизации финансовых и страховых процессов при продаже автомобиля.После регистрации в Dealer Solution System автодилеру не придется вручную заполнять заявки на автокредит и подачу страхового полиса. На платформе действует си...

Поиграли в Dragonheir: Silent Gods — RAID: Shadow Legends здорового человека Оказывается, что пошаговые RPG с собиранием группы из героев можно сделать нормально, и это доказывает Dragonheir: Silent Gods. Мы поиграли в неё и теперь спешим поделиться впечатлениями. Dragonheir: Silent Gods — игра на смартфоны и ПК, которую недавно запустили на Андроид...

[Перевод] Почему разработчики создают так много сайд-проектов Сайд-проект — это, как правило, проект, который разрабатывают в качестве хобби и развивают наряду с основной работой (моя основная работа — соучредитель и техдир финтех-стартапа) Это, например, робот на базе Raspberry Pi, приложение со списком задач или игра для iOS, которая...

[Перевод] Пишем обёртку для API Токийской фондовой биржи на Golang Целевым REST API будет jquants-api, описанный в предыдущей статье. Я решил реализовать обёртку на Golang, что оказалось чрезвычайно быстро и удобно. В итоге я выполнил эту задачу за один вечер, а получившуюся Golang-обёртку с базовыми функциями загрузил на GitHub. В этой ...

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

Мой микроинсульт в 23 года и вес 112 кг из за сидячей работы Здоровье - тот критерий, что в первую очередь характеризует качество жизни.Сегодня хотел бы поделиться с вами своим опытом. Надеюсь, кому-то поможет, кому-то покажется пугающих и предостережет от подобного. Читать далее

Как мы создали шаблон функциональных требований к разработке ПО Всем привет, мы – Таня и Лиза, системные аналитики в МТС Банке, работаем над мобильным приложением и сайтом для физических лиц. В этой статье мы поделимся опытом внедрения структурированного шаблона функциональных требований (ФТ) к разработке ПО в нашем банке.Статья будет по...

Луковичная архитектура в компоновке backend-приложения и куда в итоге класть маперы Как скомпоновать приложение? Какие в нём должны быть слои? Как назвать пакеты? Где расположить DTO, маперы, реализации интерфейсов? И нужны ли вообще интерфейсы? Когда новичок попадает в свою первую компанию, очень часто на эти вопросы у него нет однозначного ответа. Он смот...

Самостоятельная разработка ПО. Сколько стоит? Кому и зачем это стоит начинать? Привет, Хабр! Ежедневно, по роду деятельности, мы общаемся с десятками компаний, в основном средний и малый бизнес, на тему автоматизации процессов техподдержки и выездного сервиса. Еще 5 лет назад, нас не очень удивляло массовое желание “изобрести велосипед”, то есть написа...

Тернистый путь к eBPF, или Как мы Cilium в Deckhouse внедряли Не так давно мы решили добавить в нашу Kubernetes-платформу Deckhouse поддержку Cilium. Однако в процессе разработки модуля cni-cilium неожиданно столкнулись со сложностями, для преодоления которых пришлось даже обращаться к авторам проекта. Теперь, когда модуль успешно дове...

[Перевод] Что такое Black Box Testing? Тестирование — фундаментальная часть жизненного цикла разработки любого ПО, будь то веб-приложение или программа для мобильных. Тестирование не только подтверждает качество программного продукта, но и позволяет разработчику совершенствовать его. Почти каждое программное п...

White-Box Cryptography: Расшифровываем эту белую коробку В этой статье мы рассмотрим основные подходы к реализации White-Box Cryptography (WBC) и атаки. На данный момент есть WBC для различных видов алгоритмов: симметричного и асимметричного шифрования, электронной подписи и других. Здесь изучим только WBC для алгоритмов симметрич...

Как дружить с БД VMware Cloud Director Иногда возникают ситуации, когда требуется работать с базой данных VMware Cloud Director не только с поддержкой инженеров вендора, но и самостоятельно: могут залипнуть объекты, невозможно переконфигурировать ВМ, не получается удалить или создать какие-либо объекты, необходим...

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

Как готовить корпоративную систему управления документацией: рецепт, основные ингредиенты и приправы Здравствуйте!В данной статье я хочу рассказать о том, как мы решали стандартные вопросы нестандартным способом. Для начала немного расскажу о себе. Последние 12 лет, или всю свою "рабочую" жизнь, занимаюсь развитием и сопровождением информационных систем. За этот период пом...

Технологическая платформа Digital Q.Archer от «Диасофт» позволяет быстро создавать приложения в микросервисной архитектуре Благодаря low-code инструментам платформы Digital Q.Archer можно создавать работоспособные прототипы бизнес-приложений всего за две недели. При разработке бизнес-приложений используется компонентный подход. Компонентами служат Packaged Business Capabilities (PBC) - прилож...

Кем работать в IT в 2022: Backend-разработчик Рубрика «Кем работать в IT» — интервью с представителями IT-профессий, в которых специалисты рассказывают о тонкостях своей работы: плюсах, минусах, подводных камнях и заработной плате. Мы надеемся, что джунам и стажерам она поможет больше узнать о том, что их ожидает на кар...

В России создали антенну 5G, адаптирующуюся к условиям передачи информации Антенну для нового поколения связи, 5G, которая способна работать со множеством пользователей и адаптироваться к меняющимся условиям во время передачи данных, разработали сотрудники Санкт-Петербургского государственного электротехнического университета (СПбГЭТУ) «...

Open Source для MLOps: сравнение популярных решений Здравствуй, Хабр! Меня зовут Александр Волынский, я занимаюсь разработкой ML Platform в VK Cloud. Наша ML-платформа стала доступна пользователям совсем недавно, некоторые из её компонентов сейчас находятся на этапе бета-тестирования. В этой статье я расскажу, как мы выбира...

Как дизайнеры тестируют, или Что такое дизайн-ревью Привет! Меня зовут Ксюша, я старший продуктовый дизайнер в Ozon: проектирую разделы возвратов для личных кабинетов покупателя (Ozon.ru) и продавца (Seller Center) и немного — админки. Дизайнеры на Хабре не частые гости, но статья будет полезна не только дизайнерам и дизайн-л...

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

Клуб использованных техлидов Меня зовут Сергей. Я – использованный техлид. Долго думал, что я такой один – невезучий, потерявший всякий интерес к любимому делу, работающий от звонка до звонка. Оказалось, нет.Нас таких много. Начало, первые счастливые годы, безумный интерес к своему делу – у всех техлидо...

История миграции с GDrive на Я.Диск Сервисами Google я очень активно пользуюсь уже лет 20.В октябре 2022 у меня закончилась подписка на GOne, которую я не смог продлить, ввиду нахождения в РФ.Почта, документы, фото - там это не просто удобно, а просто кайф как все продумано и логично. Причем как в десктоп верс...

Aiogram + Django — бич индустрии чат-ботов Решил я тут пофрилансить для души, и увидел, что каждый третий проект по разработке чат-бота предполагает интеграцию веб-админки. В основном это касается онлайн-магазинов, где заказчик пытается сэкономить на сайте и заменить его монстрючим чат-ботом. При этом рулить проектом...

Шифруем передаваемые на сайт данные с алгоритмом на основе хаотической системы Лоренца Привет! Меня зовут Михаил, работаю в компании DataLine сетевым инженером. По специальности я радиофизик, но со школьной скамьи интересуюсь криптографией. В этом году научная работа в университете помогла совместить два этих интереса.  Я посвятил свое исследование примен...

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

[Перевод] Асинхронный ввод-вывод в Linux: select, poll и epoll На этой неделе я получила по почте новую книгу: Программный интерфейс Linux (The Linux Programming Interface). Она написана мейнтейнером проекта Linux man-pages Майклом Керриском (Michael Kerrisk). В ней рассказывается об программном интерфейсе Linux, начиная с ядра версии 2...

Отвертки и пассатижи гейм-дизайнера: основные инструменты и навыки, которые пригодятся в работе Предположим, что ты — Junior Game Designer. Ты только начинаешь свой путь, а студия, в которую ты пришел, сразу отправляет тебя в бой — сражаться с реальными задачами. Какие инструменты использовать в работе с конфигурациями? Где собирать макеты для интерфейса? Как искать ре...

Кем работать в IT в 2022: Python-разработчик Рубрика «Кем работать в IT» — интервью с представителями IT-профессий, в которых специалисты рассказывают о тонкостях своей работы: плюсах, минусах, подводных камнях и заработной плате. Мы надеемся, что джунам и стажерам она поможет больше узнать о том, что их ожидает на кар...

GraphQL: доступ запрещен Жил-был один маленький разработчик, работал себе над REST API и горя не знал. Но вот приходит к нему тимлид и предлагает затащить GraphQL. Казалось бы: классный и мощный GraphQL — это запросто! Но в процессе проектирования API разработчик столкнулся с неожиданными проблемам...

Как хранить Config в Excel Я часто пользуюсь конфигурацией при написании VBA макросов в Excel. Иногда она нужна в формах для сохранения настроек, иногда для сохранения каких-то получаемых в процессе выполнения макроса данных.Долгое время я искал информацию о том как работать с конфигом в VBA.Есть множ...

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

Генератор коротких CSS классов и id Одним днем возникла необходимость добавить в проект генерацию коротких css классов и id элементов в html верстке. Основные причины были следующие: * Усложнить жизнь парсерам* Уменьшить размер html страниц* И чтобы все было как у Google, шутка

[Перевод] CSS запросы к контейнерам наконец с нами Я не могу сдержать своего волнения, когда пишу первые несколько слов этой статьи. Дамы и господа, контейнерные CSS-запросы наконец-то здесь! Да, вы правильно поняли. В настоящее время они поддерживаются в Google Chrome (105), а вскоре будут и в Safari 16. Это огромный этап ...

[Перевод] Тестирование Rust Я всё ещё продолжаю изучать Rust. Кроме синтаксиса, для знания языка нужно понимать его идиомы и экосистему. Сейчас я нахожусь на этапе изучения тестирования в Rust. Исходная проблема В течение многих лет работы с JVM мы активно применяли внедрение зависимостей. Даже если...

Пишем 3D игру под Windows Mobile, ч.1 На хабре достаточно много пользователей коммуникаторов. Они рассказывали достаточно много историй о том, как их использовали: раскладывали пасьянс, играли в шарики, сидели в интернете, читали книги и в конце-концов, использовали как телефон. А что, если я вам скажу, что на к...