Задать вопрос
  • Как быстро выгружать на сайт фотографии с большим весом?

    @ksnk
    Одиночка Айс, Начни с производителей смартфонов. Если начнешь со своих клиентов - можешь остаться без зарплаты. Очевидно, что 20метров на картинку для web - это перебор. Однако заставлять клиента самого обрабатывать картинки - это тоже не совсем то, что клиент может хотеть. Так что сжимать-обрезать на лету (на компе пользователя) это единственное разумное решение. Смартфоны будут работать со все более и более толстыми картинками, а вот интернет будет становиться толще и толще далеко не так быстро, если вообще будет.
  • Как правильно в php принять массив из formData js?

    @ksnk
    rvitalia, Ну, если посылается примерно то, что надо - нужно смотреть данные в php. В логи, например бросать. Смотреть что в Post, потом смотреть есть ли ошибки в json_decode.
  • Как правильно в php принять массив из formData js?

    @ksnk
    Надеюсь, посылается не array, как в сейчас в коде, а messagesValue?
  • Посчитать многоугольник почему не работает програма?

    @ksnk
    В многоугольнике векторная сумма всех векторов-сторон ==0. А вот какой получится - вероятно, проще полный перебор, начиная с первого вектора. Как вариант - вычислять угол наклона вектора и отсортировать их всех по возрастанию, тогда получится наиболее выпуклый из всех возможных.
  • Как сверстать блок с такой же линией?

    @ksnk
    Сверстать именно такое - 3 столбика на 2 строки с фиксированной линией довольно просто. А вот сверстать в терминах ul-li с нефиксированным объемом разделов и нефиксированным количеством столбиков может оказаться сложнее. В таком "общем" случае я бы посоветовал "подкладывать" под элемент canvas и рисовать линии на нем. Так можно не только линии, но и более сложные фигуры, например стрелки
  • 5 000 000 статей возможно на Джумле?

    @ksnk
    47911, Sphinx Там можно скачать не только бинарники и ссылки на гитхаб. Imho, более простой в настройках поисковый движок. Elastic Search более современный и гибкий инструмент, но разобраться с конфигурированием сложнее
    Пример работы:
    cо сфинксом, Elasticsearch
    Хотя в Вашем случае, насколько я понял, тормозит даже уже админка, так что сторонние текстовые поиски тут не помогут, надо смотреть какие запросы админки тормозят.
  • 5 000 000 статей возможно на Джумле?

    @ksnk
    Поиск "магазинный", по свойствам или текстовый? Текстовый точно должен быть не родной джумловский, а на сфинксе, к примеру, или на эластике. Прямое открытие статьи по ссылке работает c нормальной скоростью? Если даже тут тормозит - нужно смотреть что с базой, запросами на странице, возможно ключики в таблицах где-то потерялись...
  • Можно ли дождаться полной загрузки страницы и только потом ее открыть?

    @ksnk
    Скачай ajax'ом одержимое страницы, переправь собственный адрес с помощью history. перепиши собственный html тем что скачал с помощью document.write.
    Для ссылок внутри домена такая переправка должна работать.
    Если подсуетиться, чтобы скрипты и стили были теми же самыми, то должно получиться быстро.
    $(document).on('click','a.opps', function(){
                            let href=$(this).attr('href');
                            $.ajax(href, {
                                success:function(data){
                                    history.pushState({}, "", href);
                                    document.write(data);
                                }
                            })
                            return false;
    });

    Выглядит страшновато, так что используй на собственный страх и риск. :) Но, вроде, работает
  • Как посчитать расстояние внутри города в Google Maps?

    @ksnk
    Про гугл не в курсе, но у яндекса есть вот такое https://yandex.ru/dev/maps/router/doc/ не оно?
    Ответ API содержит маршрут, разбитый на несколько участков. Каждый участок состоит из нескольких шагов, которые представлены ломаными линиями. Для каждого участка предоставляется информация о качестве дороги и ожидаемом времени на его прохождение.
  • Как расположить элементы на одном уровне в разных грид элементах?

    @ksnk
    Если поискать - то кое что можно найти. Поменять разметку, покурить флекс, почитать про grid. Например тут
  • Как подключить стили и meta, если в задании написано, что код не должен содержать html,header и body?

    @ksnk
    Делаешь отдельно, на php, например, шаблон того, во что будет вставляться твой "адаптив по макету". Наверное, заказчик таки скинул что-то со словами "вот сюда, примерно..." . Вот это и берешь за основу шаблона, ну или сам мастеришь, проявля ум и сообразительность. Например можно притырить главную магазина заказчика. В шаблоне будут и хидер и боди и прочие футеры с метами...
    Отдельным файлом - то, что нужно - тот самый "адаптив...", который вставляется в шаблон обычным incude (для этого и нужен php)
    Отдаешь оба файла, но говоришь, что решение в этом, а вот это нужно для демонстрации...
  • Как правильно компилировать Pascal код?

    @ksnk
    Погугли что такое free Pascal, как его ставить и поставь. Не думал, что он еще живой, а вот подиж ты...
  • Как сделать в Css эффект паралакса с видеофоном и картинкой?

    @ksnk
    На CSS такое не решить. На JS, по идее, при старте страницы поставить слушателя для window на "scroll". В нем, проверять что элемент '.foto' не высовывается "сверху" экрана. Это проще всего сделать getBoundingClientRect для этого элемента. Как только top станет не больше 0 - удалить элемент с видео со страницы (это imho, проще для этого случая, чем скрывать) и убрать слушателя scroll'a. Все, вроде, должно стать как надо.
  • Фильтры товаров интернет-магазина, как грамотно реализовать обмен данными с сервером?

    @ksnk
    У меня, обычно, в результате запроса сервер выдает найденный контент и url, на который будет заменен текущий. Так можно сохранить в адресе только важные параметры, если это почему то нужнее, чем сохранить полный фильтр, или выкинуть уже не использующиеся ключи фильтра или упаковать все параметры в GUID.
    Адрес подменяем с помощью historyApi, да. Вот только если обновление страницы идет после изменения каждого флага фильтра - лучше использовать не pushState а replaceState, чтобы не загаживать историю броузера.
  • Фильтры товаров интернет-магазина, как грамотно реализовать обмен данными с сервером?

    @ksnk
    Фильтры нужно сохранять в GET. Однако, нужно ответить себе на вопрос - сколько отдельных фильтров будет? И что будет, если каждую пару ключ-значение упихать в адресную строку. Если результат приемлем, то передавать get и не париться. Если адресная строка становится неуправляемо большой - можно подумать об упаковке параметров в индексы или вообще радикально - сохранение в базе набора параметров фильтра и замена строки на UID этого набора. Нужно еще понимать, что при передаче GET этот адрес появится в поисковике и будет периодически спамить сервер. Если фильтрация - длительный процесс - придется запрещать фильтры для ботов и/или кэшировать результат.
  • Возможно ли корректировать текущий файл эксель?

    @ksnk
    Если так приспичил Excel, почему бы не держать файл в Google документах? Там вполне вменяемый api для редактирования документов.
    Если нужно работать именно с существующим MSExcel документом - читать доку по `phpoffice/phpspreadsheet`. Там можно менять атрибуты у конкретных ячеек.
    Еще вариант - организовать в файле Excel внешние данные и спрашивать сервер, какое событие в какой цвет рисовать...
  • Как изменить шаг Drag’n’Drop при mousedown?

    @ksnk
    Анатолий, https://codepen.io/ksnk/pen/MWPbZPd
    Из изменений - заведена переменная max,
    let thumb = slider.querySelector('.thumb'),
        max=5 // till 0 to max
        ;
    
    ...
            if (newLeft > rightEdge) {
              newLeft = rightEdge;
            }
            let step=Math.round(rightEdge/max), // шаг
                value=Math.round(newLeft/step);  // значение скроллера
            thumb.style.left = (step*value) + 'px'; // смещение бегунка скроллера
          }
    ...
  • Как изменить шаг Drag’n’Drop при mousedown?

    @ksnk
    А в чем проблема ? Этот код всего лишь отрисовывает элемент. То, на сколько пикселей перемещается бегунок определяется мышкой.
    Все что можно поменять - это относительный "шаг" одного пикселя. Весь размер элемента
    0..rightEdge. Текущее состояние элемента newLeft . Задача на пропорции ?
  • Как перед однозначным номером даты поставить ноль?

    @ksnk
    Что не правильно?
    В регулярке написано, что менять одну цифру, перед которой стоит пробел и после которого стоит пробел. В исходной строке перед цифрой стоит начало строки.

    Если очень нужно получить две цифры при выводе даты - используй не 'long' а прямой формат

    $formattedDate =Yii::$app->formatter->asDate($date, 'dd MMMM Y г.');
  • Как закрыть данный попап при клике вне него?

    @ksnk
    Добавь в функцию renderPopup в конец что-то такое
    ...
    popup.appendChild(btnBrand);
    //
          var mouseupHandler=function (e) {
            if (!popup.contain(e.target)) {
                document.removeEventListener("mouseup", mouseupHandler);
                popup.classList.remove("open");
            }
        };
        document.addEventListener("mouseup",mouseupHandler,true);
    }

    Ну а потом покликай на кнопку быстро несколько раз и пойми сам в чем еще ты не прав...