Обновить
16K+
83
Настоящий инженер@true_engineer

IT-специалист

17
Рейтинг
112
Подписчики
Отправить сообщение

Как мы «усложнили жизнь» автотестам и повысили качество тестирования

Время на прочтение3 мин
Охват и читатели5.9K

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

Читать далее

React Native. Часть 2: Bare Workflow, Expo, стили и платформенные особенности

Время на прочтение4 мин
Охват и читатели7.4K

В первой части мы разобрали эволюцию архитектуры React Native. Теперь перейдем к практическим вопросам: как организован процесс разработки и какие платформенные особенности встретятся в работе.

Читать далее

React Native. Часть 1: архитектура, производительность и варианты использования

Время на прочтение3 мин
Охват и читатели7.7K

React Native прошел путь от решения с фундаментальными архитектурными ограничениями до платформы с современным, производительным ядром. В этой статье мы разберем, как работала старая архитектура на основе Bridge, как ее заменили JSI, Fabric и Hermes, и в каких случаях React Native - оптимальный выбор для проекта.

Читать далее

Дизайн-тренажер: как встроить документы в отчетную таблицу, не перегрузив интерфейс

Время на прочтение3 мин
Охват и читатели4.5K

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

Читать далее

От «спагетти-кода» к чистым сценариям. Как Page Object Model помог нам преодолеть техдолг в автотестах

Время на прочтение4 мин
Охват и читатели5.2K

Делимся практическим кейсом рефракторинга автотестов учетной системы: от линейных скриптов к архитектурному подходу, который ускорил написание тестов в три раза.

Читать далее

Eventual Consistency на практике: что делать со сложными системами?

Время на прочтение6 мин
Охват и читатели4.7K

Современные комплексы бизнес-приложений отличаются высокой сложностью, из-за чего могут происходить сбои - сообщения теряются, consumer’ы падают, очереди переполняются. Поделимся реальным кейсом, в котором Eventual Consistency удалось обеспечить без серьезной переработки существующих систем.

Читать далее

Почему корпоративные знания не работают — и как это исправит ИИ

Время на прочтение4 мин
Охват и читатели6.9K

В каждой крупной компании со временем накапливается огромное количество ценной информации — инструкций, регламентов, технологических карт, аналитических отчетов. Однако в большинстве случаев эти данные висят «мертвым» грузом в архивах и папках. Все необходимое где-то есть, но найти вовремя невозможно. Чтобы знания действительно начали работать на бизнес, нужен инструмент, который сможет оперативно доставить их тем, кому они нужны. И именно такую задачу решает ИИ чат-бот на основе технологии RAG (Retrieval-Augmented Generation).

Когда знаний много, но они не работают

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

Проблема не в нехватке данных — проблема в доступе к ним. Как итог:

Читать далее

Дизайн-тренажер: как заставить таблицы работать

Время на прочтение2 мин
Охват и читатели5.5K

Представьте: в отчете о продажах появляется таблица. Формально - все на месте. Данные корректные, структура логичная, визуальный порядок соблюден. Но стоит открыть документ, как чтение превращается в маленький квест: взгляд блуждает, сравнивать показатели не очень удобно, главное не сразу считывается.

Почему так происходит? И главное - что именно в таблице мешает работать с ней быстро и уверенно?

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

Читать далее

Angular сегодня: ключевые изменения последних лет

Время на прочтение5 мин
Охват и читатели8K

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

MDN Baseline badges и влияние на поддержку браузеров в Angular

Начать стоит не с самого Angular, а с важного обновления в веб-документации MDN (Mozilla Developer Network). Там появились Baseline badges (метки), которые позволяют быстро оценить, насколько целесообразно использовать новую фичу — например, часть браузерного API.

Читать далее

Trunk-Based Development: как мы внедряем разработку на основе главной ветки

Время на прочтение3 мин
Охват и читатели6.9K

