Юрий Бурыкин. Небольшой микросервис для решения простых вопросов, недорогой BI для всех

27.05.2025 15:17:22   Инфобот (Infostart)    65

После года интенсивной работы в управленческой базе 1С накапливается большое количество информации. Алчные до анализа аналитики загружают разработчиков 1С большим объемом работ по созданию разных отчетов из базы данных. Это нужно, чтобы получить крупицы «золотой» информации, необходимой для принятия правильного управленческого решения. Как результат, загружены разработчики, нагружено железо, перегружены регистры, чешут голову администраторы по железу..... бюджет поддержки такой системы летит к небесам… Расскажем о том, как выгрузить данные из 1С в BI и передать настройку произвольных отчетов в руки аналитиков и юниор разработчиков, чтобы они сами могли вывести отчеты и взаимосвязи с помощью Yandex datalens.
Доклад в виде статьи: https://infostart.ru/pm/2396729/

Категории:
 Управление проектом

Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. acvatoris 565 28.05.25 11:58 Сейчас в теме
Прикольно, что программисты 1С начинают писать софт на других языках программирования.
Я сам бывший 1С-ник. 1С-у отдал более 10 лет своей жизни :).

Хоть на данный момент я 1С вообще в своей жизни никак не использую, все же слежу за одинэсными новостями.

Хочу прокоментировать некоторые моменты данной презентации, которые для меня показались достаточно странными.

Выбор технологий.
Если изначально было требование разработать софт по управлению интеграции обмена данными на open source технологиях, то зачем в таблицу сравнения языков
программирования (php, 1C , Go) - был добавлен 1С?
На мой взгляд, нужно было бы добавить еще парочку каких-нибудь языков, например JavaScript (nodeJS), Ruby, Rust, Java, Python.
Провести анализ, по каким критериям они вам подходят, а по каким нет. Потом сказать, что это все фигня, мы хотели просто пощупать Golang.

Если мы проанализируем анализ "преимуществ" и "недостатков" php и go, то на мой взгляд критерии сравение не совсем правильные.
Думаю что нужно сравнивать по одинаковым показателям, а не по разным. На слайде видно, что первое преимущество php - это "простота освоения",
а первое преимущество у go - "Производительность и надежность" - это как? Go - тоже прост в освоении (там всего около 25 зарезервированных слов) , a php - производителен и надежен.

Второе качество php - доступный - это как :)? А с Golang как дела обстоят - он какой доступный или нет? И хотел бы узнать, что означает показатель "доступный"?

Преимущество Go - компилируемый - очень странное премущество. Предположим, что бы вы выбрали бы PHP. Какую версию php вы бы использовали для вашего обмена? Думаю, что не 5 или 7, а как минимум 8.2 ,
а может даже 8.4. Начиная с версии 8.0 в php создали механизм (JIT Just-In-Time compilation) - это механизм, когда байт код в zend движке, компилируется в машинный код, а не интерпретируется построчно.
Так, что можно сказать что php тоже стал компилируемым.

У Go - одно из преимуществ - не нужно подымать веб сервер, но это является недостатком в php. PHP можно использовать в режиме cli приложения, в этом случае нам веб сервер не нужен.
У PHP - недостаток - не выдерживает большое количество запросов. Тогда нужно было бы тут упомянуть об rps (response per second) - количество запросов в секунду.
Но докладчик даже не упоминает даже об этом параметре.
скрипт
<?php
echo "Hello world"; - ожидаем 5000 - 20000 RPS , аналогичная программа на Go 50000 - 100000 RPS

а такой 500 - 2000 RPS , Go 2000 - 10000 RPS
<?php
$db = new PDO(...);
$row = $db->query("SEL ECT COUNT(*) FR OM users")->fetch();
echo $row[0];

возьмем минимум - 500 запросов в секунду - это мало? А какие у вас нагрузки?

Go - нужно изучать, а PHP типа не нужно ? Или у вас в команде уже есть разрабочик с опытом разработки на PHP? Этот пунт, тоже очень странный.

Основное премущество Go - в том, что у него есть многопоточность, чего нет у php. И с этой многопоточностью просто работать.

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

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

На мой вгляд, если вы выбирали между производительностью и количеством разработчиков на данной технлогии, то JavaScript (nodeJS) - был бы отличным выбором.


Перехожу к слещующему пункту :). А нужно ли нанимать нового разработчика ? - эта фраза произноситься достаточно часто в докладе. В начале презентации, решили не нанимать, а действовать своими силами,
а в конце типа уже нужно нанять. И вот тут уже начинается самое интересное.
Если мы посмотрим средние зарплаты по языкам программирования в разрезе квалификации разработчика (junior, middle, senior) https://habr.com/ru/companies/habr_career/articles/839252/
(анализ хабра 2024 год), то можно увидеть,что запралата мидла Go примерно на 60000 выше чем мидла php. Ведь вы же наймете мидла, правильно, сеньор для вас слишком дорогой, ну а с джуном,
каши не сваришь. Вопрос, а кто будет платить лишние 60000 , за то что у вас программа на go работает на 1 секунду быстрее чем на php? Думаю, что должен платить тот, кто ошибся в выборе техногии.

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

Если же выбрали Go - программой в 200 строк кода вместе с комментариями + предоположим мидла на поддержку за 360000 - чтож круто :).


Перехожу к следующему пункту :) - Переход в yandex облако. Я не то чтобы против хранения данных в облаках, но все же нужно понимаить какие данные мы там храним, какая у нас политика конфидициальности,
и клиенты должны знать что их данные хранятся у третьих лиц.

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

Попытка 1Сников внедрять у себя стороние технологии, очень похвальная, но им нужно еще работать и работать над этим процессом. 200 строк кода на го - вызывает у других разработчиков 1С дикий восторг.
Этот код на го, можно сравнить с рисунком ребенка, который хвастается своим шедевром перед другими детьми, а на рисунке кривой домик.
Но зато есть повод для доклада.

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

Удачи в разработке на Go!
Оставьте свое сообщение
Ирина Шишкина. Харизма руководителя проекта
Мария Темчина. PI-планирование в SAFe: как несколько команд могут вместе работать по Agile над одним и тем же продуктом?
Григорий Шатров. Формирование MVP продукта. StoryMapping
Евгений Грибков. Как системно улучшить навыки общения техническим специалистам? Применение типологии DISC в проектах
Клавдия Макарова. Проект в бюджете, вовремя, качественно – выбери два из трех или «Заверните всё, пожалуйста»
Наталия Брагина. Как командой быстро принимать сложные решения? Метод многократного ускорения обсуждений с помощью раундов и консента
Егор Ткачев. Мастер класс: STATIC для Discovery
Егор Ткачев. Discovery: Между идеей и бэклогом
Егор Ткачев. OKR: «с чем его едят» и с чего начать применять
Александр Чавалах. Анализ бизнес-ценности требований в контексте заинтересованных сторон