wiki:Analytics_2019

Version 2 (modified by andy, 5 years ago) ( diff )

--

Аналитикс 2019

Эти работы предлагались и раньше, под соусом "закрытия", "консервации" или "предпродажной подготовки" Аналитикса.

План работ подразумевает отсутствие новых фич, приведение существующих фич в нестыдный вид и опенсорс бОльшей части аналитикса (за исключением рассчётов, коллектора и фреймов)

Решаемые проблемы:

  • замедление разработки из-за
    • глупых ошибок (необходимость ручного прогона и заглядывания в лог на предмет cannot find property 'foo' of bar)
    • отсутствия тестов и инфраструктуры CI/CD
    • ручного редактирования в "ноутпаде" вместо IDE
    • морально устаревшей инфраструктуры (jQuery, Socketstream, Socket.io и т п)
    • неподдерживаемой инфраструктуры (jQuery, everyauth, jQuery Templates, Socketstream)
  • перфоманс
    • медленные клиентские чарты
  • хрупкость кода
    • инкрементальные рассчёты
    • коллектор падает целиком при отказах бирж
    • поломки при обновлении системного ПО
    • старый JS до yield и await
  • наколенные постоянно ломающиеся самоделки
    • персистенс
    • канал между коллектором и бэкендом
  • проблемы UI
    • самодельная модель
    • устаревшие и некрасивые виджеты jQuery UI

Предлагаемые технические решения

  • новый кол на TypeScript и C# (глупые ошибки)
  • Azure Pipelines (CI)
  • VS2019+ (ручное редактирование)
  • meteor, React, RxJS (устаревшая и неподдерживаемая)
  • svg-charts (перфоманс)
  • ES2019 с даунгрейдом через TypeScript по необходимости (старый JS)
  • Akka.net, Sentry.io и circuit breaker pattern для коллектора
  • Gearman и MQTT (вместо наколенных протоколов)
  • RxJS вместо моделей
  • React вместо ручного изменения DOM в jQuery (TSX поддерживается студией!)
  • leveldb для персистенса фрейма и qdb
  • react-компоненты вместо jQuery UI

План работ

Note: See TracWiki for help on using the wiki.