Trunk Based Development (от англ. trunk – «ствол дерева») – метод разработки кода на основе одной главной ветки. В отличие от Gitflow, TBD позволяет разработчикам добавлять новые модули сразу в master. Второстепенные feature-ветки также могут создаваться, но они имеют короткий срок жизни.

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

Читать далее

Как хранение кода влияет на конкурентоспособность ИТ-продукта

Время на прочтение5 мин
Охват и читатели3.4K

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

Читать далее

Создаем технологическую платформу для разработки: практический опыт

Время на прочтение4 мин
Охват и читатели2.9K

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

Для начала коротко о том, какие технологии легли в основу платформу. Про многие из них мы подробно рассказывали в отдельных статьях.

Читать далее

Почему мы считаем Google Identity Platform лучше многих платных альтернатив

Время на прочтение4 мин
Охват и читатели4.1K

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

Читать далее

Машинное обучение в технической поддержке True Engineering

Время на прочтение3 мин
Охват и читатели2.2K

Уже около года команда поддержки одного из наших высоконагруженных продуктов использует ML-систему нашей собственной разработки – Problem Detection Platform (PDP). Этот сервис умеет анализировать логи и автоматически классифицировать возникающие ошибки. В результате саппорт получает из логов не тонны сырой информации, а данные, с которыми можно быстро и удобно работать.

Читать далее

Как описать архитектуру продукта по нотации C4

Время на прочтение4 мин
Охват и читатели115K

Когда мы начали создавать платформу True Engineering, в компании не было единых правил для оформления архитектуры. Разные команды – разные инструменты, разные обозначения и уровни абстракции. Значит, даже подобные решения сравнить между собой не получится, а тому, кто смотрит на архитектуру проекта в первый раз, обычно нужен проводник, который расскажет, что же тут изображено. Мы решили унифицировать подходы с помощью модели С4, которая обеспечивает всестороннее описание программных архитектур.

Читать далее

Бесшовная миграция монолитного фронтенда для критически важного бизнес-продукта

Время на прочтение4 мин
Охват и читатели1.8K

Некоторое время назад появилась задача обновить монолит фронтенда большой высоконагруженной системы, работающей 24/7 – перевести с устаревшего фреймворка Knockout на современный React. Задача возникла, когда старая архитектура перестала соответствовать требованиям бизнеса. Команде поставили задачу реализовать новые функции, но в существующей архитектуре сделать это оказалось практически невозможно.  Хотим поделиться своим опытом, как сделать такой проект проще.

Читать далее

Как баг с потерянными днями рождения привёл нас в историю СССР

Время на прочтение2 мин
Охват и читатели14K

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

Читать далее

Backend-for-Frontend: когда простого API не хватает

Время на прочтение3 мин
Охват и читатели86K

Технология Backend-for-Frontend упрощает разработку сервисов, с которыми одновременно работают множество разных клиентов: компьютеры, смартфоны и планшеты со всеми возможными ОС.

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

Читать далее

Как работают и где применяются бессерверные вычисления (Function-as-a-Service)

Время на прочтение4 мин
Охват и читатели6.3K

Serverless-вычисления и работающие на их основе решения Function-as-a-Service помогают разработчикам развивать продукты, ориентируясь на бизнес-фичи. Мы поэкспериментировали с этими технологиями и пришли к выводу, что для боевого применения существующие решения сыроваты. Пойдём по порядку.

Термин «бессерверные вычисления» отчасти вводит в заблуждение – конечно, в основе продукта сервера остаются, но разработчикам не приходится о них заботиться. По сути своей Serverless продолжает те же идеи виртуализации, что и более ранние aaS-технологии: позволить команде сосредоточиться на коде и развитии функций. Если IaaS – это абстракция оборудования, контейнеры – абстракция приложений, то FaaS – это абстракция бизнес-логики сервиса.

Читать далее

Как технологический радар помогает осознанному развитию корпоративной ИТ-экосистемы

Время на прочтение5 мин
Охват и читатели6.2K

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

Читать далее

Информация

В рейтинге
542-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность