Зависит от требований а) к шаблонам б) к документам в) к нагрузкам. Шаблонизация в Word ограничена возможностями, но позволяет создавать печатные или стандартизированные документы. PHP-шаблонизаторы почти не имеют ограничений в логике, но чтобы выдать из них DOC / PDF заданного формата, скажем, по образцу или стандарту организации, придется повозиться.
Мне встречалась ситуация, когда для генерации корректного документа по гос. образцу к Linux-серверу подключали Windows машину, где с шаблонами работал MS Word определенной версии, поскольку все остальное их ломало. Сталкивался, когда подключали OpenOffice / UNO, тоже из-за сложности документов. Видел наложение PNG на PDF.
Еще один момент, который стоит учесть, это нагрузки — PHPOffice грешат прожорливостью. В этом отношении встречал и гибридные варианты, когда люди разбирались в устройстве XLSX / DOCX, делали корректный шаблон в Word, и руками заполняли тексты в XML, запаковывая обратно в ZIP.
Никита Каргин, решение простое, в режиме пониженного энергопотребления драйвер не предоставляет необходимые функции. Смотрите настройки энергосбережения видеокарты.
Да, FanatPHP прав, на самом деле никакие ключи доступа и никак не защищаются. Есть попытки такую защиту реализовать, например, привязкой к определенному клиенту, вроде как Secure Cookies или шифрование для защиты от перехваты посередине, но фактически, ни один механизм защиты не спасает от взлома, если злоумышленник получил доступ к серверу или клиенту — он может воспользоваться любыми ключами доступа где бы то ни было хранимыми. Можно усложнить жизнь злоумышленнику, обновляя токены или, действительно, храня в памяти, но доступ к машине это последний рубеж.
Контент в любом случае перейдет через Ваш сервер. А проще всего реализовать передачу через веб-сервер, с nginx например. Через PHP / Python Вам достаточно скачать файл, можно в потоке, и выдать его клиенту.
Вы же jQuery используете, лучше завязывать события на нее.
$(document).ready(function() {
$('#telephone').on('blur', function (event) {
let val = $(event.target).val();
// логика
});
});
Второй момент, есть же отладчик. В консоли браузера (вкладка Sources, ищите) поставьте точку остановки в начале функции, и пройдитесь по шагам, что и где получается. Моментально найдете решение тривиальной рабочей ситуации.
Dimonchik, у меня не хватает знаний о работе сетей, лишь приблизительно понимаю, что WSL2 работает в другой сети, а смущает, что открытые порты из Docker — видны в Windows, но общая сеть — нет. Если ответ найду, приведу здесь, т.к. думаю люди сталкиваются с подобной ситуацией, не часто, но это вполне рабочий момент.
Василий Банников, ну это такое, знаете. Возможностей там предостаточно для инди-проектов, а проекты ААА-уровня он, конечно, вряд ли вытащит. Хотя сейчас рендер подтягивают, в т.ч. на грант от Epic — со дня на день релиз 4-й версии с поддержкой Vulkan.
Но подкупают все же его архитектура и простота: лаконичный API, продуманный и дружелюбный редактор, прекрасная система узлов — тут у Godot конкурентов может и нет. И несмотря на миниатюрность, возможности выдающиеся.
Сегодня вряд ли можно найти что-то лучше Godot для небольшой игры своими силами. Unreal, Unity, конечно, сильнее, но имеют некоторые лицензионные ограничения, да и тяжеловесны. Причем, многие вещи в Godot сделаны сильно не хуже, а то и лучше, чем у крупных движков.
Вы ведь пока не до конца понимаете, что такое сайт? Это ведь приложения, что пишутся индивидуально. Своя структура данных, своя логика. Не существует универсальных систем управления. Если это не CRM-движок, конечно. Да и те под индивидуальные нужды затачиваются, теряя универсальность. Вот поэтому не советую смотреть курсы и уроки, лучше читать официальную документацию / книги / статьи.
Ultra-Bad Coder, это для красоты и чтобы глаз цеплялся. А еще, я не помню многих нюансов и написал на автопилоте, т.к. последние годы с Python редко работаю.
GotLib1, использовать ввод данных через Chrome неверно, конечно. Ищите возможность работать через запросы API. Если есть крайняя, жизненная необходимость использовать ненадежный и громоздкий UI для тех или иных действий, придется делать это в порядке очереди. Но это в корне неверное решение, нужно искать другой путь.
Пока неясно, как именно Вы планируете запускать скрипт. Его напрямую будет запускать бот? Бот работает в виде веб-сервера, получая сообщения? Если скрипт будет запускаться напрямую, то, да, будет запускаться новый экземпляр каждый раз и в сущности в этом нет ничего страшного, нормальная практика. Разве что вопрос встанет о каких-то нагрузках, но об этом думать заранее не стоит.
Вопрос как раз в том, что за окружение используете, как работает бот. Я полагаю, что это должен быть так или иначе работающий в фоне сервер. В таком случае, отдельный скрипт не является необходимостью, это может быть один из сервисов (т.е. банально доступная боту для вызова функция). Идея может идти дальше, можно использовать очереди сообщений, для которых будет работать еще один сервис — фоновая служба, но если решение простое, пока не стоит заморачиваться.
Мне встречалась ситуация, когда для генерации корректного документа по гос. образцу к Linux-серверу подключали Windows машину, где с шаблонами работал MS Word определенной версии, поскольку все остальное их ломало. Сталкивался, когда подключали OpenOffice / UNO, тоже из-за сложности документов. Видел наложение PNG на PDF.
Еще один момент, который стоит учесть, это нагрузки — PHPOffice грешат прожорливостью. В этом отношении встречал и гибридные варианты, когда люди разбирались в устройстве XLSX / DOCX, делали корректный шаблон в Word, и руками заполняли тексты в XML, запаковывая обратно в ZIP.