KoderLine
KoderLine
Обслуживание и внедрение
программного обеспечения
Киев

Статьи экспертов

Полезная информация

Карманный fresh, отладчик по http, и все, все, все

0
208
15.05.2020 Ольга Приходько

Несколько лет назад веб-разработчиками, специализирующимися на Битриксе, применялась простая и быстро разворачиваемая веб-среда Денвер, чтобы осуществлять отладку ресурса. Данная среда состоит из программы, выполняющей автоматический разворот и настройку связки необходимых для функционирования ресурса на Битриксе «строительных блоков» PHP, Apach (веб сервер), MySQL (база данных), которые также являются частью Денвера. Это является достаточно полезной вещью и станет верным помощником для тех, у кого отсутствуют знания в сфере администрирования, Денвер поможет сберечь большое количество времени и сил.

Сегодня Битрикс претерпел изменений, он поставляется пользователям с целой бесплатной Битрикс: Виртуальная машина, которая разворачивается на сервере и может применяться как способ настройки ресурса, а также для функционирования в боевом режиме. В состав данной машины входит не только обычное сочетание Php, Apach, MySQL, а и всецело настроенные компоненты под функционирование ресурса ОС Linux, почтовый сервер и множество прочих необходимых для web компонентов.

На минувших семинарах 1С:Підприємство создатели Fresh сообщили, что они стали обладателем собственного карманного Fresh – тестовой среды для программистов, отчетов, обработок, расширений под Fresh. И это отлично, ведь Fresh считается родней веб-ресурсам и приложениям, помимо традиционной платформы ПО. Воплощен он в точности, как и у Битрикса в качестве образа, который может разворачиваться на сервере. VM может создаваться с помощью скриптов, которые входят в поставку карманного Fresh. Вообще под Линукс имеется готовый образец, в который входят:





Однако для возможности указания использования на тестовом стенде стандартной настройки либо личной потребуется внесение изменений в скрипты, которые создают образ, следовательно, основанная VM будет иметь отличия от заранее настроенной, поставляемой изначально.

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

После объявления о данном продукте появился интерес к его функционированию. В частности относительно настроек, установки и самого Fresh изнутри, тем более что в процессе презентации было объявлено, что ознакомиться со всем этим можно за 10 минут.

На презентации было выявлено, что специального ПО под Windows, о котором было объявлено, нет, поскольку затруднительно оснащение всеми требуемыми компонентами от Microsoft в связи с лицензионными ограничениями. Следовательно, все требуемые элементы должны быть установлены на компьютер предварительно. Стоит отметить, что под Linux на машине, на которой осуществлялась демонстрация карманного Fresh, все необходимые элементы были установлены: сервер базы данных, веб сервер. По словам системного архитектора компании 1С:Підприємство Никиты Зайцева, это было выполнено для быстрой демонстрации.

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

Зайцев не был согласен, объясняя, что представляют собой разделители областей, политика конфиденциальности для клиентов Fresh. Однако после была запущена настройка, подключена отладка сформированной в пробном стенде базы. Все это имело весьма привлекательный вид, отладчик быстро передвигался по строкам обработчика открываемой формы, в определенное мгновение показалось, что это не база, крутящаяся на специальном ПО под Linux, а традиционная файловая база исправляется.

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

Через определенный промежуток времени после показа было сообщено, что в версии 8.3.7 был добавлен новый вид отладки: настройка по протоколу http. Зайцев мог не создавать сбой сервера, а лишь пояснить процесс работы данной отладки.

Создание отладки по http было выполнено больше для создателей Fresh и мобильных приложений. Это связано с тем, что без данных средств отсутствует вероятность осуществления исправлений.

Поиск ошибок по http в 1С:Підприємство обычными программистами весьма пламенно обговаривается. Это связано с тем, что прикладное решение с программой поиска ошибок не подсоединяется прямо к исправляемой базе, они работают сообща с помощью специального отладочного сервера (протокол http). Кто-то считает, что http является надстройкой над протоколом TCP, с помощью которого функционирует традиционная программа исправления ошибок, следовательно, отсутствуют какие-либо преимущества для подсоединения, а вспомогательный сервер лишь тормозит функционирование программы.

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

Настроить работы настройщика с помощью протокола http в 1С:Підприємство не слишком сложная задача. В файловой версии эта работа была выполнена за 5 минут.




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



Указание в настройках окна клиентского сеанса данного адреса:



Вслед за тем выполняются стандартные операции, представленные настройкой предметов отладки, которые тут появятся в окне доступных к подсоединению. Все как указано в документах.

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




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

Требует внимания новая возможность исправления ошибок – окошко «Локальные переменные», где в автоматическом режиме отображаются все значения переменных, указанных в параметрах и в теле выполняемой под отладчиком процедуры.





Принцип функционирования этого механизма имеет отличия от того, который указывается в документах. Сказано, что переменные простых типов могут быть изменены прямо в строке. Однако этот способ не действителен, внести изменения можно лишь с помощью контекстного меню «Установить новое значение в виде выражения».




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

К серьезным спорам в сообществе приводит применение асинхронных вызовов при получении и установке переменных в процессе отладки. Иногда это прекрасно, поскольку программа остается свободной в течение 10 минут при получении огромной таблицы значений, а в некоторых случаях нет точного понимания – в таблице отсутствуют значения либо они еще полностью не загружены.

Однако со временем все споры, которые появляются относительно пользы нового механизма отладки, сойдут на нет, поскольку создатели площадки 1С:Підприємство уберут старый процесс идентификации ошибок по TCP и для пользователей будет доступен лишь один вариант. А это значит, что каждому из нас необходимо осваивать и привыкать к новому механизму, чтобы наша продуктивность не оказалась нулевой в самый неподходящий момент.