Вопросы такие: какие есть способы ускорить загрузку страницы?Во первых - выяснить что тормозит: бэкенд или фронтенд. Сделать профайлинг бэкенда, сделать анализ загрузки фронта. Соответственно сначала понять что тормозит.
Можно ли её рендерить на клиенте при помощи js?Можно, но скорее всего прироста вы особо не получите. Если проблема на бэкенде - метод рендера будет абсолютно по барабану. Если на форнте - скорее всего будет медленнее, так как вы сначала получите все данные, а потом еще будете средствами языка (а не движка браузера, который очевидно быстрее) отрисовывать хтмл.
И почему на смартфоне в мобильном safari та же самая страница грузится за пару секунд?Опять же, вопрос скорее к вам чем к кому-либо еще. Возможно кеширование, которое на мобильных браузерах практически всегда более агрессивное. Возможно вы просто не видите как тормозит загрузка, например в силу другого метода рендеринга, который сразу при получении данных выводит все что возможно, в то время как на стационаре рендеринг идет только после загрузки тега целиком. Достаточно например быстро промотать на сафари вниз при загрузке, чтобы увидеть что загрузилось далеко не все... А возможно в мобильной версии отображается сильно меньше элементов...
Можно ли этот эффект повторить на десктопе?Если есть что повторять... Можно попробовать сделать таблицу не цельной, а разбить на несколько таблиц, по 100-300 строк. Или еще адкеватнее - сверстать дивами.
я тоже склоняюсь к неэффективной вёрстке. Если я эту вёрстку буду генерировать js’ом, процесс ускорится?Скорее всего, как я уже написал, скорости не прибавится. Вообще что мешает проверить эффективность верстки? Тупо выведите все строки дивами, без всяких разделителей, одна строка - один див с данными, разделенными "|" например, и посмотрите на разницу.
Можем ли мы сделать запрос к БД и извлечь из промежуточной таблицы (book_author) информацию по конкретной книге?Из "промежуточной" можно извлечь только связи, она для этого и нужна.
Т.е. у нас для работы есть только информация о книге и теперь нужно извлечь информацию о её авторе (авторах).В чем вопрос? Как сделать джоин с 3 таблицами? Так же как с двумя, только с тремя.
Приемлемо ли вообще делать такие запросы к промежуточным таблицам?Какие - "такие"? У вас вообще ни одного запроса не написано.
Скорость канала на сервере — 200 Мбит/сВангую что это скорость на выход, на вход будет совершенно другая скорость, не указанная в рекламном буклете, или написанная где-то под звездочкой оооочень мелким шрифтом.
• регистрация/авторизация пользователей;практически все что перечислено в качестве инструментов - хватает или избыточно.
• добавление/удаление записей;
• формирование отчета в формате docx.
1) Нужна ли асинхронность, исходя из функций приложения?Нет, тем более для подхода через REST API.
2) Что лучше выбрать из перечисленного стека, если необходимо представить приложение в короткие сроки?Как самый простой вариант смотрится лара + 4 готовых модуля, 2 из которых вроде даже идут из коробки, остальные добиваются 1 командой композер инсталл %пакетнейм%.
3) Исходя из функций приложения, это будет SPA (одностраничное приложение) или PWA (многостраничное приложение)?Это не противопоставление, это вообще не взаимосопоставимые технологии. PWA может быть SPA, может не быть... PWA это вообще не про "многостраничность".
не справился, пропал, дико задержалПо тому что чисто версткой заниматься могут только от безнадеги полные неумехи/новички, или в другой крайней ипостаси - работники постигшие этот мир и им этот мир абсолютно понятен, и они здесь ищу только одного - огромных денег за свое бесконечно-вечное. С бэкендерами тоже сложно, на вольных хлебах это редкий зверь, а на фрилансе он пасется только с условием, что капуста за разовый напряг будет крупнее кочана на постоянном месте работы, ибо нафига тогда париться.
<?php
class config {
public $start_time = '1670000999';
public $email = 'support@domain.zone';
public $adm_dir = 'FolderAdm';
public $adm_name = 'Admin';
public $adm_pass = '00000000';
}
$configFile = './core/cfg_test.php'; //доступность файла оставим на совести автора вопроса
$cfg = new config();?>
<form method="post">
<?php
foreach ($cfg as $key=>$value) {?>
<input name="<?=$key?>" value="<?=$value?>">
<?php }?>
<button type="submit">do marasm</button>
</form>
<?php
if($_SERVER['REQUEST_METHOD']=="POST"){
$new_cfg = (Object)$_POST;
file_put_contents($configFile, var_export($new_cfg,1));
}
?>
ini_set('display_errors',1);
error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Важно, что бы это была статистика за день/месяц/год/всё время.Первое что нужно - определитесь с минимальной статистической единицей, если это день - значит храните сумму за день, табличка соответственно будет что-то типа:
Понял что это связанно с htmlspecialchars, но как победить его так и не понял.Во первых - зачем? В смысле какова цель вашей загадочной функции? Почистить строку? Обычно это делается при выводе, а не при записи. Подготовить для вставки в бд? Для этого есть встроенные функции, но и они тут лишние, почему - читай ниже.
Подскажите пожалуйста как можно быстро отправлять форму/запрос чтобы загрузка шла в фоне и пользователи могли перезагружать страницу, загружать следующее видео.Короткий ответ - никак. Если пользователь будет перегружать страницу загрузка прервется. Это касается любого сервиса, будь то ютуб, вк или что-то другое.