All streams
Search
Write a publication
Pull to refresh
19
0
Мулюкин Алексей @alexprey

Веб разработчик

Send message

А мы пошли обратным путем (https://m.habr.com/ru/company/arcadia/blog/498032/) и позволили пользователям продолжать работу в экселе по редактированию данных и настройке бизнес рассчетов. А вот визуализацию, анализ данных, сложные рассчеты оптимизировали на бекэнде и выдавали в более удобном виде для клиента, которому интересен лишь результат и красивая картинка.

Думаю, что тут имелось ввиду не только перезагрузка, но и диагностика неисправного состояние и принятие мер по их устранению

Очень давно юзаю гит экстеншен. Все очень даже неплохо и удобно

Пользовали коробочный гитлаб на крупном проекте, в котором реквесты были по 100 изменнных файлов. Полет нормальный, особенно на последних версиях. На битбакете (тоже коробочный) тоже неплохо, но сам процесс дискуссии изменений хромает в отличии от гитлаба. Но и мы не на последней версии конечно (

На самом деле наше решение рассматривалось в качестве основы (https://github.com/sveltejs/language-tools/issues/11), но отказались в итоге из-за отсутствия поддержки тайпскрипта. Но к сожалению, я заметил это уже довольно таки поздно.
Сейчас удалось вновь вернуться за разработку модуля, пофиксить ряд интересных багов и взглянуть на задачу с тайпскриптом и возможно тогда сможем вновь поднять эту тему на счет приведения ее статуса в оффициальный.


не без шероховатостей

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

На сколько я знаю текущая реализация svelte2tsx весьма сырая и интеграция с language server весьма слабая. Я как один из разработчиков svelteintellisence так говорю, потому что пользовал оба решения на проектах. Однако у нашего есть проблемы с поддержкой тайпскрипта и это правда печально(
Недавно я добавил себе задачу на реализацию поддержи тайпскрипт компонентов, но честно говоря не до конца понимаю его роль в рамках svelte компонента. Только для типизации пропсов или есть еще причины его использования?

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

Круто, сам долго искал способ как наладить работу клавиатуры на русском и английском. Пока что остановился на приложении free physical keyboard.
Моя клавиатура содержит кучу доп. клавиш, интересно, можно ли их как-то тоже настроить таким способом?

На сколько я помню и понимаю, OpenXML — это формат записи данных документов, который используется последним офисом. В чистом виде SDK не использовали, т.к. предоставляет слишком низкоуровневый API для работы с документами, мы бы потратили кучу времени только на понимание API, чтобы только прочитать формулы.
Первоочередной задачей было найти готовые библиотеки уже со встроенным функционалом для расчета формул Excel. OpenXML — такое не предоставляет. Возможно, можно было бы переключиться на использование SDK для чтения формул. Это повлияет только на время инициализации вычислений — это неплохо, но не критично, т.к. инициализация в данном случае будет происходить редко, только при смене исходного файла.
Тут получается, что пользователь меняет конфигурацию и цену надо отображать в реальном времени, пользователь может играться с параметрами, непрерывно их меняя, отсюда и может возникнуть пик.
Плюс второй кейс, когда надо делать глобальные расчеты на большой выборке входных данных, для оптимизации параметров и характеристик конфигурации, чтобы сделать систему рекомендаций.
как для балконщиков может 50мс за проход быть плохим результатом?

Тут есть нюанс, мои результаты для простой формулы описаны, где речь идет о 10 входных и 5 вычисляемых ячейках. И даже на этом простом примере при незначительном усложнении, производительность сильно падает. Завершения прогона тестов мне приходилось ждать около часа, хотя рассматривал всего лишь 10000 входных значений.
В реальности это огромная таблица на 6-7 вкладок с кучей зависимых вычислений, и более 100 входных параметров, что дает более 100000 различных вариаций входных данных. Я не думаю, что пользователь готов ждать больше часа, чтобы увидеть предложения по улучшения качества продукта :)
К сожалению, на момент проведения исследования оригинального входного файла у нас не было, были только словестные описания, но в целом этого достаточно чтобы понять в какую сторону двигаться.
Как-то слишком круто, как по мне, вышло для фирмочки, которая делает балконы)

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

Не думали просто установить excel на сервер, и через dde забрасывать значения?

Этим как раз таки и занимается Excel.Interop библиотека, она запускает headless режим Excel и туда загоняются данные и потом обратно вытягиваются. Даже на простых кейсах производительность убитая.

И, кстати, в свое время одни ребята даже продуктовую компанию основали jobs.dou.ua/companies/betengines на основе своего движка для расчёта букмекерских алгоритмов заданных в Excel файлах.

Ого, не видел такое, круто! Это может говорить о том, что мы пошли правильным путем :)

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

Совсем недавно на проекте также проводил исследование на тему работы с excel из dotnet. Правда задача стояла немного другого плана — проводить вычисления через excel файлы.
Что на счет библиотек EPPlus и Spire.net?

Почему в качестве конфигурации тенантов файл, а не отдельная общая бд + кеш? Это было бы проще чем распростронять файл по куче серверов

А теперь представь тысячи клиентов на одном бд сервере)

4g редкость, качественный 4g без потерь связи еще меньше. Особенно когда рассматривается покрытие аудиторией по всему миру.
Проблем с поддержкой никаких нет. Процесс выбора данной технологии у нас на проекте остался за кадром, но наша команда подхватила идею и начали активно ее развивать. Сейчас практически все новые функции пишут с участием svelte. Проект у нас очень старый и там накопилось много legacy кода, на разных стеках технологий. Переделка шагом за шагом функций на svelte занимает немного времени за счет компонентности. Но это же и доступно в реакте и вью. Только получаешь на выходе легковестный пакет, где находится только то что необходимо пользователю в данный момент. Из за этого время до первого рендера экстремально маленькое.
По поводу обучения новых сотрудников: никаких проблем, как тимлиду приходилось мне учить новеньких на проекте не знакомых с данной технологией, никаких проблем с этим нет, 2 часа воркшопа простенького и пару часов на поиграться лично. Пока что особо невероятных проблем не испытываем. Раньше испытывали ннхватку интелисенса, но исправили данный нюанс своим плагином для vs code :)
https://marketplace.visualstudio.com/items?itemName=ardenivanov.svelte-intellisense

Вообще все минусы перечисленные в статье высосаны из пальца. Особенно понравился пункт: взяли говвй ui kit не на свелте, и он не заработал. А чего вы хотели?
Да согласен, что сейчас все очень туго с готовыми наборами дизайнов, и тяжело это использовать для быстрого старта нового проекта, в одиночку. В случае с продуктовой разработкой ui kit никак не поможет, т.к. всегда приходят требования по дизайну что проще сделать новый компонент.
Собственно на нашем проекте уже давно используется 2 версия, в планах переход на 3. За все время уже насобиралась внутреняя библиотека компонентов и создание новых страниц — это сказка. Все работает быстро, бандлы получаются мизерными.

С таким же успехом равномерно распределяются и обычные числа из функции рандома

Очень радует, что тестирование слоя взаимодействия с БД приобретает все большую популярность. Было дело и мы задались этим вопросом для связки C# + MySql. Но подход в инициализации данных использовали другой, хотелось обеспечить не только возможность параллельных сборок, но и параллельного запуска тестов. Да и кол-во схем баз данных, очень далеко не равно 1. Поэтому мы подошли к этому процессу несколько иначе. Можно тут почитать статью: https://habr.com/ru/company/arcadia/blog/304322/
Очень порадовал момент с тестированием апдейтов и роллбеков.
Интересует вопрос производительности еще

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity