Запускать бота в продакшн под screen это жесть. Лучше бы показали как для systemd сделать небольшой конфижек и запустить как демона, с рестартами логами и прочим.
А вообще идея с использованием JSCL прикольная. У меня для Reblocks иногда приходится писать какой-нибудь JS код, но я для этого использую Parenscript.
Скажи, а как у тебя реализована работа с DOM на стороне клиента? Вызов стандартных JS функций и тд. Я бы с удовольствием тоже заиспользовал JSCL вместо Parenscript.
Попробуй добавить свой проект на мой Ultralisp.org. Там dist будет обновляться сразу после пуша в Git репозиторий.
А ещё хочу упомянуть пару библиотек – Reblocks (она позволяет писать всю бизнес-логику на Common Lisp и запускает её на бэкенде, а на фронт отдаёт команды, как поменять DOM дерево), а так же CLOG – она вроде больше похожа на твой OMGlib, только более продвинутая на данный момент.
Да, забыл сказать. С недавних пор Ultralisp поддерживает не только формат метаданных Quicklisp, но и CLPI. CLPI, это альтернатива Quicklisp, формат данных используемый в Common Lisp Package Manager (https://www.clpm.dev/)
Более того, Ultralisp автоматически настраивает вебхук в проекте на GitHub, и собирает новую версию диста, как только ты запушишь изменения.
А ещё, в нём можно делать свои "дисты". Например ты в такой дист можешь включить форки каких-то библиотек, которые нужны только тебе. В общем дисте они не будут видны.
К примеру, в такой дист я начал собирать расширения для Lispworks: https://ultralisp.org/dists/lispworks В Quicklisp их в принципе не включат, потому что туда включают только проекты, которые компилируются под SBCL.
Я на Common Lisp пилю аналог питоновского PyPi: https://ultralisp.org. Это хостинг для более чем тысячи CL библиотек, куда можно в несколько кликов добавлять новые прямо с GitHub.
Ну и ещё есть на гитхабе десятки небольших CL библиотек в организации https://github.com/40ants/, если конечно можно считать их pet-прожектами.
У меня асусовский роутер умеет ресолвить хосты типа my-printer.local в правильный IP.
Годятся ли для этих задач конструкторы ботов, или надо код писать?
Чего только не придумают, лишь бы Лисп не использовать!
Вероятно статью писала нейросеточка.
Запускать бота в продакшн под screen это жесть. Лучше бы показали как для systemd сделать небольшой конфижек и запустить как демона, с рестартами логами и прочим.
Последняя демка выглядит особенно круто.
Жду продолжения!
Знаю, сам использую SBCL. Просто часто Lisp причисляют к мёртвым языкам.
Не понимаю, почему в списке нет LISP? Он не такой уж влиятельный? Или пока ещё не мёртвый?
Хочешь ещё поугорать – начни изучать Common Lisp. Лет через 10 сможешь и про него такую же статью написать, даже пожалуй похлеще :)
О! Спасибо!
Скрестить бы create-element с Spinneret и LASS – цены бы ему не было!
А вообще идея с использованием JSCL прикольная. У меня для Reblocks иногда приходится писать какой-нибудь JS код, но я для этого использую Parenscript.
Скажи, а как у тебя реализована работа с DOM на стороне клиента? Вызов стандартных JS функций и тд. Я бы с удовольствием тоже заиспользовал JSCL вместо Parenscript.
Да, сейчас Ultralisp.org действительно не выкачивает GIT сабмодули и я не натыкался на проекты которые бы не работали из-за этого :)
Думаю это не сложно будет поддержать. Попробую добавить на днях.
Попробуй добавить свой проект на мой Ultralisp.org. Там dist будет обновляться сразу после пуша в Git репозиторий.
А ещё хочу упомянуть пару библиотек – Reblocks (она позволяет писать всю бизнес-логику на Common Lisp и запускает её на бэкенде, а на фронт отдаёт команды, как поменять DOM дерево), а так же CLOG – она вроде больше похожа на твой OMGlib, только более продвинутая на данный момент.
Нет бы сразу Common Lisp использовать и не изобретать с нуля то, что известно человечеству уже лет 50.
Когда настоящий синьор пишет код, Чак Норрис тихо плачет в сторонке.
Если настоящий синьор допускает баг, то заказчик тут же признаёт, что это фича, которую он давно хотел.
Синьор делает так:
Узнает о проблеме
Локализует проблему
Фиксит проблему
Пишет про проблему в блог или на Хабр, чтобы Google смог проиндексировать страницу и показывать её в поиске джунам :)
"Звонили автодозвоном", чтобы что? Как это им помогло бы?
Да, забыл сказать. С недавних пор Ultralisp поддерживает не только формат метаданных Quicklisp, но и CLPI. CLPI, это альтернатива Quicklisp, формат данных используемый в Common Lisp Package Manager (https://www.clpm.dev/)
Да именно так.
Более того, Ultralisp автоматически настраивает вебхук в проекте на GitHub, и собирает новую версию диста, как только ты запушишь изменения.
А ещё, в нём можно делать свои "дисты". Например ты в такой дист можешь включить форки каких-то библиотек, которые нужны только тебе. В общем дисте они не будут видны.
К примеру, в такой дист я начал собирать расширения для Lispworks: https://ultralisp.org/dists/lispworks В Quicklisp их в принципе не включат, потому что туда включают только проекты, которые компилируются под SBCL.
Я на Common Lisp пилю аналог питоновского PyPi: https://ultralisp.org. Это хостинг для более чем тысячи CL библиотек, куда можно в несколько кликов добавлять новые прямо с GitHub.
Ну и ещё есть на гитхабе десятки небольших CL библиотек в организации https://github.com/40ants/, если конечно можно считать их pet-прожектами.