дневники разработчиков

Релиз 1.2 – Про скорость, баги и "подкапотную" магию

Оптимистичный UI и исчезнувшие 6300 пикселей
Продолжаем рассказывать об осенних обновлениях. Если релиз 1.1 был про "красиво и понятно", то 1.2 — про "быстро и надежно". Мы завершили редизайн в разделе «Подбор специалиста» и серьезно поработали над производительностью.

Скорость на кончиках пальцев

Надеемся, вы уже успели заметить, что добавление специальностей и работа с формами стали работать сильно быстрее. Чтобы этого достичь мы сменили подход на фронтенде.
  • Сергей
    лид-фронтенд StarsMap
    Мы используем оптимистичные обновления. Это значит, что мы обновляем данные в интерфейсе еще до получения ответа от сервера. Пользователь видит результат мгновенно. Если вдруг сервер вернет ошибку (что бывает крайне редко), мы просто откатим интерфейс назад. Это безопасно и создает ощущение очень быстрого приложения

История одного бага: 6300px

В процессе рефакторинга мы наткнулись на эпичный баг в Личном кабинете, который растягивал страницу до бесконечности.
  • Сергей
    лид-фронтенд StarsMap
    Страница использовала табы Angular Material, у которых по умолчанию нет ограничения по ширине. Большое количество навыков раздувало контент буквально до 6300 пикселей. Мы это исправили. Вывод для нас: нужно тестировать объемы данных, которые превышают стандартные. То, что работает на демо-данных, может "поплыть" в реальной жизни.

Бэкенд: точность и порядок

Беспощадной оптимизации (хотя, как мы с вами знаем, оптимизировать можно бесконечно) подверглась работа с данными. Например, расчет уровня соответствия специальности теперь округляется до десятых.
  • Дима Б.
    бэкэнд-разработчик StarsMap
    Почему это важно делать на бэкенде? Хорошей практикой считается только отрисовывать данные на фронте, а не изменять их. Иначе логика "размазывается" по системе, и поддерживать такой код становится сложно.

Важное про безопасность: куда делся Excel?

Вопрос для внимательных: где у нас использовался Excel?
Ответ – в выгрузке навыков. Но сейчас его нет. Но позже он обязательно вернется (От Экселя так просто не избавиться, ). Мы временно убрали кнопку выгрузки всех навыков, чтобы подготовиться к переходу на более стабильные SaaS-рельсы и связанные с ними особенности работы продукта.
  • Настя Г.
    продакт StarsMap
    Ранее выгрузка включала данные всех организаций внутри контура, что недопустимо для облачной версии. Сейчас мы внедряем новый сервис авторизации. Выгрузка вернется, как только мы обеспечим полную изоляцию данных. Безопасность для нас приоритетнее, чем старая фича ручной обработки файлов.

Что в итоге

Почистили код, ускорили интерфейс и навели порядок в процессах деплоя (теперь прод и дев строго разделены). Всё для того, чтобы вы могли навести порядок в компетенциях своей команды и делать это было максимально приятно.
StarsMap 1.2 уже в строю, заходите, проверяйте!

ПС. Если что, не стесняйтесь сообщать нам о найденных ошибках.

Другие новости