Общий Лисп:Как лучше всего использовать библиотеки в среде общего хостинга?

StackOverflow https://stackoverflow.com/questions/728500

Вопрос

Я думал об этом на днях и хотел узнать, что скажет сообщество SO по этому поводу.

В настоящее время Common Lisp привлекает некоторое внимание как платформа веб-разработки, и на это есть веские причины (в чем, я уверен, вы уже убедились).

Мне было интересно, как можно использовать библиотеку в общей среде аналогично PHP.

Если я настрою что-то вроде SBCL в качестве интерпретатора для интерпретации файлов FASL, таких как Python или PHP, какой будет лучший способ использовать библиотеки (например, clsql например).

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

Имейте в виду, что это касается общего хостинга;было бы лучше..

1) Установите общесистемные копии библиотек для использования в приложениях;уменьшает место, но могут возникнуть проблемы с использованием правильной версии библиотеки.

2) Разрешить пользователям (через панель управления) устанавливать себе локальные копии;больше места, нет проблем с версией.

3) Скажите им, чтобы они завернули его в модуль и загрузили по требованию, как это делает Python (я не уверен, можно ли и как это сделать с помощью Lisp).Лучшим вариантом было бы просто загрузить библиотеку для использования, но я не думаю, что многие из них предназначены для использования таким образом.

В любом случае, жду вашего мнения, спасибо.

Это было полезно?

Решение

Я бы посмотрел на это двумя способами:

  1. запускать Лисп для каждого запроса

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

  2. запустите Lisp и позвольте интерфейсу (веб-браузеру, другому веб-серверу...) подключиться к нему

    Таким образом, вы можете запустить сохраненное изображение или Lisp, который один раз загружает кучу данных и обслуживает запросы.

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

Поэтому может быть полезно предоставить предварительно настроенные образы Lisp, содержащие необходимое программное обеспечение, или позволить пользователю настроить и сохранить образ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top