Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Отладка и диагностика
Для отладки веб-приложений наиболее ценны следующие возможности:
n Возможность получения дампов данных, имеющих сложную структуру. Для этого в Perl и в Python есть стандартные модули Data::Dumper и pprint, соответственно (кроме того, в Python «правильно» спроектированные объекты сами «знают», как вывести себя в виде строки). Следует отметить, что в Python есть ещё и возможность интроспекции, позволяющая получать списки атрибутов объекта, зависимости классов и прочую информацию о структуре программы, библиотек, модулей. Этот механизм тесно интегрирован с механизмом исключений, что придаёт всему конгломерату дополнительную мощь. Perl поддерживает некое подобие этой функциональности в классе UNIVERSAL.
n Возможность получения стека вызовов. И в Perl и в Python для этого имеются инструменты, кроме того, Python выдаёт эту информацию по умолчанию, а mod_python отображает эти сообщения непосредственно в окне браузера, при включённой диагностике (включается в настройках сервера). Имеются и более «продвинутые» средства визуализации информации об ошибках (cgitb), а также развитые средства протоколирования (модуль logging поддерживает уровни значимости сообщений, способен направлять сообщения не только в файл, но и по электронной почте и другим протоколам, способен сам осуществлять ротацию файлов-протоколов и многое другое).
n Возможность отслеживания и анализа исключений. В Python встроен развитый механизм обработки исключений, в Perl практически то же самое можно получить при умелом использовании eval и die с аргументом-объектом, но это довольно искусственный приём, который всё равно не позволяет достичь возможностей Python.
Кроме того, и mod_perl и mod_python имеют модули для анализа настроек сервера и интерпретатора. Необходимо просто подключить в качестве обработчика запросов готовый модуль, и при запросе вы будет получать веб-страницу с полным описанием настроек сервера, интерпретатора и загруженных модулей.
Здесь mod_python тоже приготовил приятные сюрпризы. Например, вы сразу же (тут же, в окне браузера) можете посмотреть error_log, причём именно того виртуального хоста, на котором работаете.
Дополнительные функции
И mod_perl, и mod_python может предоставлять программисту более высокоуровневые интерфейсы, позволяя ему не задумываться о внутреннем устройстве сервера Apache.